SSD7_Exam2【规范化、E-R映射】

SSD7_Exam2【规范化、E-R映射】

算法语言 2年前 (2015-06-10) 浏览: 141 评论: 0

1.下表表示了那些零件供应商可以提供哪些零件。可以通过零件的ID查找到供应商的ID和名称。值得注意的是,一个零件可以由多个供应商提供,同时一个供应商可以提供多种零件 PartID PartName SupplierID SupplierName 1234 Nut 223 ProMetal 1234 Nut 224 Biscayne 2134 Bolt 223 ProMetal 2.把下列E-R关系模型进行E-R映射算法转换。按照练习七的九个步骤进行映射,明确标示出每一步骤,没有此步骤这标志“无”   一)规范化 1.PK(PartID,SupplierID) 2.FD(PartID->PartName,SupplierID->SupplierName) 3.这个表属于第一范式(1NF), 因为上述关系中,PartID、PartName、SupplierID、SupplierName等几个分量都是不可分的数据项。 同时它又不满足第二范式的非主属性完全依赖于码。 4.第一步:从1NF到2NF(对码完全依赖): 在上述关系模式中,因为PartID->PartName(F),SupplierID->SupplierName(F),所以应该将上述关系模式拆分为三个关系模式 ①Part(PartID,PartName) PK(PartID); FD(PartID->PartName)(F:完全函数依赖) ②Supplier(SupplierID,SupplierName) PK(SupplierID) FD(SupplierID->SupplierName)(F:完全函数依赖) ③SP(SupplierID,PartID) PK(SupplierID,PartID) 第二步:从2NF到3NF,(不部分依赖,也不传递依赖) 上述关系模式已满足要求 二)E-R映射 Step 1 : 新建表 Coach(Name, Age)  PK(Name) 新建表 Player(Name, Age)  PK(Name) 新建表 Team(Name,Color) PK(Name) 新建表 Game(Number,Score,Time,Date) 新建表 Stadium(Name,Size,Location) Step 2:无 Step 3:无 Step4: Team添加属性CoachName、TeamplayWith Team(Name,CoachName,TeamplayWith) FK(CoachName)->Coach(Name), FK(TeamplayWith)->Team(Name) Step 5: Game新建属性HostName、VisitorName Game: Game(Number,HostName,VisitorName,Score,Time,Date) FK(HostName)->Team(Name) FK(VisitorName)->Team(Name) Player新建属性TeamName FK(TeamName)->Team(Name) Step 6: 新建表 TeamStadiumRecord(TeamName,StadiumName) PK(TeamName,StadiumName) FK(TeamName)->Team(Name) FK(StadiumName)->Stadium(Name) Step 7: 新建表:TeamColor(TeamName,TeamColor) PK(TeamName,TeamColor) FK(TeamName)->Team(Name) FK(TeamColor)->Team(Color) Step 8:无 Step 9:无 总结: 新建表 Coach(Name, Age,CoachName,TeamplayWith)  PK(Name) 新建表 Team(Name,Color) PK(Name) FK(CoachName)->Coach(Name) FK(TeamplayWith)->Team(Name) 新建表 Player(Name, Age,TeamName)  PK(Name) FK(TeamName)->Team(Name) 新建表 Game(Number,HostName,VisitorNameScore,Time,Date) FK(HostName)->Team(Name) FK(VisitorName)->Team(Name) 新建表 Stadium(Name,Size,Location) 新建表 TeamStadiumRecord(TeamName,StadiumName) PK(TeamName,StadiumName) FK(TeamName)->Team(Name) FK(StadiumName)->Stadium(Name) 新建表:TeamColor(TeamName,TeamColor) PK(TeamName,TeamColor) FK(TeamName)->Team(Name) FK(TeamColor)->Team(Color)

SSD7_EX3【高级SQL】

SSD7_EX3【高级SQL】

算法语言 2年前 (2015-05-11) 浏览: 683 评论: 0

