版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
沈阳工程学院学生实验报告(课程名称:数据库原理及应用)实验题目:数据库模式设计班级信安本111学号13姓名朱帝日期-10-18地点F612指导教师孙宪丽、祝世东
一、实验目的纯熟掌握采用SQL命令建立数据库表、索引和视图的办法。二、实验环境Oracle10g数据库系统。三、实验内容与规定(一)实验内容1.建立学生数据库模式学生表:student(sno学号,sname姓名,ssex性别,sage年纪,sdept所在系)其中:sno长度为4的字符串,为主码;sname长度为8的字符串;ssex长度为2的字符串,其值只取男、女;sage整数,其值在0-150之间;sdept长度为10的字符串。2.建立课程数据库模式课程表:course(cno课程号,cname课程名,ccredit学分)
其中:cno长度为4的字符串,为主码cname长度为10的字符串,不能为空,且不能有重复课程名;ccredit整数。3.建立选课数据库模式。选课表:sc(sno学号,cno课程号,grade成绩)
其中:sno长度为4的字符串,和student表sno外键关联,且级联删除cno长度为4的字符串,course表cno外键关联,grade整数,值或空或为0—100之间,(sno,cno)联合作主码。(二)实验规定在Oracle10g的iSQLPlus中完毕下列操作:(1)创立上述三个表。(2)向Student表增加"入学时间"列(列名为Scome,日期型)。(3)将年纪的数据类型改为整数。(4)为Student中sname添加列级完整性约束,不能为空。(5)删除Student中sname列级完整性约束。(6)为SC建立按学号升序和课程号降序建立唯一索引.(7)在表student的sname字段建立一种升序索引。(8)删除在表student的sname字段建立的索引。(9)给student表增加一种地址(address)属性。(10)给student表删除地址(address)属性。(11)建立视图view1,规定有sno,sname,cname,grade四个字段。(12)建立视图view2,规定有sno,ssex,sage三个字段。四、实验过程及成果分析(1)创立上述三个表。创立学生表:错误程序代码:createtableStudent(Snochar(4)primarykey,Snamechar(8)unique,Ssexchar(2)check(sex='男'or'女'),Sageintcheck(sagebetween0and150),Sdeptchar(10));错误分析:Ssexchar(2)check(sex='男'or'女'),ERRORatline4:
ORA-00920:invalidrelationaloperator约束条件错误,应将sex改为Ssex程序代码:createtableStudent(Snochar(4)primarykey,Snamechar(8)unique,Ssexchar(2)check(Ssexin('男','女')),Sageintcheck(sagebetween0and150),Sdeptchar(10));运行成果:Tablecreated.创立课程表:程序代码:createtableCourse(Cnochar(4)primarykey,Cnamechar(10),Ccreditint);运行成果:Tablecreated.创立成绩表:错误程序代码:createtableSc(Snochar(4),Cnochar(4),Gradeintcheck(Gradebetween0and100),primarykey(Sno,Cno),foreignkey(Sno)referencesstudent(Sno),foreignkey(Cno)referenceCourse(Cno));错误分析:foreignkey(Cno)referenceCourse(Cno)ERRORatline7:
ORA-00905:missingkeyword操作错误:应将热reference改为references程序代码:createtableSc(Snochar(4),Cnochar(4),Gradeintcheck(Gradebetween0and100),primarykey(Sno,Cno),foreignkey(Sno)referencesstudent(Sno),foreignkey(Cno)referencesCourse(Cno));运行成果:Tablecreated.(2)向Student表增加"入学时间"列(列名为Scome,日期型)。程序代码:AltertableScAddScomeDate;运行成果:Tablecreated(3)将年纪的数据类型改为整数。程序代码:altertablestudentmodify(sagenumber);运行成果:Tablealtered.(4)为Student中sname添加列级完整性约束,不能为空。错误代码:AltertableStudentaddSnameNOTNULL;错误分析:altertablestudentaddnotnull(sname);ERRORatline1:
ORA-00904::invalididentifier语法规则错误。程序代码:AltertableStudentmodify("Sname"NOTNULL);(5)删除Student中sname列级完整性约束。程序代码:AltertableStudentmodify(SnameNULL)运行成果:Tablealtered.(6)为SC建立按学号升序和课程号降序建立唯一索引.程序代码:createuniqueindexindex1onsc(snoasc,cnodesc);运行成果:Tablealtered.(7)在表student的sname字段建立一种升序索引.程序代码:createindexindex2onstudent(snameasc);运行成果:Indexcreated(8)删除在表student的sname字段建立的索引。程序代码:dropindexindex2;
(9)给student表增加一种地址(address)属性。程序代码:altertablestudentaddaddresschar(30);运行成果:(10)给student表删除地址(address)属性。程序代码:altertablestudentdropcolumnaddress;运行成果:(11)建立视图view1,规定有sno,sname,cname,grade四个字段。程序代码:createviewview1asselectA.sno,sname,cname,gradefromstudentA,courseB,scCwhereA.sno=C.snoandB.cno=C.cno;运行成果:(12)建立视图view2,规定有sno,ssex,s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论