4 Chapter 4 Entity Relationship (E-R) Modeling Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel Developing an E-R Diagram The process of database design is an iterative rather than a linear or sequential process. 4 It usually begins with a general narrative of the organization’s operations and procedures. The basic E-R model is graphically depicted and presented for review. The process is repeated until the end users and designers agree that the E-R diagram is a fair representation of the organization’s activities and functions. Developing an E-R Diagram Tiny College Database (1) 4 Tiny College (TC) is divided into several schools. Each school is administered by a dean. A 1:1 relationship exists between DEAN and SCHOOL. Each dean is a member of a group of administrators (ADMINISTRATOR). Deans also hold professorial rank and may teach a class (PROFESSOR). Administrators and professors are also Employees. (Figure 4.38) 4 Developing an E-R Diagram Tiny College Database (2) Each school is composed of several departments. The smallest number of departments operated by a school is one, and the largest number of departments is indeterminate (N). Each department belongs to only a single school. 4 Figure 4.40 The First Tiny College ERD Segment Developing an E-R Diagram Tiny College Database (3) Each department offers several courses. 4 Figure 4.41 The Second Tiny College ERD Segment Developing an E-R Diagram 4 Tiny College Database (4) A department may offer several sections (classes) of the same course. A 1:M relationship exists between COURSE and CLASS. CLASS is optional to COURSE Figure 4.42 The Third Tiny College ERD Segment Developing an E-R Diagram Tiny College Database (5) 4 Each department has many professors assigned to it. One of those professors chairs the department. Only one of the professors can chair the department. DEPARTMENT is optional to PROFESSOR in the “chairs” relationship. Figure 4.43 The Fourth Tiny College ERD Segment Developing an E-R Diagram Tiny College Database (6) 4 Each professor may teach up to four classes, each one a section of a course. A professor may also be on a research contract and teach no classes. Figure 4.44 The Fifth Tiny College ERD Segment Developing an E-R Diagram Tiny College Database (7) 4 A student may enroll in several classes, but (s)he takes each class only once during any given enrollment period. Each student may enroll in up to six classes and each class may have up to 35 students in it. STUDENT is optional to CLASS. Figure 4.45 The Sixth Tiny College ERD Segment Developing an E-R Diagram Tiny College Database (8) 4 Each department has several students whose major is offered by that department. Each student has only a single major and associated with a single department. Figure 4.46 The Seventh Tiny College ERD Segment Developing an E-R Diagram Tiny College Database (9) 4 Each student has an advisor in his or her department; each advisor counsels several students. An advisor is also a professor, but not all professors advise students. Figure 4.47 The Eighth Tiny College ERD Segment Developing an E-R Diagram Entities for the Tiny College Database 4 SCHOOL COURSE DEPARMENT CLASS EMPLOYEE ENROLL (Bridge between STUDENT and CLASS) PROFESSOR STUDENT Components of the E-R Model 4 Table 4.2 4 Figure 4.48 Developing an E-R Diagram Converting an E-R Model into a Database Structure 4 A painter might paint many paintings. The cardinality is (1,N) in the relationship between PAINTER and PAINTING. Each painting is painted by one (and only one) painter. A painting might (or might not) be exhibited in a gallery; i.e., the GALLERY is optional to PAINTING. 4 Figure 4.49 Developing an E-R Diagram Summary of Table Structures and Special Requirements for the ARTIST database 4 PAINTER(PRT_NUM, PRT_LASTNAME, PRT_FIRSTNAME, PRT_INITIAL, PTR_AREACODE, PRT_PHONE) GALLERY(GAL_NUM, GAL_OWNER, GAL_AREACODE, GAL_PHONE, GAL_RATE) PAINTING(PNTG_NUM, PNTG_TITLE, PNTG_PRICE, PTR_NUM, GAL_NUM) A Data Dictionary for the ARTIST Database 4 Table 4.3 Developing an E-R Diagram SQL Commands to Create the PAINTER Table 4 CREATE TABLE PAINTER ( PTR_NUM CHAR(4) PRT_LASTNAME CHAR(15) PTR_FIRSTNAMECHAR(15), PTR_INITIAL CHAR(1), PTR_AREACODE CHAR(3), PTR_PHONE CHAR(8), PRIMARY KEY(PTR_NUM)); NOT NULL UNIQUE, NOT NULL, Developing an E-R Diagram SQL Commands to Create the GALLERY Table 4 CREATE TABLE GALLERY ( GAL_NUM CHAR(4) NOT NULL UNIQUE, GAL_OWNER CHAR(35), GAL_AREACODE CHAR(3) NOT NULL, GAL_PHONE CHAR(8) NOT NULL, GAL_RATE NUMBER(4,2), PRIMARY KEY(GAL_NUM)); Developing an E-R Diagram SQL Commands to Create the PAINTING Table 4 CREATE TABLE PAINTING ( PNTG_NUM CHAR(4) NOT NULL UNIQUE, PNTG_TITLE CHAR(35), PNTG_PRICE NUMBER(9,2), PTR_NUM CHAR(4) NOT NULL, GAL_NUM CHAR(4), PRIMARY KEY(PNTG_NUM) FOREIGN KEY(PTR_NUM) RERERENCES PAINTER ON DELETE RESTRICT ON UPDATE CASCADE, FOREIGN KEY(GAL_NUM) REFERENCES GALLERY ON DELETE RESTRICT ON UPDATE CASCADE); Developing an E-R Diagram General Rules Governing Relationships among Tables 4 1.All primary keys must be defined as NOT NULL. 2.Define all foreign keys to conform to the following requirements for binary relationships. 1:M Relationship Weak Entity M:N Relationship 1:1 Relationship Developing an E-R Diagram 1:M Relationships 4 Create the foreign key by putting the primary key of the “one” (parent) in the table of the “many” (dependent). Foreign Key Rules: Null On Delete On Update If both sides are MANDATORY NOT NULL RESTRICT CASCADE If both sides are OPTIONAL NULL ALLOWED SET NULL CASCADE If one side is OPTIONAL and the other MANDATORY NULL ALLOWED SET NULL or RESTRICT CASCADE Developing an E-R Diagram Weak Entity 4 Put the key of the parent table (strong entity) in the weak entity. The weak entity relationship conforms to the same rules as the 1:M relationship, except foreign key restrictions: NOT NULL ON DELETE CASCADE ON UPDATE CASCADE M:N Relationship Convert the M:N relationship to a composite (bridge) entity consisting of (at least) the parent tables’ primary keys. Developing an E-R Diagram 1:1 Relationships 4 If both entities are in mandatory participation in the relationship and they do not participate in other relationships, it is most likely that the two entities should be part of the same entity. Developing an E-R Diagram CASE 1: M:N, Both Sides MANDATORY 4 Figure 4.50 Entity Relationships, M:N, Both Sides Mandatory Developing an E-R Diagram CASE 2: M:N, Both Sides OPTIONAL 4 Figure 4.51 Entity Relationships, M:N, Both Sides Optional Developing an E-R Diagram CASE 3: M:N, One Side OPTIONAL 4 Figure 4.52 Entity Relationships, M:N, One Side Optional Developing an E-R Diagram CASE 4: 1:M, Both Sides MANDATORY 4 Figure 4.53 Entity Relationships, 1:M, Both Sides Mandatory Developing an E-R Diagram CASE 5: 1:M, Both Sides OPTIONAL 4 Figure 4.54 Entity Relationships, 1:M, Both Sides Optional Developing an E-R Diagram CASE 6: 1:M, Many Side OPTIONAL, One Side MANDATORY 4 Figure 4.55 Entity Relationships, 1:M, Many Side Optional, One Side Mandatory Developing an E-R Diagram CASE 7: 1:M, One Side OPTIONAL, One Side MANDATORY 4 Figure 4.56 Entity Relationships, 1:M, One Side Optional, Many Side Mandatory Developing an E-R Diagram CASE 8: 1:1, Both Sides MANDATORY 4 Figure 4.57 Entity Relationships, 1:1, Both Sides Mandatory Developing an E-R Diagram CASE 9: 1:1, Both Sides OPTIONAL 4 Figure 4.58 Entity Relationships, 1:1, Both Sides Optional Developing an E-R Diagram CASE 10: 1:1, One Side OPTIONAL, One Side MANDATORY 4 Figure 4.59 Entity Relationships, 1:1, One Side Optional, One Side Mandatory Developing an E-R Diagram CASE 11: Weak Entity (Foreign key located in weak entity) 4 Figure 4.60 Entity Relationships, Weak Entity Developing an E-R Diagram CASE 12: Multivalued Attributes 4 Figure 4.61 Entity Relationships, Multivalued Attributes 4 The Chen Representation of the Invoicing Problem 4 Figure 4.63 The Crow’s Foot Representation of the Invoicing Problem 4 Figure 4.64 4 Figure 4.65 The Rein85 Representation of the Invoicing Problem The IDEF1X Representation of the Invoicing Problem 4 Figure 4.66 The Challenge of Database Design: Conflicting Goals Conflicting Goals 4 Design standards (design elegance) Processing speed Information requirements Design Considerations Logical requirements and design conventions End user requirements; e.g., performance, security, shared access, data integrity Processing requirements Operational requirements Documentation