这是SSD7练习的EX3,预计极客人将会写一个系列,更新频率会和NWPU数据库系统实验课2013级进度同步。点击标签或在本站搜索“SSD7”即可获取已更新的SSD7答案。上一练习:SSD7_EX2【SQL】 原题摘要: 此练习以图书馆系统library schema为案例,案例包含了图书馆书籍信息、图书馆成员信息,图书馆借阅信息(某本书被某个读者借阅几次),提供书籍的出版社信息,出版社订单信息。为了与其他练习作区分,本次练习的每个关系名字最后一个字符为阿拉伯数字‘4’。 使用CREATE TABLE and INSERT statements提供的SQL语句创建你的所有关系,要求在一个空的数据库中运行提供的SQL语句创建数据库。 英文: For this exercise, we will use the library schema. It includes information about book titles in the library, information about library members, about the number of times the books were read by members, about the suppliers who supply books to the library, and about orders placed with the suppliers. To distinguish the table names used in this exercise from the table names in other exercise, each table name in this exercise ends with the character '4'. Point of clarification: The ReceivedDate column refers to the date when the Order was received by the system (i.e., recorded in the database). It does not refer to the date a consumer received the items ordered by him.   作业还是自己做的好,以下是我做的结果,作交流学习之用,不要盲目抄袭,东西学会了才是自己的!答案可能有纰漏,欢迎指正,水平有限,仅供参考:   1.运行提供的SQL语句,完成关系的创建和部分数据插入。 2.书写SQL语句,删除所有关系中的数据,将你的答案书写在一个名为delete_rows.sql的文件中。 delete_rows.sql     3.按照要求书写SQL语句,并运行它们,完成对数据库的修改和完善。   alter_tables.sql: 2)运行INSERT SQL statements提供的SQL语句插入数据 3)按照以下查询要求书写SQL语句,将你的答案书写在一个名为queries.sql的文件中。 (1)列出符合以下要求的所有图书馆成员的ID,第一名字和Join_date; ID以字符“A%B”或者“A&B”开始。●不晚于Nov. 30, 1997加入图书馆   (2)列出符合以下要求的所有书的名字、ISBN、CallNumber。 ●由两个或两个以上的出版社提供。 ●所有的订单总量在10本以上。 ●按照订单总量递减的顺序排列结果。   /* (3)列出符合以下要求的所有图书馆成员ID和第一名字。 ●借阅书的次数小于图书馆所有书借阅次数综合的5%。 ●按照借阅次数的递增顺序排列结果。 */   (4)列出符合以下要求的所有图书馆成员的ID和第一名字。 ●性别为女。 ●在图书馆有借阅记录(读某本书一次)。 ●按名字的字母顺序排列结果。 (5)列出符合以下要求的所有出版的名字,ID,和订书总量。 ●平均订书量(某个出版社收到的订书总量除以该出版社收到的订单数)低于系统的平均订书量(系统收到的订书总量除以所有订单数)。 */   /* (6)列出符合以下要求的所有图书馆成员的第一名字,ID。 ●性别为男。 ●Oct. 10, 1995前加入图书馆。 ●阅读不同标题(title)书籍的次数在5次或5次以下。 ●阅读同一书籍(同一title)的次数在两次或两次以上 */  

SSD7_EX2【SQL】

SSD7_EX2【SQL】

算法语言 3年前 (2015-04-30) 浏览: 616 评论: 0

这是SSD7练习的EX2,预计极客人将会写一个系列,更新频率会和NWPU数据库系统实验课2013级进度同步。点击标签或在本站搜索“SSD7”即可获取已更新的SSD7答案。上一练习:SSD7_EX1【关系型数据库】 运行给定的SQL脚本来创建一个图书馆的数据库。注意,Book表中的每一行指的是一本书的副本。 因此, 如果一个数据库有三本"DBMS", 那么Book表中将会有三行,一行一个副本。 编写SQL语句来完成下列操作。(注意:对于每个操作,你必须用一条SQL语句来表达你的查询。 但是在一个语句中可以含有子查询): 英语原文:Run the SQL script given to you to create a Library database. Note that each row in the Book table denotes a book copy. Thus, if the library carries three copies of the title "DBMS", there will be three rows in the Book table, one for each copy. Write the SQL statements to do the following against the database (Note: You must express your query in a single SQL statement for each of the following. However, that statement could have sub-queries.):   作业还是自己做的好,以下是我做的结果,作交流学习之用,不要盲目抄袭,东西学会了才是自己的!如果答案有纰漏,欢迎指正,水平有限,仅供参考: 1. 列出"Churchill"写的所有的书的书名,以及它们的出版日期。   2. 检索出名为"John" 或 "Susan" 的会员借出的所有书的书名。   3. 列出那些已借了"Iliad"和"Odyssey"这两本书的所有会员的姓名和ID。   4. 列出那些已借了"Collins"写的所有的书的所有会员的姓名和ID。假设,一名会员或许已经借了多本同样的书。   5. 找出那些借了一本姓"Tanenbaum"的作者写的书的所有会员的电话号码   6. 找出那些借了至少三本书的成员,并列出它们的姓名,ID 以及他们借出的书的数量。 按借出书的数量将序排列找到的结果。   7. 列出没有借任何书的会员   8. 以字母序列出那些匹兹堡居民(电话号码以"412"开头)并且没有并且没有"Pitt Roads"这本书的会员的名。  

SSD7_EX1【关系型数据库】

SSD7_EX1【关系型数据库】

算法语言 3年前 (2015-04-28) 浏览: 211 评论: 0

