第七章: 建立資料表.

Slides:



Advertisements
Similar presentations
第二章 简单的 SQL 语句. 本章要点  创建一个简单的表  SQL 语句介绍  最简单的查询语句 select  带有限制条件的查询  查询结果的排序显示.
Advertisements

2010 年 6 月课件制作人:王亚楠 1 模块 2 项目开发概论 教学课件 年 6 月课件制作人:王亚楠 2 目录 目标 了解:数据库技术的基本概念与结构 理解:数据模型的分类与结构组成 掌握:关系数据库及 SQL 的基本理论 知识 掌握:数据库设计的方法与步骤 内容 2.1 数据库技术基础.
第八单元 数据库MySQL应用基础 MySQL数据库应用基础 MySQ数据库操作使用 Mysql管理工具 第25章 数据库的增加/删除操作
第5章 关系数据库标准语言SQL 主讲:张丽芳.
第2章 SQL语言初步 2.1 SQL的基本概念 2.2 基本表、索引的创建、删除和修改操作 2.3 SQL的查询语句——SELECT
第2讲 Transact-SQL语言.
第5章 索引及视图操作 数据库原理应用与实践 SQL SERver2014(第2版) 主编 贾铁军 科学出版社 编著 陈国秦 万程 邢一鸣
第14章 預存程序 14-1 預存程序的基礎 14-2 建立與執行預存程序 14-3 預存程序的參數傳遞 14-4 預存程序的傳回值
第4章 关系数据库标准语言SQL 4.1 SQL语言概述 4.2 SQL数据查询功能 4.3 SQL数据操作功能 4.4 SQL数据定义功能.
第3章 SQL的基础知识 数据库管理及应用 3.1 SQL简介 3.2 SQL的数据模型 3.3 标识符 3.4 使用SQL语句管理数据库
数据库概述 简而言之,数据库(DataBase)就是一个存储数据的仓库。为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上。通过数据库管理系统,可以有效的组织和管理存储在数据库中的数据。如今,已经存在了Oracle、SQL Server、MySQL等诸多优秀的数据库。在这一章中将讲解的内容包括。
数据库原理及设计 --作业.
创建数据库 MySql创建数据库的语法: CREATE DATABASE 数据库名; 例: CREATE DATABASE mydb;
第三章 管理信息系统的技术基础 主要内容: 数据处理 数据组织 数据库技术 4. 计算机网络.
计算机应用基础 上海大学计算中心.
数据库原理 Database Principles 第五章 数据库完整性 Database Principles.
Views ,Stored Procedures, User-defined Function, Triggers
第7章 建立資料表與完整性限制條件 7-1 資料型別 7-2 資料表的建立 7-3 建立完整性限制條件 7-4 修改與刪除資料表
第11章 详细设计.
数据库技术 第十章 数据库完整性 中国科学技术大学网络学院 阚卫华.
第四組 停車場搜尋系統 第四組 溫允中 陳欣暉 蕭積遠 李雅俐.
LINQ 建國科技大學 資管系 饒瑞佶.
資料庫系統 Database Systems
第 8 章 資料的 新增、修改與刪除.
課程名稱:資料庫系統 授課老師:李春雄 博士
PHP與MySQL 入門學習指南 凱文瑞克 著 第 23 章 資料型別.
9/28號專題報告 Web網頁遊戲 曾建瑋.
PHP與MySQL 入門學習指南 凱文瑞克 著 第 24章 建立資料表與索引.
第4章 SQL语言基础及数据库定义 4.1 基本概念 4.2 SQL Server 提供的主要数据类型 4.3 数据定义.
Chap 10 SQL定義、操作與控制指令.
高等資料庫管理系統 Advanced Database Management System
題庫解析:MTA資料庫檢定 授課老師:李春雄 博士
第八章 利用SELECT查詢資料.
第 7 章 建立資料表與 資料庫圖表.
資料庫安全 (Database Security)
教 师:曾晓东 电 话: 数据库技术 教 师:曾晓东 电 话:
SQL語法 定義與操作指令.
第 16 章 觸發程序.
SQL Server 2000 数据库入门.
課程名稱:資料庫系統 授課老師:李春雄 博士
課程名稱:資料庫系統 授課老師:李春雄 博士
第7章 ADO.NET操作SQL Server数据库
建立/修改/刪除資料表 建立資料表 使用Enterprise Manager工具
MySQL数据库基础与实例教程 之 MySQL表结构的管理 郭水泉.
SQL Stored Procedure SQL 預存程序.
第三章作业讲评 文洁 2012/4/10.
SQL SERVER 一些经典语句 1.
作业3-点评.
Ch4.SQL Server 2005資料庫組成員元件介紹
实验二讲评 … 张榆….
数据库技术.
第 10 章 数据库编程.
数据库技术与应用.
MySQL开发规范 DB组-张浩.
第3章 关系数据库的创建与维护 Microsoft SQL Server2008 概述 SQL Server数据库基础 数据库的创建与维护
3.2 Mysql 命令行 1 查看数据库 SHOW DATABASES; 2 创建一个数据库test1 CREATE DATABASE test1; 3 选择你所创建的数据库 USE test1; (按回车键出现Database changed 时说明操作成功!) 4 查看现在的数据库中存在什么表.
国家“十一五”规划教材 数据库原理与应用教程(第3版).
PHP與MySQL 入門學習指南 凱文瑞克 著 第 22 章 SQL 介紹與建立MySQL資料庫.
通讯录管理系统设计 常州工程职业技术学院 计算机技术系.
SQL查询语句 蔡海洋.
用int类型(4字节)去存具体时间(8字节).
第三章 SQL Server数据管理.
讲课人:王璞 浙江工商职业技术学院.
第 7 章 建立資料表與資料庫圖表.
第4章 表的创建与维护 4.1 数据类型 4.2 数据完整性约束 4.3 创建数据表 4.4 修改数据表 4.5 删除数据表.
SQL語法教學 2015/10/15 John.
11 檢視表的建立 11-1 檢視表的基礎 11-2 建立檢視表 11-3 修改與刪除檢視表 11-4 編輯檢視表的內容.
資料庫管理 HOMEWORK #2 楊立偉教授 台灣大學工管系 2013 Fall.
第4章 数据查询.
SQLite資料庫 靜宜大學資管系 楊子青.
Presentation transcript:

