一、项目名称
数据库基本操作
二、项目内容
- 了解一种DBMS的功能和界面。
- 使用图形化界面创建数据库。
- 使用图形化界面创建课本70页习题6中的关系表。
- 使用图形化界面向所建的关系表中插入数据。
- 完成70页习题6第3-5小题的各项查询。
- 查询每个城市供应的零件总数。
- 查询使用零件数量最多的项目编号和零件数。
三、设计报告
1-4题截图,5-6题写下程序语句并将结果截图附在语句后面。
- 了解一种DBMS的功能和界面。
使用的DBMS为DBeaver。
- DBeaver的功能主要有:
1、快速备份和恢复数据;
2、以GRID / TEXT 格式显示结果;
3、支持客户端挑选、过滤数据;
4、批量执行很大的SQL脚本文件;
5、完全使用MySQL C APIs程序接口;
6、以直观的表格界面建立或编辑数据表;
7、以直观的表格界面编辑数据;
8、进行索引管理;
9、创建或删除数据库;
10、操纵数据库的各种权限:库、表、字段;
11、支持对数据表的各种高级属性的修改。
12、查看数据服务器的各种状态、参数等。
13、支持更改数据表类型为ISAM、MYISAM、MERGE、HEAP、InnoDB、BDB。
- DBeaver的界面:
- 使用图形化界面创建数据库。
- 使用图形化界面创建课本70页习题6中的关系表。
一、创建S表:
二、创建P表:
- 创建J表:
四、创建SPJ表:
五、关系表:
- 使用图形化界面向所建的关系表中插入数据。
S表插入数据:
P表插入数据:
J表插入数据:
SPJ表数据插入:
- 完成70页习题6第3-5小题的各项查询。
(3)求供应工程J1零件为红色的供应商号码SNO;
Sql语句:
SELECT SNO FROM spj ,p WHERE spj.JNO = 'J1' AND spj.PNO = p.PNO AND COLOR = '红' ;
查询结果:
(4)求没有使用天津供应商生产的红色零件的工程号JNO;
Sql语句:
select distinct JNO from spj where JNO not in (select JNO from s,p,spj where s.CITY = '天津' and p.COLOR = '红' and spj.SNO = s.SNO and spj.PNO = p.PNO);
查询结果:
(5)求至少用了供应商S1所供应的全部零件的工程号JNO;
select JNO from spj where spj.SNO = 's1' and not exists (select * from spj spjone where
spj.SNO = 'S1' and not exists(select * from spj spjtwo where spjone.PNO = spj.PNO and spjone.JNO = spj.JNO));
查询结果:
- 查询每个城市供应的零件总数。
select CITY,sum(QTY) from spj , s where spj.SNO = s.SNO group by CITY;
查询结果:
- 查询使用零件数量最多的项目编号和零件数。
create view ans as
select spj.JNO,sum(QTY) as QTY from spj,j where j.JNO = spj.JNO group by spj.JNO;
select * from ans where QTY = (select max(QTY) from ans);