第一部分(PART1): 1.按照以下要求标识出每个关系的关键字(主键、备用键、外键)。对于此练习,选择关键字的时候可以忽略性能因素。  1)标识出每个关系的主键,如果没有主键,做适当的论述证明你的答案。  2)标识出每个关系的备用键,如果没有备用键,做适当的论述证明你的答案。  3)标识出每个关系的外键和完整性约束,并做适当的论述证明你的答案。 2.列出每个关系的属性名,和每个属性的域(数据类型和格式),并做适当的论述证明你的答案。 在每一个HTML表格中,列出至少四行正确的数据(可自己假设,要求合理、符合实际即可),将你的答案书写在一个名为BookPublisher.html的HTML页面中提交: BookPublisher.html: Books Primary Author<varchar(20)> Title<varchar(50)> ISBN(Primary Key)<char(12)> PublisherID(FOREIGN Key)<int> Edition<varchar(10)> Date of Publication<date> Price<float(4, 2)> Book Description<varchar(200)> 赵静 数学建模与数学实验 9787040400038 1 第4版 2000.11 22.00 指导数学建模与数学实验 许建平 英汉互译实践与技巧 9787302146728 2 第4版 2012.8 38.00 本书是为非英语专业的大学生及研究生编写的英汉互译教程。 庄茁 基于ABAQUS的有限元分析和应用 9787302188162 2 第2版 2006.5 69.00 《基于ABAQUS的有限元分析和应用》是基于ABAQUS软件6.7版本进行有限元分析与应用的入门指南和工程分析与科学研究教程 王正林 精通MATLAB 9787121187315 3 第3版 2013.1 69.00 紧密结合实例,对MATLAB的使用进行了全面且详尽的阐述,并通过大量的实例讲述如何实现MATLAB的基本操作和实际使用。 路遥 平凡的世界(套装共3册) 9787530212004 4 第1版 2012.3 26.60 《平凡的世界(套装共3册)》是一部现实主义小说,也是小说化的家族史。 books论述: 上面是Books表的数据,并在列名表明了数据类型及长度和主外键: 1.Primary Author <varchar(20)>:可变字符串,最长20 完整性约束:PrimaryAuthor VARCHAR(20) NOT NULL DEFAULT "未知作者", 2.Title <varchar(50)>:可变字符串,最长50 Title VARCHAR(50) NOT NULL DEFAULT "默认标题", 3.ISBN <char(12)>(Primary Key):主键,因为ISBN对于每本书是唯一的,满足主键是唯一且不为空的条件,用以标识唯一一本书。 ISBN CHAR(13) NOT NULL DEFAULT "0000000000000" PRIMARY KEY, 4.PublisherID<int>(FOREIGN Key):int类型、外键, PublisherID INT(4) NOT NULL DEFAULT 0 , FOREIGN KEY (PublisherID) REFERENCES publisher(PublisherID) 因为Books和Publishers表拥有相同的属性PublisherID,并且PublisherID是Publishers表的主键,使用其作为外键,两个表就可以建立联系 ; 5.Edition<varchar(10)>:可变字符串,最长10 Edition VARCHAR(10) NOT NULL DEFAULT 0 , 6.Date of Publication <date>:日期类型 DateofPublication DATE NOT NULL DEFAULT '1970-01-01' , 7.Price<float(4, 2)>:float类型,小数点两位 Price float(4, 2) NOT NULL DEFAULT 0 , 8.Book Description<varchar(200)>:可变字符串,最长200 BookDescription varchar(200) NOT NULL DEFAULT '描述为空' , 主键(PK): ISBN,因为ISBN对于每本书是唯一的,满足主键是唯一且不为空的条件,用以标识唯一一本书。 外键(FK): PublisherID为Books和Publishers表拥有相同的属性PublisherID,并且PublisherID是Publishers表的主键,使用其作为外键,两个表就可以建立联系 ; 备用键(AK):没有备用键,除主键ISBN外其他列都无法唯一标识一本书,存在相同标题、出版社、价格、出版时间等的书籍。 Publishers PublisherID (Primary Key)<int> Name<varchar(50)> Address<varchar(100)> 04 高等教育出版社 北京市西城区德胜门外大街4号 302 清华大学出版社 北京市海淀区清华大学出版社 5053 电子工业出版社 北京市丰台区万寿路南口金家村288号华信大厦 5302 北京十月文艺出版社 北京市海淀区十月文艺出版社 1.PublisherID <int>(Primary Key):主键,因为PublisherID可以唯一标识出版社; 2.Name<varchar(50)>:可变字符串,最长50; 3.Address <varchar(100)>:可变字符串,最长100。 主键(PK):PublisherID,因为PublisherID可以唯一标识出版社; 外键(FK):显然没有; 备用键(AK):Name,出版社名可以唯一标识出版社。 第二部分(part-2) 按照要求书写SQL语句,将你的答案书写在一个名为createDB.Sql的文件中提交。 1)使用CREATE TABLE关键字创建两个关系,要求标识出每个关系的主键和备用键。 2)使用INSERT关键字向每个关系中插入四行数据(第一你部分列出的数据)。 3)书写SQL语句查询出某两个作者…… 4)书写SQL语句查询出某本书的出版社名字。 文件createDB.Sql:  文件Rel-ops.txt:

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

切换登录

注册