Database Design Process. Requirements Collection & Analysis

Similar documents
Database Design Process

ER to Relational Mapping

COSC 304 Introduction to Database Systems. Entity-Relationship Modeling

LELCTURE 4: ENHANCED ENTITY-RELATIONSHIP MODELING (EER)

COMP Instructor: Dimitris Papadias WWW page:

Overview of db design Requirement analysis Data to be stored Applications to be built Operations (most frequent) subject to performance requirement

Chapter 2: Entity-Relationship Model

Entity-Relationship Modelling. Entities Attributes Relationships Mapping Cardinality Keys Reduction of an E-R Diagram to Tables

High Level Database Models

OVERVIEW OF DATABASE DEVELOPMENT

Contents. Database. Information Policy. C03. Entity Relationship Model WKU-IP-C03 Database / Entity Relationship Model

MIS Database Systems Entity-Relationship Model.

CS/INFO 330 Entity-Relationship Modeling. Announcements. Goals of This Lecture. Mirek Riedewald

The Entity-Relationship Model. Overview of Database Design

The Entity-Relationship (ER) Model

Chapter 9: Relational DB Design byer/eer to Relational Mapping Relational Database Design Using ER-to- Relational Mapping Mapping EER Model

High-Level Database Models (ii)

CIS 330: Web-driven Web Applications. Lecture 2: Introduction to ER Modeling

Introduction to Data Management. Lecture #3 (Conceptual DB Design) Instructor: Chen Li

Database Applications (15-415)

Database Management Systems. Chapter 2 Part 2

1/24/2012. Chapter 7 Outline. Chapter 7 Outline (cont d.) CS 440: Database Management Systems

