第4章表的设计_第1页
第4章表的设计_第2页
第4章表的设计_第3页
第4章表的设计_第4页
第4章表的设计_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Database Principles And development数据库原理与设计第第4章章 表的设计表的设计 表的设计过程概述表的设计过程概述Database Principles And development 知识点:知识点: E-R E-R模型构成要素模型构成要素 E-RE-R模型绘制方法模型绘制方法重点:重点:不同联系类型的分析不同联系类型的分析知识点:知识点: 关系模型中的术语关系模型中的术语 关系模式的表达形式关系模式的表达形式重点:重点:关系模式中的主外码关系模式中的主外码知识点:知识点: E-RE-R模型中的实体、联系和属性向模型中的实体、联系和属性向关系模型的转化关系模

2、型的转化重点:重点:清楚转化过程清楚转化过程知识点:知识点: 数据类型;表的设计和创建数据类型;表的设计和创建的方法步骤;主外码在表创的方法步骤;主外码在表创建过程中的实现建过程中的实现 重点:重点:主外码的实现主外码的实现数据库原理与设计数据库原理与设计一个表由表结构、表记录构成。 定义表的结构,就是定义表的列(字段/属性)个个数、列(字段)名称、数据类型、宽度及小数位数等。n使用使用SSMSSSMS中创建表中创建表n使用使用CreateCreate命令创建命令创建 Create TableCreate Table 表名表名 ( (字段名字段名1 1 类型类型( (长度长度) ) , ,字段

3、名字段名2 2 类型类型( (长度长度) ) ) 数据库原理与设计数据库原理与设计数据库原理与设计数据库原理与设计数据类型数据类型数据库原理与设计数据库原理与设计coursestudentsnoclnosnamessexsbirscreditsccnocnamectnocinfoccreditscttimecpnoctermscoreNMDatabase Principles And development Create table student ( Sno char(5), Clno char(5), Sname varchar(8), Ssex char(2, Sbir datetime

4、, Scredit numeric(4,0)Create table course ( Cno char(5), Cname varchar(50), Ctno char(2), Cinfo varchar(50), Ccredits numeric(2,0), Cttime numeric(3,0), Cpno char(5), Cterm numeric(1,0)Create table sc ( Sno char(5), Cno char(5), Score numeric(3,1) 关系的完整性是对关系的某种约束条件,以保证数据关系的完整性是对关系的某种约束条件,以保证数据的正确性、有

5、效性和相容性。的正确性、有效性和相容性。 关系的完整性主要包括三种关系的完整性主要包括三种: n 实体完整性实体完整性 n 参照完整性参照完整性n 用户定义的完整性用户定义的完整性实体完整性实体完整性 实体完整性是指关系中的记录(元组)具有唯一性。实体完整性是指关系中的记录(元组)具有唯一性。实体完实体完整性通过主码来实现整性通过主码来实现。 SQL ServerSQL Server系统约定:当为关系指定主系统约定:当为关系指定主码之后,关系中的码之后,关系中的主码值不能为空主码值不能为空,且,且不能有相同值不能有相同值。 参照完整性参照完整性 参照(引用)完整性是指一个关系与另外一个关系中数

6、据之参照(引用)完整性是指一个关系与另外一个关系中数据之间的引用关系。间的引用关系。在关系数据库中,关系的参照完整性通过外码来在关系数据库中,关系的参照完整性通过外码来实现实现。 SQL ServerSQL Server系统约定:当指定某属性为外码后,系统约定:当指定某属性为外码后,外码值外码值必须是另一个关系的主码有效值,或者是空值必须是另一个关系的主码有效值,或者是空值。 用户自定义完整性用户自定义完整性 例如:例如: 属性的取值范围、字段的类型属性的取值范围、字段的类型及字段的有效规则等约束。及字段的有效规则等约束。 有效规则包括:有效规则包括:1 1、数据必须唯一、数据必须唯一(uni

7、que)(unique)2 2、数据不能为空、数据不能为空(not null)(not null)3 3、数据满足某些条件、数据满足某些条件(checkcheck)4 4、定义数据默认值、定义数据默认值(default)(default)。 用户自定义完整性是针对特定的行业领域,对某一具体数据用户自定义完整性是针对特定的行业领域,对某一具体数据的约束条件的约束条件Database Principles And development 完整性约束完整性约束-建表中的完整性问题建表中的完整性问题名称名称含义含义实现实现标识标识实体完实体完整性整性要求表中的每条记录要求表中的每条记录都是唯一的都是唯

8、一的用用主码主码来实现来实现Primary key参照完参照完整性整性确保表与表之间的引确保表与表之间的引用关系用关系用用外码外码来实现来实现Foreign key 用户自用户自定义完定义完整性整性确保表中数据满足用确保表中数据满足用户的特定要求户的特定要求例如:例如: 数据必须唯一数据必须唯一 数据不能为空数据不能为空 数据满足某些条件数据满足某些条件 定义数据默认值定义数据默认值 UniqueNot nullCheck(Ssex in (男男,女女)Default 值值数据库原理与设计数据库原理与设计完整性约束完整性约束-建表中的完整性问题建表中的完整性问题注意注意(1 1) 主码约束、不

9、空约束、主码约束、不空约束、checkcheck约束的定义方式约束的定义方式 (2 2) 插入数据验证主码约束、不空约束和插入数据验证主码约束、不空约束和checkcheck约束的有效性。约束的有效性。数据库原理与设计数据库原理与设计完整性约束完整性约束-建表中的完整性问题建表中的完整性问题注意注意(1 1) 主码约束、唯一约束默认值约束的定义方式主码约束、唯一约束默认值约束的定义方式 (2 2) 插入数据验证主码约束、唯一约束和默认值约束的有效性。插入数据验证主码约束、唯一约束和默认值约束的有效性。数据库原理与设计数据库原理与设计完整性约束完整性约束-建表中的完整性问题建表中的完整性问题注意

10、:(注意:(1 1)联合主码的定义方式联合主码的定义方式 (2 2)外码的定义方式)外码的定义方式 (3 3)插入数据验证主码约束、外码约束的有效性。)插入数据验证主码约束、外码约束的有效性。数据库原理与设计数据库原理与设计命令方式建立完整性约束命令方式建立完整性约束 使用命令定义完整性约束条件使用命令定义完整性约束条件:需要在定义完字段的数据类型需要在定义完字段的数据类型和长度之后,定义该字段上的约束类型:和长度之后,定义该字段上的约束类型:v 1. 1.主码完整性约束主码完整性约束 如:如: sno char(5) primary key v 2.Foreign Key2.Foreign

11、Key约束约束 如:如: sno char(5) foreign key(sno) references student(sno)v 3.check3.check完整性约束完整性约束 如:如:age int check(age between 18 and 30)v 4. 4.唯一完整性约束唯一完整性约束 sname varchar(8) unique v 5.DEFAULT5.DEFAULT完整性约束完整性约束 scredit numeric(3,0) default 4v 6. 6.非空完整性约束非空完整性约束 sname char(6) not null Create TableCrea

12、te Table 表名表名 ( (字段名字段名1 1 类型类型( (长度长度) ) 约束约束, , 字段名字段名2 2 类型类型( (长度长度) ) 约束约束 ) ) 数据库原理与设计数据库原理与设计例:使用命令的方式创建例:使用命令的方式创建student,course,sc三个表三个表,并并验证完整性约束的有效性。验证完整性约束的有效性。Create table student ( Sno char(5) primary key, Clno char(5) not null, Sname varchar(8) not null, Ssex char(2) check (ssex in (男

13、男,女女) , Sbir datetime, Scredit numeric(4,0)数据库原理与设计数据库原理与设计Create table course ( Cno char(5) primary key, Cname varchar(50) unique, Ctno char(2), Cinfo varchar(50), Ccredits numeric(2,0) default 4, Cttime numeric(3,0), Cpno char(5), Cterm numeric(1,0)数据库原理与设计数据库原理与设计Create table sc ( Sno char(5) for

14、eign key(sno) references student(sno), Cno char(5) foreign key(cno) references course(cno), Score numeric(3,1), Primary key(sno,cno) ) 数据库原理与设计数据库原理与设计练习创建表和完整性约束v创建货物表goods和订单表orders,表结构如下。v所有的约束采用命名约束。v创建外键约束,级联删除.数据库原理与设计数据库原理与设计表操作之二表操作之二-表的修改表的修改v利用表设计器修改表结构(要求掌握)v修改表对象 ALTER TABLE 表名 ADD 列名 数据

15、类型 完整性约束条件 ALTER COLUMN 列名 数据类型 DROP COLUMN 列名 ADD CONSTRAINT 约束名 约束 DROP CONSTRAINT 约束名 数据库原理与设计数据库原理与设计v例例 向表向表Student中增加一列中增加一列address。 Alter table Student add address varchar(40) v例例 将将Student表中表中address列的最大长度修改为列的最大长度修改为50,并允许为空。并允许为空。 ALTER Table Student ALTER Column address varchar(50) NULLv例例 删除删除Student表中的表中的address列。列。 ALTER Table Student DROP Column address数据库原理与设计数据库原理与设计v向表向表Student中增加列中增加列Email,且要求输入的电子,且要求输入的电子邮件地址必须包括邮件地址必须包括“”字符。字符。 ALTER TABLE Student ADD Email VARCHAR(40) CONSTRAINT ck_ea CHECK(Email like %)数据库原理与设计数据库原理与设计v例例 在在Student表中表中SName列上设置唯一约束。列上设置唯一约束。 ALTER TAB

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论