ImageVerifierCode 换一换
格式:PPT , 页数:39 ,大小:1.42MB ,
资源ID:9126790      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-9126790.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文([宋吉兵]第4章 数据库表管理.ppt)为本站会员(scg750829)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

[宋吉兵]第4章 数据库表管理.ppt

1、1,第二章,SQL Server数据库表管理,2,回顾,使用企业管理器创建组、注册 用两种方法创建、修改、查看数据库 移动和配置数据库的选项,3,本章目标,使用企业管理器创建数据库表 设置表的主键、外键和建立表之间的关系 为表增加约束,4,再论数据完整性 2-1,数据完整性,+,=,5,再论数据完整性 2-2,数据存放在表中 “数据完整性的问题大多是由于设计引起的” 创建表的时候,就应当保证以后数据输入是正确的错误的数据、不符合要求的数据不允许输入,创建表:保证数据的完整性 = 实施完整性约束,6,完整性包括2-1,输入的类型是否正确? 年龄必须是数字 输入的格式是否正确? 身份证号码必须是1

2、8位 是否在允许的范围内? 性别只能是”男”或者”女” 是否存在重复输入? 学员信息输入了两次 是否符合其他特定要求? 信誉值大于5的用户才能够加入会员列表 ,7,完整性包括2-2,8,实体完整性,思考:能否将学号为0010014的记录插入学生表中? 约束方法:唯一约束、主键约束、标识列,9,域完整性,约束方法:限制数据类型、检查约束、外键约束、默认值、非空约束,10,引用完整性,约束方法:外键约束,11,自定义完整性,约束方法:规则、存储过程、触发器,12,表操作,在企业管理器中演示打开表、数据输入等操作,13,创建数据库表-1,14,SQL Server的数据类型,15,思考,电话号码一般

3、使用什么数据类型存储? 性别一般使用什么数据类型存储? 年龄信息一般使用什么数据类型存储? 照片信息一般使用什么数据类型存储? 薪水一般使用什么数据类型存储?,16,创建数据库表-2,17,思考,学员姓名允许为空吗? 家庭地址允许为空吗? 电子邮件信息允许为空吗? 考试成绩允许为空吗?,18,创建数据库表-3,19,思考,在主键列输入的数值,允许为空吗? 一个表可以有多个主键吗? 在一个学校数据库中,如果一个学校内允许重名的学员,但是一个班级内不允许学员重名,可以组合班级和姓名两个字段一起来作为主键吗?,20,选择主键的原则,最少性 尽量选择单个键作为主键稳定性 尽量选择数值更新少的列作为主键

4、,21,创建数据库表-4,表中没有合适的列作为主键怎么办?,22,思考,标识列允许为字符数据类型吗? 如果标识列A的初始值为1,增长量为2,则输入三行数据以后,再删除两行,下次再输入数据行的时候,标识值从多少开始?,23,创建数据库表-5,24,创建数据库表-6,演示建立主-外键关系,25,关系图,演示关系图,26,主表和从表,1、当主表中没有对应的记录时,不能将记录添加到子表成绩表中不能出现在学员信息表中不存在的学号;2、不能更改主表中的值而导致子表中的记录孤立把学员信息表中的学号改变了,学员成绩表中的学号也应当随之改变;3、子表存在与主表对应的记录,不能从主表中删除该行不能把有成绩的学员删

