300 likes | 410 Views
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. Strategy and Analysis.
E N D
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
Strategy and Analysis Design Build and Document Transition Production SYSTEM DEVELOPMENT LIFE CYCLE
Conceptual Data Modeling Function Modeling Database Design Application Design Database Build Application Build Database Development Process Business Requirements Information Process Cross-checking ER model, entity definition Function hierarchy, function definition Module (screen, report, menu, program design) Table, index, view Cross-checking Database Application Operational System
Conceptual Data Modeling Database Development Process Business Information Requirements Business view Systems view Logical Database Design 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
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
Entity Relationship Modeling • Models business,not implementation • Is a well-established technique • Has a robust syntax • Results in easy-to-read diagrams… • ...although they maylook 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
Server CONCEPTUAL DATA MODELS Model of systemin client’s mind Entity model ofclient’s model Table modelof entity model Tables on disk
Database Types ER Model Network Hierarchical Relational
ENTITY RELATIONSHIP MODEL • Create an entity relationship diagram from business specifications or narratives DEPARTMENT #* number * name o location EMPLOYEE #* number * name o job title 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: • “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 Head office Finance Personnel Sales EMPLOYEE DEPARTMENT
EMPLOYEE badge number name date of birth salary Identifying a Unique Instance
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 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, ...
EMPLOYEE JOB ELECTION TICKET RESERVATION ORDER JOB ASSIGNMENT Entity Representation in Diagram • Drawn as a “softbox” • Name singular • Name inside • Neither size, nor position has a special meaning During design, entities usually lead to tables.
Attributes in Diagrams EMPLOYEE*family Name address birth Dateoshoe Sizeo email JOBtitleo 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 Entity Soft box Singular, unique name Uppercase Synonym in parentheses Attribute Singular name Lowercase Mandatory marked with “*” Optional marked with “o” DEPARTMENT #* number * name o location EMPLOYEE #* number * name o job title assigned to composed of Unique Identifier (UID) Primary marked with “#” Secondary marked with “(#)”