《数据库概论》实验报告书(2016) 下载本文

内容发布更新时间 : 2024/5/24 4:17:06星期一 下面是文章的全部内容请认真阅读。

《数据库系统概论》

实验报告书

专业班级

学 号

119074415

网134

姓 名 云飞 指导教师 周兵

安徽工业大学计算机科学与技术学院

《数据库系统概论》实验报告书 安徽工业大学计算机科学与技术学院

实验一:数据定义语言

[ 实验日期 ] 年 月 日 [ 实验目的 ]

熟悉Oracle上机环境及Oracle客户端的配置;熟练掌握和使用DDL语言,建立、修改和删除数据库表、主键、外键约束关系和索引。 [ 实验内容 ]

Oracle上机环境以及Oracle客户端的配置参见附录。 1. SQL数据定义语句:

例1-1: (建立数据库表) 建立教学数据库的四个数据库表,其中Student表中不包含SSEX(C,2) 字段,Sname 字段为Sname(C,8)且可为空。 CREATE TABLE Student(

SNO CHAR(5), SNAME CHAR(10) NULL, SDEPT CHAR(2), SCLASS CHAR(2), SAGE NUMBER(2),

CONSTRAINT SON_PK PRIMARY KEY(SNO)); CREATE TABLE Course(

CNO CHAR(3), CNAME VARCHAR2(16), CTIME NUMBER(3),

CONSTRAINT CNO_PK PRIMARY KEY(CNO)); CREATE TABLE Teach(

TNAME CHAR(8), TSEX CHAR(2), CNO CHAR(3), TDATE DATE, TDEPT CHAR(2),

CONSTRAINT TT_PK PRIMARY KEY(TNAME,CNO,TDEPT),

CONSTRAINT CNO_FK FOREIGN KEY(CNO) REFERENCES Course(CNO)); CREATE TABLE Score(

SNO CHAR(5), CNO CHAR(3),

2/19

《数据库系统概论》实验报告书 安徽工业大学计算机科学与技术学院

SCORE NUMBER(5,2),

CONSTRAINT SC_PK PRIMARY KEY(SNO,CNO),

CONSTRAINT CNO1_FK FOREIGN KEY(CNO) REFERENCES Course(CNO), CONSTRAINT SNO_FK FOREIGN KEY(SNO) REFERENCES Student(SNO)); (Score表中定义外键的名称不能为CNO,被Teach表中约束条件占用) 例1-2: (修改数据库表) 在Student表中增加SEX(C,2) 字段。 ALTER TABLE Student ADD SEX CHAR(2);

例1-3: (修改列名) 将Student表中列名SEX修改为SSEX。

ALTER TABLE Student RENAME COLUMN SEX TO SSEX;

例1-4: (修改数据库表) 将Student表中把Sname 字段修改为Sname(C,10)且为非空。

ALTER TABLE Student MODIFY SNAME CHAR(10) NOT NULL;

例1-5: (建立索引) 为Score表按课程号升序、分数降序建立索引,索引名为SC_GRADE。 CREATE UNIQUE INDEX SC_GRADE ON Score(CNO ASC,SCORE DESC); 例1-6: (删除索引) 删除索引SC_GRADE。

DROP INDEX SC_GRADE;

例1-7: (建立数据库表) 建立数据库表S1(SNO,SNAME,SD,SA),其字段类型定义与Student表中的相应字段(SNO,SNAME,SDEPT,SAGE)的数据类型定义相同。 CREATE TABLE S1(

SNO CHAR(5) PRIMARY KEY NOT NULL, SNAME CHAR(10), SD CHAR(2),

SA NUMBER(2)); create table S1 as(select SNO,SNAME,SDEPT as SD,SAGE as SA from Student where 1=2);

例1-8: (修改数据库表) 删除成绩表Score的参照完整性约束关系。

ALTER TABLE Score DROP CONSTARINT SNO_FK; ALTER TABLE Score DROP CONSTARINT CNO1_FK;

例1-9: (修改数据库表) 添加成绩表Score的参照完整性约束关系。

ALTER TABLE SCORE ADD CONSTRAINT CNO1_FK FOREIGN KEY(CNO) REFERENCES Course(CNO); ALTER TABLE SCORE ADD CONSTRAINT SNO_FK FOREIGN KEY(SNO) REFERENCES Student(SNO)); 例1-10: (修改数据库表名) 将数据库表S1改名为Student_Temp。

RENAME S1 TO Student_Temp; [ 实验要求 ]

① 熟悉Oracle上机环境,掌握Oracle客户端的配置; ② 建立数据库表,修改数据库表结构,建立、删除索引; [ 实验方法 ]

3/19