- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
验证各语句在实际系统中能否正确执行?如果执行不成功,则分析出错原因
并调整直到语句执行成功为止。
1、【P127 3】建表:
◎供应商 S 表、零件 P 表、工程项目 J 表、供应关系 SPJ 表;
◎建表语句如下:
create table s ( sno varchar(20) primary key, sname varchar(20), status varchar(20), city varchar(20));
create table spj ( sno varchar(20), pno varchar(20), jno varchar(20), qty varchar(20),primary key(sno,pno,jno));
insert into s values('S1','精益','20','天津'); insert into s values('S2','盛锡','10','北京'); insert into s values('S3','东方红','30','北京'); insert into s values('S4','丰泰盛','20','天津'); insert into s values('S5','为民','30','上海'); select * from s; insert into p values('P1','螺母','红','12'); insert into p values('P2','螺栓','绿','17'); insert into p values('P3','螺丝刀','蓝','14'); insert into p values('P4','螺丝刀','红','14'); insert into p values('P5','凸轮','蓝','40'); insert into p values('P6','齿轮','红','30'); select * from p; insert into j values('J1','三建','北京'); insert into j values('J2','一汽','长春'); insert into j values('J3','弹簧厂','天津');
1、开始→程序→Microsoft SQL Server→查询分析器 2、在文本框内输入“.”,表示选择本地服务器;选择“如果 SQL Server 已停止,则启动它”复选框;选择“Windows 身份验证”选项。如图 1-1 所示:
图 1-1 登录数据库
3、程序启动后,即可在编辑窗口中输入要执行的 SQL 语句。 4、输入完成后,点击运行按钮或按“F5”键可运行所有 SQL 语句。 5、如果想只运行窗口内的部分语句,可拖动鼠标选定要执行的那一部分语 句,然后再点击运行按钮或按“F5”键运行。如下图 1-2 所示:
U201014281
图 2-1 查询结果
(2)求供应工程 J1 零件 P1 的供应商号码 SNO; ※查询语句为:
select distinct sno from spj where jno='J1'and pno='P1'; ※查询结果:(图 2-2 所示)
图 2-2 查询结果
(3)求供应工程 J1 零件为红色的供应商号码 SNO; ※查询语句为:
(select jno from spj where pno='P1') and jno in
(select jno from spj where pno='P2'); ※查询结果:(图 2-5 所示)
图 2-5 查询结果
______________________ 第 7 页/共 25 页
华中科技________ 第 8 页/共 25 页
华中科技大学
计算机学院数据库系统概论实验报告
U201014281
(4)找出工程项目 J2 使用的各种零件的名称及其数量; ※查询语句为:
select p.pname,spj.qty from spj,p where spj.pno=p.pno and jno='J2'; ※查询结果:(图 3-4 所示)
create table p ( pno varchar(20) primary key, pname varchar(20), color varchar(20), weight varchar(20));
create table j ( jno varchar(20) primary key, jname varchar(20), city varchar(20));
◎结果如下图 1-3 所示:
U201014281
图 1-3 建表结果
______________________ 第 5 页/共 25 页
华中科技大学
计算机学院数据库系统概论实验报告
2、【P127 4】完成如下查询操作: (1)求供应工程 J1 零件的供应商号码 SNO; ※查询语句为:
select distinct sno from spj where jno='J1'; ※查询结果:(图 2-1 所示)
(4)求没有使用天津供应商生产的红色零件的工程号 JNO; ※查询语句为:
select jno from j where jno not in( select distinct jno from s,spj,p where s.sno=spj.sno and spj.pno=p.pno and s.city='天津' and p.color='红');
______________________ 第 4 页/共 25 页
华中科技大学
计算机学院数据库系统概论实验报告
insert into j values('J4','造船厂','天津'); insert into j values('J5','机车厂','唐山'); insert into j values('J6','无线电厂','常州'); insert into j values('J7','半导体厂','南京'); select * from j; insert into spj values('S1','P1','J1','200'); insert into spj values('S1','P1','J3','100'); insert into spj values('S1','P1','J4','700'); insert into spj values('S1','P2','J2','100'); insert into spj values('S2','P3','J1','400'); insert into spj values('S2','P3','J2','200'); insert into spj values('S2','P3','J4','500'); insert into spj values('S2','P3','J5','400'); insert into spj values('S2','P5','J1','400'); insert into spj values('S2','P5','J2','100'); insert into spj values('S3','P1','J1','200'); insert into spj values('S3','P3','J1','200'); insert into spj values('S4','P5','J1','100'); insert into spj values('S4','P6','J3','300'); insert into spj values('S4','P6','J4','200'); insert into spj values('S5','P2','J4','100'); insert into spj values('S5','P3','J1','200'); insert into spj values('S5','P6','J2','200'); insert into spj values('S5','P6','J4','500'); select * from spj;