数据库.docx
- 文档编号:11469437
- 上传时间:2023-03-01
- 格式:DOCX
- 页数:20
- 大小:251.04KB
数据库.docx
《数据库.docx》由会员分享,可在线阅读,更多相关《数据库.docx(20页珍藏版)》请在冰豆网上搜索。
数据库
南京理工大学紫金学院
实验报告书
课程名称:
《数据库系统》
实验题目:
实验1
用SQL语句创建数据库和表
班级:
0906011
学号:
090601150
姓名:
张海建
指导教师:
叶庆生
一、实验目的
熟悉使用SQL语言创建数据库、关系表,可以用SQL语句执行插入、查询、更新及删除等操作。
二、实验内容
1.根据下列数据库模式,用SQL语句创建一个适当地数据库,并创建相关的表,注意表中的主键和外键及某些属性域的约束。
Product(marker,model,type)
PC(model,speed,ram,hd,rd,price)
Laptop(model,speed,ram,hd,screen,price)
Printer(model,color,type,price)
2.根据下列数据库模式,用SQL语句创建一个适当地数据库,并创建相关的表,注意表中的主键和外键及某些属性域的约束。
Classes(class,type,country,numCuns,bore,displacement)
Ships(name,class,launched)
Battles(name,date)
Outcomes(ship,battle,result)
3.将相关的数据用SQL语句插入到数据中。
4.基于习题5.2.4给出的数据库模式和数据写出后面的查询语句以及查询结果。
Classes(class,type,country,numCuns,bore,displacement)
Ships(name,class,launched)
Battles(name,date)
Outcomes(ship,battle,result)
a)找出战舰类型的数量。
b)找出不同类型战舰拥有的平均火炮数量。
!
c)找出战舰的平均火炮数量。
注意c)和b)的不同在于:
在计算均值的时候,是使用战舰的数目还是战舰的类型数目。
!
d)找出每一类型(class)的第一艘船下水的年份。
!
e)找出每一类型中被击沉船的数目。
!
!
f)找出至少有3艘船的类型中被击沉的船的数目。
!
!
g)军舰火炮使用的炮弹的重量(以磅为单位)大约是火炮的口径(以英寸为单位)的一半。
找出各个国家的军舰炮弹重量的平均值。
5.根据习题5.2.1给出的数据库模式,写出下面的数据库修改。
描述对该习题数据库修改够的结果。
Product(marker,model,type)
PC(model,speed,ram,hd,rd,price)
Laptop(model,speed,ram,hd,screen,price)
Printer(model,color,type,price)
a)通过两条INSERT语句在数据库中添加如下信息:
制造商C生产的型号为1100的PC,速度为1800,RAM为256,硬盘大小80,具有一个20x的DVD,售价为$2499。
!
b)加入如下信息:
对于数据库中每台PC,都对应一台与其速度、RAM、硬盘相同,具有15英寸的屏幕,型号大于1100、价格高于$500的相同厂商制造的手提电脑。
c)删除所有硬盘不超过20G的PC。
d)删除所有不制造打印机的厂商生产的手提电脑。
e)厂商A收购了厂商B,将所有B生产的产品改为由A生产。
f)对于每台PC,把它的内存加倍并且增加20G的硬盘容量。
(记住UPDATE语句中可以同时更改多个属性的值)
!
g)把厂商B生产的手提电脑的屏幕尺寸增加一英寸并且价格下调$100。
三、实验步骤
1.根据下列数据库模式,用SQL语句创建一个适当地数据库,并创建相关的表,注意表中的主键和外键及某些属性域的约束。
Product(maker,model,type)
PC(model,speed,ram,hd,rd,price)
Laptop(model,speed,ram,hd,screen,price)
Printer(model,color,type,price)
createdatabaseTest_1
on(
name=Test_1,
filename='F:
\Data\Test_1.mdf'
)
createtableproduct(
makervarchar(12)notnull,
modelchar(12)primarykey,
typevarchar(12)notnull
)
createtablePC(
modelchar(12)referencesproduct(model),
speedvarchar(12),
ramvarchar(12),
hdvarchar(12),
rdvarchar(12),
pricesmallint
)
createtableLaptop(
modelchar(12)referencesproduct(model),
speedvarchar(12),
ramvarchar(12),
hdvarchar(12),
screenvarchar(12),
pricesmallint
)
createtablePrinter(
modelchar(12)referencesproduct(model),
colorvarchar(12),
typevarchar(12),
pricesmallint
)
2.根据下列数据库模式,用SQL语句创建一个适当地数据库,并创建相关的表,注意表中的主键和外键及某些属性域的约束。
Classes(class,type,country,numGuns,bore,displacement)
Ships(name,class,launched)
Battles(name,date)
Outcomes(ship,battle,result)
createdatabaseTest_2
on(
name=Test_2,
filename='F:
\data\Test_2.mdf'
)
createtableClasses(
classvarchar(12)primarykey,
typevarchar(12),
countryvarchar(12),
numGunstinyint,
boretinyint,
displacementvarchar(12)
)
createtableShips(
namevarchar(12)primarykey,
classvarchar(12)referencesclasses(class),
launchedvarchar(12)
)
createtableOutcomes(
shipvarchar(12)primarykey,
battlevarchar(12),
resultvarchar(12)
)
createtableBattles(
namevarchar(12),
datevarchar(12),
primarykey(name)
)
3.将相关的数据用SQL语句插入到数据中。
第一条题目:
useTest_1
insertintoproduct(model,maker,type)values('1001','A','pc')
insertintoproduct(model,maker,type)values('1002','A','pc')
insertintoproduct(model,maker,type)values('1003','A','pc')
insertintoproduct(model,maker,type)values('2004','A','laptop')
insertintoproduct(model,maker,type)values('2005','A','laptop')
insertintoproduct(model,maker,type)values('2006','A','laptop')
insertintoproduct(model,maker,type)values('1004','B','pc')
insertintoproduct(model,maker,type)values('1005','B','pc')
insertintoproduct(model,maker,type)values('1006','B','pc')
insertintoproduct(model,maker,type)values('2007','B','laptop')
insertintoproduct(model,maker,type)values('1007','C','pc')
insertintoproduct(model,maker,type)values('1008','D','pc')
insertintoproduct(model,maker,type)values('1009','D','pc')
insertintoproduct(model,maker,type)values('1010','D','pc')
insertintoproduct(model,maker,type)values('3004','D','printer')
insertintoproduct(model,maker,type)values('3005','D','printer')
insertintoproduct(model,maker,type)values('1011','E','pc')
insertintoproduct(model,maker,type)values('1012','E','pc')
insertintoproduct(model,maker,type)values('1013','E','pc')
insertintoproduct(model,maker,type)values('2001','E','laptop')
insertintoproduct(model,maker,type)values('2002','E','laptop')
insertintoproduct(model,maker,type)values('2003','E','laptop')
insertintoproduct(model,maker,type)values('3001','E','printer')
insertintoproduct(model,maker,type)values('3002','E','printer')
insertintoproduct(model,maker,type)values('3003','E','printer')
insertintoproduct(model,maker,type)values('2008','F','laptop')
insertintoproduct(model,maker,type)values('2009','F','laptop')
insertintoproduct(model,maker,type)values('2010','G','laptop')
insertintoproduct(model,maker,type)values('3006','H','printer')
insertintoproduct(model,maker,type)values('3007','H','printer')
insertintoPC(model,speed,ram,hd,price)values('1001','2.66','1024','250',2114)
insertintoPC(model,speed,ram,hd,price)values('1002','2.10','512','250',995)
insertintoPC(model,speed,ram,hd,price)values('1003','1.42','512','80',478)
insertintoPC(model,speed,ram,hd,price)values('1004','2.80','1024','250',649)
insertintoPC(model,speed,ram,hd,price)values('1005','3.20','512','250',630)
insertintoPC(model,speed,ram,hd,price)values('1006','3.20','1024','320',1049)
insertintoPC(model,speed,ram,hd,price)values('1007','2.20','1024','200',510)
insertintoPC(model,speed,ram,hd,price)values('1008','2.20','2048','250',770)
insertintoPC(model,speed,ram,hd,price)values('1009','2.00','1024','250',650)
insertintoPC(model,speed,ram,hd,price)values('1010','2.80','2048','300',770)
insertintoPC(model,speed,ram,hd,price)values('1011','1.86','2048','160',959)
insertintoPC(model,speed,ram,hd,price)values('1012','2.80','1024','160',649)
insertintoPC(model,speed,ram,hd,price)values('1013','3.06','512','80',529)
insertintoLaptop(model,speed,ram,hd,screen,price)
values('2001','2.00','2048','240','20.1',3673)
insertintoLaptop(model,speed,ram,hd,screen,price)
values('2002','1.73','1024','80','17.0',949)
insertintoLaptop(model,speed,ram,hd,screen,price)
values('2003','1.80','512','60','15.4',549)
insertintoLaptop(model,speed,ram,hd,screen,price)
values('2004','2.00','512','60','13.3',1150)
insertintoLaptop(model,speed,ram,hd,screen,price)
values('2005','2.16','1024','120','17.0',2500)
insertintoLaptop(model,speed,ram,hd,screen,price)
values('2006','2.00','2048','80','15.4',1700)
insertintoLaptop(model,speed,ram,hd,screen,price)
values('2007','1.83','1024','120','13.3',1429)
insertintoLaptop(model,speed,ram,hd,screen,price)
values('2008','1.60','1024','100','15.4',900)
insertintoLaptop(model,speed,ram,hd,screen,price)
values('2009','1.60','512','80','14.1',680)
insertintoLaptop(model,speed,ram,hd,screen,price)
values('2010','2.00','2048','160','15.4',2300)
insertintoPrinter(model,color,type,price)values('3001','true','ink-jet',99)
insertintoPrinter(model,color,type,price)values('3002','false','laser',239)
insertintoPrinter(model,color,type,price)values('3003','true','laser',899)
insertintoPrinter(model,color,type,price)values('3004','true','ink-jet',120)
insertintoPrinter(model,color,type,price)values('3005','false','laser',120)
insertintoPrinter(model,color,type,price)values('3006','true','ink-jet',100)
insertintoPrinter(model,color,type,price)values('3007','true','laser',200)
第二题:
useTest_2
insertintoClasses(class,type,country,numGuns,bore,displacement)values('Bismarck','bb','Germany','8','15','42000')
insertintoClasses(class,type,country,numGuns,bore,displacement)values('Iowa','bb','USA','9','16','46000')
insertintoClasses(class,type,country,numGuns,bore,displacement)values('Kongo','bc','Japan','8','14','32000')
insertintoClasses(class,type,country,numGuns,bore,displacement)values('NCarolina','bb','USA','9','16','37000')
insertintoClasses(class,type,country,numGuns,bore,displacement)values('Renown','bc','Gt.Britain','6','15','32000')
insertintoClasses(class,type,country,numGuns,bore,displacement)values('Revenge','bb','Gt.Britain','8','15','29000')
insertintoClasses(class,type,country,numGuns,bore,displacement)values('Tennessee','bb','USA','12','14','32000')
insertintoClasses(class,type,country,numGuns,bore,displacement)values('Yamato','bb','Japan','9','18','65000')
insertintoShips(name,class,launched)values('Karuna','Kongo','1915')
insertintoShips(name,class,launched)values('Hiei','Kongo','1914')
insertintoShips(name,class,launched)values('Iowa','Iowa','1943')
insertintoShips(name,class,launched)values('Kirishima','Kongo','1915')
insertintoShips(name,class,launched)values('Kongo','Kongo','1913')
insertintoShips(name,class,launched)values('Missouri','Iowa','1944')
insertintoShips(name,class,launched)values('Musashi','Yamato','1942')
insertintoShips(name,class,launched)values('NewJersey','Iowa','1943')
insertintoShips(name,class,launched)values('NorthCarolina','NorthCarolina','1941')
insertintoShips(name,class,launched)values('Ramillies','Revenge','1917')
insertintoShips(name,class,launched)values('Renown','Renown','1916')
insertintoShips(name,class,launched)values('Repulse','Renown','1916')
insertintoShips(name,class,launched)values('Resolution','Revenge','1916')
insertintoShips(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库