13信管实验报告.docx

上传人:b****6 文档编号:7001671 上传时间:2023-01-16 格式:DOCX 页数:49 大小:3.18MB
下载 相关 举报
13信管实验报告.docx_第1页
第1页 / 共49页
13信管实验报告.docx_第2页
第2页 / 共49页
13信管实验报告.docx_第3页
第3页 / 共49页
13信管实验报告.docx_第4页
第4页 / 共49页
13信管实验报告.docx_第5页
第5页 / 共49页
点击查看更多>>
下载资源
资源描述

13信管实验报告.docx

《13信管实验报告.docx》由会员分享,可在线阅读,更多相关《13信管实验报告.docx(49页珍藏版)》请在冰豆网上搜索。

13信管实验报告.docx

13信管实验报告

 

《数据库原理与技术》实验报告

 

 

专业信息管理与信息系统

班级信管132班

学号 131406070201

学生姓名阿布都拉·吐鲁甫

指导老师米晓红

 

河南科技大学管理学院

2015年06月20日

实验一:

数据定义及更新语句练习

一、实验目的

熟练掌握用SQL语句实现数据库和基本表的创建、数据的更新。

二、实验内容

(1)用SQL语句建立如下mySPJ数据库,包括S,P,J,和SPJ四个基本表(教材第二章习题5中的四个表),要求实现关系的三类完整性。

S(SNO,SNAME,STATUS,CITY);

P(PNO,PNAME,COLOR,WEIGHT);

J(JNO,JNAME,CITY);

SPJ(SNO,PNO,JNO,QTY);

(2)分别使用插入、删除、修改的方式更新基本表中的数据。

a.利用Insert语句将习题中给出的示例记录插入各表。

b.利用Update更新表中的记录:

①将p表中的所有红色零件的重量增加5。

②将spj表中所有天津供应商的QTY属性值减少10。

用子查询。

c.利用Delete语句删除p表中的所有红色零件的记录。

SQL语句执行后返回基本表查看更新后的结果,如果与期望不符,分析原因并记录在实验报告中。

三、完成情况

CREATETABLES

(SNOCHAR(9)PRIMARYKEY,

SNAMECHAR(20)UNIQUE,

STATUSSMALLINT,

CITYCHAR(20)

);

CREATETABLEP

(PNOCHAR(9)PRIMARYKEY,

PNAMECHAR(20),

COLORCHAR(20),

WEIGHTSMALLINT

);

CREATETABLEJ

(JNOCHAR(9)PRIMARYKEY,

JNAMECHAR(20)UNIQUE,

CITYCHAR(20)

);

CREATETABLESPJ

(SNOCHAR(9),

PNOCHAR(9),

JNOCHAR(9),

QTYSMALLINT,

PRIMARYKEY(SNO,PNO,JNO),

FOREIGNKEY(SNO)REFERENCESS(SNO),

FOREIGNKEY(PNO)REFERENCESP(PNO),

FOREIGNKEY(JNO)REFERENCESJ(JNO)

);

INSERT

INTOS(SNO,SNAME,STATUS,CITY)

VALUES('S1','精益',20,'天津');

INSERT

INTOS

VALUES('S2','盛锡',10,'北京');

INSERT

INTOS

VALUES('S3','东方红',30,'北京');

INSERT

INTOS

VALUES('S4','丰泰盛',20,'天津');

INSERT

INTOS

VALUES('S5','为民',30,'上海');

INSERT

INTOP(PNO,PNAME,COLOR,WEIGHT)

VALUES('P1','螺母','红',12);

INSERT

INTOP

VALUES('P2','螺栓','绿',17);

INSERT

INTOP

VALUES('P3','螺丝刀','蓝',14);

INSERT

INTOP

VALUES('P4','螺丝刀','红',14);

INSERT

INTOP

VALUES('P5','凸轮','蓝',40);

INSERT

INTOP

VALUES('P6','车轮','红',30);

INSERT

INTOJ(JNO,JNAME,CITY)

VALUES('J1','三建','北京');

INSERT

INTOJ

VALUES('J2','一汽','长春');

INSERT

INTOJ

VALUES('J3','弹簧厂','天津');

INSERT

INTOJ

VALUES('J4','造船厂','天津');

INSERT

INTOJ

VALUES('J5','机车厂','唐山');

INSERT

INTOJ

VALUES('J6','无线电厂','常州');

INSERT

INTOJ

VALUES('J7','半导体厂','南京');

INSERT

INTOSPJ(SNO,PNO,JNO,QTY)

VALUES('S1','P1','J1',200);

INSERT

INTOSPJ(SNO,PNO,JNO,QTY)

VALUES('S1','P1','J3',100);

INSERT

INTOSPJ

VALUES('S1','P1','J4',700);

INSERT