第七章: 建立資料表

章節概覽 7.1 利用管理工具建立資料表 7.2 設定條件約束維持資料的一致性 7.3 修改與刪除資料表 7.4 使用暫存資料表 7.5 資料表的特殊屬性

7.1 利用管理工具建立資料表 7.1.1 利用EM建立資料表

7.1.2 利用Query Analyzer建立資料表 範例7-2 USE Samples CREATE TABLE Employees ( empid char(3) not null, empname varchar(10) not null, department char(1) null, salary int, salary_commer int )

利用Query Analyzer查詢資料表

7.2 設定條件約束維持資料的一致性 7.2.1 資料一致性 預設值 CHECK條件約束 主索引鍵條件約束 唯一鍵值條件約束 外來主索引鍵條件約束 1. 資料型別 2. 條件約束

7.2.2 設定預設值 使用者可能忘了輸入或沒有輸入值時 使用者根本不需要輸入值 其他...

設定預設值注意事項 一個欄位只能有一個default設定 不是每個欄位的資料型別都可以設定 如:Identity , rowversion 不可設定default 預設值可以是任何值,甚至是系統函數 如:GETDAY ( )

預設值範例 預設薪水為20000元 ALTER TABLE Employees ADD CONSTRAINT default_salary 範例7-3 預設薪水為20000元 ALTER TABLE Employees ADD CONSTRAINT default_salary DEFAULT 20000 FOR Salary

7.2.3 設定CHECK條件約束 限定使用者的輸入值 一個欄位可以設定多個CHECK條件約束 可使用系統函數 可與同資料表的欄位比較

CHECK條件約束範例(1/2) 檢查年齡在20到65歲之間 ALTER TABLE Employees1 ADD 範例7-6 檢查年齡在20到65歲之間 ALTER TABLE Employees1 ADD CONSTRAINT check_age check (age >= 20 and age <=65)

