数据库实验报告(实验一)_第1页
数据库实验报告(实验一)_第2页
数据库实验报告(实验一)_第3页
数据库实验报告(实验一)_第4页
数据库实验报告(实验一)_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上沈 阳 工 程 学 院学 生 实 验 报 告(课程名称:数据库原理及应用)实验题目: 数据库模式设计 班 级 软件本111学 号姓 名 吴月芬日 期 2012.10.16 地 点F座606 指导教师 孙宪丽 祝世东一、实验目的熟练掌握采用SQL命令建立数据库表、索引和视图的方法。二、实验环境Oracle10g数据库系统。三、实验内容与要求(一)实验内容1建立学生数据库模式学生表:student (sno学号,sname姓名,ssex性别,sage年龄,sdept所在系)其中:sno 长度为4的字符串,为主码;sname 长度为8的字符串;ssex 长度为2的字符串,其

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 短整数,值或空或为0100之间,(sno, cno) 联合作主

3、码。(二)实验要求在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表删除地

4、址(address)属性。(11)建立视图 view1,要求有sno,sname,cname,grade四个字段。(12)建立视图view2,要求有sno,ssex,sage三个字段。四、实验过程及结果分析(1)1)创建学生数据库模式,代码如下:create table student( sno char(11) primary key, sname char(8), ssex char(2) check ssex in (男,女), sage number check between 0 and 150, sdept char(10);结果:ssex char(2) check ssex i

5、n (男,女), *第 4 行出现错误: ORA-00906: 缺失左括号 分析错误原因:“check”检查必须用括号将条件括起,改正代码如下:create table student( sno char(11) primary key, sname char(8), ssex char(2) check( ssex in ('男','女'), sage number check ( sage between 0 and 150), sdept char(10);结果:表已创建,如图1.1所示。NameNull?TypeSNONOT NULLCHAR(11)SN

6、AMECHAR(8)SSEXCHAR(2)SAGENUMBERSDEPTCHAR(10)图1.1所示2)创建课程数据库模式,代码如下:create table course( cno char(4) primary key,cname char(10) unique not null,ccredit number );结果:表已创建,如图1.2所示Name Null? Type CNO NOT NULL CHAR(11) CNAME NOT NULL CHAR(10) CCREDIT   NUMBER 图1.2所示3)创建选课数据库模式,代码如下:create table sc( s

7、no char (11), cno char(11) , grade number null or check (grade between 0 and 100) ; primary key (sno,cno),foreign key (sno) references student (sno) on delete cascade,foreign key (cno) references course (cno);结果:grade number null or check (grade between 0 and 100), *第 4 行出现错误: ORA-00907: 缺失右括号分析错误原因

8、: “check” 里条件写错,同时还是错在括号上。改正如下:create table sc( sno char (11), cno char(11) , grade number check(grade is null or (grade between 0 and 100),primary key (sno,cno),foreign key (sno) references student (sno) on delete cascade,foreign key (cno) references course (cno);结果:表已创建,如图1.3所示。Name Null? Type SNO

9、 NOT NULL CHAR(11) CNO NOT NULL CHAR(11) GRADE   NUMBER 图1.3所示(2)alter table student add scome date;结果:表已更改,如图1.4所示。Name Null? Type SNO NOT NULLCHAR(11) SNAME   CHAR(8) SSEX   CHAR(2) SAGE   NUMBER SDEPT   CHAR(10) SCOME   DATE 图1.4所示(3)alter table student alter column

10、sage integer;结果:alter table student alter column sage integer *第 1 行出现错误: ORA-01735: 无效的 ALTER TABLE 选项分析错误原因:在oracle 数据库中用“modify”而不用“alter column”,改正如下:alter table student modify (sage integer);结果:表已更改,如图1.5所示。Name Null? Type SNO NOT NULLCHAR(11) SNAME   CHAR(8) SSEX   CHAR(2) SAGE  

11、; INTEGERSDEPT   CHAR(10) SCOME   DATE 图1.5所示(4)alter table student modify sname not null ;结果:表已更改,如图1.6所示。Name Null? Type SNO NOT NULLCHAR(11) SNAME NOT NULLCHAR(8) SSEX   CHAR(2) SAGE   NUMBER SDEPT   CHAR(10) SCOME   DATE 图1.6所示(5)alter table student drop not null (s

12、name);结果:alter table student drop not null (sname) *第 1 行出现错误: ORA-00905: 缺失关键字 改正如下:alter table Student modify sname int null;结果:表已更改,如图1.7所示。Name Null? Type SNO NOT NULL CHAR(11) SNAME   CHAR(8) SSEX   CHAR(2) SAGE   NUMBER SDEPT   CHAR(10) SCOME   DATE 图1.7所示(6)creat uniq

13、ue index scno on sc (sno asc,cno desc);结果:SP2-0851: 以 "creat uniq." 开头的命令不能在 iSQL*Plus 中使用。分析原因错误:“create”字母打错,改正如下:create unique index scno on sc (sno asc,cno desc);结果:Index created.(7)create index sname on student (sname asc);结果:Index created.(8)drop index sname结果:Index dropped.(9)alter

14、table student add address char;结果:表已更改,如图1.8所示。Name Null? Type SNO NOT NULL CHAR(11) SNAME   CHAR(8) SSEX   CHAR(2) SAGE   NUMBER SDEPT   CHAR(10) SCOME   DATE ADDRESS   CHAR(1) 图1.8所示(10)alter table student drop (address);结果:Table altered. 如图1.9所示。Name Null? Type SNO NOT NULL CHAR(11) SNAME   CHAR(8) SSEX   CHAR(2) SAGE   NUMBER SDEPT   CHAR(10) SCOME &

温馨提示

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

评论

0/150

提交评论