创建表(主键索引等)

上传人:mg****85 文档编号:54907238 上传时间:2018-09-21 格式:PPT 页数:58 大小:713KB
返回 下载 相关 举报
创建表(主键索引等)_第1页
第1页 / 共58页
创建表(主键索引等)_第2页
第2页 / 共58页
创建表(主键索引等)_第3页
第3页 / 共58页
创建表(主键索引等)_第4页
第4页 / 共58页
创建表(主键索引等)_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《创建表(主键索引等)》由会员分享,可在线阅读,更多相关《创建表(主键索引等)(58页珍藏版)》请在金锄头文库上搜索。

1、SQL Server 2005,5.1 SQL Server 2005表的基本知识,表的基本概念,1,表的类型,2,表的数据类型,3,表的完整性体现,4,1,表的设计,5,SQL Server 2005,5.1.1表的基本概念,表是数据库对象,用于存储实体集和实体间联系的数据。SQL Server 2005表主要由列和行构成。关系模型的组成要素 列:每一列用来保存对象的某一类属性。 行:每一行用来保存一条记录,是数据对象的一个实例。,SQL Server 2005,5.1.1表的基本概念,例如:教务管理数据库EDUC中的学生Student表。,SQL Server 2005,5.1.3表的数据

2、类型,下表列出了SQL Server 2005中常用的数据类型:,SQL Server 2005,5.1.4 表的完整性体现,主键约束体现实体完整性,即主键各列不能为空且主键作为行的惟一标识系统表 外键约束体现参照完整性 默认值和规则等体现用户定义的完整性,SQL Server 2005,5.1.5 表的设计,设计表时需要确定如下内容: 表中需要的列以及每一列的类型(必要时还要有长度) 列是否可以为空 是否需要在列上使用约束、默认值和规则 需要使用什么样的索引 哪些列作为主键,SQL Server 2005,5.2创建表,使用SSMS创建表,1,使用T-SQL语句创建表,2,SQL Serve

3、r 2005,5.2.1使用SSMS创建表,例如:在教务管理中的选课数据库(EDUC)中创建学生表Student, 课程表Course, 选课表SC。其中教务管理中的选课数据模型为: Student(SID,Sname,Sex,Birthday,Specialty) PK:SID Course(CID, Cname,Credit) PK:CID SC(SID, CID,Grade) PK:SID, CID FK:SID和CID,SQL Server 2005,5.2.1 使用SSMS创建表,创建表:在【对象资源管理器】窗口中,展开“数据库”下的EDUC节点,右击“表”节点,选择“新建表”命令,

4、进入表设计器,在表设计器的第一列中输入列名,第二列选择数据类型,第三列选择是否为空; 例如:表Student,SQL Server 2005,5.2.1使用SSMS创建表,表Course:,表SC:,SQL Server 2005,5.2.1 使用SSMS创建表,创建主键约束:单击选择一列名,SHIFT+单击选择连续的列名,CTRL+单击选择不相邻的列名,右键快捷菜单或工具栏按钮“设置主键”; 例: Student中的SID,Course中的CID,SC中的SID, CID 做法: 单击选择一列名,SHIFT+单击选择连续的列名,CTRL+单击选择不相邻的列名,右键快捷菜单或工具栏按钮“设置主

5、键”;,SQL Server 2005,5.2.1 使用SSMS创建表,Student,Course表主键约束采用同样的方法设置;,Course表的主键建立示意图如下:,SQL Server 2005,5.2.1 使用SSMS创建表,创建唯一性约束: 例如: Student表中的Sname 做法: 右键快捷菜单或工具栏按钮“索引/键”,在弹出的【索引/键】对话框中,单击“添加”按钮添加新的主/惟一键或索引;在常规的“类型”右边选择“惟一键”,在“列”的右边单击省略号按钮,选择列名Sname和排序规律;,SQL Server 2005,5.2.1 使用SSMS创建表,如图所示:,SQL Serv

6、er 2005,5.2.1 使用SSMS创建表,创建外键约束 例如:SC表中的SID和CID设置为外码。 做法: (1)右键快捷菜单或工具栏“关系”,在弹出的【关系】对话框中,单击“添加”按钮添加新的约束关系;,SQL Server 2005,5.2.1 使用SSMS创建表,(2)单击“表和列规范”左边的“”号,再单击“表和列规范”内容框中右边的省略号按钮,从弹出的【表和列】对话框中进行外键约束的表 和列的选择, 单击“确定”;,SQL Server 2005,5.2.1 使用SSMS创建表,(3)回到【外键关系】对话框,将“强制外键约束”选项选择为“是”,设置“更新规则”和“删除规则”的值;

