Overview of Database Development Data Modeling and Relational Database Design
Objectives Describe the phases of the database development process Describe the phases of the application development process Explain conceptual data modeling and database design
SYSTEM DEVELOPMENT LIFE CYCLE Strategy and Analysis Design Build and Document Transition Production
Database Development Process Business Requirements Information Process Conceptual Data Modeling Database Design Database Build Cross-checking Function Modeling Application Design Application Build ER model, entity definition Function hierarchy, function definition Module (screen, report, menu, program design) Table, index, view Cross-checking Database Application Operational System
Database Development Process Business Information Requirements Conceptual Data Modeling Business view Logical Database Design Systems view Physical Database Build Operational Database
Terminology CONCEPTUAL LOGICAL (Business view) (Systems view) ANALYSIS DESIGN ENTITY TABLE RELATIONSHIP FOREIGN KEY ATTRIBUTE COLUMN PRIMARY KEY UNIQUE IDENTIFIER UNIQUE KEY
Information Models Organize thought processes Accurately model business data Communicate with stakeholders Analyze the scope Provide sound basis for system design
Goals of Conceptual Data Modeling Robust syntax User communication Ease of development Definition of scope Integration of multiple applications
Modeling Basic Entities and Attributes
Overview Why conceptual modeling? Introduction of the Key role players: Entities Attributes Relationships
Why Create a Conceptual Model? It describes exactly the information needs of the business It facilitates discussion It helps to prevent mistakes, misunderstanding It forms important “ideal system” documentation It forms a sound basis for physical database design It is a very good practice with many practitioners
Conceptual Model Between Dream and Reality...
Entity Relationship Modeling Models business, not implementation Is a well-established technique Has a robust syntax Results in easy-to-read diagrams… ...although they may look rather complex at first sight
Goals of Entity Relationship Modeling Capture all required information Information appears only once Model no information that is derivable from other information already modeled Information is in a predictable, logical place
CONCEPTUAL DATA MODELS Model of system in client’s mind Entity model of client’s model Table model of entity model Server Tables on disk
Database Types ER Model Hierarchical Network Relational
ENTITY RELATIONSHIP MODEL Create an entity relationship diagram from business specifications or narratives EMPLOYEE #* number * name o job title DEPARTMENT #* number * name o location assigned to composed of Scenario “. . . Assign one or more employees to a department . . .” “. . . Some departments do not yet have assigned employees . . .”
Entity An Entity is: Examples: objects, events “Something” of significance to the business about which data must be known. A name for the things that you can list. Usually a noun. Examples: objects, events Entities have instances.
Identify and Model Entities Identify a noun Is it significant? Is there information about it that the business needs to keep? Is it a group or an instance? Name the entity Write a description of it Identify a few attributes Draw a soft box for it
Entity Instances EMPLOYEE DEPARTMENT Head office Personnel Finance Sales EMPLOYEE DEPARTMENT
Identifying a Unique Instance EMPLOYEE badge number name date of birth salary
Entities and Instances PERSON PRODUCT PRODUCT TYPE EMPLOYMENT CONTRACT JOB SKILL LEVEL TICKET RESERVATION PURCHASE ELECTION PRINTER PREFERENCE DOCUMENT VERSION Mahatma Gandhi 2.5 x 3.5 mm copper nail Nail My previous contract Violinist Fluent Tonight: Hamlet in the Royal The CD I bought yesterday For parliament next fall …
Entities and Sets An entity represents a set of instances that are of interest to a particular business. JOB manager cook waitress dish washer financial controller porter waiter piano player
Attribute Also represents something of significance to the business Is a single valued property detail of an entity Is a specific piece of information that: Describes Quantifies Qualifies Classifies Specifies an entity.
Attribute Examples Entity Attribute EMPLOYEE CAR ORDER JOB TRANSACTION EMPLOYMENT CONTRACT Attribute Family Name, Age, Shoe Size, City, Email, … Model, Weight, Catalog Price, … Order Date, Ship Date, … Title, Description, ... Amount, Transaction Date, … Start Date, Salary, ...
Entity Representation in Diagram Drawn as a “softbox” Name singular Name inside Neither size, nor position has a special meaning EMPLOYEE TICKET RESERVATION JOB ASSIGNMENT JOB ORDER ELECTION During design, entities usually lead to tables.
Attributes in Diagrams EMPLOYEE * family Name address birth Date o shoe Size o email JOB title o description * o * * Mandatory attribute, that is, known and available for every instance Optional attribute, that is, unknown or unimportant to know for some instances o During design, attributes lead to columns.
ENTITY RELATIONSHIP MODELING CONVENTIONS Soft box Singular, unique name Uppercase Synonym in parentheses Attribute Singular name Lowercase Mandatory marked with “*” Optional marked with “o” EMPLOYEE #* number * name o job title DEPARTMENT #* number * name o location assigned to composed of Unique Identifier (UID) Primary marked with “#” Secondary marked with “(#)”