5、除了4、删除主表前,先删子表先删学员成绩表、后删除学员信息表,27,创建数据库表-7,演示建立检查约束,28,创建数据库表完毕!,输入数据项,验证主键、主外键关系、检查约束,29,创建表,建表的语法,CREATE TABLE 表名(字段1 数据类型 列的特征,字段2 数据类型 列的特征,. ),列的特征: 包括该列是是否为空(NULL)、是否是标识列(自动编号)、是否有默认值、是否为主键等。,30,建表示例 1,USE stuDB -将当前数据库设置为stuDB GO CREATE TABLE stuInfo /*-创建学员信息表-*/ (stuName VARCHAR(20) NOT NUL

6、L , -姓名,非空(必填)stuNo CHAR(6) NOT NULL, -学号,非空(必填)stuAge INT NOT NULL, -年龄,INT类型默认为4个字节stuID NUMERIC(18,0), -身份证号stuSeat SMALLINT IDENTITY (1,1), -座位号,自动编号stuAddress TEXT -住址,允许为空,即可选输入 ) GO,NUMERIC (18,0) 代表18位数字,小数位数为0,演示:创建学员信息表stuInfo,IDENTITY(起始值,递增量),31,建表示例 2,CREATE TABLE stuMarks (ExamNo CHAR(

7、7) NOT NULL, -考号stuNo CHAR(6) NOT NULL, -学号writtenExam INT NOT NULL, -笔试成绩LabExam INT NOT NULL -机试成绩 ) GO,演示:创建学员成绩表 stuMarks,32,删除表,如果当前数据库中已存在stuInfo表,再次创建时系统将提示出错 。如何解决呢?,33,删除表,删除表的语法:,DROP TABLE 表名,USE stuDB -将当前数据库设置为stuDB ,以便在stuDB数据库中建表 GO IF EXISTS(SELECT * FROM sysobjects WHERE name=stuInf

8、o )DROP TABLE stuInfo CREATE TABLE stuInfo /*-创建学员信息表-*/ ( ) GO,34,SQL Server的约束,约束的目的:确保表中数据的完整型 常用的约束类型: 主键约束(Primary Key Constraint):要求主键列数据唯一,并且不允许为空 唯一约束(Unique Constraint):要求该列唯一,允许为空,但只能出现一个空值。 检查约束(Check Constraint):某列取值范围限制、格式限制等,如有关年龄的约束 默认约束(Default Constraint):某列的默认值,如我们的男性学员较多,性别默认为“男”

9、外键约束(Foreign Key Constraint):用于两表间建立关系,需要指定引用主表的那列,35,添加约束,添加约束的语法:,ALTER TABLE 表名 ADD CONSTRAINT 约束名 约束类型 具体的约束说明,约束名的取名规则推荐采用:约束类型_约束字段 主键(Primary Key)约束:如 PK_stuNo 唯一(Unique Key)约束:如 UQ_stuID 默认(Default Key)约束:如 DF_stuAddress 检查(Check Key)约束:如 CK_stuAge 外键(Foreign Key)约束:如 FK_stuNo,36,添加约束示例,ALTE

10、R TABLE stuInfo ADD CONSTRAINT PK_stuNo PRIMARY KEY (stuNo) ALTER TABLE stuInfo ADD CONSTRAINT UQ_stuID UNIQUE (stuID) ALTER TABLE stuInfo ADD CONSTRAINT DF_stuAddress DEFAULT (地址不详) FOR stuAddress ALTER TABLE stuInfo ADD CONSTRAINT CK_stuAge CHECK(stuAge BETWEEN 15 AND 40) ALTER TABLE stuMarksADD C

11、ONSTRAINT FK_stuNo FOREIGN KEY(stuNo) REFERENCES stuInfo(stuNo) GO,演示:给学员信息表stuInfo添加约束,添加主键约束(stuNo作为主键),添加唯一约束(因为每人的身份证号全国唯一),添加默认约束(如果地址不填,默认为“地址不详”),添加检查check约束,要求年龄只能在1540岁之间,添加外键约束(主表stuInfo和从表stuMarks建立关系,关联字段为stuNo),37,删除约束,如果错误地添加了约束,我们还可以删除约束 删除约束的语法,ALTER TABLE 表名 DROP CONSTRAINT 约束名,例如:删

12、除stuInfo表中地址默认约束 ALTER TABLE stuInfo DROP CONSTRAINT DF_stuAddress,38,总结,SQL Server创建表的过程是规定数据列的属性的过程,同时也是实施数据完整性(包括实体完整性、引用完整性和域完整性等)保证的过程 实体完整性数据行不能存在重复,引用完整性要求子表中的相关项必须在主表中存在 域完整性实现了对输入到特定列的数值的限制 SQL Server中存在五种约束,分别是:主键约束、外键约束、检查约束、默认约束和唯一性约束(唯一性约束将在后续课程中使用SQL语句实现),39,总结,创建数据库表需要:确定表的列名、数据类型、是否允许为空,还需要确定主键、必要的默认值、标识列和检查约束 如果建立了主表和子表的关系,则: 子表中的相关项目的数据,在主表中必须存在; 主表中相关项的数据更改了,则子表对应的数据项也应当随之更改; 在删除子表之前,不能够删除主表;,

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报