7、,采用同样的方法添加外键CID;,SQL Server 2005,5.2.1使用SSMS创建表,创建检查约束 例如:Student表中的Sex等于男或女。 做法:右键菜单或工具栏“CHECK约束”,在打开的【CHECK约束】对话框中单击“添加”按钮,在表达式文本框中输入检查表达式,在表设计器中进行选项的设置;,SQL Server 2005,5.2.1 使用SSMS创建表,保存表的定义 (1)单击关闭表设计器窗口,弹出下图保存对话框,单击“是”钮;,(2)输入表名,单击“确定”按钮。,SQL Server 2005,5.2.2使用T-SQL语句创建表,格式: CREATE TABLE表名 (列

8、名1 数据类型 列级完整性约束, 列名 2 数据类型 列级完整性约束, 列名n 类型 约束, 表级完整性约束, );,SQL Server 2005,5.2.2 使用T-SQL语句创建表,约束:实现表的完整性 NULL/NOT NULL:空值/非空值约束。 DEFAULT 常量表达式:默认值约束。 UNIQUE:单值约束。 PRIMARY KEY:主键约束,等价非空、单值。 REFERENCES 父表名 (主键):外键约束。 CHECK (逻辑表达式):检查约束。,SQL Server 2005,5.2.2 使用T-SQL语句创建表,例如:在图书管理系统中的数据库(Library)中,创建读者

9、表(Reader), 读者类型表(ReaderType),图书表(Book)和借阅表(Borrow)。 图书管理系统的数据模型: ReaderType(TypeID, Typename,LimitNum, LimitDays) PK: TypeID Reader (RID,Rname,TypeID,Lendnum) PK:RID FK:TypeID Book (BID,Bname,Author, PubComp, PubDate,Price) PK:BID Borrow (RID, BID,LendDate, ReturnDate) PK:RID, BID, LendDate FK:RID和B

10、ID,SQL Server 2005,5.2.2 使用T-SQL语句创建表,例1:创建读者类型表ReaderType,CREATE TABLE ReaderType ( TypeID int NOT NULL primary key,-类型编号,主键 Typename char(8) NULL,-类型名称 LimitNum int NULL,-限借数量 LimitDays int NULL -借阅期限 ),SQL Server 2005,5.2.2 使用T-SQL语句创建表,例2:创建读者表Reade,USE Library GO CREATE TABLE Reader( RID char(1

11、0) NOT NULL PRIMARY KEY,-读者编号,主键 Rname char(8) NULL,-读者姓名 TypeID int NULL,-读者类型 Lendnum int NULL ,-已借数量 FOREIGN KEY(TypeID) REFERENCES ReaderType(TypeID) ON DELETE NO ACTION, -外键,不级联删除),SQL Server 2005,5.2.2 使用T-SQL语句创建表,例3:创建图书表Book,USE Library GO CREATE TABLE Book( BID char(9) PRIMARY KEY,-图书编号,主键

12、 Bname varchar(42) NULL,-图书书名 Author varchar(20) NULL,-作者 PubComp varchar(28) NULL,-出版社 PubDate datetime NULL,-出版日期 Price decimal(7,2) NULL CHECK (Price0)-定价,检查约束),SQL Server 2005,5.2.2 使用T-SQL语句创建表,例4:创建图书借阅表Borrow (RID, BID,LendDate, ReturnDate),USE Library GO CREATE TABLE Borrow( RID char(10) NOT

13、 NULL -读者编号外键 FOREIGN KEY REFERENCES Reader(RID) ON DELETE CASCADE, /*删除主表记录时级联删除子表相应记录*/ BID char(15) NOT NULL -图书编号外键 FOREIGN KEY REFERENCES Book(BID) ON DELETE NO ACTION, /*删除主表记录时不级联删除子表相应记录*/ LendDate datetime NOT NULL DEFAULT(getdate(),/*借期,默认值为当前日期*/ ReturnDate datetime NULL,-还期 primary key(R

14、ID,BID,LendDate) ) -表级约束,主键,SQL Server 2005,5.3 修改表,使用SSMS修改表,1,使用T-SQL语句修改表,2,SQL Server 2005,5.3.1 使用SSMS修改表,在【对象资源管理器】窗口中,展开“数据库”节点 展开所选择的具体数据库节点,展开“表”节点 右键要修改的表,选择“修改”命令 进入表设计器即可进行表的定义的修改,SQL Server 2005,5.3.2 使用T-SQL语句修改表,格式: ALTER table 表名 (ALTER COLUMN 列名 列定义, ADD 列名1 类型 约束, DROP 列名 ) *列定义包括列

15、的数据类型和完整性约束,SQL Server 2005,5.3.2使用T-SQL语句修改表,修改属性,添加或删除列,添加或删除约束,SQL Server 2005,5.3.2 使用T-SQL语句修改表,修改属性 例如:把表Book 中PubComp 的类型varchar(28)改为varchar(30) USE Library GO ALTER TABLE Book ALTER COLUMN PubComp varchar(30) NOT NULL GO,SQL Server 2005,5.3.2使用T-SQL语句修改表,添加或删除列 例1:为表Reader添加邮件地址 USE Library

16、 GO ALTER TABLE Reader ADD E-mail varchar(50) NULL CHECK(E-mail like %) GO 例2:为表Reader删除邮件地址。 USE Library GO ALTER TABLE Reader DROP COLUMN E-mail GO 说明:必须先删除其上的约束。,SQL Server 2005,5.3.2 使用T-SQL语句修改表,添加或删除约束 例1:为表Borrow添加主键约束(假设还没有创建)。 USE Library GO ALTER TABLE Borrow ADD PRIMARY KEY(RID,BID,LendDate) GO 例2:为表Borrow删除主键约束。 USE Library GO ALTER TABLE Borrow DROP PRIMARY KEY (RID,BID,LendDate) GO,SQL Server 2005,5.4 删除表,使用SSMS删除表,1,使用T-SQL语句删除表,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号