资源描述:
《sql数据定义与数据查询》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数据库上机报告——数据定义与数据查询一、写明实验所采用的实验环境:硬件环境:普通联网的PC机;操作系统:Windows2000或者WindowsXP;数据库管理系统:MSSQLServer2005。二、给出实验内容与完成情况:(一)使用命令行方式建立学生课程数据库(1)用SQL语言建立学生课程数据库,数据库命名:SC_学号后四位及姓名,如SC_3112liyan;CREATEDATABASESC_1224cxjON(NAME=SC_1224cxj_dat,FILENAME='C:ProgramFilesMicrosoftSQLServerMSSQL.1MSSQL
2、SC_1224cxj_dat.mdf')LOGON(NAME=SC_1224cxj_log,FILENAME='C:ProgramFilesMicrosoftSQLServerMSSQL.1MSSQLSC_1224_log.ldf');(2)用SQL语言在学生课程数据库中建立3个表,要求进行完整性定义:学生关系Student(Sno,Sname,Ssex,Sage,Sdept)其中Sno不能为空,值是唯一的,并且Sname取值也唯一,Sage自定义约束“大于16”课程关系Course(Cno,Cname,Cpno,Ccredit)其中Cno不能为空,值是唯一
3、的,并且Cname取值也唯一教师关系Teacher(Tno,Tname,Department,Email,Salary)其中Tno不能为空,值是唯一的选修关系SC(Sno,Cno,Grade)其中Sno和Cno不能为空,(Sno,Cno)为主码,Grade的数据类型为int建立Student表:CREATETABLEStudent(SnoCHAR(9)PRIMARYKEY,SnameCHAR(40)UNIQUE,SsexCHAR(2),SageSMALLINTCHECK(Sage>16),SdeptCHAR(20));建立Course表:CREATETABLECours
4、e(CnoCHAR(4)PRIMARYKEY,CnameCHAR(40)UNIQUE,CpnoCHAR(4),CreditSMALLINT,CONSTRAINTFK_CFOREIGNKEY(Cpno)REFERENCESCourse(Cno));建立Teacher表:CREATETABLETeacher(TnoCHAR(4)PRIMARYKEY,TnameCHAR(40),DepartmentCHAR(20),EmailCHAR(100),SalaryINT);建立SC表:CREATETABLESC(SnoCHAR(9),CnoCHAR(4),GradeSMALLINT
5、,PRIMARYKEY(Sno,Cno),CONSTRAINTFK_SC1FOREIGNKEY(Sno)REFERENCESStudent(Sno),CONSTRAINTFK_SC2FOREIGNKEY(Cno)REFERENCESCourse(Cno));(3)修改数据表:ü将SC表中Grade的数据类型改为float;ALTERTABLESCALTERCOLUMNGradeFLOAT;ü在Student表中增加一个属性Scome记录学生的入学时间,其数据类型为DATETIME;ALTERTABLEStudentADDScomeDATETIME;ü删除Student表
6、中新增加Scome属性;ALTERTABLEStudentDROPCOLUMNScome;ü删除表Teacher表中的Email属性;ALTERTABLETeacherDROPCOLUMNEmail;ü删除Student表中对Sname属性创建的Unique约束。(无法删除未建立名字的约束)建立约束语句:ALTERTABLEStudentADDCONSTRAINTS_CHECKUNIQUE(Sname);删除约束语句:ALTERTABLEStudentDROPS_CHECK;*(4)用SQL语言分别在3个数据表中插入数据(具体数据可见教材P.82):INSERTINTO
7、StudentVALUES('200215121','李勇','男',20,'CS');INSERTINTOStudentVALUES('200215122','刘晨','女',19,'CS');INSERTINTOStudentVALUES('200215123','王敏','女',18,'MA');INSERTINTOStudentVALUES('200215125','张立','男',19,'IS');INSERTINTOCourseVALUES('1','数据库','5',4);INSERTINTOCourseVALUES('2'