数据库实验1答案_第1页
数据库实验1答案_第2页
数据库实验1答案_第3页
数据库实验1答案_第4页
数据库实验1答案_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1-1:(建立数据库表)建立教学数据库的四个数据库表,其中S表中不包含SSEX(C,2)字段,Sname字段为Sname(C,8)且可为空。1.createtableS(SNOchar(5)primarykey,SNAMEchar(8),SDEPTchar(2),SCLASSchar(2),SAGEint);2.createtableC(CNOchar(3)primarykey,CNAMEchar(16),CCREDITint);3.createtableT(TNAMECHAR(8)primarykey,TSEXCHAR(2),CNOCHAR(3),TDATECHAR(12),TDEPTCHAR(2));4.createtableSC(SNOCHAR(5),CNOCHAR(3),SCOREINT,PRIMARYKEY(CNO,SNO),FOREIGNKEY(SNO)REFERENCESS(SNO),FOREIGNKEY(CNO)REFERENCESC(CNO));1-2:(修改数据库表)在S表中增加SEX(C,2)字段。ALTERTABLESADDSEXCHAR(2);1-3:(修改列名)将Student表中列名SEX修改为SSEX。ALTERTABLESDROPCOLUMNSEX;ALTERTABLESADDSSEXCHAR(2);1-4:(修改数据库表)将Student表中把Sname字段修改为Sname(C,10)且为非空。ALTERTABLESALTERCOLUMNSNAMECHAR(10)NOTNULL;1-5:(建立索引)为Score表按课程号升序、分数降序建立索引,索引名为SC_GRADE。语句如下:CREATEINDEXSC_GRADEONSC(CNO,SCOREdesc);1-6:(删除索引)删除索引SC_GRADE。DROPINDEXSC.SC_GRADE;1-7:(建立数据库表)建立数据库表S1(SNO,SNAME,SD,SA),其字段类型定义与Student表中的相应字段(SNO,SNAME,SDEPT,SAGE)的数据类型定义相同。CREATETABLES1(SNOchar(5)primarykey,SNAMEchar(10),SDEPTchar(2),SAGEint);1-8:(修改数据库表)删除成绩表Score的参照完整性约束关系。ALTERTABLESCDROPCONSTRAINTFK__SC__SNO__1DF06171;ALTERTABLESCDROPCONSTRAINTFK__SC__CNO__1EE485AA;1-9:(修改数据库表)添加成绩表SC的参照完整性约束关系。语句如下:ALTERTABLESCADDCONSTRAINTSC_F1FOREIGNKEY(SNO)REFERENCESS(SNO);ALTERTABLESCADDCONSTRAINTSC_F2FOREIGNKEY(CNO)REFERENCESC(CNO);1-10:(修改数据库表名)将数据库表S1改名为Student_Temp。EXECSP_RENAME'S1','STUDENT_TEMP';2.SQL数据操纵语句:2-1:(插入数据)按前面各表中的数据分别插入到教学数据库的四个数据库表中。语句如下:insertintoSvalues('96001','马小燕','CS','01',21,'女');insertintoSvalues('96002','黎明','CS','01',18,'男');insertintoSvalues('96003','刘东明','MA','01',18,'男');insertintoSvalues('96004','赵志勇','IS','02',20,'男');insertintoSvalues('97001','马蓉','MA','02',19,'女');insertintoSvalues('97002','李成功','CS','01',20,'男');insertintoSvalues('97003','黎明','IS','03',19,'女');insertintoSvalues('97004','李丽','CS','02',19,'女');insertintoSvalues('96005','司马志明','CS','02',18,'男');insertintoCvalues('001','数学分析',144);insertintoCvalues('002','普通物理',144);insertintoCvalues('003','微机原理',80);insertintoCvalues('004','数据结构',72);insertintoCvalues('005','操作系统',80);insertintoCvalues('006','数据库原理',80);insertintoCvalues('007','编译原理',60);insertintoCvalues('008','程序设计',40);insertintoTvalues('王成刚','男','004','1999.9.5','CS');insertintoTvalues('李正科','男','003','1999.9.5','CS');insertintoTvalues('严敏','女','001','1999.9.5','MA');insertintoTvalues('赵高','男','004','1999.9.5','MA');insertintoTvalues('刘玉兰','女','006','2000.2.23','CS');insertintoTvalues('王成刚','男','004','2000.2.23','IS');insertintoTvalues('马悦','女','008','2000.9.6','CS');insertintoSCvalues('96001','001',77);insertintoSCvalues('96001','003',89);insertintoSCvalues('96001','004',86);insertintoSCvalues('96001','005',82);insertintoSCvalues('96002','001',88);insertintoSCvalues('96002','003',92);insertintoSCvalues('96002','006',90);insertintoSCvalues('96005','004',92);insertintoSCvalues('96005','005',90);insertintoSCvalues('96005','006',89);insertintoSCvalues('96005','007',76);insertintoSCvalues('96003','001',69);insertintoSCvalues('97001','001',96);insertintoSCvalues('97001','008',95);insertintoSCvalues('96004','001',87);insertintoSCvalues('96003','003',91);insertintoSCvalues('97002','003',91);insertintoSCvalues('97002','004',NULL);insertintoSCvalues('97002','006',92);insertintoSCvalues('97004','005',90);insertintoSCvalues('97004','006',85);2-2:(多行插入)将表Student表中计算机系(‘CS’)的学生数据插入到表S1中。INSERTINTOS1(SNO,SNAME,SDEPT,SAGE)(SELECTSNO,SNAME,SDEPT,SAGEFROMSWHERESDEPT='CS');2-3:(利用查询来实现表的定义与数据插入)求每一个学生的平均成绩,把结果存入数据库表Student_Gr中。CREATETABLESTUDENT_GR(SNAMECHAR(10),AVERAGEINT);INTERTINTOSTUDENT_GRSELECTS.SNAME,AVG(SCORE)FROMS,SCWHERES.SNO=SC.SNOGROUPBYS.SNO;2-4:(修改数据)将Student_Temp表中所有学生的年龄加2。UPDATESTUDENT_TEMPSETSAGE=SAGE+22-5:(修改数据)将Course表中‘程序设计’课时数修改成与‘数据结构’的课时数相同。UPDATECSETCTIME=(SELECTCTIMEFROMCWHERECNAME='数据结构')WHERECNAME='程序设计'2-6:(插入数据)向Score表中插入数据(‘98001’,95),根据返回信息解释其原因。,‘001’INSERTINTOSCVALUES('98001','001',95);返回的错误信息:INSERT语句与COLUMNFOREIGNKEY约束'SC_F1'冲突。该冲突发生于数据库'master',表'S',column'SNO'。语句已终止原因:在学生表S中没有学号为98001的学生,插入的这个数据中有SNOFOREIGNKEYREFERENCESS.SNO项,这就表明所有SC的元组中的SNO必需要在S中存在。而在S中不存在SNO为98001的学生,因而插入的项与这个外键规则违背,不允许插入2-7:(插入数据)向Score表中插入数据(‘97001’,80),根据返回信息解释其原因。,‘010’INSERTINTOSCVALUES('97001','001',80);返回的错误信息:违反了PRIMARYKEY约束'PK__SC__5BED93EA'。不能在对象'SC'中插入重复键。语句已终止原因:因为在成绩表SC中已经规定了(SNO,CNO)为该表的主键,这就表明不能有两个元组的主键是相同的,而在SC中已经存在了学号为97001,课程号为001的元组,因此不允许插入2-8:(删除数据)删除Student表中学号为‘96001’的学生信息,根据返回信息解释其原因。DELETEFROMSWHERES.SNO='96001';错误提示:DELETE语句与COLUMNREFERENCE约束'SC_F1'冲突。该冲突发生于数据库'master',表'SC',column'SNO'。语句已终止原因:因为S的SNO是SC的外键,在删除S的数据时如果SC有数据是以S中的数据为外键的话会导致SC中的数据在S中找不到对应的数据,这样就违背了外键的规则2-9:(删除数据)删除Course表中课程号为‘003’的课程信息,根据返回信息解释其原因。DELETEFROMCWHERECNO='003';DELETE语句与COLUMNREFERENCE约束'SC_F2'冲突。该冲突发生于数据库'master',表'SC',colu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论