2. Entity Relationship(ER) Model DATABASE MANAGEMENT SYSTEMS
THE RELATİON MODEL Relational databases are based on the relational model of data. Code defined the term  ‘data model’ to consist of there element: Definitions of the structure of the data Definition of the types of operations allowed on the data Integrity constraints used to ensure the data is as accurate as possible. For example, constraints can be specified to ensure that data fails within a set of values.
BASİC CONCEPT A database can be modeled as a collection of  entities relationship  among entities An  entity  is an object that exists independently and is distinguishable from other objects. an employee, a company, a car, etc. color, age, etc. are not entities A  relation  is a table or flat file with columns and rows which has certain properties A  tuple  is a row of a relation and represents an instance of a relation
An  attribute  is a named column of a relation  A domain is the set of allowable values for one or more attributes The  degree  of a relation is the number of attributes it contains  The  cardinality  of relation is the number of tuples it contains BASİC CONCEPT
AN ENTİTY SET İS A SET OF ENTİTİES OF THE SAME TYPE E.g., a set of employees, a set of departments   also called entity types Employee Entity Type : e 1 e 2 e 3 Entity set: … The actual employees A general specification
ATTRİBUTES Properties of an entity or a relationship name, address, weight, height are properties of a  Person  entity. date of marriage is a property of the relationship  Marriage . ER models are usually represented graphically. The language we are going to use represents entity types as rectangles .
TYPES OF ATTRİBUTES Simple attribute : contains a single value. Employee EmpNo Name Address
CONPOSİTE ATTRİBUTE:CONSİST OF SEVERAL COMPONENTS Country Employee Address Street City EmpNo Name
MULTİVALUE ATTRİBUTE :CONTAİNS   MORE THAN ONE VALUE Employee Phone Email
DERİVED ATTRİBUTE:COMPUTED FROM  OTHER ATTRİBUTES Employee Age Bonus
KEY ATTRİBUTES A set of  attributes  that can  uniquely  identify an entity ERD tabular Employee EmpNo Name EmpNo Name . . . 123456 John Wong . . . 456789 . . . 146777 . . . John Wong Mary Cheung
KEY ATTRİBUTES Composite key :  Name  or  Address  alone cannot uniquely identify an employee, but together they can! Employee Name Address
KEY ATTRİBUTES An entity may have more than  one  key e.g.,  EmpNo , ( Name, Address ) only one is selected as the key. (sometimes called the  Primary key ) In many cases, a key is artificially introduced (e.g., EmpNo) to make applications more efficient. Employee EmpNo Name Address
RELATİONSHİP A relationship is an association between one or more entities. Given a  customer  and an  account , the relationship  depositor  between them indicates that the customer  deposits  money into the account. The language we are going to use represents entity types relationships as diamonds.
A relationship may have attributes A  relationship type  or relationship  set identifies   relationships of the same properties Question: Could Amount be an attribute of Customer? Or an attribute of Account? What does Amount mean? How many values you want to keep? Customer depositor Account Amount CusNo Name AccNo Name
REPRESENTATİON OF RELATİONSHİP Tabular: Depositor Note: this is NOT an ERD The amount in  each  deposit. CustomerNo A123456 B456789 B456789 AccountNo A-101 A-201 A-302 Amount 500 900 700 A123456 B456789 A-101 A-201 A-202 500 900 700 Graph :
TRY AN ALTERNATİVE  Represent Amount as an attribute of Account AccountNo A-101 A-201 A-302 Name Current Saving Current Amount 500 900 700 Consider Amount as the balance of an account (I.e., one value per account) or as the last deposit amount. “ Multivalue” attribute, though allowed in ER model, is difficult to implement
CARDİNALİTY OF RELATİONSHİPS Number of entities that  can  be associated together in a relationship set. 1 : 1   One entity of type X can be associated with, at most, one entity of type Y. One entity of type Y can be associated with, at most, one entity of type X. Customer Loan Borrows A customer can borrow 1 loan and vice versa
1 :  N  Customer Loan One entity of type  X  can be associated with many entities of type  Y . One entity of type  Y  can be associated with, at most, one entity of type  X .  Customer Borrow Loan A Customer can borrow more than 1 loan,  whereas a loan has only one borrower.
N  :  M One entity of type  X  can be associated with many entities of type  Y . One entity of type  Y  can be associated with many entities of type  X . Customer Borrow loan A customer can borrow more than one loan A loan can have more than one borrower.
NOTES Cardinality specifies the maximum condition. 1 : 1    N : M 1 : N  The minimum is specified by  existence constraints  (explained later) Conditions must be satisfied at all times
DEGREES OF A RELATİONSHİPS SET  Number of entity sets participating in a relationship set. Relationships with degree >3 is very rare. Hint: translate a ternary relationship into one sentence. Can you break it up into two or more sentences? A customer borrows a loan from a branch. A customer borrows a loan. A loan is made at a branch. Customer Loan Borrow - Binary Customer Loan Borrow Branch - Ternary
RECURSİVE RELATİONSHİPS A relationship relating entitles of the same type Employees play different roles:  manager  or  worker Without role names, you can’t tell whether 1 employee manages n other employees or n employees manages 1 employee You can “unfold” a recursive relationship to understand it: manager worker Employee work-for Employee manager worker Employee work-for
TABULAR REPRESENTATİON OF RECURSİVE   RELATİONSHİPS Without Role Names With Role Names Where ManagerNo and WorkerNo are Valid EmployeeNo ManagerNo WorkerNo A1234 A6543 A1234 A8734 EmployeeNo EmployeeNo A1234 A8734 A1234 A6543
OPTİONAL VERSUS MANDATORY Assume there is an entity type called  person , and entity subtypes called  customer  and  employee . When a person is created, the designer of the database has two options: mandatory  He/she can demand that the person be classified  as one of the subtypes.  optional  He/she can allow a person to be created without  classifying the person as any subtype.
OPTİONAL VERSUS MANDATORY Neither one is preferable to the other. The proper one to choose depends on the business situation. Mandatory sub-typing is represented by creating a double line from the super-type ( person  in the following ER diagram) to the circle.  Optional sub-typing is represented by leaving a single line from the super-type to the circle.
AGGREGATİON OF ENTİTY TYPES Subtypes are generally thought of in terms of  X is a Y  (which is why these are commonly referred to as  is-a  relationships). Another type of relationship that needs to be represented in a database is the  part of  relationship, more formally called  aggregation . When an entity is made up of several different types of other entities, an aggregation relationship may be called for.
AGGREGATİON OF ENTİTY TYPES Consider the relationship between a car and its engine and body. The engine and body are both part of the car. The relationship is represented as follows in an ER diagram.
PARALLEL RELATİONSHİPS Two entities can have more than one type of relationship. This is not surprising; further, it is not difficult to represent in a database or in an ER diagram. Consider the entity types person and insurance policy and the relationships between them of pays for and is insured under.
PARALLEL RELATİONSHİPS A person pays for zero or more insurance policies. An insurance policy is paid for by exactly one person.  A person is insured by zero or more insurance policies. An insurance policy insures one or more persons.
EXİSTENCE DEPENDENCE The existence of an entity depends on the existence of another entity Customer Loan loan borrow CusNo LoanNo A loan cannot exist if there is no borrower.
WEAK ENTİTİES A weak entity  cannot be identified with its own attributes    no key A weak entity  implies existence dependency but NOT vice versa
LoanNo Amount Date_pay PaymentNo Payment A loan may have 240 payments, each identified by a payment no 1 - 240. The  PaymentNo  is unique given a particular loan but not unique globally PaymentNo  is called partial key The primary key of Payment is the combination of   LoanNo  and  PaymentNo . Loan payment Question: Why not combine  loan  and  payment  into one entity type? Amount Loan
WEAK ENTİTY VS EXİSTENCE CONSTRAİNTS In the existence constraint example, LoanNo can uniquely identify a Loan in the database so it is not a weak entity. The existence constraint means that you cannot create a Loan record without first knowing who borrowed the loan.
ANOTHER EXAMPLE OF WEAK ENTİTY   TYPE A  child  may not be old enough to have a HKID number Even if he/she has a HKID number, the company may not be interested in keeping it in the database. EmpNo Name Dependent Emp_Dep Age Employee
TERNARY RELATİONSHİPS Customer Loan Borrow Branch A customer borrows a loan from a branch. Customer Loan Borrow Branch Issue A customer borrows a loan. A loan is issued from a branch.
WHAT ARE THE DİFFERENCES? A customer borrows a loan from a branch. A customer borrows a loan. A loan is issued from a branch.
Imagine a bank allows borrowers of the same loan to go to difference branches for signing documents, deposit payments, etc. The two schemes are not the same. The binary relationships capture less information. Adding a third relationship won’t help . Customer Loan Borrow Branch Issue Cus_Br
WHY? Customer, Loan and Branch have a N:M:P relationship N:N:1 relationship can be decomposed (A loan is issued by ONE BRANCH ONLY) John borrows a loan  which  is issued from Wanchai branch A12345 B56789 A12345 A12345 L-001
BİNARY RELATİONSHİPS TO TERNARY? Binary relationships may have different meanings so that they can’t be combined into ternary relationships . You may have a ternary relationship Customer-Loan-Branch and other binary relationships between Customer, Loan and Branch Customer Loan Borrow Branch Issue Buy_stock
A CASE STUDY A primary school student writes a composition about a picnic:   Today is Sep 9, the weather is fine.  My classmates, John, Mary and I go to a picnic in Sai Kung.  Our teacher is Ms Wong Initial Design: Picnic weather destination date Students Name Teacher Name
QUESTİONS ? Why “John”, “Mary”, “Miss Wong” are not in the ER diagram ? What do these names tell us ? What are the keys of Student, Picnic & Teacher ? What are the cardinalities of the relationships ?
Every student has an ID number, it is better to keep it in the database and use it as a key  I bet that there won’t be teachers with the same name; otherwise, I’ll add employee number and use it as a key goes  is N:M, why ?  A picnic has more than one student participating;   also, a student can go to more than 1 picnic. However, this N:M relationship allows a student to go to more than one picnic on the same date leading  is N:1 , why?  Depends on your assumptions I assume a teacher can only lead 1 picnic on a certain date, so given the teacher name and the date, I can identify a picnic Picnic is made a weak entity. I  could  have added a PicnicNo, but it would be very awkward. My solution Question: How to record number of students in a picnic? Student StudentNo Name weather date destination Picnic goes leading Teacher Name
E-R DESİGN DECİSİONS The use of an attribute or entity set to represent an object. Should an address be an attribute or entity? Whether a real-world concept is best expressed by an entity set or a relation set. Should marriage be an entity or relationship? Should picnic be an entity or relationship? The use of a ternary relationship versus a pair of binary relationships. See the borrow-loan-branch example The use of a strong or weak entity set. See the employee-dependent example
E-R DİAGRAM FOR COMPANY DATABASE EMPLOYEE WORKS_FOR MANAGES CONTROLS Startdate DEPARTMENT WORKS_ON PROJECT Hours DEPENDENTS_OF DEPENDENT SUPERVISION supervisee supervisor Fname Minit Lname Name Sex Address Salary Ssn Bdate Number Of Employees Locations Can you translate it back into English? Name Number Name Number Location Relationship Birthdate Sex Name
LİMİTATİONS OF ER MODEL Consider representing Part-time and Full-time employees in the company database: Either you have two entity types will lots of similarity Or you have a single entity type with redundancy for most of the entities within it ER model is extended to support other features such as generalization
REDUCTİON OF AN E-R SCHEMA TO TABLES Primary keys allow entity sets and relationship sets to be expressed uniformly as  tables  which represent the contents of the database. A database which conforms to an E-R diagram can be represented by a collection of tables. Always! Converting an E-R diagram to a table format is the basis for deriving a relational database design from an E-R diagram.
REPRESENTİNG ENTİTY SETS AS TABLES A weak entity set becomes a table that includes a column for the  primary key  of the  identifying strong entity set A strong/regular entity set reduces to a table with the same attributes. Composite key payment loan-no   payment-date payment-no payment-amount L-17 L-15 L-23 5 22 11 10 May 1999 23 May 1999 17 May 1999 50 300 75 customer customer-name   customer-street customer-id Jones Hayes Smith 321-12-3123  677-89-9011  019-28-3746  Main Main North customer-city Harrison Rye Harrison
REPRESENTİNG RELATİONSHİP SETS AS TABLES depositor A many-to-many relationship set is represented as table with  columns for the primary keys of the two participating entity sets,  and any descriptive attributes of the relationship set. customer borrow loan loan-no cust-no share% date cust-name
For 1:N and 1:1 relationships, you can create a table for each relationship But it is more concise to merge the relationship-table with the entity-table on the “N” side customer cust-no   cust-name A12345 B56789 Peter Wong Mary Cheung loan loan-no   L-001 L-002 date Sep 2000 Aug 2001 customer borrow loan cust-no cust-name date loan-no cust-no A12345 B56789 indicates who borrowed the loan
WEAK ENTİTİES Since a weak entity has to include the primary key of the identifying entity, the 1:N relationship is already captured. E.g., The payment table already contains information about the Loan (I.e., loan_no) Already indicates the 1:N relationship between loan-no and payment-no payment loan-no   payment-date payment-no payment-amount L-17 L-17 L-17 5 7 6 10 May 1999 23 May 1999 17 May 1999 50 300 75

