* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Relationship Sets
Survey
Document related concepts
Transcript
Chapter 2: Entity-Relationship Model Entity Sets Relationship Sets Design Issues Mapping Constraints E-R Diagram Keys Extended E-R Features Design of an E-R Database Schema Reduction of an E-R Schema to Tables Database System Concepts 2.1 ©Silberschatz, Korth and Sudarshan Entity Sets A database can be modeled as: a collection of entities, relationship among entities. An entity is an object that exists and is distinguishable from other objects. Example: specific person, company, event, plant Entities have attributes Example: people have names and addresses An entity set is a set of entities of the same type that share the same properties. Example: set of all persons, companies, trees, holidays Database System Concepts 2.2 ©Silberschatz, Korth and Sudarshan Entity Sets customer and loan customer-id customer- customer- customername street city Database System Concepts 2.3 loan- amount number ©Silberschatz, Korth and Sudarshan Attributes An entity is represented by a set of attributes, that is descriptive properties possessed by all members of an entity set. Example: customer = (customer-id, customer-name, customer-street, customer-city) loan = (loan-number, amount) Domain – the set of permitted values for each attribute Attribute types: Simple and composite attributes. Single-valued and multi-valued attributes E.g. multivalued attribute: phone-numbers Derived attributes Can be computed from other attributes E.g. age, given date of birth Database System Concepts 2.4 ©Silberschatz, Korth and Sudarshan Composite Attributes Database System Concepts 2.5 ©Silberschatz, Korth and Sudarshan Relationship Sets A relationship is an association among several entities Example: Hayes customer entity depositor relationship set A-102 account entity A relationship set is a mathematical relation among n 2 entities, each taken from entity sets {(e1, e2, … en) | e1 E1, e2 E2, …, en En} where (e1, e2, …, en) is a relationship Example: (Hayes, A-102) depositor Database System Concepts 2.6 ©Silberschatz, Korth and Sudarshan Relationship Set borrower Database System Concepts 2.7 ©Silberschatz, Korth and Sudarshan Relationship Sets (Cont.) An attribute can also be property of a relationship set. For instance, the depositor relationship set between entity sets customer and account may have the attribute access-date Database System Concepts 2.8 ©Silberschatz, Korth and Sudarshan Degree (or arity) of a Relationship Set Refers to number of entity sets that participate in a relationship set. Relationship sets that involve two entity sets are binary (or degree two). Relationship sets may involve more than two entity sets. E.g. Suppose employees of a bank may have jobs (responsibilities) at multiple branches, with different jobs at different branches. Then there is a ternary relationship set between entity sets employee, job and branch Relationships between more than two entity sets are rare. Most relationships are binary. (More on this later.) Database System Concepts 2.9 ©Silberschatz, Korth and Sudarshan Mapping Cardinalities Express the number of entities to which another entity can be associated via a relationship set. Most useful in describing binary relationship sets. For a binary relationship set the mapping cardinality must be one of the following types: One to one One to many Many to one Many to many Database System Concepts 2.10 ©Silberschatz, Korth and Sudarshan Mapping Cardinalities One to one One to many Note: Some elements in A and B may not be mapped to any elements in the other set Database System Concepts 2.11 ©Silberschatz, Korth and Sudarshan Mapping Cardinalities Many to one Many to many Note: Some elements in A and B may not be mapped to any elements in the other set Database System Concepts 2.12 ©Silberschatz, Korth and Sudarshan Mapping Cardinalities affect ER Design Can make access-date an attribute of account, instead of a relationship attribute, if each account can have only one customer I.e., the relationship from account to customer is many to one, or equivalently, customer to account is one to many Database System Concepts 2.13 ©Silberschatz, Korth and Sudarshan