Databases Model the Real World. The Entity- Relationship Model. Conceptual Design. Steps in Database Design. ER Model Basics. ER Model Basics (Contd.

The Entity-Relationship Model

CSE 530A. ER Model. Washington University Fall 2013

Intro to DB CHAPTER 6

ER-to-Relational Mapping

The Entity-Relationship Model. Overview of Database Design. ER Model Basics. (Ramakrishnan&Gehrke, Chapter 2)

Introduction to Database Design. Dr. Kanda Runapongsa Dept of Computer Engineering Khon Kaen University

The Entity-Relationship Model. Steps in Database Design

Roadmap of This Lecture. Weak Entity Sets Extended E-R Features Reduction to Relation Schemas Database Design UML*

The Entity-Relationship (ER) Model 2

Conceptual Data Models for Database Design

COSC 304 Introduction to Database Systems Enhanced Entity-Relationship (EER) Modeling

The Entity-Relationship Model

Introduction to Data Management. Lecture #3 (Conceptual DB Design)

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

CSIT5300: Advanced Database Systems

Enhanced Entity-Relationship (EER) Modeling

Chapter 7: Entity-Relationship Model. Chapter 7: Entity-Relationship Model

Conceptual Design. The Entity-Relationship (ER) Model

CS3200 Database Design Spring 2018 Derbinsky. Entity-Relationship (ER) Diagrams. Lecture 7

Using High-Level Conceptual Data Models for Database Design A Sample Database Application Entity Types, Entity Sets, Attributes, and Keys

Chapter 6: Entity-Relationship Model

Chapter 6: Entity-Relationship Model. E-R Diagrams

Chapter (4) Enhanced Entity-Relationship and Object Modeling

Represent entities and relations with diagrams

CMP-3440 Database Systems

Chapter 7: Entity-Relationship Model

King Fahd University of Petroleum and Minerals

Chapter 7: Entity-Relationship Model

Introduction to Data Management. Lecture #3 (Conceptual DB Design)

DATABASE DESIGN I - 1DL300

E-R Model. Hi! Here in this lecture we are going to discuss about the E-R Model.

Chapter 6: Entity-Relationship Model

The Entity-Relationship Model

Introduction to Database Design

CONCEPTUAL DESIGN: ER TO RELATIONAL TO SQL

Chapter 4. Enhanced Entity- Relationship Modeling. Enhanced-ER (EER) Model Concepts. Subclasses and Superclasses (1)

Chapter 7: Entity-Relationship Model

Chapter 17. Methodology Logical Database Design for the Relational Model

DATABASE DESIGN I - 1DL300

Problem. Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications


Lecture 10 - Chapter 7 Entity Relationship Model

SYLLABUS ADMIN DATABASE SYSTEMS I WEEK 2 THE ENTITY-RELATIONSHIP MODEL. Assignment #2 changed. A2Q1 moved to A3Q1

CSE 880:Database Systems. ER Model and Relation Schemas

Database Design. ER Model. Overview. Introduction to Database Design. UVic C SC 370. Database design can be divided in six major steps:

Relational DB Design by ER- and EER-to-Relational Mapping Design & Analysis of Database Systems

2004 John Mylopoulos. The Entity-Relationship Model John Mylopoulos. The Entity-Relationship Model John Mylopoulos

Course Notes on From Entity-Relationship Schemas to Relational Schemas

OBJECTIVES. How to derive a set of relations from a conceptual data model. How to validate these relations using the technique of normalization.

Conceptual Modeling in ER and UML

The DBMS accepts requests for data from the application program and instructs the operating system to transfer the appropriate data.

Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications. Problem. Faloutsos - Pavlo CMU SCS /615

Entity-Relationship Model &

LAB 2 Notes. Conceptual Design ER. Logical DB Design (relational) Schema Refinement. Physical DD

Overview. Introduction to Database Design. ER Model. Database Design

Introduction to Database Design

Database Management System (15ECSC208) UNIT I: Chapter 2: Relational Data Model and Relational Algebra

The Next Step: Designing DB Schema. Chapter 6: Entity-Relationship Model. The E-R Model. Identifying Entities and their Attributes.

Modeling Your Data. Chapter 2. cs542 1

Advance Database Management System

6.1 RELATIONSHIP CONCEPTS

Entity Relationship Data Model. Slides by: Shree Jaswal

Introduction to Data Management. Lecture #4 (E-R à Relational Design)

Chapter 7: Entity-Relationship Model

Chapter 6: Entity-Relationship Model. The Next Step: Designing DB Schema. Identifying Entities and their Attributes. The E-R Model.

Administrivia. Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications. Course Topics. Problem

Database Management

Chapter 6: Entity-Relationship Model

Data Modeling with the Entity Relationship Model. CS157A Chris Pollett Sept. 7, 2005.

Modeling Databases Using UML

Introduction to Database Design

The Relational Model. Why Study the Relational Model? Relational Database: Definitions

Topic 5: Mapping of EER Diagrams to Relations

Conceptual Database Design. COSC 304 Introduction to Database Systems. Entity-Relationship Modeling. Entity-Relationship Modeling

Databases Model the Real World. The Entity- Relationship Model. Conceptual Design. Steps in Database Design. ER Model Basics. ER Model Basics (Contd.

Database Management Systems. Chapter 3 Part 2

DATABASDESIGN FÖR INGENJÖRER F

Transcription:

Database Design Process Real World Functional Requirements Requirements Analysis Database Requirements Functional Analysis Access Specifications Application Pgm Design E-R Modeling Choice of a DBMS Data Model Mapping Conceptual Design Conceptual Model Logical Design Logical Schema Physical Design 3- Requirements Collection & Analysis Examples of activities: Identification of user groups and application areas Analysis of the operating environment and processing requirements Interviews Caveat: Users change their minds Anticipating users future desires is difficult On the one hand: Adaptive system design is good. On the other hand: Good performance requires freezing important system parameters. 3-2

Conceptual Database Design Conceptual Schema Design: Database structure, semantics, interrelationships, and constraints. A stable description of the database (anticipating users desires). High-level data model may be useful: Expressiveness Simplicity Minimality Diagrammatic 3-3 Conceptual Database Design Design strategies Top-down: start from abstraction and use successive refinements. This is the one we focus on Bottom-up: start from concrete designs to find abstractions. Databases exist; the focus is on integration Iterative: mixed top-down and bottom-up as appropriate 3-4

Logical Database Design Data model mapping Convert the conceptual and external models into the DBMS s high-level data model. The result of this phase is a set of DDL statements in the language of the chosen DBMS. 3-5 Physical Database Design Storage structures and access paths General user requirements examples: Response-time: 95% of transactions must answer within 2 seconds Space utilization: disk should not be more than half empty Throughput: At peak times, must handle 500 transactions per second Separate read-only queries from update transactions Expected frequency of queries and transactions. User requirements on response-time and throughput Optimization techniques: Denormalization, duplication Indexed files for scan and hashing for random access 3-6

Conceptual Design Real World Functional Requirements Requirements Analysis Database Requirements Functional Analysis Conceptual Design Access Specifications Conceptual Schema Logical Design Application Pgm Design Logical Schema Physical Design 3-7 Entity-Relationship Modeling Top-Down Design Determine the entities, attributes, relationships Model them properly Map the resulting E-R model into a data model Conceptual o physical details Easier to detect conceptual design errors One of the logical database design aids Significant amount of research within the database community Easy mappings to other data models possible 3-8

Entity-Relationship Modeling Entity An object that exists in the real world, that has certain properties and that is distinguishable from other objects Example Employee Project Relationship Associations between two or more entities Example Manage Employees manage projects Work Employees work in projects Attribute The properties of entities and relationships Example Employee Work Employee o,, Title, Salary Responsibility, Assignment duration 3-9 Entity Types and Instances Entity type is an abstraction that defines the properties (attributes) of a similar set of entities Example: Employee Project, Title, Salary, Budget, Location Entity instances are instantiations of types Example: Employee Joe, Jim,... Project Compiler design, Accounting,... An entity instance can have multiple entity types Example : If we also want to have an entity type, then every engineer is also an employee Entity class (or entity set) is a set of entity instances that are of the same type Similar arguments can be made for relationships 3-0

Types and Instances Employee Works On Project E J. Doe E2 M. Smith E3 A. Lee E4 J. Miller E5 B. Casey E6 L. Chu E7 R. Davis E8 J. Jones P Instrumentation P2 Database Develop. P3 CAD/CAM P4 Maintenance 3- Attributes Describe properties of entities and relationships An instance of an attribute is a value, drawn from given domain, which presents the set of possible values of the attribute. Types: Single vs multivalued Single: Social insurance number Multi: Lecturers of a course Simple vs composite Composite: Address consisting of Apt#, Street, City, Zip Stored vs derived attribute Stored: Individual mark of a student Derived: Average mark in a class Key attribute - identifier 3-2

Entity identifier One or more of the attributes that can uniquely identify each instance of a given entity type Example Employee Project Employee o Project o Relationship identifier Identifiers A means of identifying each relationship instance. Usually a composite identifier consisting of the identifiers of the two or more entity types that it relates Example Works(Employee o, Project o) 3-3 Entities-Attributes-Relationships SUPPLIER Supplier Supplier o Location are supplied by are supplied by supply are used by Project Project o work on supply use employ WAREHOUSE PART Wareh. Wareh. o Location Part Part Emp. Emp. QTY WGT Addr o o Budget manage Title Salary LOCATIO City DEPARTMET Dept. o Dept. Manager 3-4

E-R otation Entity types and instances Attributes Relationships 3-5 E-R Diagrams Employee o Employee Duration Project o Project WORKS O Title Salary Responsibility Budget oemp Address Location Apt. # City Street # 3-6

Semantics of E-R Models There is a need to capture the semantics of entities and relationships This is done by means of constraints Primary Key One of the identifiers of each entity and relationship Cardinality constraints types of relationships Existence (participation) constraint Referential integrity 3-7 Types of Relationships Fundamental ones One-to-one Many-to-one (one-to-many) Many-to-many Recursive relationships There can be multiple relationships between two entity types 3-8

Each instance of one entity class E can be associated with at most one one instance of another entity class E2 and vice versa. Example : Each employee can work in at most one project and each project employs at most one employee. Employee o One-to-One Relationship Employee Duration Project o Project WORKS O Title Salary Responsibility Budget 3-9 One-to-One Relationship WORKS_O Relationship Instances Set Set 3-20

Each instance of one entity class E can be associated with zero or more instances of another entity class E2, but each instance of E2 can be associated with at most instance of E. Example : Each employee can work in at most one project; each Employee o Many-to-One Relationship project can employ many engineers. Employee Duration Project o Project WORKS O Title Salary Responsibility Budget 3-2 Many-to-One Relationship WORKS_O Relationship Instances Set Set 3-22

Many-to-Many Relationship Each instance of one entity class can be associated with many instances of another entity class, and vice versa. Example : Each employee can work in many projects; each project can employ many employees Employee o Employee Duration Project o Project WORKS O M Title Salary Responsibility Budget 3-23 Many-to-Many Relationship WORKS_O Relationship Instances Set Set 3-24

Recursive Relationships An entity instance of type T is in a relationship with another entity instance of type T. It assumes multiple roles. PART M Manager MAAGES Subordinate Is part of COTAI Consists of 3-25 Multiple Relationships Duration Responsibility Employee o Employee WORKS O Project o Project M Title Salary MAAGES Budget 3-26

Higher-Order Relationships A relationship can link more than one type of entity. Duration Responsibility Supplier o Supplier SUPPLY Project o Project M SUPPLIER M Credit Location PROVIDE Budget Part o L Qty Part PART Wgt 3-27 Constraints Referential integrity When there is a : or M: relationship R between entity types E and E2, if one and exactly one instance of E2 has to exist for a given instance of E, a referential integrity constraint exists Participation constraint Determines whether instances of a given entity can exist without participating in a relationship Cardinality constraint Relationship types (:, M:, M:) and their refinement where the exact number is specified 3-28

Participation Constraints Whether or not the existence of an entity depends on its being related to another entity via the relationship type Total: If entity E i is in total participation with relation R, then every entity instance of E i has to participate via relation R to an entity instance of another entity type E j Partial: Only some entity instances participate M WORKS 3-29 Referential Integrity Assume that for a given project, there has to be one and only one employee managing it WORKS 3-30

Strong and Weak Entity Sets Strong entities: The instances of the entity class can exist on their own, without participating in any relationship. Also called non-obligatory membership. Weak entities: Each instance of the entity class has to participate in a relationship in order to exist. Keys are imported from dependent entity. Also called obligatory membership. Special type of total participation Budget Line RECORDS BUDGET Partial key Expenses Balance 3-3 Connection Traps Be careful in defining and interpreting relationships. For example, consider the following diagram. Can we find, for any given employee, which department he is in? Conversely, can we find, for a given department, which employees are in that department? DIVISIO ICLUDES DEPT DEPARTMET ICLUDES EMP 3-32

Connection Traps One solution is to change the relationship definition. DEPARTMET ICLUDES DEPT ICLUDES EMP DIVISIO 3-33 Connection Traps What will happen if some employees are connected with divisions (e.g., as consultants to division heads), but are not included in any department? DEPARTMET DIVISIO ICLUDES DEPT M COSULTS FOR ICLUDES EMP 3-34

Simplifications Sometimes it is necessary to simplify some of the relationships Some older data models cannot handle them Even object models sometimes require relationships to be binary Some E-R based database design tools permit binary relationships only Types of simplifications Many-to-many Two one-to-many Higher order relationships binary relationships Simplification is done by creating new relationships Connection traps cause significant difficulties 3-35 Many-to-Many Simplification Can not do by simple creation of two : relationships between the two entity classes. :M relationship indicates that there is no dependence between the instances of the two entity classes. : relationship forces a dependency. Consider :M relationship between and WORKS O WROG M M WORKS O EMPLOYS 3-36

Many-to-Many Simplification Treat the relationship as an entity class. Define suitable relationships among three entities. This simplification is not necessary for mapping into the relational model, but is important for mapping into other models. WORKS O M M EMPLOYMET M EMP-EMP EMP-PROJ 3-37 Higher-Order Relationships A relationship can link more than one type of entity. Duration Responsibility Supplier o Supplier SUPPLY Project o Project M SUPPLIER M Credit Location PROVIDE Budget Part o L Qty Part PART Wgt 3-38

Higher-Level Relationships Create an intermediate weak entity type SUPPLIER SUPPLY M SUP-ORD ORDER M ORD-PROJ L ORD-PART PART 3-39 Specialization An entity type E is a specialization of another entity type E2 if E has the same properties of E2 and perhaps even more. E IS-A E2 Generalization or isa MAAGER MAAGER Specialization 3-40

Attribute Inheritance Employee o Employee Salary Title Address Expense Act. Title MAAGER Condo Address Employee o Employee Salary 3-4 Specialization Employee o Employee Salary Title Address isa EGIEER SECRETARY SALESPERSO Project Office Specialty Office Region Car 3-42

Subclass/Superclass This is related to instances of entities that are involved in a specialization/generalization relationship If E specializes E2, then each instance of E is also an instance of E2. Therefore Class(E) Class(E2) Example Class(Manager) Class(Employee) Class(Employee) Class(Engineer) Class(Secretary) Class(Salesperson) 3-43 Specialization Constraints Disjoint Entity instances in a subclass can not exist in more than one subclass E.g., an employee can not be a secretary and an engineer at the same time Overlapping Entity instances can be members of multiple subclasses E.g., an object can both be manufactured and purchased 3-44

Specialization Constraint Combinations disjoint, total d disjoint, partial d overlapping, total o overlapping, partial isa d isa o o 3-45 Total & Partial Disjoint Hourly Rate Employee o Employee Salary Title Address HOURLY_EMP d d SALARIED_EMP EGIEER SECRETARY SALESPERSO Salary Project Office Specialty Office Region Car 3-46

Total Overlapping Part o Part Qty PART Wgt o MAUFACTURED_PART PURCHASED_PART Batch o Drawing o Price 3-47 Aggregation Employee o Employee Salary Title Address MOITORS Until Dept o Dept Since Project o Project DEPARTMET SPOSORS M Budget 3-48

Design Process - Where are we? Conceptual Design Conceptual Schema (ER Model) Logical Design Step : ER-to-Relational Mapping Logical Schema (Relational Model) 3-49 Acount # Income Expenses Example Balance Supplier o SUPPLIER Credit Supplier Location Part o Part o Amount M Made-up of ACCOUT SUPPLY L PART COTAI Date Consists of RECORDS Qty Weight Color Project o M MAAGES Employee o Project WORKS O Title Address Budget Location Duration Responsibility Employee Salary d Project EGIEER Office Office SECRETARY Specialty Car MAUFACTURED_PART PURCHASED_PART Apt. # City SALESPERSO Batch o Drawing o Price Street # Region 3-50

Step - Handling Entities For each regular entity type E in the E-R schema, create a relation R. Include as attributes of R are only the simple attributes of E. For composite attributes of E, just include their constituent simple attributes in R. The key of E becomes the primary key of R. If there are more than one key attributes of E, then choose one as the primary key of R. 3-5 Step Example Create the following relation schemes. The keys are underlined. (EO, EAME,TITLE,SALARY,APT#,STREET,CITY) (PJO,PAME,BUDGET) SUPPLIER(SO,SAME,CREDIT,LOCATIO) PART(PO,PAME,WGT,COLOR) 3-52

Step 2 Weak Entities For each weak entity type W associated with the strong entity type E in the E-R schema, create a relation R. The attributes of R are the simple attributes of W (or the simplified versions of composite attributes). Include among the attributes of R all the key attributes of strong entity E. These serve as foreign keys of R. The primary key of R is the combination of the primary key of E and the partial key of W. 3-53 Step 2 Example Example: Create relation ACCOUT as follows ACCOUT(PJO,ACO,ICOME,EXPESES) foreign key 3-54

Step 3 : Relationships For each : relationship R in E-R schema where the two related entities are E and E 2. Let relations S and T correspond to E and E 2 respectively. Choose one of the relations, preferably one whose participation in R is total (say S ). Include in S the primary key of T as a foreign key. Also, if there are attributes associated with the relationship R, include them in S. You may want to rename the attributes while you do this. 3-55 Step 3 Example For : relationship MAAGES between the and entities. Choose as S, because its participation in the MAAGES relationship is total (every project has a manager, but every employee does not need to manage a project). Then, include in the primary key of. (PJO,PAME,BUDGET,MGR) FOR : relationship RECORDS between and ACCOUT entities: Choose ACCOUT as S (note: ACCOUT is a weak entity, so this is the only choice that makes sense) Include in ACCOUT PJO (which was done in step 2) and BALACE ACCOUT(PJO,ACO,ICOME,EXPESES,BALACE) 3-56

Step 4 : Relationships For each regular (non-weak) binary : relationship type R in the E-R schema identify the relation S that corresponds to the entity type at the -side of the relationship. Let the other relation on the -side be T. Include in S as foreign key the primary key of T. If there are attributes associated with the relationship R, include them in S as well. 3-57 Step 4 Example We have only the WORKS O relationship to consider. It is defined in between and side of the relationship is ; side is Include in Primary key (PJO) of Attributes of the WORKS O relationship (Duration & Responsibility (EO,EAME,TITLE,SALARY,APT#,STREET, CITY,PJO,DURATIO,RESP) 3-58

Step 4 : Relationships If this is a problem, then create a new relation S corresponding to relationship R and include in S the primary keys of the two entities that R links in addition to its own attributes. The primary key of S is the combination of the primary keys of the two entities. In our case, we would have WORKS(EO,PJO,DURATIO,RESP) 3-59 Step 5 M: Relationships For each binary M: relationship type R connecting entities E and E 2 in the E-R schema, create a relation S. Include as foreign keys of S, the primary keys of the two relations that correspond to E and E 2. These attributes, together, form the primary key of S. Also include in S any attributes of the relationship R. 3-60

Step 5 Example We have one M: relationship to consider: COTAI, which is a recursive relationship over the PART entity. We create the following relation: COTAI(PO,PO2,QTY) 3-6 Step 6 Multivalued Attributes For each multivalued attribute A, create a new relation R. The attributes of R are A (if composite, then the simple components). Also include in R the primary key K of the entity that contained A. The primary key of R then becomes K and A together. 3-62

Step 6 Example In our example, we have to create one new relation for the multivalued attribute LOCATIO in. This relation is created as follows: LOC(PJO,LOCATIO) 3-63 Step 7 Higher Order Relationships For each higher order relationship type R connecting E, E 2,, E n in the E-R schema, create a relation S. Include in S the primary keys of the relations corresponding to E, E 2,, E n. Also include in S any attributes of R. The primary key of S is the combination of the primary keys of the relations corresponding to E, E 2,, E n. 3-64

Step 7 Example The only high-order relation is SUPPLY between SUPPLIER, and PART Create relation SUPPLY SUPPLY(SO,PJO,PO,AMOUT,DATE) 3-65 Step 8 Specialization For each specialization with m subclasses {S,, S m } and generalized superclass C, where the attributes of C are {k, A,, A n } (k is the primary key), convert according to the following: ❶ General case: Create a relation T for C with attributes {k, A,, A n } and use k as the primary key. Create one relation U i for each S i. Include in U i all the attributes of S i and k. Use k as the primary key of U i. 3-66

Step 8 Specialization (cont d) ❷ o superclass relation: Create one relation U i for each S i. Include in U i all the attributes of S i and {k, A,, A n }. Use k as the primary key of U i. ❸ For disjoint subclasses: Create a single relation U which contains all the attributes of all S i and {k, A,, A n } and t. Use k as the primary key of U i. The attribute t indicates the type attribute according to which specialization is done. 3-67 Step 8 Specialization (cont d) ❹ For overlapping subclasses: Create a single relation U which contains all the attributes of all S i and {k, A,, A n } and {t,, t m }. Use k as the primary key of U i. The attributes t i are boolean valued, indicating if a tuple belongs to subclass S i. ote: May generate a large number of null values in the relation. 3-68

Step 8 Example Specialization of Relation already exists; option 2 is not valid Specialization is disjoint;option 4 is not valid Options or 3 are possible: Option : EGIEER(EO,, OFFICE) SECRETARY(EO, OFFICE, SPECIALTY) SALESPERSO(EO, CAR, REGIO) Option 3: (EO,EAME,TITLE,SALARY,APT#,STREET,CITY, PJO,DURATIO,RESP,TYPE,,OFFICE, SPECIALTY, CAR,REGIO) 3-69 Step 8 Example (cont d) Specialization of PART Relation PART already exists; option 2 is not valid Specialization is overlapping;option 3 is not valid Options or 4 are possible: Option : MAUFACTURED_PART(PO, BATCH#, DRAWIG#) PURCHASED_PART(PO, PRICE) Option 4: PART(PO,PAME,WGT,COLOR,MA,PURC,BATCH#, DRAWIG#,PRICE) 3-70

Step 9 Aggregation General case: Treat the aggregation relationship as a normal relationship and map to a relation In our case we have no aggregation 3-7 Final Set of Relations (EO, EAME, TITLE, SALARY, APT#, STREET, CITY, PJO, DURATIO, RESP) (PJO, PAME, BUDGET, MGR) SUPPLIER(SO, SAME, CREDIT, LOCATIO) PART(PO, PAME, WGT, COLOR, MA, PURC, BATCH#, DRAWIG#, PRICE)) EGIEER(EO,, OFFICE) SECRETARY(EO, OFFICE, SPECIALTY) SALESPERSO(EO, CAR, REGIO) SUPPLY(SO, PJO, PO, AMOUT, DATE) LOC(PJO, LOCATIO) COTAI(PO, PO, QTY) ACCOUT(PJO, ACO, ICOME, EXPESES, BALACE) 3-72