版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、产品数据库Product(maker, model, type)PC(model, speed, ram, hd, price)Laptop(model, speed, ram, hd, screen, price)Prin ter(model, color, type, price)关系Product给出了各种产品的制造厂商、型号和产品类型(PC、笔记本电脑或者打印机)。为了简单起见,假设所有产品的型号都唯一,而不管它是由哪个制造商生产的。关系PC对于不同型号给出了如下属性:速度(处理器的速度,单位是GHz)、RAM的大小(单位是MB )、硬盘的容量(单位是GB )以及价格。关系Laptop
2、与关系PC类似,它在PC的基础上增加了属性screen,即显示器的尺寸(以英寸为单位) 。关系Printer对于每种型号有如下 属性:是否彩色(如果是的话,这个值是true)、处理类型(激光的还是喷墨的)以及价格。关系Product的数据A1001pcA1002pcA1003pcA2004laptopA2005laptopA2006laptopB1004pcB1005pcB1006pcB2007laptopC1007pcD1008pcD1009pcD1010pcD3004prin terD3005prin terE1011pcE1012pcE1013pcE2001laptopE2002lapt
3、opE2003laptopE3001prin terE3002prin terE3003prin terF2008laptopF2009laptopG2010laptopH3006prin terH3007prin ter关系PC的数据10012.661024250211410022.1051225099510031.425128047810042.80102425064910053.2051225063010063.201024320104910072.20102420051010082.20204825077010092.00102425065010102.8020483007701011
4、1.86204816095910122.80102416064910133.0651280529关系Laptop的数据20012.00204824020.1367320021.7310248017.094920031.805126015.454920042.005126013.3115020052.16102412017.0250020062.0020488015.4170020071.83102412013.3142920081.60102410015.490020091.605128014.168020102.00204816015.42300关系Printer的数据3001truein
5、k-jet993002falselaser2393003truelaser8993004truein k-jet1203005falselaser1203006truein k-jet1003007truelaser200二战中的大型舰船数据库Classes(class, type, coun try, numGuns, bore, displaceme nt)Ships (n ame, class, la un ched)Battles (n ame, date)Outcomes(ship, battle, result)相同设计的舰船组成一个“类”,类别的名称通常就是这个类的第一艘船的名字
6、。关系Classes记录了 “类”的名字、型号(bb代表主力舰,bc代表巡洋舰)、生产国家、火炮的门数、火 炮的尺寸(口径,单位是英寸)和排水量(重量,单位是吨)。关系Ships记录了舰船的名字、舰船类属名字、开始服役的日期。关系Battles给出了这些舰船参加的战役的时间。关系Outcomes给出了各个舰船在各场战役中的结果(是沉没,还是受伤,或者完好)关系Classes的数据BismarckbbGerma ny81542000IowabbUSA91646000KongobcJapa n81432000North Caroli nabbUSA91637000RenownbcGt. Brita
7、i n61532000RevengebbGt. Britai n81529000TennesseebbUSA121432000YamatobbJapa n91865000关系Ships的数据CaliforniaTennessee1921HarunaKon go1915HieiKon go1914IowaIowa1943KirishimaKon go1915KongoKon go1913MissouriIowa1944MusashiYamato1942New JerseyIowa1943North Caroli naNorth Caroli na1941RamilliesRevenge1917R
8、enownRenown1916RepulseRenown1916Resoluti onRevenge1916RevengeRevenge1916Royal OakRevenge1916Royal Sovereig nRevenge1916TennesseeTennessee1920Wash ingtonNorth Caroli na1941Wisc onsinIowa1944YamatoYamato1941关系Battles的数据Denmark Strait5/24-27/41Guadalca nal11/15/42North Cape12/26/43Surigao Strait10/25/4
9、4关系Outcomes的数据Ariz onaPearl HarborsunkBismarckDen mark StraitsunkCaliforniaSurigao StraitokDuke of YorkNorth CapeokFusoSurigao StraitsunkHoodDen mark StraitsunkKing George VDen mark StraitokKirishimaGuadalca nalsunkPrince of WalesDen mark StraitdamagedRodneyDen mark StraitokSchar nhorstNorth Capesun
10、kSouth DakotaGuadalca naldamagedTennesseeSurigao StraitokWash ingtonGuadalca nalokWest Virgi niaSurigao StraitokYamashiroSurigao Straitsunk需要注意的是:这个数据库中存在着“悬浮元组”,比如,在关系Outcomes中出现的船只可能在关系Ships中查不到。作业一:习题1.11. 对于产品数据库中的 4个关系,写出它们的关系模式定义语句。CREATE TABLE Product (maker char(3),model char(4) primary key,
11、type char(10);CREATE TABLE PC (model char(4) primary key,speed decimal(3,2),ram int,hd int,price int );CREATE TABLE Laptop ( model char(4) primary key, speed decimal(3,2), ram int, hd int, screen decimal(3,1), price int);CREATE TABLE Printer ( model char(4) primary key, color char(5), type char(10),
12、 price int);2 修改关系 Printer ,删掉属性 color 。ALTER TABLE Printer DROP COLUMN color;3. 修改关系Laptop,增加属性od (光驱类型,比如 CD、DVD )。如果某个笔记本电脑没 有光驱,则该属性的默认值为none。ALTER TABLE Laptop ADD od char(10) DEFAULTnone;习题 1.2 选做 1. 对于二战中的大型舰船数据库中的 4 个关系,写出它们的关系模式定义语句。CREATE TABLE Classes ( class char(20) primary key, type ch
13、ar(2), country char (20), numGuns smallint, bore smallint, displacement int);CREATE TABLE Ships ( name char(20) primary key, class char(20), launched int);CREATE TABLE Battles ( name char(20) primary key, date datetime);CREATE TABLE Outcomes ( ship char(20), battle char(20), result char(7),primary k
14、ey (ship, battle) );2. 修改关系Classes,删掉属性bore。ALTER TABLE Classes DROP COLUMN bore;3. 修改关系Ships,增加属性yard,它给出了该船的船坞。ALTER TABLE Ships ADD yard char(30);作业二:(写关系代数表达式)习题 2.1 对于产品数据库,试写出下列查询的关系代数表达式。1. 哪种 PC 型号具有最少 3.00 的速度?model ( speed=3.00 (PC)2. 哪个生产厂商的笔记本电脑的硬盘容量至少 100GB ?maker (Product ( hd=100 (Lap
15、top)3. 查询厂商 B 生产的所有产品的型号和价格。model, price ( maker= B (Product)PC) model, price ( maker= B(Product)Laptop) model, price ( maker= B(Product)Printer)4. 查询所有彩色激光打印机的型号。model ( color= true type= laser (Printer)5. 查询那些只生产笔记本电脑,不生产 PC 的厂商。maker ( type= laptop (Product) - maker ( type= pc (Product)习题 2.2 (关系
16、代数计算)已知关系R(A,B):(0,1), (2,3), (0,1), (2,4), (3,4) S(B,C):(0,1), (2,4), (2,5), (3,4), (0,2), (3,4)计算下面的表达式:1. B+1, C-1(S)2. B,A(R)3. (R)4. B,AVG(C)(S)5. A,AVG(C) (R S) (注:此处代表自然连接 )6. R与S的自然左外连接7. R与S的自然右外连接答: 1. (1,0), (3,3), (3,4), (4,3), (1,1), (4,3)2. (0,1), (0,1), (2,3), (2,4), (3,4)3. (0,1), (2
17、,3), (2,4), (3,4)4. (0,1.5), (2,4.5), (3,4)5. (2, 4)6. (2,3,4), (2,3,4), (0,1,NULL), (0,1,NULL),(2,4,NULL),(3,4,NULL)7. (2,3,4), (2,3,4), (NULL,0,1), (NULL,2,4), (NUL,2,5), (NULL,0,2)习题 2.3 选做 对于二战中的大型舰船数据库,试写出下列查询的关系代数表达式。1. 查询那些火炮口径大于 16 英寸的舰船类属和生产国。class,country ( bore16 (Classes)2. 查询在丹麦海峡( Denm
18、ark Strait )战役中沉没的舰船。ship ( battle= Denmark Strait result= sunk (Outcomes)3. 1921年签署的华盛顿条约禁止制造超过 35000吨的大型军舰, 请列出那些违背华盛 顿条约的军舰。name ( displacement35000 (Classes) launched1921 (Ships)4. 列出参加了瓜达康纳尔岛(Guadalcanal)海战的战舰的名称、 排水量及火炮的数目。name,displacement,numGuns ( battle= Guadalcanal (Outcomes)Outcomes.ship
19、= (Ships) Classes)5. 列出那些既有主力舰又有巡洋舰的国家。country ( type= bb (Classes)country ( type= bc (Classes)作业三:(写 SQL 语句)习题 3.1 对于产品数据库,用 SQL 写出下面的查询:以下 4 小题要求使用连接查询1 查询硬盘容量至少 30G 的笔记本电脑制造商及该电脑的速度。SELECT maker,speedFROM Product, LaptopWHERE Product.model=Laptop.model and hd=30;2 查询制造商 B 生产的任意类型的所有产品的型
20、号和价格。(SELECT Product.model, priceFROM Product, PCWHERE Product.model = PC.model AND maker = B)UNION(SELECT Product.model, priceFROM Product, LaptopWHERE Product.model = Laptop.model AND maker = B)UNION(SELECT Product.model, priceFROM Product, PrinterWHERE Product.model = Printer.model AND maker = B)
21、;3 查询出现在两种或两种以上PC 中的硬盘大小。SELECT DISTINCT X.hdFROM PC X, PC YWHERE X.hd=Y.hd and X.modelY .model;4. 查询每对具有相同速度和RAM的PC的型号。每一对只能列出一次;例如,若(i, j)已被列出,则(j, i)就不能再被列出。SELECT X.model,Y.modelFROM PC X, PC YWHERE X.speed=Y .speed and X.ram=Y.ram and X.model=3.0);6. 找出价格最高的打印机。SELECT modelFROM PrinterWHERE pri
22、ce=ALL (SELECT priceFROM Printer);7. 找出速度比任何一台 PC都慢的笔记本电脑。SELECT modelFROM LaptopWHERE speedALL (SELECT speedFROM PC);8. 找出价格最低的彩色打印机的制造商SELECT makerFROM ProductWHERE model IN (SELECT model FROM PrinterWHERE color = trueAND price =3;习题 3.2 对于产品数据库,用 SQL 写出下面的更新:1. 通过两条INSERT语句在数据库中添加如下信息:厂商C生产的型号为11
23、00的PC,其 速度为 3.2, RAM 容量大小为 1024,硬盘容量大小为 180,售价为 $2499。INSERT INTO Product V ALUES( C, 1 1 00, pc);INSERT INTO PC V ALUES( 1 1 00, 3.2, 1024, 180, 2499);2. 删除所有硬盘容量低于 100GB 的 PC。DELETE FROM PCWHERE hd=10000000;5. 找出是演员同时资产至少有$50 000 000的电影公司经理的名字。SELECT StudioPress .n ameFROM StudioPress, ExecutiveSt
24、arWHERE StudioPress .n ame= ExecutiveStar. name and StudioPress.address= ExecutiveStar.address and netWorth=50000000;为下面的属性或属性组声明索引:6. StudioNameCREATE INDEX name In dex ON Movies(studioName);7. genre 禾口 lengthCREATE INDEX genrein dex ON Movies(ge nre,le ngth);作业四:对于电影数据库,对所有关系都定义了主键,如下所示:Movies (ti
25、tle, year, len gth, genre, studioName, producerC#)Starsin (movieTitle, movieYear, starName)MovieStar (name, address, gen der, birthdate)MovieExec (n ame, address, cert#, n etWorth)Studio (name, address, presC#)习题4.1声明如下引用完整性约束:1. 电影的制片人必须是MovieExec中的某个制片人。任何对MovieExec的更新,若违反此 约束则拒绝该操作。FOREIGN KEY (p
26、roducerC#) REFERENCES MovieExec(cert#)2. 重复(1),但是当违反约束时,将Movies中的producerC#置为NULL。FOREIGN KEY (producerC#) REFERENCES MovieExec(cert#)ON UPDATE SET NULL3. 重复(1),但是当违反约束时, Movies中违反约束的元组被删除或修改。FOREIGN KEY (producerC#) REFERENCES MovieExec(cert#)ON UPDATE CASCADEON DELETE CASCADE习题4.2声明关于Movies的属性的约束:
27、1. 年份不能是1915年以前。CHECK (year =1915)2. 长度不能少于 60也不能多于250。CHECK (len gth=60 and len gth=250)3. 电影公司的名字只能是Disney、Fox、MGM、ParamountCHECK (studioName IN ( DisneyFox,MGM ,Paramount)作业五:(计算)习题 5.1 针对下列关系模式和 FD 集合,找出关系的所有候选码。1 R(A, B, C, D) ,FD:A B C,C D,D A候选码: (A, B), (B, C), (B, D)2 S(A, B, C, D) ,FD: A B
28、, B C,B D候选码: A习题 5.2 对于下列关系模式和 FD 集合,找出所有的 3NF 违例,如有必要,将关系分解为 一系列属于 3NF 的关系。1. R(A, B, C, D) ,FD:A B C,BC D,CD A,AD B候选码: (A, B), (B, C), (C, D), (A, D)不存在 3NF 违例2. S(A, B, C, D) ,FD: A B, B C,C D , D A候选码: (A ), (B), (C), (D)不存在 3NF 违例习题 5.3 考虑关系 Courses(C, T, H, R, S, G) ,其属性可以理解为课程、教师、时间、教室、 学生和
29、成绩。设Courses上的FD有C T, HR C, HT R, HS R, CS G。直观上表示: 一门课程有唯一的一个教师; 在一个给定的时间和教室, 只能有一门课程; 在给定的时间里 一个教师只能在一个教室; 在给定的时间里一个学生只能在一个教室; 一个学生在一门课程 中只能得到一个成绩。1 给出 Courses 的所有候选码。候选码: (H, S)2 证明给定的 FD 本身就是它们的一个最小基本集。略。3 将关系 Courses 分解为多个 3NF 关系,分解后的关系中是否有不属于 BCNF 的关 系?R1(C, T), R2(H, R, C), R3(H, T, R), R4(H, S, R), R5(C, S, G) 分解后的关系都属于 BCNF。习题 5.4(问答)假设有关系模式 R(职工编号,日期,日营业额,部门名,部
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 上台领奖感言(5篇)
- DB12T 571-2015 历史风貌建筑安全性鉴定规程
- 中考百日誓师大会致辞
- 铁山港课件教学课件
- 木地板课件教学课件
- 贫攻坚课件教学课件
- 变网络课件教学课件
- 清新区第二中学集团九年级上学期语文期中联考试卷
- 四年级数学(四则混合运算)计算题专项练习与答案
- 美甲店合伙开店合作协议书(2篇)
- 《数学三年级上学期数学期中试卷》
- 2024-2025学年人教版七年级地理上学期 期中知识清单:第一章 地球
- 宠物饲料购销合同模板
- 2024年二级工会实施细则范文(三篇)
- 《 合唱指挥案头工作、排练与舞台呈现的递进构建》范文
- 《交换与路由技术》 课件 第5部分 路由器基础
- 2024年法律职业资格考试(试卷一)客观题试卷与参考答案
- 2024年秋季新北师大版一年级数学上册全册教案
- 2024年江苏南京航空航天大学招聘36人历年高频500题难、易错点模拟试题附带答案详解
- 绿城物业服务协议书范本2024年
- 血标本采集法并发症
评论
0/150
提交评论