数据库系统实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一 SQL语言
一、实验目的
(1)通过上机实践,熟悉Oracle的SQL * Plus环境及使用方法
(2)掌握SQL语言,能熟练运用SQL语言进行数据定义和数据操纵
(3)加深对关系数据模型的数据结构和约束的理解
二、实验环境
硬件:微机
软件:ORACLE 8i或 9i
三、实验内容及要求
1.了解并掌握SQL * Plus环境的使用
2.用SQL的DDL语句图书管理系统创建基表
3.为基表“读者”补充定义:职称只能取初级、中级、高级之一
4.用SQL的DML语句向上述基表中增加、修改和删除数据
5.用SQL的QL语句完成指定查询
6.用SQL的DDL语句创建视图、索引
7.为自己创建一张结构与scott用户的员工表emp相同的员工表。
四、实验过程
1、用SQL的DDL语句图书管理系统创建基表
图书(图书编号、分类号、书名、作者、出版单位、单价)
CREATE TABLE 图书(图书编号VARCHAR(4)PRIMARY KEY,分类号VARCHAR(5),书名VARCHAR(18),作者 VARCHAR(8),出版单位 VARCHAR(10),单价 DEC(5,2));
读者(借书证号、姓名、单位、职称)
CREATE TABLE 读者(借书证号VARCHAR(6) PRIMARY KEY,姓名 VARCHAR(10),单位 VARCHAR(10),职称 VARCHAR(10));
借阅(借书证号、图书编号、借阅日期、备注)
CREATE TABLE 借阅(借书证号VARCHAR(6),图书编号VARCHAR(4), 借阅日期DATE,备注VARCHAR(30),PRIMARY KEY(借书证号,图书编号),FOREIGN KEY(借书证号)REFERENCES 读者(借书证号),FOREIGN KEY(图书编号) REFERENCES 图书(图书编号));
2、为基表“读者”补充定义:职称只能取初级、中级、高级之一ALTER TABLE 读者 ADD CHECK(职称 IN(‘初级’,’中级’,’高级’));
3、向三个基表中插入指定数据。
图书表中数据:
0001 TP31计算机基础 WANG高等教育 17.00
0002 TP32数据库原理 16.50
0003 TN31并行计算机 YANG 清华大学 12.80
0004 TP33 高等数学 WANG 高等教育 25.00
0005 TN32 大学英语 ZHAO 高等教育 22.50
0006 TN33 数据库系统 LIU 人民邮电 24.00
INSERT INTO 图书VALUES(0001,’TP31’,’计算机基础’,’WANG’,’高等教育’,17.00);
INSERT INTO 图书 VALUES(0002,’TP32’,’数据库原理’,NULL,NULL,16.50); INSERT INTO 图书VALUES(0003,’TN31’,’并行计算机’,’YANG’,’清华大学’,12.80);
INSERT INTO 图书VALUES(0004,’TP33’,’ 高等数学’,’ WANG’,’ 高等教育’,25.00);
INSERT INTO 图书VALUES(0005,’TN32’,’ 大学英语’,’ ZHAO’,’ 高等教育’,22.50);
INSERT INTO 图书VALUES(0006,’TN33’,’ 数据库系统’,’ LIU’ , ’ 人民邮电’,24.00);
读者表中数据:
T201 LIXIN 计算机系中级
S981 WANG 通信系高级
Z003 CHEN 工厂初级
T205 ZHAO 英语系中级
INSERT INTO 读者 VALUES (‘T201’,’LIXIN’,’计算机系’,’中级’);
INSERT INTO 读者 VALUES (‘S981’,’WANG’,’通信系’,’高级’);
INSERT INTO 读者 VALUES (‘Z003’,’CHEN’,’工厂’,’初级’);
INSERT INTO 读者 VALUES (‘T205’,’ ZHAO’,’ 英语系’,’中级’);
借阅表中数据:
S981 0002 2001-2-20
Z003 0001 2001-3-3
T201 0001 2001-3-10
T201 0002 2016-4-11
T201 0003 2016-4-12
T201 0004 2016-4-13
T201 0005 2016-4-14
INSERT INTO 借阅VALUES (‘S981’,0002,to_date(‘2001-2-20’,’yyyy-mm-dd’),null);
INSERT INTO 借阅VALUES (‘Z003’,0001,to_date(‘2001-3-3’,’yyyy-mm-dd’) ,null);
INSERT INTO 借阅VALUES (‘T201’,0001,to_date(‘2001-3-10’,’yyyy-mm-dd’) ,null);
INSERT INTO 借阅VALUES (‘T201’,0002,to_date(‘2016-4-11’,’yyyy-mm-dd’) ,null);
INSERT INTO 借阅VALUES (‘T201’,0003,to_date(‘2016-4-12’,’yyyy-mm-dd’) ,null);
INSERT INTO 借阅VALUES (‘T201’,0004,to_date(‘2016-4-13’,’yyyy-mm-dd’) ,null);
INSERT INTO 借阅VALUES (‘T201’,0005,to_date(‘2016-4-14’,’yyyy-mm-dd’) ,null);
4、数据的修改和删除
①为编号为 0002的图书填上作者和出版单位。
UPDATE 图书SET 作者=’LIU’,出版单位=’电子工业’ WHERE 图书编号=0002;
②将所有图书单价上调 5%(即:原值×1.05)。
UPDATE 图书 SET 单价=单价*1.05;
③将书名包含‘计算机’的书的分类号改为‘TP38’。
UPDATE 图书 SET 分类号=’TP38’ WHERE 书名 LIKE ‘%计算机%’;
④删除借书证号以 S开头的所有读者信息和借阅信息。
DELETE FROM 借阅 WHERE 借书证号 LIKE ‘S%’;
5、用SQL的QL语句完成以下查询
(1)列出图书馆中所有藏书的书名及出版单位。
SELECT 书名,出版单位
FROM 图书;