当前位置:文档之家› 数据库实验一参考答案

数据库实验一参考答案

(3)按出版社为图书表建立一个索引。
create index图书表on图书(出版单位desc);
7.以自己的用户登录数据库,建立员工表,其结构同scott用户的员工表emp。
Connect scott/tiger
Grant all privileges on emp to u1;
Connect u1/口令
(3)查询藏书中比高等教育出版社所有图书单价更高的书籍。
select *from图书
where单价>ALL(select单价
from图书where出版单位='高等教育');
实验报告
(4)查询各出版社图书的最高价、最低价和平均价格。
select出版单位,MAX(单价),MIN(单价),AVG(单价)
from图书GROUP BY出版单位;
(5)列出当前至少借阅了2位from读者
where借书证号in (select借书证号
from借阅
group by借书证号
having count(*)>=2);
6.用SQL DDL创建视图、索引
(1)建立各单位当前借阅图书情况的简单统计视图,视图中包括单位名称,
update图书set分类号='TP38'
where书名like '%计算机%';
(d)删除借书证号以Z开头的所有读者信息和借阅信息。
delete from借阅
where借书证号like 'Z%';
delete from读者
where借书证号like 'Z%';
5.用SQL的QL完成以下查询
(1)列出图书馆中所有藏书的书名及出版单位。
create table员工表as select * from scott.emp;
实验报告
四、实验小结(包括问题和解决方法、心得体会、意见与建议等)
五、指导教师评语
成绩
批阅人
日期
……
(b)读者表中数据:
insert into读者
values('T201','LIXIN','计算机系','中级');
(c)借阅表中数据:
insert into借阅(借书证号,图书编号,借阅日期)
values('T201','0001',to_date('2002-03-10','yyyy-mm-dd'));
(2)掌握SQL语言,能熟练运用SQL语言进行数据定义和数据操纵。
二、实验环境(实验设备)
硬件:微机
软件:ORACLE 8i或9i
三、实验原理及内容
1.了解并掌握SQL * Plus环境的使用
2.用SQL DDL创建基表,要求定义列完整性、实体完整性、引用完整性
建立简单的图书管理数据库的三个基表(下划线处为主键斜体处为两个外键):
借书人数和借阅人次。
create view统计(单位,人数,人次)
as select单位,count(distinct读者.借书证号),
count(读者.借书证号) from读者,借阅
where读者.借书证号=借阅.借书证号group by单位;
(2)对该视图进行查询。
select * from统计;
CREATE TABLE借阅
(借书证号CHAR(4),
图书编号CHAR(4),
借阅日期DATE NOT NULL,
备注VARCHAR(20),
PRIMARY KEY(借书证号,图书编号),
FOREIGN KEY(借书证号) REFERENCES读者(借书证号),
FOREIGN KEY(图书编号) REFERENCES图书(图书编号));
3.补充定义职称只能取初级、中级和高级三种之一。
ALTER TABLE读者ADD CHECK(职称IN(’初级’,’中级’,’高级’))
4.用SQL DML向基表中增加、修改和删除数据
(1)向三个基表中插入如下数据:
(a)图书表中数据:
SQL语句:
insert into图书
values('0001','TP31','计算机基础','WANG','高等教育', 17.00);
select书名,出版单位
from图书;
(2)查询工厂所有借阅了图书的读者姓名和职称。
select distinct姓名,职称
from读者where借书证号in(select借书证号
from借阅) AND单位='工厂';或
select姓名,职称FROM读者,借阅where读者.借书证号=借阅.借书证号and单位='工厂';
(1)、图书(图书编号、分类号、书名、作者、出版单位、单价)
CREATE TABLE图书
(图书编号CHAR(4),
分类号CHAR(4) NOT NULL,
书名VARCHAR(12),
作者VARCHAR(5),
出版单位VARCHAR(10),
单价DEC(5,2),
primary key(图书编号));
实验报告
(2)读者(借书证号、姓名、单位、职称)
create table读者
(借书证号char(4) not null,
姓名char(5) not null,
单位varchar(10),
职称varchar(6),
primary key(借书证号));
(3)、借阅(借书证号、图书编号、借阅日期、备注)
实验报告
(2)数据的修改和删除
(a)为编号为0002的图书填上作者和出版单位。
update图书
set作者='ZHANG',出版单位='高等教育'
where图书编号='0002';
(b)将所有图书单价上调5%。
update图书
set单价=单价* 1.05;
(c)将书名包含‘计算机’的书分类号改为‘TP38’。
实验报告
(200/200学年第二学期)
课程名称
数 据 库 系 统A
实验名称
SQL语言
实验时间



指导单位
计算机学院软件工程系
指导教师
张少娴
学生姓名
班级学号
学院(系)
计算机学院
专业
实验报告
实验名称
SQL语言
指导教师
张少娴
实验类型
上机
实验学时
3
实验时间
一、实验目的和要求
(1)通过上机实践,熟悉Oracle的SQL * Plus实验环境及使用方法。
相关主题