CHECK條件約束範例(2/2) 限制每一個位元所輸入的資料 ALTER TABLE Employees1 ADD 範例7-9 限制每一個位元所輸入的資料 ALTER TABLE Employees1 ADD CONSTRAINT check_empid check (empid like '[A-Z][0-9][0-9]')

7.2.4 設定Primary Key條件約束 一個資料表只能有一個 PK 條件約束 確保列的資料不重覆 欄位定義不能有NULL SQL Server會自動加上Unique Index

Primary Key條件約束範例 設定學號為primary key ALTER TABLE Student ADD 範例7-12 設定學號為primary key ALTER TABLE Student ADD CONSTRAINT pk_studentid primary key(studentid)

設定Unique Key條件約束 一個資料表只能多個 確保列的資料不重覆 欄位定義可以有NULL(PK 不可是NULL) SQL Server會自動加上Unique Index 在資料庫定義中,為候選主索引鍵

Unique Key條件約束範例 設定身份證字號為unique key ALTER TABLE Student ADD 範例7-13 設定身份證字號為unique key ALTER TABLE Student ADD CONSTRAINT uk_public unique(publicid)

7.2.5 設定Foreign Key條件約束 避免資料表與資料表間的不一致性 是別的欄位的主索引鍵 設定後,彼此有關連的資料無法刪除

Foreign Key條件約束設定範例 設定學生與老師的關係 ALTER TABLE 學生 ADD 範例7-14 設定學生與老師的關係 ALTER TABLE 學生 ADD CONSTRAINT fk_teacherid foreign key (導師編號) references 導師(導師編號)

刪除Detail資料表,無法刪除Master 資料表 設定串聯更新與串聯刪除 將Mater資料表刪除時順便刪除Detail資料表 刪除Detail資料表,無法刪除Master 資料表 簡化了刪除資料的動作

串聯更新與刪除設定範例 設定學生與老師的關係是串聯更新與刪除 ALTER TABLE 學生 ADD 範例7-15 設定學生與老師的關係是串聯更新與刪除 ALTER TABLE 學生 ADD CONSTRAINT fk_teacherid foreign key (導師編號) references 導師(導師編號) ON UPDATE CASCADE ON DELETE CASCADE

修改與刪除資料表欄位 修改資料表欄位 ALTER TABLE 學生 ADD 姓別 CHAR(1) NULL 刪除資料表欄位 範例7-16 修改資料表欄位 ALTER TABLE 學生 ADD 姓別 CHAR(1) NULL 刪除資料表欄位 DROP TABLE 學生

7.4 使用暫存資料表 不是真正的資料表,是存在tempdb中 CREATE TABLE #TABLE1 (Orderid int, 範例7-18 不是真正的資料表,是存在tempdb中 CREATE TABLE #TABLE1 (Orderid int, Customerid char(10))

7.5 資料表的特殊屬性 7.5.1 Identity欄位 自動編號,可用來自動產生數字 建立方式 範例7-19 CREATE TABLE Employees (employeeid int IDENTITY(1,2) NOT NULL, employeename varchar(10)) INSERT方式,IDENTITY欄位空白不用輸入 INSERT Employees values ('楊先民') INSERT Employees values ('張智凱') 範例7-20

IDENTITY語法 IDENTITY [ ( seed , increment ) ] Seed:是載入到資料表的第一個資料列所使用的值 您必須同時指定初始值及遞增值,或都不指定。如 果不指定,預設為 (1,1)。

7.5.2 公式欄位 利用公式算出另一個欄位的值 怕使用者輸入錯資料 IDENTITY欄位空白不用輸入 範例7-22 利用公式算出另一個欄位的值 怕使用者輸入錯資料 IDENTITY欄位空白不用輸入 CREATE TABLE Author ( 作者身份證字號 char(10), 作者姓名 varchar(10), 作者版稅 money, 作者預扣稅 as 作者版稅 /10 )

學習成果回顧 資料表是實際儲存資料的地方 建立一個資料表時,需要指定欄位名稱、資料型 別,以及是否允許NULL值 每個資料表都可以依資料表的特性設定條件約束 資料表可以設定自動編號與公式欄位 可以利用INSERT指令新增資料、UPDATE修改資 料、DELETE刪除資料