首页 第4章 数据库表管理

第4章 数据库表管理

举报
开通vip

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

第4章 数据库表管理
第二章SQLServer数据库表管理回顾使用企业管理器创建组、注册用两种方法创建、修改、查看数据库移动和配置数据库的选项本章目标使用企业管理器创建数据库表设置表的主键、外键和建立表之间的关系为表增加约束再论数据完整性2-1数据完整性可靠性准确性再论数据完整性2-2数据存放在表中“数据完整性的问题大多是由于设计引起的”创建表的时候,就应当保证以后数据输入是正确的——错误的数据、不符合要求的数据不允许输入创建表:保证数据的完整性=实施完整性约束完整性包括…2-1输入的类型是否正确?——年龄必须是数字输入的格式是否正确?——身份证号码必须是18位是否在允许的范围内?——性别只能是”男”或者”女”是否存在重复输入?——学员信息输入了两次是否符合其他特定要求?——信誉值大于5的用户才能够加入会员列表……列值要求(约束)整行要求(约束)完整性包括…2-2域完整性实体完整性引用完整性自定义完整性实体完整性河南新乡赵可以0010016河南新乡张丽鹃0010015江西南昌雷铜0010014湖南新田吴兰0010013山东定陶李山0010012….地址姓名学号江西南昌雷铜0010014×思考:能否将学号为‘0010014‘的 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 插入学生表中?约束方法:唯一约束、主键约束、标识列域完整性河南新乡赵可以0010016河南新乡张丽鹃0010015江西南昌雷铜0010014湖南新田吴兰0010013山东定陶李山0010012….地址姓名学号湖北江门李亮8700000000×约束方法:限制数据类型、检查约束、外键约束、默认值、非空约束引用完整性河南新乡赵可以0010016河南新乡张丽鹃0010015江西南昌雷铜0010014湖南新田吴兰0010013山东定陶李山0010012…地址姓名学号980010021数学×约束方法:外键约束980010016数学810010013 语文 八上语文短文两篇二年级语文一匹出色的马课件部编版八上语文文学常识部编八上语文文学常识二年级语文一匹出色的马课件 670010012语文740010013数学880010012数学…分数学号科目自定义完整性AV121322乔峰CV0016AV372133玄痛CV0015AV378291沙悟净AV0014AV378290猪悟能AV0013AV378289孙悟空AV0012….会员证用户姓名用户编号约束方法:规则、存储过程、触发器-10岳不群9300040虚竹901118段誉123336猪悟能002887孙悟空00192….信用姓名帐号×触发器:检查信用值表操作在企业管理器中演示打开表、数据输入等操作…创建数据库表-1SQLServer的数据类型可用来存储图像存储布尔数据类型Bit表示是/否的数据Bit数据类型Money用于十进制货币值货币数据类型数字floatreal整数intsmallint该数据仅包含数字,包括正数、负数以及分数数字数据日期和时间Datetime日期和时间在单引号内输入日期和时间存储可变长度的长文本Ntext存储长文本信息Text可变长度Unicode数据Nvarchar固定长度的Unicode数据Nchar可变长度非Unicode数据Varchar固定长度的非Unicode字符数据Char字符数据包括任意字母、符号或数字字符的组合文本数据类型Image存储非子符和文本的数据二进制数据类型说明数据类型备注和说明分类思考电话号码一般使用什么数据类型存储?性别一般使用什么数据类型存储?年龄信息一般使用什么数据类型存储?照片信息一般使用什么数据类型存储?薪水一般使用什么数据类型存储?创建数据库表-2思考学员姓名允许为空吗?家庭地址允许为空吗?电子邮件信息允许为空吗?考试成绩允许为空吗?创建数据库表-3思考在主键列输入的数值,允许为空吗?一个表可以有多个主键吗?在一个学校数据库中,如果一个学校内允许重名的学员,但是一个班级内不允许学员重名,可以组合班级和姓名两个字段一起来作为主键吗?选择主键的原则最少性尽量选择单个键作为主键稳定性尽量选择数值更新少的列作为主键创建数据库表-4表中没有合适的列作为主键怎么办?思考标识列允许为字符数据类型吗?如果标识列A的初始值为1,增长量为2,则输入三行数据以后,再删除两行,下次再输入数据行的时候,标识值从多少开始?创建数据库表-5创建数据库表-6演示建立主-外键关系……关系图演示关系图……主表和从表1、当主表中没有对应的记录时,不能将记录添加到子表——成绩表中不能出现在学员信息表中不存在的学号;2、不能更改主表中的值而导致子表中的记录孤立——把学员信息表中的学号改变了,学员成绩表中的学号也应当随之改变;3、子表存在与主表对应的记录,不能从主表中删除该行——不能把有成绩的学员删除了4、删除主表前,先删子表——先删学员成绩表、后删除学员信息表创建数据库表-7演示建立检查约束……创建数据库表完毕!输入数据项,验证主键、主外键关系、检查约束……创建表建表的语法CREATETABLE表名(字段1数据类型列的特征,字段2数据类型列的特征,...)列的特征:包括该列是是否为空(NULL)、是否是标识列(自动编号)、是否有默认值、是否为主键等。建表示例1USEstuDB--将当前数据库设置为stuDBGOCREATETABLEstuInfo/*-创建学员信息表-*/(stuNameVARCHAR(20)NOTNULL,--姓名,非空(必填)stuNoCHAR(6)NOTNULL,--学号,非空(必填)stuAgeINTNOTNULL,--年龄,INT类型默认为4个字节stuIDNUMERIC(18,0),--身份证号stuSeatSMALLINTIDENTITY(1,1),--座位号,自动编号stuAddressTEXT--住址,允许为空,即可选输入)GONUMERIC(18,0)代表18位数字,小数位数为0演示:创建学员信息表stuInfoIDENTITY(起始值,递增量)建表示例2CREATETABLEstuMarks(ExamNoCHAR(7)NOTNULL,--考号stuNoCHAR(6)NOTNULL,--学号writtenExamINTNOTNULL,--笔试成绩LabExamINTNOTNULL--机试成绩)GO演示:创建学员成绩表stuMarks删除表如果当前数据库中已存在stuInfo表,再次创建时系统将提示出错。如何解决呢?删除表删除表的语法:DROPTABLE表名USEstuDB--将当前数据库设置为stuDB,以便在stuDB数据库中建表GOIFEXISTS(SELECT*FROMsysobjectsWHEREname=’stuInfo’)DROPTABLEstuInfoCREATETABLEstuInfo/*-创建学员信息表-*/(…..)GOSQLServer的约束约束的目的:确保表中数据的完整型常用的约束类型:主键约束(PrimaryKeyConstraint):要求主键列数据唯一,并且不允许为空唯一约束(UniqueConstraint):要求该列唯一,允许为空,但只能出现一个空值。检查约束(CheckConstraint):某列取值范围限制、格式限制等,如有关年龄的约束默认约束(DefaultConstraint):某列的默认值,如我们的男性学员较多,性别默认为“男”外键约束(ForeignKeyConstraint):用于两表间建立关系,需要指定引用主表的那列添加约束添加约束的语法:ALTERTABLE表名ADDCONSTRAINT约束名约束类型具体的约束说明约束名的取名规则推荐采用:约束类型_约束字段主键(PrimaryKey)约束:如PK_stuNo唯一(UniqueKey)约束:如UQ_stuID默认(DefaultKey)约束:如DF_stuAddress检查(CheckKey)约束:如CK_stuAge外键(ForeignKey)约束:如FK_stuNo添加约束示例ALTERTABLEstuInfoADDCONSTRAINTPK_stuNoPRIMARYKEY(stuNo)ALTERTABLEstuInfoADDCONSTRAINTUQ_stuIDUNIQUE(stuID)ALTERTABLEstuInfoADDCONSTRAINTDF_stuAddressDEFAULT('地址不详')FORstuAddressALTERTABLEstuInfoADDCONSTRAINTCK_stuAgeCHECK(stuAgeBETWEEN15AND40)ALTERTABLEstuMarksADDCONSTRAINTFK_stuNoFOREIGNKEY(stuNo)REFERENCESstuInfo(stuNo)GO演示:给学员信息表stuInfo添加约束添加主键约束(stuNo作为主键)添加唯一约束(因为每人的身份证号全国唯一)添加默认约束(如果地址不填,默认为“地址不详”)添加检查check约束,要求年龄只能在15-40岁之间添加外键约束(主表stuInfo和从表stuMarks建立关系,关联字段为stuNo)删除约束如果错误地添加了约束,我们还可以删除约束删除约束的语法ALTERTABLE表名DROPCONSTRAINT约束名例如:删除stuInfo表中地址默认约束ALTERTABLEstuInfoDROPCONSTRAINTDF_stuAddress总结SQLServer创建表的过程是规定数据列的属性的过程,同时也是实施数据完整性(包括实体完整性、引用完整性和域完整性等)保证的过程实体完整性数据行不能存在重复,引用完整性要求子表中的相关项必须在主表中存在域完整性实现了对输入到特定列的数值的限制SQLServer中存在五种约束,分别是:主键约束、外键约束、检查约束、默认约束和唯一性约束(唯一性约束将在后续课程中使用SQL语句实现)总结创建数据库表需要:确定表的列名、数据类型、是否允许为空,还需要确定主键、必要的默认值、标识列和检查约束如果建立了主表和子表的关系,则:——子表中的相关项目的数据,在主表中必须存在;——主表中相关项的数据更改了,则子表对应的数据项也应当随之更改;——在删除子表之前,不能够删除主表;
本文档为【第4章 数据库表管理】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
剪刀石头布
暂无简介~
格式:ppt
大小:1MB
软件:PowerPoint
页数:39
分类:
上传时间:2022-01-04
浏览量:0