1、数据库原理实验报告实验名称: 实验二 使用SQL语句操作数据 实验时间: 2013。4。16 学生姓名: 班级:软件 学号: 一、 实验目的1、 熟悉SQL Server 2005的基本环境2、 使用对象资源管理器管理数据库、基本表、视图、索引等对象3、 锻炼学生对SQL Server 2005基本操作能力二、实验内容1、 使用对象资源管理器创建SPJ数据库(1)更改主数据库文件的增长模式,改为按5MB自动增长;(2)更改事务日志文件的增长模式,改为按1MB自动增长。2、 在数据库中创建S, P, J, SPJ四个关系模式:S ( SNO, SNAME, STATUS, CITY )P(PNO
2、, PNAME, COLOR, WEIGHT)J(JNO, JNAME, CITY)SPJ(SNO, PNO, JNO, QTY)【说明:供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成;零件表P由零件代码(SNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成。】3、 建立数据库关系图.将建好的数据
3、库和表转化为SQL语句,以sql脚本方式保存。4、 使用对象资源管理器向表中插入下列数据。S表SNOSNAMESTATUSCITYS1精益20天津S2盛锡10北京S3东方红30北京S4丰泰盛20天津S5为民30上海P表PNOPNAMECOLORWEIGHTP1螺母红12P2螺栓绿17P3螺丝刀蓝14P4螺丝刀红14P5凸轮蓝40P6齿轮红30J表JNOJNAMECITYJ1三键北京J2一汽长春J3弹簧厂天津J4造船厂天津J5机车厂唐山J6无线电厂常州J7半导体厂南京SPJ表SNOPNOJNOQTYS1P1J1200S1P1J3100S1P1J4700S1P2J2100S2P3J1400S2P3
4、J2200S2P3J4500S2P3J5400S2P5J1400S2P5J2100S3P1J1200S3P3J1200S4P5J1100S4P6J3300S4P6J4200S5P2J4100S5P3J1200S5P6J2200S5P6J45005、 使用SQL语言完成如下操作:1) 求供应工程J1零件的供应商号码SNO.2) 求供应工程J1零件P1的供应商号码SNO。3) 求供应工程J1零件为红色的供应商号码SNO。4) 求没有使用天津供应商生产的红色零件的工程号JNO。5) 求至少用了供应商S1所供应的全部零件的工程号JNO。6) 找出所有供应商的姓名和所在城市.7) 找出所有零件的名称、颜
5、色、重量.8) 找出使用供应商S1所供应零件的工程号码。9) 找出工程项目J2使用的各种零件的名称及其数量。10) 找出上海厂商供应的所有零件号码。11) 找出使用上海产的零件的工程名程。12) 找出没有使用天津产的零件的工程号码。13) 把全部红色零件的颜色改为蓝色。14) 由S5供给J4的零件P6改为由S3供应,请作必要修改。15) 从供应商关系中删除S2的记录,并从供应情况关系中删除相应的记录。16) 请将(S2, J6,P4,200)插入供应情况关系。三:试验步骤: 把这些语句输入并执行1) 求供应工程J1零件的供应商号码SNO。select Sno 供应商from SPJ where
6、 Jno = J1;2) 求供应工程J1零件P1的供应商号码SNO。select Sno 供应商from SPJ where Pno = P1;3) 求供应工程J1零件为红色的供应商号码SNO。select Sno from SPJ where Jno = J1 and Pno in(select Pno from P where Color = 红);4) 求没有使用天津供应商生产的红色零件的工程号JNO。select distinct Jno from SPJ where Sno not in(select Sno from S where City=天津) and Pno not in(
7、select Pno from P where Color=红 );5) 求至少用了供应商S1所供应的全部零件的工程号JNO.6) 找出所有供应商的姓名和所在城市.select Sname,City from S ;7) 找出所有零件的名称、颜色、重量。select Pname, Color, weight from P;8) 找出使用供应商S1所供应零件的工程号码。select Jno from SPJ where Sno=S1;9) 找出工程项目J2使用的各种零件的名称及其数量。select Pname,Qty from SPJ,P where Jno=J2 and P。Pno=SPJ.P
8、no;10) 找出上海厂商供应的所有零件号码.select Pno from SPJ where Sno in(select Sno from S where City=上海);11) 找出使用上海产的零件的工程名程.select Jname from J where Jno in(select Jno from SPJ where Sno in(select Sno from S where City=上海));12) 找出没有使用天津产的零件的工程号码.select Jno from Jexcept select Jno from SPJ where Sno in(select Sno f
9、rom S where City=天津);13) 把全部红色零件的颜色改为蓝色。update P set Color=蓝 where Color=红;14) 由S5供给J4的零件P6改为由S3供应,请作必要修改.update SPJ set Sno = S3 where Sno = S5 and Jno=J4 and Pno=P6;15) 从供应商关系中删除S2的记录,并从供应情况关系中删除相应的记录。alter table SPJ add constraint Snoforeign key(Sno)references S(Sno)on delete cascade;delete from
10、SPJ where Sno =S2;16) 请将(S2, J6,P4,200)插入供应情况关系。insert into SPJ values(S2,P4,J6,200);四:实验结果和分析: 1)找出所有供应商的名字和所在城市2)找出所有零件的名称、颜色、重量3) 找出使用供应商S1所供应零件的工程号码. 4) 找出工程项目J2使用的各种零件的名称及其数量5) 找出上海厂商供应的所有零件号码。6) 找出使用上海产的零件的工程名程。7) 把全部红色零件的颜色改为蓝色.8) 由S5供给J4的零件P6改为由S3供应,请作必要修改.五:试验心得: 此实验让我们更为熟悉关系模式及关系代数,sql语句练习很多,编写这些查询语句时可能得到的不是想要的实验结果,需要再看要求,修改查询语句.虽然实验时错误很多,但最终都化解了,学到了好多知识。