INTOSPJ

VALUES('S1','P2','J2',100);

INSERT

INTOSPJ

VALUES('S2','P3','J1',400);

INSERT

INTOSPJ

VALUES('S2','P3','J2',200);

INSERT

INTOSPJ

VALUES('S2','P3','J4',500);

INSERT

INTOSPJ

VALUES('S2','P3','J5',400);

INSERT

INTOSPJ

VALUES('S2','P5','J1',400);

INSERT

INTOSPJ

VALUES('S2','P5','J2',100);

INSERT

INTOSPJ

VALUES('S3','P1','J1',200);

INSERT

INTOSPJ

VALUES('S3','P3','J1',200);

INSERT

INTOSPJ

VALUES('S4','P5','J1',100);

INSERT

INTOSPJ

VALUES('S4','P6','J3',300);

INSERT

INTOSPJ

VALUES('S4','P6','J4',200);

INSERT

INTOSPJ

VALUES('S5','P2','J4',100);

INSERT

INTOSPJ

VALUES('S5','P3','J1',200);

INSERT

INTOSPJ

VALUES('S5','P6','J2',200);

INSERT

INTOSPJ

VALUES('S5','P6','J4',500);

UPDATEP

SETWEIGHT=WEIGHT+5

WHERECOLOR='红';

UPDATESPJ

SETQTY=QTY-10

WHERESNOIN

(SELECTSNO

FROMS

WHERECITY='天津');

DELETE

FROMSPJ

WHEREPNOIN

(SELECTPNO

FROMP

WHERECOLOR='红');

DELETE

FROMP

WHERECOLOR='红';

四、实验结果

Exe1-1

Exe1-2

Exe1-3

Exe1-4

五、问题与解决

(小四号字,宋体)

1.实验中遇到的问题及解决过程

2.实验中产生的错误及原因分析

首先写出执行语句不成功的时候系统报告的错误信息。

然后分析错误原因,并给出解决办法。

六、思考题

回答思考题提出的问题。

(小四号字,宋体)

七、实验总结

实验体会和收获。

(小四号字,宋体)

实验二:

简单查询和连接查询

一、实验目的

熟练掌握用SQL语句实现的简单查询和多个数据表连接查询。

二、实验内容

(一)完成下面的简单查询:

①查询所有“天津”的供应商明细;

②查询所有“红色”的14公斤以上的零件。

③查询工程名称中含有“厂”字的工程明细。

(二)完成下面的连接查询:

①等值连接:

求s表和j表的相同城市的等值连接。

②自然连接:

查询所有的供应明细,要求显示供应商、零件和工程的名称,并按照供应、工程、零件排序。

③笛卡尔积:

求s和p表的笛卡尔积。

④左连接:

求j表和spj表的左连接。

⑤右连接:

求spj表和j表的右连接。

三、完成情况

CREATETABLES

(SNOCHAR(9)PRIMARYKEY,

SNAMECHAR(20)UNIQUE,

STATUSSMALLINT,

CITYCHAR(20)

);

CREATETABLEP

(PNOCHAR(9)PRIMARYKEY,

PNAMECHAR(20),

COLORCHAR(20),

WEIGHTSMALLINT

);

CREATETABLEJ

(JNOCHAR(9)PRIMARYKEY,

JNAMECHAR(20)UNIQUE,

CITYCHAR(20)

);

CREATETABLESPJ

(SNOCHAR(9),

PNOCHAR(9),

JNOCHAR(9),

QTYSMALLINT,

PRIMARYKEY(SNO,PNO,JNO),

FOREIGNKEY(SNO)REFERENCESS(SNO),

FOREIGNKEY(PNO)REFERENCESP(PNO),

FOREIGNKEY(JNO)REFERENCESJ(JNO)

);

INSERT

INTOS(SNO,SNAME,STATUS,CITY)

VALUES('S1','精益',20,'天津');

INSERT

INTOS

VALUES('S2','盛锡',10,'北京');

INSERT

INTOS

VALUES('S3','东方红',30,'北京');

INSERT

INTOS

VALUES('S4','丰泰盛',20,'天津');

INSERT

INTOS

VALUES('S5','为民',30,'上海');

INSERT

INTOP(PNO,PNAME,COLOR,WEIGHT)

VALUES('P1','螺母','红',12);

INSERT

INTOP

VALUES('P2','螺栓','绿',17);

INSERT

INTOP

VALUES('P3','螺丝刀','蓝',14);

INSERT

INTOP

VALUES('P4','螺丝刀','红',14);

INSERT

INTOP

VALUES('P5','凸轮','蓝',40);

INSERT

INTOP

VALUES('P6','车轮','红',30);

INSERT

INTOJ(JNO,JNAME,CITY)

VALUES('J1','三建','北京');

INSERT

