2022年数据库ER练习归纳 .pdf
《2022年数据库ER练习归纳 .pdf》由会员分享,可在线阅读,更多相关《2022年数据库ER练习归纳 .pdf(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、DB Modeling Exam Practical Answer the following questions. 1.Create an E-R schema for a database system used to manage account information at a community bank. The bank has several branches with unique names. A customer may have one or more accounts in one or more branches. An account must belong to
2、 one and only one branch. Each account is operated on by transactions, which may be deposits to or withdrawals from some account. The database keeps track of all the transactions on each account, in addition to the balance of individual accounts and the assets of individual branches. For each entity
3、, specify all its attributes, primary key, and alternate key(s). In your ER schema, be sure to capture the cardinality constraints and participation constraints of all relationships. Make reasonable assumptions to complete the specification. Explicitly state all your assumptions. EVERY construct in
4、your ER schema should be substantiated by either the specification above or your explicit assumptions. 2.The following table stores information about which suppliers can supply which parts. The table captures the fact that a part whose name is PartName and whose ID is PartID can be supplied by suppl
5、iers whose names are in SupplierName and whose IDs are in SupplierID. Note that a part can be supplied by many suppliers, and a supplier can supply many parts. CAN_SUPPLY PartID PartName SupplierID SupplierName 1234 Nut 223 ProMetal 1234 Nut 224 Biscayne 2134 Bolt 223 ProMetal 3.Perform the followin
6、g tasks. 1.List the primary key. 2.List all the FDs. 3.What normal form is the relation in? Explain. 4.Apply normalization to it incrementally, carrying the normalization process through each of the higher normal forms possible up to 3NF. That is, if the relation were unnormalized, bring it to first
7、 normal form, then bring the first normal form youve just created to second normal form, and then bring the second normal form to third normal form. For each transformation to the next higher normal form X, Explain the steps you took to bring it to the normal form X. Provide the normal form Xs table
8、 structure, primary key(s), and the FDs. Explain why you think it is in the normal form X. For example, if you think there is a partial dependency, fully defend your conclusion by explaining how a column is partially dependent on some other column(s). 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - -
9、 - - - - 名师精心整理 - - - - - - - 第 1 页,共 14 页 - - - - - - - - - That is, if the relation were in an unnormalized form, you would explain the transformation you performed to bring it to first, second, and third normal forms. You would also provide the table structure, the primary key and the FDs for the
10、 first, second, and third normal forms. You would also provide explanation for why you believe it is in first, second, and third normal forms. 4.Convert the following E-R schema into a relational schema using the mapping algorithm specified in this course. Specify key and referential integrity const
11、raints, using directed arcs. Make sure you also identify alternate keys. Label each step of the mapping algorithm. Answer: 1. 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 14 页 - - - - - - - - - Entity: 1.Bank(BankName,BankPhone) (BankPhone is a multi-valued a
12、ttribute.) PK: (BankName) 2.Cutomer(CustID, CustName, PhoneNum) PK: (CustID) AK: (PhoneNum) 3.Branch (BranchName, BranchAddr, BranchPhone, Assets) (BranchPhone is a multi-valued attribute.) PK: ( BranchName) 4.Account (AccountNo, Balance) PK: (AccountNo) 5.Transaction (TID, OperationType, TDateTime)
13、 PK: (TID) Relations: 1.Has: , 1:N, PARTIAL/ TOTAL; 2.Open: , M:N, PARTIAL/ TOTAL; 3.AofBranch: , 1:N, PARTIAL/ TOTAL; 4.TofAccount: , 1:N, PARTIAL/ TOTAL; Assumptions: 1.A new bank can establish no branch. 2.One normal bank establishes one or more braches. 3.A bank has one or more telephones for cu
14、stomers. 4.A customer can open one or more Account. 5.An account must belong to one and only one branch. Bank Account Customer Transaction Branch BankName BankPhone BranchAddr BranchName Has N 1 BranchPhoneAssets CustName PhoneNum CustID AccountNo Balance OperationType TID TDateTime AofBranch TofAcc
15、ounOpen 1 N M 1 1 N 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 14 页 - - - - - - - - - 6.One branch opens one or more accounts. 7.A branch has one or more telephones for customers. 8.An accounts belongs to just one branch; 2. 1.pk:(PartID, SupplierID) 2.FDs:
16、 FD1: PartID-PartName FD2: SupplierID-SupplierName 3. The relation is in the first normal form(1NF). Each attribute of the relation allows a single atomic value, so it is in 1NF. But some none-primary-key attributes, such as PartName and SupplierName, partially dependant on the primary key (as FD1 a
17、nd FD2 show), so it is not in 2NF. 4. Normalization: 1) FD1: PartID-PartName The relation can be decomposited into two relations: PART(PartID, PartName),FDs=PartID-PartName, PK:(PartID); CAN_SUPLY(PartID, SupplierID, SuplierName), FDs=SupplierID-SuplierName), PK:(PartID,SupplierID). The relation PAR
18、T is now in the third normal form because the only none-primary-key attribute PartID, fully (not partially) and directly (not transively) dependants on the primary key PartId. The relation CAN_SUPPLY is still in the first normal because the only none-primary-key attribute PartID, partially dependant
19、s on the primary key (PartId,SupplierID). 2)CAN_SUPLY(PartID, SupplierID, SuplierName), FDs=SupplierID-SuplierName): For SupplierID-SuplierName, the relation can be decomposited into two relations: SUPPLIER(SupplierID,SupplierName),FDs=SupplierID-SuplierName, PK:(SupplierID); CAN_SUPLY(PartID, Suppl
20、ierID), FDs=, PK:(PartID,SupplierID). Both relations are in the third normal form, because for each one, no none-primary-key attribute patially or transively dependants on its primary key. 3) Three 3NF relations: PART(PartID, PartName),FDs=PartID-PartName, PK:(PartID); SUPPLIER(SupplierID,SupplierNa
21、me),FDs=SupplierID-SuplierName, PK:(SupplierID); CAN_SUPLY(PartID, SupplierID), FDs=, PK:(PartID,SupplierID). 3. 九步算法:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 14 页 - - - - - - - - - 三种异常:修改异常、插入异常、删除异常。S1:每一强实体用一个新表表示S2:处理参与1:1 标识联系的弱实体W S3:处理参与1:N 标识联系的弱
22、实体W S4:处理每一二元1:1 联系 R,确定参与该联系的实体型对应的表S和 T,将 T 的主码作为外码加入S,将 R 的所有简单属性和复合属性成分作为列加入S。S5:处理每一二元1:N 联系 R,确定处于 N 端的实体表S 和 1 端的实体表T,将 T 的主码作为外码加入S,将 R的所有简单属性和复合属性成分作为列加入S. S6:处理每一N 元联系(包括二元M:N 联系 ),对应新表T,将 R 的所有简单属性和复合属性成分作为列加入T,将参与联系的(强、弱)实体型的主码作为外码加入T,所有外码组合,共同构成T 的主码 . S7:处理每一多值属性A,将 A 的所有简单属性和复合属性成分作为列
23、加入T,将 A 所属的实体或联系型的主码作为外码加入T,将(上步得到的)外码和A 对应的属性确定为T 的主码 . S8:处理每一非相交子类的特化. S9:处理每一相交子类的特化. S1: T1: Coach(Name,Age) PK:(Name) T2: Team(Name) PK:(Name) T3: Player(Name,Age) PK:(Name) T4: Game(Number,Score,Time,Date) PK:(Number) T5: Stadium(Name,Size,Location)PK:(Name) S2:处理参与1:1 标识符联系的弱实体S3:处理参与1:N 标识符
24、联系的弱实体S4: T2: Team(Name,CoachName) PK:(Name) FK:CoachName references Coach(Name) S5: T3: Player(Name,Age,TeamName) PK:(Name) FK:TeamName references Teach(Name) S6: T6: Practice(TeamName,StadiumName,Date) PK:(TeamName,StadiumName) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - -
25、- - - - 第 5 页,共 14 页 - - - - - - - - - FK:TeamName references Teach(Name) FK:StadiumName references Stadium(StadiumName) T7: PlaysWith(HostName,VisitorName,GameNumber) PK:(GameNumber) FK:HostName references Team(name) FK:VisitorName references Team(name) S7: T8: TeamColor(TeamName,color) PK:(TeamNam
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年数据库ER练习归纳 2022 数据库 ER 练习 归纳
限制150内