- 10
- 0
- 约4.4千字
- 约 20页
- 2019-09-02 发布于江西
- 举报
PAGE2 / NUMPAGES2
《数据库原理与应用》实验报告
实验名称:
实验二
班 级:
软件工程
学 号:
姓 名:
一、实验目的
1.掌握使用SQL语句创建和删除数据表,创建各种完整性约束。
2.掌握使用SQL语句修改表的结构。
3. 掌握查询语句的使用方法,重点掌握连接查询和嵌套查询。
二、实验过程
1.使用SQL语句建立4个关系,:
供应商表S (Sno, Sname, City)
零件表P(Pno, Pname, Color, Weight)
工程项目表J(Jno, Jname, City)
供应情况表 SPJ(Sno, Pno, Jno, QTY)
创建S表的语句为:
create table s(sno varchar2(20) primary key,
sname varchar2(40) unique,
city varchar2(10));
语句的执行结果为:
创建p表的语句为:
create table p(pno varchar2(20) primary key,
pname varchar2(40),
color varchar2(10),
weight number check(weight=1 and weight=50));
语句的执行结果为:
创建j表的语句为:
create table j(jno varchar2(20) primary key,
jname varchar2(40) unique not null,
city varchar2(10));
语句的执行结果为:
创建spj表的语句为:
create table spj(sno varchar2(20),
pno varchar2(20),
jno varchar(20),
qty number(5),
primary key(sno,pno,jno),
foreign key (sno) references s(sno),
foreign key (pno) references p(pno),
foreign key (jno) references j(jno));
语句的执行结果为:
2. 用SQL语句完成以下操作
(1)给S表增加Sphone和Semail两个属性列,分别用来存放供应商的联系电话和电子信箱。
语句:alter table s add sphone varchar2(15);
alter table s add semail varchar2(40);
执行结果:
(2)删除Jname属性列取值唯一的约束。
语句:alter table j drop constraint SYS_C0011066;
执行结果:
(3)将QTY属性列的数据类型修改为Integer型。
语句:alter table spj modify qty integer;
执行结果:
(4)删除S表中的属性列Semail
语句:alter table s drop column semail;
执行结果:
3.在J表的Jname属性列上创建唯一性索引。
语句:create unique index sy on j(jname);
执行结果:
4.使用EXP命令将创建的四张数据表导出。
执行结果:
5.在创建的S,P,J和SPJ表中完成以下查询:
(1)查询所有供应商所在的城市。
select distinct city from s;
(2)查询零件重量在10-20之间(包括10和20)的零件名和颜色。
select pname,color from p where weight between 10 and 20;
(3)查询工程项目的总个数。
select count(distinct jno) from j;
(4)查询所有零件的平均重量。
select avg(weight) from p;
(5)查询供应商S3供应的零件号。
select pno from spj where sno=s3;
(6)查询各个供应商号及其供应了多少类零件。
select sno,count(distinct pno) from spj group
原创力文档

文档评论(0)