INTOJ

VALUES('J2','一汽','长春');

INSERT

INTOJ

VALUES('J3','弹簧厂','天津');

INSERT

INTOJ

VALUES('J4','造船厂','天津');

INSERT

INTOJ

VALUES('J5','机车厂','唐山');

INSERT

INTOJ

VALUES('J6','无线电厂','常州');

INSERT

INTOJ

VALUES('J7','半导体厂','南京');

INSERT

INTOSPJ(SNO,PNO,JNO,QTY)

VALUES('S1','P1','J1',200);

INSERT

INTOSPJ(SNO,PNO,JNO,QTY)

VALUES('S1','P1','J3',100);

INSERT

INTOSPJ

VALUES('S1','P1','J4',700);

INSERT

INTOSPJ

VALUES('S1','P2','J2',100);

INSERT

INTOSPJ

VALUES('S2','P3','J1',400);

INSERT

INTOSPJ

VALUES('S2','P3','J2',200);

INSERT

INTOSPJ

VALUES('S2','P3','J4',500);

INSERT

INTOSPJ

VALUES('S2','P3','J5',400);

INSERT

INTOSPJ

VALUES('S2','P5','J1',400);

INSERT

INTOSPJ

VALUES('S2','P5','J2',100);

INSERT

INTOSPJ

VALUES('S3','P1','J1',200);

INSERT

INTOSPJ

VALUES('S3','P3','J1',200);

INSERT

INTOSPJ

VALUES('S4','P5','J1',100);

INSERT

INTOSPJ

VALUES('S4','P6','J3',300);

INSERT

INTOSPJ

VALUES('S4','P6','J4',200);

INSERT

INTOSPJ

VALUES('S5','P2','J4',100);

INSERT

INTOSPJ

VALUES('S5','P3','J1',200);

INSERT

INTOSPJ

VALUES('S5','P6','J2',200);

INSERT

INTOSPJ

VALUES('S5','P6','J4',500);

SELECT*

FROMS

WHERECITY='天津';

SELECTPNAME

FROMP

WHERECOLOR='红'ANDWEIGHT>14;

SELECT*

FROMJ

WHEREJNAMELIKE'%厂';

SELECT*

FROMS,J

WHERES.CITY=J.CITY;

SELECTS.SNAME,J.JNAME,P.PNAME

FROMS,J,P,SPJ

WHERES.SNO=SPJ.SNOANDJ.JNO=SPJ.JNOANDP.PNO=SPJ.PNO;

SELECT*

FROMP,S;

SELECT*

FROMJLEFTOUTERJOINSPJON(J.JNO=SPJ.JNO);

SELECT*

FROMSPJRIGHTOUTERJOINJON(SPJ.JNO=J.JNO);

四、实验结果

Exe2-1

Exe2-2

Exe2-3

Exe2-4

Exe2-5

Exe2-6

Exe2-7

Exe2-8

五、问题与解决

(小四号字,宋体)

1.实验中遇到的问题及解决过程

2.实验中产生的错误及原因分析

首先写出执行语句不成功的时候系统报告的错误信息。

然后分析错误原因,并给出解决办法。

六、思考题

回答思考题提出的问题。

(小四号字,宋体)

七、实验总结

实验体会和收获。

(小四号字,宋体)

实验三:

分组查询和嵌套查询

一、实验目的

熟练掌握用SQL语句实现多个数据表的分组查询和嵌套查询。

二、实验内容

(一)分组查询:

1、求各种颜色零件的平均重量。

2、求北京供应商和天津供应商的总个数。

3、求各供应商供应的零件总数。

4、求各供应商供应给各工程的零件总数。

5、求使用了100个以上P1零件的工程名称。

6、求各工程使用的各城市供应的零件总数。

(二)嵌套查询:

1、in连接谓词查询:

①查询没有使用天津供应商供应的红色零件的工程名称。

②查询供应了1000个以上零件的供应商名称。

(having)

2、比较运算符:

求重量大于所有零件平均重量的零件名称。

3、Exists连接谓词:

①查询供应J1的所有的零件都是红色的供应商名称。

②至少用了供应商S1所供应的全部零件的工程号JNO。

三、完成情况

CREATETABLES

(SNOCHAR(9)PRIMARYKEY,

SNAMECHAR(20)UNIQUE,

STATUSSMALLINT,

CITYCHAR(20)

);

CREATETABLEP

(PNOCHAR(9)PRIMARYKEY,

PNAMECHAR(20),

COLORCHAR(20),

WEIGHTSMALLINT

);

CREATETABLEJ

(JNOCHAR(9)PRIMARYKEY,

JNAMECHAR(20)UNIQUE,

CITYCHAR(20)

);

CREATETABLESPJ