Chapter2

  • 1.
    2. Entity Relationship(ER)Model DATABASE MANAGEMENT SYSTEMS
  • 2.
    THE RELATİON MODELRelational databases are based on the relational model of data. Code defined the term ‘data model’ to consist of there element: Definitions of the structure of the data Definition of the types of operations allowed on the data Integrity constraints used to ensure the data is as accurate as possible. For example, constraints can be specified to ensure that data fails within a set of values.
  • 3.
    BASİC CONCEPT Adatabase can be modeled as a collection of entities relationship among entities An entity is an object that exists independently and is distinguishable from other objects. an employee, a company, a car, etc. color, age, etc. are not entities A relation is a table or flat file with columns and rows which has certain properties A tuple is a row of a relation and represents an instance of a relation
  • 4.
    An attribute is a named column of a relation A domain is the set of allowable values for one or more attributes The degree of a relation is the number of attributes it contains The cardinality of relation is the number of tuples it contains BASİC CONCEPT
  • 5.
    AN ENTİTY SETİS A SET OF ENTİTİES OF THE SAME TYPE E.g., a set of employees, a set of departments  also called entity types Employee Entity Type : e 1 e 2 e 3 Entity set: … The actual employees A general specification
  • 6.
    ATTRİBUTES Properties ofan entity or a relationship name, address, weight, height are properties of a Person entity. date of marriage is a property of the relationship Marriage . ER models are usually represented graphically. The language we are going to use represents entity types as rectangles .
  • 7.
    TYPES OF ATTRİBUTESSimple attribute : contains a single value. Employee EmpNo Name Address
  • 8.
    CONPOSİTE ATTRİBUTE:CONSİST OFSEVERAL COMPONENTS Country Employee Address Street City EmpNo Name
  • 9.
    MULTİVALUE ATTRİBUTE :CONTAİNS MORE THAN ONE VALUE Employee Phone Email
  • 10.
    DERİVED ATTRİBUTE:COMPUTED FROM OTHER ATTRİBUTES Employee Age Bonus
  • 11.
    KEY ATTRİBUTES Aset of attributes that can uniquely identify an entity ERD tabular Employee EmpNo Name EmpNo Name . . . 123456 John Wong . . . 456789 . . . 146777 . . . John Wong Mary Cheung
  • 12.
    KEY ATTRİBUTES Compositekey : Name or Address alone cannot uniquely identify an employee, but together they can! Employee Name Address
  • 13.
    KEY ATTRİBUTES Anentity may have more than one key e.g., EmpNo , ( Name, Address ) only one is selected as the key. (sometimes called the Primary key ) In many cases, a key is artificially introduced (e.g., EmpNo) to make applications more efficient. Employee EmpNo Name Address
  • 14.
    RELATİONSHİP A relationshipis an association between one or more entities. Given a customer and an account , the relationship depositor between them indicates that the customer deposits money into the account. The language we are going to use represents entity types relationships as diamonds.
  • 15.
    A relationship mayhave attributes A relationship type or relationship set identifies relationships of the same properties Question: Could Amount be an attribute of Customer? Or an attribute of Account? What does Amount mean? How many values you want to keep? Customer depositor Account Amount CusNo Name AccNo Name
  • 16.
    REPRESENTATİON OF RELATİONSHİPTabular: Depositor Note: this is NOT an ERD The amount in each deposit. CustomerNo A123456 B456789 B456789 AccountNo A-101 A-201 A-302 Amount 500 900 700 A123456 B456789 A-101 A-201 A-202 500 900 700 Graph :
  • 17.
    TRY AN ALTERNATİVE Represent Amount as an attribute of Account AccountNo A-101 A-201 A-302 Name Current Saving Current Amount 500 900 700 Consider Amount as the balance of an account (I.e., one value per account) or as the last deposit amount. “ Multivalue” attribute, though allowed in ER model, is difficult to implement
  • 18.
    CARDİNALİTY OF RELATİONSHİPSNumber of entities that can be associated together in a relationship set. 1 : 1 One entity of type X can be associated with, at most, one entity of type Y. One entity of type Y can be associated with, at most, one entity of type X. Customer Loan Borrows A customer can borrow 1 loan and vice versa
  • 19.
    1 : N Customer Loan One entity of type X can be associated with many entities of type Y . One entity of type Y can be associated with, at most, one entity of type X . Customer Borrow Loan A Customer can borrow more than 1 loan, whereas a loan has only one borrower.
  • 20.
    N : M One entity of type X can be associated with many entities of type Y . One entity of type Y can be associated with many entities of type X . Customer Borrow loan A customer can borrow more than one loan A loan can have more than one borrower.
  • 21.
    NOTES Cardinality specifiesthe maximum condition. 1 : 1 N : M 1 : N The minimum is specified by existence constraints (explained later) Conditions must be satisfied at all times
  • 22.
    DEGREES OF ARELATİONSHİPS SET Number of entity sets participating in a relationship set. Relationships with degree >3 is very rare. Hint: translate a ternary relationship into one sentence. Can you break it up into two or more sentences? A customer borrows a loan from a branch. A customer borrows a loan. A loan is made at a branch. Customer Loan Borrow - Binary Customer Loan Borrow Branch - Ternary
  • 23.
    RECURSİVE RELATİONSHİPS Arelationship relating entitles of the same type Employees play different roles: manager or worker Without role names, you can’t tell whether 1 employee manages n other employees or n employees manages 1 employee You can “unfold” a recursive relationship to understand it: manager worker Employee work-for Employee manager worker Employee work-for
  • 24.
    TABULAR REPRESENTATİON OFRECURSİVE RELATİONSHİPS Without Role Names With Role Names Where ManagerNo and WorkerNo are Valid EmployeeNo ManagerNo WorkerNo A1234 A6543 A1234 A8734 EmployeeNo EmployeeNo A1234 A8734 A1234 A6543
  • 25.
    OPTİONAL VERSUS MANDATORYAssume there is an entity type called person , and entity subtypes called customer and employee . When a person is created, the designer of the database has two options: mandatory He/she can demand that the person be classified as one of the subtypes. optional He/she can allow a person to be created without classifying the person as any subtype.
  • 26.
    OPTİONAL VERSUS MANDATORYNeither one is preferable to the other. The proper one to choose depends on the business situation. Mandatory sub-typing is represented by creating a double line from the super-type ( person in the following ER diagram) to the circle. Optional sub-typing is represented by leaving a single line from the super-type to the circle.
  • 27.
    AGGREGATİON OF ENTİTYTYPES Subtypes are generally thought of in terms of X is a Y (which is why these are commonly referred to as is-a relationships). Another type of relationship that needs to be represented in a database is the part of relationship, more formally called aggregation . When an entity is made up of several different types of other entities, an aggregation relationship may be called for.
  • 28.
    AGGREGATİON OF ENTİTYTYPES Consider the relationship between a car and its engine and body. The engine and body are both part of the car. The relationship is represented as follows in an ER diagram.
  • 29.
    PARALLEL RELATİONSHİPS Twoentities can have more than one type of relationship. This is not surprising; further, it is not difficult to represent in a database or in an ER diagram. Consider the entity types person and insurance policy and the relationships between them of pays for and is insured under.
  • 30.
    PARALLEL RELATİONSHİPS Aperson pays for zero or more insurance policies. An insurance policy is paid for by exactly one person. A person is insured by zero or more insurance policies. An insurance policy insures one or more persons.
  • 31.
    EXİSTENCE DEPENDENCE Theexistence of an entity depends on the existence of another entity Customer Loan loan borrow CusNo LoanNo A loan cannot exist if there is no borrower.
  • 32.
    WEAK ENTİTİES Aweak entity cannot be identified with its own attributes  no key A weak entity implies existence dependency but NOT vice versa
  • 33.
    LoanNo Amount Date_payPaymentNo Payment A loan may have 240 payments, each identified by a payment no 1 - 240. The PaymentNo is unique given a particular loan but not unique globally PaymentNo is called partial key The primary key of Payment is the combination of LoanNo and PaymentNo . Loan payment Question: Why not combine loan and payment into one entity type? Amount Loan
  • 34.
    WEAK ENTİTY VSEXİSTENCE CONSTRAİNTS In the existence constraint example, LoanNo can uniquely identify a Loan in the database so it is not a weak entity. The existence constraint means that you cannot create a Loan record without first knowing who borrowed the loan.
  • 35.
    ANOTHER EXAMPLE OFWEAK ENTİTY TYPE A child may not be old enough to have a HKID number Even if he/she has a HKID number, the company may not be interested in keeping it in the database. EmpNo Name Dependent Emp_Dep Age Employee
  • 36.
    TERNARY RELATİONSHİPS CustomerLoan Borrow Branch A customer borrows a loan from a branch. Customer Loan Borrow Branch Issue A customer borrows a loan. A loan is issued from a branch.
  • 37.
    WHAT ARE THEDİFFERENCES? A customer borrows a loan from a branch. A customer borrows a loan. A loan is issued from a branch.
  • 38.
    Imagine a bankallows borrowers of the same loan to go to difference branches for signing documents, deposit payments, etc. The two schemes are not the same. The binary relationships capture less information. Adding a third relationship won’t help . Customer Loan Borrow Branch Issue Cus_Br
  • 39.
    WHY? Customer, Loanand Branch have a N:M:P relationship N:N:1 relationship can be decomposed (A loan is issued by ONE BRANCH ONLY) John borrows a loan which is issued from Wanchai branch A12345 B56789 A12345 A12345 L-001
  • 40.
    BİNARY RELATİONSHİPS TOTERNARY? Binary relationships may have different meanings so that they can’t be combined into ternary relationships . You may have a ternary relationship Customer-Loan-Branch and other binary relationships between Customer, Loan and Branch Customer Loan Borrow Branch Issue Buy_stock
  • 41.
    A CASE STUDYA primary school student writes a composition about a picnic: Today is Sep 9, the weather is fine. My classmates, John, Mary and I go to a picnic in Sai Kung. Our teacher is Ms Wong Initial Design: Picnic weather destination date Students Name Teacher Name
  • 42.
    QUESTİONS ? Why“John”, “Mary”, “Miss Wong” are not in the ER diagram ? What do these names tell us ? What are the keys of Student, Picnic & Teacher ? What are the cardinalities of the relationships ?
  • 43.
    Every student hasan ID number, it is better to keep it in the database and use it as a key I bet that there won’t be teachers with the same name; otherwise, I’ll add employee number and use it as a key goes is N:M, why ? A picnic has more than one student participating; also, a student can go to more than 1 picnic. However, this N:M relationship allows a student to go to more than one picnic on the same date leading is N:1 , why? Depends on your assumptions I assume a teacher can only lead 1 picnic on a certain date, so given the teacher name and the date, I can identify a picnic Picnic is made a weak entity. I could have added a PicnicNo, but it would be very awkward. My solution Question: How to record number of students in a picnic? Student StudentNo Name weather date destination Picnic goes leading Teacher Name
  • 44.
    E-R DESİGN DECİSİONSThe use of an attribute or entity set to represent an object. Should an address be an attribute or entity? Whether a real-world concept is best expressed by an entity set or a relation set. Should marriage be an entity or relationship? Should picnic be an entity or relationship? The use of a ternary relationship versus a pair of binary relationships. See the borrow-loan-branch example The use of a strong or weak entity set. See the employee-dependent example
  • 45.
    E-R DİAGRAM FORCOMPANY DATABASE EMPLOYEE WORKS_FOR MANAGES CONTROLS Startdate DEPARTMENT WORKS_ON PROJECT Hours DEPENDENTS_OF DEPENDENT SUPERVISION supervisee supervisor Fname Minit Lname Name Sex Address Salary Ssn Bdate Number Of Employees Locations Can you translate it back into English? Name Number Name Number Location Relationship Birthdate Sex Name
  • 46.
    LİMİTATİONS OF ERMODEL Consider representing Part-time and Full-time employees in the company database: Either you have two entity types will lots of similarity Or you have a single entity type with redundancy for most of the entities within it ER model is extended to support other features such as generalization
  • 47.
    REDUCTİON OF ANE-R SCHEMA TO TABLES Primary keys allow entity sets and relationship sets to be expressed uniformly as tables which represent the contents of the database. A database which conforms to an E-R diagram can be represented by a collection of tables. Always! Converting an E-R diagram to a table format is the basis for deriving a relational database design from an E-R diagram.
  • 48.
    REPRESENTİNG ENTİTY SETSAS TABLES A weak entity set becomes a table that includes a column for the primary key of the identifying strong entity set A strong/regular entity set reduces to a table with the same attributes. Composite key payment loan-no payment-date payment-no payment-amount L-17 L-15 L-23 5 22 11 10 May 1999 23 May 1999 17 May 1999 50 300 75 customer customer-name customer-street customer-id Jones Hayes Smith 321-12-3123 677-89-9011 019-28-3746 Main Main North customer-city Harrison Rye Harrison
  • 49.
    REPRESENTİNG RELATİONSHİP SETSAS TABLES depositor A many-to-many relationship set is represented as table with columns for the primary keys of the two participating entity sets, and any descriptive attributes of the relationship set. customer borrow loan loan-no cust-no share% date cust-name
  • 50.
    For 1:N and1:1 relationships, you can create a table for each relationship But it is more concise to merge the relationship-table with the entity-table on the “N” side customer cust-no cust-name A12345 B56789 Peter Wong Mary Cheung loan loan-no L-001 L-002 date Sep 2000 Aug 2001 customer borrow loan cust-no cust-name date loan-no cust-no A12345 B56789 indicates who borrowed the loan
  • 51.
    WEAK ENTİTİES Sincea weak entity has to include the primary key of the identifying entity, the 1:N relationship is already captured. E.g., The payment table already contains information about the Loan (I.e., loan_no) Already indicates the 1:N relationship between loan-no and payment-no payment loan-no payment-date payment-no payment-amount L-17 L-17 L-17 5 7 6 10 May 1999 23 May 1999 17 May 1999 50 300 75