资源描述:
《《sql server 2005实用教程》实验答案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验二2.实验内容(1)CREATEDATABASEStuInfoONPRIMARY(NAME=StuInfo_Data,, FILENAME='D:StuInfo.Mdf', SIZE=3MB,MAXSIZE=10MB, FILEGROWTH=1MB)LOGON(NAME=StuInfo_Log, FILENAME='D:StuInfo_Log.Ldf', SIZE=1MB, MAXSIZE=5MB, FILEGROWTH=1MB)GO(2)--创建
2、学生表T_StudentUSEStuinfoGOCREATETABLEt_student(S_numberchar(8)NOTNULLPRIMARYKEY,S_namechar(10)NOTNULL,Sexchar(2)NULLCHECK(Sex='男'orSex='女'),Birthdaydatetime,Nationnvarchar(10),Politicsvarchar(10),Departmentnvarchar(12),Addressvarchar(60),PostalCodenvarc
3、har(10),Phonevarchar(24),)--创建课程表T_CourseUSEStuinfoGO17CREATETABLEt_course(C_numberchar(4)NOTNULLPRIMARYKEY,C_namechar(10)NOTNULL,Teacherchar(10),HoursintNOTNULL,Creditint,Typenvarchar(12),)--创建课程表T_ScoreUSEStuinfoGOCREATETABLEt_score(S_numberchar(8)N
4、OTNULLREFERENCESt_student(S_number),C_numberchar(4)NOTNULLREFERENCESt_course(C_number),Scorenumeric(5,1)CHECK(Score>=0andScore<=100),CONSTRAINTPK_t_scorePRIMARYKEY(S_number,C_number))(3)在SSMS中打开表,按照表3.15、3.16、3.167的内容直接输入数据即可。(4)INSERTINTOt_scoreVALUE
5、S('040104','2',70)显示错误信息,不能保存该条记录。因为T_Score表的S_Number列与表T_Student的S_Number列存在着外键约束关系,而表T_Student不存在S_Number为040104的记录。(5)INSERTINTOt_scoreVALUES('040104','2',70)能执行,向t_score表添加了该条数据。(6)updatedbo.t_studentsetS_number='040105'whereS_number='040101'显示错误信
6、息,不能修改该条记录。因为T_Score表的S_Number列与表T_Student的S_Number列存在着外键约束关系,而表T_Score存在S_Number为'040101'的记录,为保证表T_Score数据的完整性,不能修改表T_Student中S_Number为'040101'的记录。(7)deletet_coursewhereC_number='5'17显示错误信息,不能删除该条记录。因为T_Score表的C_Number列与表T_Course的C_Number列存在着外键约束关系,为
7、保证表T_Score数据的完整性,不能删除表T_Course中C_Number为5的记录。(8)法一:首先删除T_Score表中C_Number=’5’的所有记录,然后再删除表T_Course中C_Number为5的记录。法二:修改T_Score表与T_Course表关于C_Number的外键约束,设置其“INSERT和UPDATE规范”的“删除规则”为“层叠”。(9)USEStuinfoALTERTABLEt_studentADDCONSTRAINTCK_PoliticsCHECK(Politi
8、cs='中共党员'orPolitics='团员'orPolitics='民主党派'orPolitics='群众')ALTERTABLEt_studentADDCONSTRAINTDF_PoliticsDEFAULT('团员')FORPolitics(10)EXECSP_DETACH_DB'Stuinfo','true'EXECSP_ATTACH_DB'Stuinfo','C:StuInfo.Mdf'实验三3.实验步骤(1)USEstuinfogoSELECT*FROMt_stud