(SNOCHAR(9),

PNOCHAR(9),

JNOCHAR(9),

QTYSMALLINT,

PRIMARYKEY(SNO,PNO,JNO),

FOREIGNKEY(SNO)REFERENCESS(SNO),

FOREIGNKEY(PNO)REFERENCESP(PNO),

FOREIGNKEY(JNO)REFERENCESJ(JNO)

);

INSERT

INTOS(SNO,SNAME,STATUS,CITY)

VALUES('S1','精益',20,'天津');

INSERT

INTOS

VALUES('S2','盛锡',10,'北京');

INSERT

INTOS

VALUES('S3','东方红',30,'北京');

INSERT

INTOS

VALUES('S4','丰泰盛',20,'天津');

INSERT

INTOS

VALUES('S5','为民',30,'上海');

INSERT

INTOP(PNO,PNAME,COLOR,WEIGHT)

VALUES('P1','螺母','红',12);

INSERT

INTOP

VALUES('P2','螺栓','绿',17);

INSERT

INTOP

VALUES('P3','螺丝刀','蓝',14);

INSERT

INTOP

VALUES('P4','螺丝刀','红',14);

INSERT

INTOP

VALUES('P5','凸轮','蓝',40);

INSERT

INTOP

VALUES('P6','车轮','红',30);

INSERT

INTOJ(JNO,JNAME,CITY)

VALUES('J1','三建','北京');

INSERT

INTOJ

VALUES('J2','一汽','长春');

INSERT

INTOJ

VALUES('J3','弹簧厂','天津');

INSERT

INTOJ

VALUES('J4','造船厂','天津');

INSERT

INTOJ

VALUES('J5','机车厂','唐山');

INSERT

INTOJ

VALUES('J6','无线电厂','常州');

INSERT

INTOJ

VALUES('J7','半导体厂','南京');

INSERT

INTOSPJ(SNO,PNO,JNO,QTY)

VALUES('S1','P1','J1',200);

INSERT

INTOSPJ(SNO,PNO,JNO,QTY)

VALUES('S1','P1','J3',100);

INSERT

INTOSPJ

VALUES('S1','P1','J4',700);

INSERT

INTOSPJ

VALUES('S1','P2','J2',100);

INSERT

INTOSPJ

VALUES('S2','P3','J1',400);

INSERT

INTOSPJ

VALUES('S2','P3','J2',200);

INSERT

INTOSPJ

VALUES('S2','P3','J4',500);

INSERT

INTOSPJ

VALUES('S2','P3','J5',400);

INSERT

INTOSPJ

VALUES('S2','P5','J1',400);

INSERT

INTOSPJ

VALUES('S2','P5','J2',100);

INSERT

INTOSPJ

VALUES('S3','P1','J1',200);

INSERT

INTOSPJ

VALUES('S3','P3','J1',200);

INSERT

INTOSPJ

VALUES('S4','P5','J1',100);

INSERT

INTOSPJ

VALUES('S4','P6','J3',300);

INSERT

INTOSPJ

VALUES('S4','P6','J4',200);

INSERT

INTOSPJ

VALUES('S5','P2','J4',100);

INSERT

INTOSPJ

VALUES('S5','P3','J1',200);

INSERT

INTOSPJ

VALUES('S5','P6','J2',200);

INSERT

INTOSPJ

VALUES('S5','P6','J4',500);

SELECTCOLOR,AVG(WEIGHT)

FROMPGROUPBYP.COLOR;

SELECTCITY,COUNT(*)

FROMS

WHERECITY='北京'ORCITY='天津'

GROUPBYCITY;

SELECTSUM(QTY)

FROMSPJ;

SELECTSNO,SUM(QTY)

FROMSPJGROUPBYSPJ.SNO;

SELECTJ.JNAME

FROMJWHEREJ.JNOIN(SELECTSPJ.JNO

FROMSPJ

WHERESPJ.PNO='P1'ANDSPJ.QTY>100);

SELECTS.CITY,SUM(SPJ.QTY)

FROMSPJ,S

WHERES.SNO=SPJ.SNOGROUPBYS.CITY;

SELECTJ.JNAME

FROMJ

WHEREJNOIN(SELECTJNO

FROMSPJ,P

WHEREJ.CITY!

='天津'ANDP.COLOR='红');

SELECTJ.JNAME

FROMJ

WHEREJ.JNOIN(SELECTSPJ.JNO

FROMSPJGROUPBYSPJ.JNO

HAVINGSUM(SPJ.QTY)>1000);

SELECTP.PNAME

FROMP

WHEREP.WEIGHT>=ANY(SELECTAVG(WEIGHT)FROMP);

SELECTSNAME

FROMS

WHERENOTEXISTS

(SELECT*

FROMSPJ

WHEREJNO='J1'ANDSNO=S.SNOAND

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 军事政治

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1