SQLServer数据库表管理详述课件.ppt
《SQLServer数据库表管理详述课件.ppt》由会员分享,可在线阅读,更多相关《SQLServer数据库表管理详述课件.ppt(40页珍藏版)》请在三一办公上搜索。
1、1,第二章,SQL Server数据库表管理,2,回顾,使用企业管理器创建组、注册用两种方法创建、修改、查看数据库移动和配置数据库的选项,3,本章目标,使用企业管理器创建数据库表设置表的主键、外键和建立表之间的关系为表增加约束,4,再论数据完整性 2-1,数据完整性,+,=,5,再论数据完整性 2-2,数据存放在表中“数据完整性的问题大多是由于设计引起的”创建表的时候,就应当保证以后数据输入是正确的错误的数据、不符合要求的数据不允许输入,创建表:保证数据的完整性 = 实施完整性约束,6,完整性包括2-1,输入的类型是否正确?年龄必须是数字输入的格式是否正确?身份证号码必须是18位是否在允许的范
2、围内?性别只能是”男”或者”女”是否存在重复输入?学员信息输入了两次是否符合其他特定要求?信誉值大于5的用户才能够加入会员列表,7,完整性包括2-2,8,实体完整性,思考:能否将学号为0010014的记录插入学生表中?约束方法:唯一约束、主键约束、标识列,9,域完整性,约束方法:限制数据类型、检查约束、外键约束、默认值、非空约束,10,引用完整性,约束方法:外键约束,11,自定义完整性,约束方法:规则、存储过程、触发器,12,表操作,在企业管理器中演示打开表、数据输入等操作,13,创建数据库表-1,14,SQL Server的数据类型,15,思考,电话号码一般使用什么数据类型存储?性别一般使用
3、什么数据类型存储?年龄信息一般使用什么数据类型存储?照片信息一般使用什么数据类型存储?薪水一般使用什么数据类型存储?,16,创建数据库表-2,17,思考,学员姓名允许为空吗?家庭地址允许为空吗?电子邮件信息允许为空吗?考试成绩允许为空吗?,18,创建数据库表-3,19,思考,在主键列输入的数值,允许为空吗?一个表可以有多个主键吗?在一个学校数据库中,如果一个学校内允许重名的学员,但是一个班级内不允许学员重名,可以组合班级和姓名两个字段一起来作为主键吗?,20,选择主键的原则,最少性尽量选择单个键作为主键稳定性尽量选择数值更新少的列作为主键,21,创建数据库表-4,表中没有合适的列作为主键怎么办
4、?,22,思考,标识列允许为字符数据类型吗?如果标识列A的初始值为1,增长量为2,则输入三行数据以后,再删除两行,下次再输入数据行的时候,标识值从多少开始?,23,创建数据库表-5,24,创建数据库表-6,演示建立主-外键关系,25,关系图,演示关系图,26,主表和从表,1、当主表中没有对应的记录时,不能将记录添加到子表成绩表中不能出现在学员信息表中不存在的学号;2、不能更改主表中的值而导致子表中的记录孤立把学员信息表中的学号改变了,学员成绩表中的学号也应当随之改变;3、子表存在与主表对应的记录,不能从主表中删除该行不能把有成绩的学员删除了4、删除主表前,先删子表先删学员成绩表、后删除学员信息
5、表,27,创建数据库表-7,演示建立检查约束,28,创建数据库表完毕!,输入数据项,验证主键、主外键关系、检查约束,29,创建表,建表的语法,CREATE TABLE 表名 ( 字段1 数据类型 列的特征, 字段2 数据类型 列的特征, .),列的特征:包括该列是是否为空(NULL)、是否是标识列(自动编号)、是否有默认值、是否为主键等。,30,建表示例 1,USE stuDB -将当前数据库设置为stuDB GOCREATE TABLE stuInfo /*-创建学员信息表-*/( stuName VARCHAR(20) NOT NULL , -姓名,非空(必填) stuNo CHAR(6)
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) NOT NULL, -考号 stuNo CH
7、AR(6) NOT NULL, -学号 writtenExam INT NOT NULL, -笔试成绩 LabExam INT NOT NULL -机试成绩)GO,演示:创建学员成绩表 stuMarks,32,删除表,如果当前数据库中已存在stuInfo表,再次创建时系统将提示出错 。如何解决呢?,33,删除表,删除表的语法:,DROP TABLE 表名,USE stuDB -将当前数据库设置为stuDB ,以便在stuDB数据库中建表GOIF EXISTS(SELECT * FROM sysobjects WHERE name=stuInfo ) DROP TABLE stuInfoCREA
8、TE TABLE stuInfo /*-创建学员信息表-*/(.) GO,34,SQL Server的约束,约束的目的:确保表中数据的完整型常用的约束类型:主键约束(Primary Key Constraint):要求主键列数据唯一,并且不允许为空唯一约束(Unique Constraint):要求该列唯一,允许为空,但只能出现一个空值。检查约束(Check Constraint):某列取值范围限制、格式限制等,如有关年龄的约束默认约束(Default Constraint):某列的默认值,如我们的男性学员较多,性别默认为“男”外键约束(Foreign Key Constraint):用于两表
9、间建立关系,需要指定引用主表的那列,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,添加约束示例,ALTER TABLE stuInfo ADD CONSTRAINT PK_stuN
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQLServer 数据库 管理 详述 课件
链接地址:https://www.31ppt.com/p-1566252.html