资源描述:
《sqlserver数据库实验三》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、实验三数据完整性、存储过程与触发器、数据库备份与恢复1、数据完整性(1)实体完整性在数据库中建立表S,进行主键约朿,在没有违反实体完整性的前提下插入并更新一条记录。CREATETABLES(SnoCHAR(8)NOTNULLUNIQUE,SnameCHAR⑻,SsexCHAR(l),SageINT,SdeptCHAR(20),CONSTRAINTPK_SPRIMARYKEY(Sno));INSERTSVALUESfSOr,■王兵7M’,23/CS》;SELECT*FROMS;【练习1】执行下列语句,会发生什么?为什么?给!li答案。I
2、NSERTSVALUESCSOl?黄山YM’,23/CS’)违反了PRIMARYKEY约束1PK_S1’。不能在对象’dbo.Sl’中插入重复键。Sno是主键不能有俩个重复值【练习2】执行下列语句,会发生什么?为什么?给出答案。UPDATESSETSno=NULLWHERESno=’S02,;0行受影响无S02(2)参照完整性建立表C,令Cno为其主键,并在表S屮插入两条记录。CREATETABLEC(CnoCHAR(4)NOTNULLUNIQUE,CnameVARCHAR(50)NOTNULL,CpointsINT,CONSTRAI
3、NTPKPRIMARYKEY(Cno));INSERTCVALUESCCO1,;ComputerNetworks,,2);INSERTCVALUES(’C02’,’ArtificialIntelligence',3);建立表SC,令Sno和Cno分别为参照S表以及C表的外键,设定为“级联删除”,并令(Sn0,Ciw)为其•主键。在不违反参照完整性的前提下,插入4条选课记录。CREATETableSC(SnoCHAR(8),CnoCHAR(4),ScreditINT,CONSTRAINTPK一SCPRIMARYKEY(Sno,Cno),
4、CONSTRAINTFK_SC_SnoFOREIGNKEY(Sno)REFERENCESS(Sno)ONDELETECASCADE,CONSTRAINTFK_SC_CnoFOREIGNKEY(Cno)REFERENCESC(Cno)ONDELETECASCADE);INSERTINTOSCVALUESCS027C012);INSERTINTOSCVALUESCSC^/COU);INSERTINTOSCVALUES('S017C012);INSERTINTOSCVALUES('SOl’/COD);SELECT*FROMSC;【练习3
5、】执行下列语句,会发生什么?为什么?给出答案。INSERTINTOSCVALUESCS99?C992);插不进去S与c表中无s99与c99【练习4】用SQL命令在S屮删除Sno=’S0r的学生记录,并查看SC表屮数据,看看发生了什么变化?为什么?给出答案。Sc中关于sOl信息都删除啦因为级联删除(1)用户自定义完整性【练习5】创建Teacher表,并自定义2个约束U1以及U2,其中U1规定Tname字段值唯一,U2规定Tage(级别)字段的上限是28。给出代码截屏。ECREATETA3LETeacherI(TnoCHAR(5),Tn
6、ameCHAR(8)CONSTRAINTU1UNIQUE,TsexCHAR(l)rTageINTCONSTRAINTU2CHECK(Tage<=28)rTdeptCHAR(20),LCONSTRAINTPK_TeacherPRIMARYKEY(Tno))CREATETABLETeacher(TnoCHAR(5),TnameCHAR(8)CONSTRAINTU1UNIQUE,TsexCHAR(l),TageINTCONSTRAINTU2CHECK(Tage<=28),TdeptCHAR(20),CONSTRAINTPK_TeacherP
7、RIMARYKEY(Tno))【练习6】在Teacher表巾插入一条记录(‘T02’,’王勇’,’M’,38,’后勤部’),会发生什么?力什么?给出答案。插不进去Tage<=28不符合用户自定义完整性【练习7】通过管理工具或3他1^此命令去除112约朿后,重新插入记录(‘丁02’,’王勇’,〜’,38,’后勤部’),会发生什么?可以插了除了使用SQL语言,利用短语NOTNULL、UNIQUE、CHECK保证用户定义完整性以外,我们还可以通过创建规则的方式保证川户完整性的实现。例如下面一段代码:CREATERULERule_sexAS@
8、ValueINCF/M*)GoEXECSP_bindruleRule_sex,'Teacher.[TsexP;实现功能:创建规则Rule_sex,规定插入或更新的值只能是M或F,并绑定到Teacher的Tsex字段。【练