如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
---数据库例题集锦---学生-课程数据库S-T:学生表:Student(Sno,Sname,Ssex,Sage,Sdept)课程表:Course(Cno,Cname,Cpno,Ccredit)学生选课表:SC(Sno,Cno,Grade)学号Sno姓名Sname性别Ssex年龄Sage所在系Sdept200215121200215122200215123200515125李勇刘晨王敏张立男女女男20191819CSCSMAIS课程号Cno课程名Cname先行课Cpno学分Ccredit1234567数据库数学信息系统操作系统数据结构数据处理PASCAL语言516764243424学号Sno课程号Cno成绩Grade200215121200215121200215121200215122200215122123239285889080[例1]建立“学生”表Student,学号是主码,姓名取值唯一。CREATETABLEStudent(SnoCHAR(9)PRIMARYKEY,/*列级完整性约束条件*/SnameCHAR(20)UNIQUE,/*Sname取唯一值*/SsexCHAR(2),SageSMALLINT,SdeptCHAR(20));[例2]建立一个“课程”表CourseCREATETABLECourse(CnoCHAR(4)PRIMARYKEY,CnameCHAR(40)NOTNULL,CpnoCHAR(4),CcreditSMALLINT,FOREIGNKEY(Cpno)REFERENCESCourse(Cno));[例3]建立一个“学生选课”表SCCREATETABLESC(SnoCHAR(9),CnoCHAR(4),GradeSMALLINT,PRIMARYKEY(Sno,Cno),/*主码由两个属性构成,必须作为表级完整性进行定义*/FOREIGNKEY(Sno)REFERENCESStudent(Sno),/*表级完整性约束条件,Sno是外码,被参照表是Student*/FOREIGNKEY(Cno)REFERENCESCourse(Cno)/*表级完整性约束条件,Cno是外码,被参照表是Course*/);[例4]向Student表增加“入学时间”列,其数据类型为日期型。ALTERTABLEStudentADDS_entranceDATE;不论基本表中原来是否已有数据,新增加的列一律为空值。[例5]将年龄的数据类型由字符型(假设原来的数据类型是字符型)改为整数。ALTERTABLEStudentALTERCOLUMNSageINT;[例6]增加课程名称必须取唯一值的约束条件。ALTERTABLECourseADDUNIQUE(Cname);[例7]将年龄的数据类型改为短整型。ALTERTABLEstudentalterSageSMALLINT;注:修改原有的列定义有可能会破坏已有数据[例8]删除Student表DROPTABLEStudentCASCADE;[例9]若表上建有视图,选择RESTRICT时表不能删除CREATEVIEWIS_StudentASSELECTSno,Sname,SageFROMStudentWHERESdept='IS';DROPTABLEStudentRESTRICT;--ERROR:cannotdroptableStudentbecauseotherobjectsdependonit[例10]为学生-课程数据库中的Student,Course,SC三个表建立索引。CREATEUNIQUEINDEXStusnoONStudent(Sno);CREATEUNIQUEINDEXCoucnoONCourse(Cno);CREATEUNIQUEINDEXSCnoONSC(SnoASC,CnoDESC);Student表按学号升序建唯一索引Course表按课程号升序建唯一索引SC表按学号升序和课程号降序建唯一索引[例11]查询全体学生的学号与姓名。SELECTSno,SnameFROMStudent;[例12]查询全体学生的姓名、学号、所在系。SELECTSname,Sno,SdeptFROMStudent;[例13]查询全体学生的详细记录。SELECTSno,Sname,Ssex,Sage,SdeptFROMStudent;或SELECT*FROMStudent[例1