资源描述:
《DB课内实验与要求(总)-问题详解(2010).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验1、数据定义1.1实验目的熟悉SQL的数据定义语言,能够熟练地使用SQL语句来创建和更改基本表,创建和取消索引。1.2实验容l用SSMS创建数据库University_Misl使用CREATE语句创建基本表。l更改基本表的定义:增加列,删除列,修改列的数据类型。l创建表的升、降序索引。l删除基本表的约束、基本表的索引或基本表。1.3实验步骤(1)用SSMS创建数据库University_Mis启动SQLServerSSMS和服务管理器,进入SSMS的控制台窗口,选择右键单击“数据库”,在弹出的菜单中选择“新建数据库”命令,创建名为University_Mis的数据库。(2)
2、在查询分析器中用SQL语句创建关系数据库基本表:学生表Students(Sno,Sname,Semail,Scredit,Sroom);教师表Teachers(Tno,Tname,Temail,Tsalary);课程表Courses(Cno,Cname,Ccredit);成绩表Reports(Sno,Tno,Cno,Score);其中:Sno、Tno、Cno分别是表Students、表Teachers、表Courses的主键,具有唯一性约束,Scredit具有约束“大于等于0”;Reports中的Sno,Tno,Cno是外键,它们共同组成Reports的主键。CREATETAB
3、LEStudents(SnoCHAR(8)NOTNULLUNIQUE,SnameCHAR(20)NOTNULL,SemailCHAR(50),ScreditFLOAT,SroomCHAR(20),CONSTRAINTPK_StudentsPRIMARYKEY(Sno),CONSTRAINTCK_Students_ScreditCHECK(Scredit>=0))**************************************************************//或者可如下编写。因为PRIMARYKEY本来就有唯一性和非空性约束。//后面各题亦如此,不再
4、重述CREATETABLEStudents(SnoCHAR(8),SnameCHAR(20),SemailCHAR(50),ScreditFLOAT,SroomCHAR(20),CONSTRAINTPK_StudentsPRIMARYKEY(Sno),CONSTRAINTCK_Students_ScreditCHECK(Scredit>=0))**************************************************************CREATETABLETeachers(TnoCHAR(8)NOTNULLUNIQUE,TnameCHAR(20)
5、NOTNULL,TemailCHAR(50),TsalaryFLOAT,CONSTRAINTPK_TeachersPRIMARYKEY(Tno))CREATETABLECourses(CnoCHAR(8)NOTNULLUNIQUE,CnameCHAR(20),CcreditFLOAT,CONSTRAINTPK_CoursesPRIMARYKEY(Cno))CREATETABLEReports(SnoCHAR(8)NOTNULL,TnoCHAR(8)NOTNULL,CnoCHAR(8)NOTNULL,ScoreFLOAT,CONSTRAINTPK_ReportsPRIMARYKE
6、Y(Sno,Tno,Cno),CONSTRAINTFK_Reports_SnoFOREIGNKEY(Sno)REFERENCESStudents,CONSTRAINTFK_Reports_TnoFOREIGNKEY(Tno)REFERENCESTeachers,CONSTRAINTFK_Reports_CnoFOREIGNKEY(Cno)REFERENCESCourses)(1)更改表Students:增加属性Ssex(类型是CHAR,长度为2),取消Scredit“大于等于0”约束。把表Courses中的属性Cname的数据类型改成长度为30。ALTERTABLEStuden
7、tsADDSsexCHAR(2)ALTERTABLEStudentsDROPCONSTRAINTCK_Students_ScreditALTERTABLECoursesALTERCOLUMNCnameCHAR(30)/*注:在取消约束的时候,应该写出约束的名称。这个名称可以由用户在创建表时定义。若用户在创建表时没有定义名称,则当定义约束时,数据库会为这个约束起一个名称(不同的时候创建名称可能不同)。要查看这个名称,可以通过在企业分析器中,查看设计表中的约束选项,可以看到这个约束的名称。本例中