Lecture 5 STRUCTURED ANALYSIS. PB007 So(ware Engineering I Faculty of Informa:cs, Masaryk University Fall Bühnová, Sochor, Ráček

Similar documents
Represent entities and relations with diagrams

IS 263 Database Concepts

Applied Databases. Sebastian Maneth. Lecture 5 ER Model, Normal Forms. University of Edinburgh - January 30 th, 2017

4. Entity Relationship Model

Slide 1 Welcome to Fundamentals of Health Workflow Process Analysis and Redesign: Process Mapping: Entity-Relationship Diagrams. This is Lecture e.

Introduction to Database. Dr Simon Jones Thanks to Mariam Mohaideen

Entity Relationship Modelling

Entity Relationship Diagram (ERD) Dr. Moustafa Elazhary

Data about data is database Select correct option: True False Partially True None of the Above

Data Analysis 1. Chapter 2.1 V3.1. Napier University Dr Gordon Russell

ER DIAGRAM ER) diagram, a graphical representation of entities and their relationships to each other, typically used in computing in regard to the

CS403- Database Management Systems Solved MCQS From Midterm Papers. CS403- Database Management Systems MIDTERM EXAMINATION - Spring 2010

Applied Databases. Sebastian Maneth. Lecture 5 ER Model, normal forms. University of Edinburgh - January 25 th, 2016

IS 263 Database Concepts

A l Ain University Of Science and Technology

Redundancy:Dependencies between attributes within a relation cause redundancy.

Chapter : Analysis Modeling

XV. The Entity-Relationship Model

Entity Relationship Diagram (ERD): Basics

Informal Design Guidelines for Relational Databases

A l Ain University Of Science and Technology

Mapping ER Diagrams to. Relations (Cont d) Mapping ER Diagrams to. Exercise. Relations. Mapping ER Diagrams to Relations (Cont d) Exercise

Class Diagrams in Analysis

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 4 Entity Relationship (ER) Modeling

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

CS403- Database Management Systems Solved Objective Midterm Papers For Preparation of Midterm Exam

System Analysis & design

Ch t 8 Chapter 8. System Models

Chapter 2 ENTITY RELATIONSHIP MODEL

Data Modeling During System Analysis. Logical Data Model Stages. What is Conceptual Database Design? Gathering Information for Conceptual

Normalization Rule. First Normal Form (1NF) Normalization rule are divided into following normal form. 1. First Normal Form. 2. Second Normal Form

Overview of Database Design Process Example Database Application (COMPANY) ER Model Concepts

MIDTERM EXAMINATION Spring 2010 CS403- Database Management Systems (Session - 4) Ref No: Time: 60 min Marks: 38

Distributed Database Systems By Syed Bakhtawar Shah Abid Lecturer in Computer Science

IMS1002/CSE1205 Lectures 1

Requirements Engineering. Contents. Functional requirements. What is a requirement?

CSE 544 Principles of Database Management Systems. Magdalena Balazinska Fall 2009 Lecture 3 - Schema Normalization

Database Principles: Fundamentals of Design, Implementation, and Management Tenth Edition. Chapter 7 Data Modeling with Entity Relationship Diagrams

COMP Instructor: Dimitris Papadias WWW page:


Detailed Data Modelling: Attribute Collection and Normalisation of Data

Database Foundations. 3-9 Validating Data Using Normalization. Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Database Principles: Fundamentals of Design, Implementation, and Management Tenth Edition. Chapter 7 Data Modeling with Entity Relationship Diagrams

CSE 544 Principles of Database Management Systems. Magdalena Balazinska Winter 2009 Lecture 4 - Schema Normalization

Database Systems. Overview - important points. Lecture 5. Some introductory information ERD diagrams Normalization Other stuff 08/03/2015

Full file at

GUJARAT TECHNOLOGICAL UNIVERSITY

Fundamentals of Health Workflow Process Analysis and Redesign

Overview. What is system analysis and design? Tools and models Methodologies

Lecture Notes. Structured Systems Analysis

Normalization. Murali Mani. What and Why Normalization? To remove potential redundancy in design

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

DATABASE MANAGEMENT SYSTEM

UNIT 3 DATABASE DESIGN

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

Software Engineering Prof.N.L.Sarda IIT Bombay. Lecture-11 Data Modelling- ER diagrams, Mapping to relational model (Part -II)

Course on Database Design Carlo Batini University of Milano Bicocca

Lectures 12: Design Theory I. 1. Normal forms & functional dependencies 2/19/2018. Today s Lecture. What you will learn about in this section

Database Normalization

COSC 304 Introduction to Database Systems. Entity-Relationship Modeling

System Analysis And Design Methods ENTITY RELATIONSHIP DIAGRAM (ERD) Prof. Ali Khaleghi Eng. Hadi Haedar

DATABASE MANAGEMENT SYSTEM SHORT QUESTIONS. QUESTION 1: What is database?

Normalisation. Normalisation. Normalisation

Related download: Instructor Manual for Modern Database Management 12th Edition by Hoffer Venkataraman Topi (Case studies included)

Discussion Focus. Figure 1

Äriprotsesside modelleerimine ja automatiseerimine Loeng 7 Valdkonna mudel

Learning outcomes. On successful completion of this unit you will: 1. Understand data models and database technologies.

6 February 2014 CSE-3421M Test #1 w/ answers p. 1 of 14. CSE-3421M Test #1. Design

Data Modelling. Static Data in the organisation Fundamental building block of the system Two perspectives (Process and Data) Of Data.

Course on Database Design Carlo Batini University of Milano Bicocca Part 5 Logical Design

Database Applications (15-415)

Chapter 5: Structural Modeling

From Analysis to Design. LTOOD/OOAD Verified Software Systems

Conceptual Design with ER Model

Database Design Theory and Normalization. CS 377: Database Systems

Detailed Data Modelling. Detailed Data Modelling. Detailed Data Modelling. Identifying Attributes. Attributes

Unit 2 - Data Modeling. Pratian Technologies (India) Pvt. Ltd.

DATABASE DESIGN I - 1DL300

MIS Database Systems Entity-Relationship Model.

2. DatabaseDesign. Master I Software Engineering. Dr. Imed Bouchrika Dept of Mathematics & Computer Science University of Souk-Ahras

Non-overlappingoverlapping. Final outcome of the worked example On pages R&C pages R&C page 157 Fig 3.52

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Relational model. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c)

CSCI 403: Databases 13 - Functional Dependencies and Normalization

Conceptual Data Models for Database Design

Normalization in DBMS

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

Chapter 4. In this chapter, you will learn:

CMP-3440 Database Systems

Software Architectures. Lecture 6 (part 1)

Normalisation Chapter2 Contents

Conceptual Database Design (ER modeling) Chapter Three

V. Database Design CS448/ How to obtain a good relational database schema

Data Modeling Using the Entity-Relationship (ER) Model

Relational Database design. Slides By: Shree Jaswal

Chapter 6: Relational Database Design

DATABASE TECHNOLOGY - 1DL124

Essentials of Database Management (Hoffer et al.) Chapter 2 Modeling Data in the Organization

Entity-Relationship Model &

More on the Chen Notation

Transcription:

Lecture 5 STRUCTURED ANALYSIS PB007 So(ware Engineering I Faculty of Informa:cs, Masaryk University Fall 2015 1

Outline ² Yourdon Modern Structured Analysis (YMSA) Context diagram (CD) Data flow diagram (DFD) ² Data modelling Entity relationship diagram (ERD) ² Relational database design Normalization 2

Yourdon Modern Structured Analysis (YMSA) Lecture 5/Part 1 3

E. Yourdon: Modern structured analysis Environment model Behavioral model Data model Course Student Teacher Events: E1: registered E2: rolled in E3: rolled out E4: started E5: ended Functional decomposition 4

Environment model ² Context diagram is a special case of a data flow diagram, containing a single process representing the whole system. It emphasizes: Terminators people and systems communicating with the system Data received from the environment that shall be processed Data produced by the system and sent to the environment Data stores shared by the system and its terminators System boundary ² Event list is a textual list of stimuli coming from the environment that must be responded by the system. 5

Context diagram example Customers BookProduction invoice, delivery note orders, canceled orders orders of extra prints books to store sell report Book selling eshop invoice Accounting Management Account balance 6

Behavioral model ² Behavioral model specifies the flow of data through the modeled information system, modeling its process aspects. It shows what kinds of information will be input to and output from the system, where the data will come from and go to, and where the data will be stored. It does not show information about the timing of processes, or information about whether processes will operate in sequence or in parallel. ² Data flow diagram (DFD) is a graphical representation of the system as a network of processes that fulfill system functions and communicate through system data. 7

Data flow diagram (DFD) ² DFD consists of four types of elements: Processes Data flows Data stores Terminators Client withdraw command Account verification authorized command Account update transaction record account balance updated account Transactions archive Account 8

Processes and Data flows ² A Process models a part of the system that transforms specific inputs to outputs. ² Name of a process is a single word, phrase or simple sentence, e.g. User authentication. The process name sometimes contains the name of a person, group of people, department or device specifying also the actor or tool of the process. ² A Data flow models a way for data transfer from one part of the system to another. Flows can also model the transfer of physical materials. 9

Data stores ² Data store models a static collection of data that are shared by two or more processes operating in different time. Name is a plural of the data name going to and coming from the data store. order detail query Record order order order Answer queries confirmation Orders reply 10

Terminators ² A Terminator represents an external entity communicating with the system. ² The flows connecting terminators with the processes or data stores inside the system represent the interfaces between the system and its environment. Client withdraw command Account verification authorized command Account update transaction record account balance updated account Transactions archive Account 11

Top-down and bottom-up DFD balancing first balancing 14 processes system DFD 2 processes primary DFD 98 processes What are the disadvantages of the two approaches? 12

Data modelling Lecture 5/Part 2 13

Data modeling ² Defines static data structure, relationships and attributes ² Complementary to the behavior model in structured analysis; models information not covered by DFDs ² More stable and essential information comparing to DFD ² Entity-Relationship modeling Identify system entities both abstract (lecture) and concrete (student) For each entity examine the purpose of the entity, its constituents (attributes) and relationships among entities Check model consistency and include data details 14

Entity Relationship Diagram (ERD) ² Entities and their types ² Relationships and their types ² Attributes and their domains Chen's notation (concept level description) name contact name Crow s Foot notation (implementation level descript.) Teacher name contact date (1,1) gives (0,8) Lecture name date length place length Teacher 1 (1,1) gives N (0,8) Lecture place 15

Entities and Entity types ² An Entity is anything about which we want to store data Identifiable entities can be distinguished by their identity Needed has significant role in the designed system Described by attributes shared by all entities of the same type ² An Entity set is a set of entities of the same Entity type. En#ty You Your neighbor Me This PB007 lecture En#ty type Student Student Teacher Lecture Student Teacher Lecture 16

Relationships and Relationship types ² Entities take part in Relationships (among possibly more than two entities), that can often be identified from verbs or verb phrases. You are attending this PB007 lecture. I am giving this PB007 lecture. ² A Relationship set is a set of relationships of the same Relationship type. A student attends a lecture. A teacher gives a lecture. Lecture gives Student attends Teacher 17

Attributes and Attribute domains ² An Attribute is a fact, aspect, property, or detail about either an entity type or a relationship type. E.g. a lecture might have attributes: time, date, length, place. ² An Attribute type is a type domain of the attribute. If the domain is complex (domain of an attribute address), the attribute may be an entity type instead. time date length place Teacher gives Lecture 18

Attributes or entities? ² To decide whether a concept be modeled as an attribute or an entity type: Do we wish to store any information about this concept (other than an identifying name)? Is it single-valued? E.g. objectives of a course are they more than one? If just one, how complex information do we want to store about it? ² General guidelines: Entities can have attributes but attributes have no smaller parts. Entities can have relationships between them, but an attribute belongs to a single entity. 19

Relationship-type degree 1 1 Manager leads Department Every manager leads exactly one department. Every department is led by exactly one manager. 1 N Edition plan contains Book title Every edition plan contains one or more book titles. Every book title is part of exactly one edition plan. M N Producer produces Product Every producer produces one or more products. Every product is produced by one or more producers. 20

Relationship-type degree Mandatory relationship 1 N Painter drew Painting Optional relationship M Employee works on N Project (0,M) (0,N) Recursive relationship Module N 1 consists of 21

Cardinality ratio ² Cardinality ratio of a relationship type describes the number of entities that can participate in the relationship. ² One to one 1:1 Each lecturer has a unique office. ² One to many 1:N A lecturer may tutor many students, but each student has just one tutor. ² Many to many M:N Each student takes several modules, and each module is taken by several students. 22

More relationships between two entities M Product M offers delivered N Supplier N ² Relationship offers has attributes: payment conditions, due date. ² Relationship delivered has attributes: delivery note details. 23

Relationships among more than two entities Buyer 1 Seller 1 negotiate price 1 Agent 1 Buyer s lawyer M negotiate conditions N Seller s lawyer 24

Association entity M N Customer buys Product association entity Contract ² The Contract exists just as a result of the relationship between the Customer and Product entity. 25

Super-type and sub-type entities Car super-type entity Compact SUV Van sub-type entity ² Extended ERDs model also inheritance, i.e. the relationship of specialization generalization 26

ERD modeling in structured analysis ² Iterative development in structured analysis Entities identification -> initial ERD Attributes identification -> detailed ERD Identification of missing and redundant entities Entities constituting of only one attribute (identifier) Entity sets consisting of a single entity Derived entities and relationships Association entities ERD-DFD consistency and completeness checking ² Modeled in parallel with DFD 27

Removal of unneeded (redundant) entities Employee 1 spouse married Employee 1 Spouse The Spouse entity is better suited as Employee s attribute. 28

Removal of unneeded (redundant) entities M N Patient receives Medicament Treatment Patient 1 receives N medicament Treatment 29

Removal of unneeded relationships Driver has renews License The duty to renew the license can be derived from the entities Driver has License 30

Data dictionary ² Used for documentation of complex ERD models ² Symbols: = + consists of and ( ) optional part (0 or 1) [ ] alternative choice { } iteration (1 or more) a= 1 {b} 15 * * comment @ identifier (key) 31

Example Order ² Order no. 2012-007-24 ² Issue date: 23.4.2012 Delivery date: 30.4.2012 ² Customer: no. 007 Dr. John Smith ² Goods: Number Name Pieces Price/piece P3876 Software engineering 6 135 H4681 UML2 and the UP 4 52 X6574 SA in practice 3 50 32

Example Order ² ORDER = @number + issue date + ( delivery date ) + customer number + customer name + { product number + product name + ordered pieces + ( product price per piece ) } ² customer name = ( title) + first name + surname ² title = [ Mr. Mrs. Miss. Dr. Prof. ] ² first name = { allowed symbol } ² allowed symbol = [ A - Z a - z ] Bühnová, Ráček, Sochor 33

Relational Database Design Lecture 5/Part 3 34

Crow's Foot notation relationship Entity Exactly one occurrence relationship Entity None or one occurrence relationship Entity One or more occurrence relationship Entity None or more occurrences 35

ERD example Transport Carrier employs is assigned to Driver takes part in Journey Vehicle is a holder of License 36

ERD example Library Reservation is reserved Book entered is available Reader Copy has Loan is on loan 37

ERD example Book editing Handbook coauthored by Chapter consists of written by reviewed by Author 38

Relational database design based on ERDs ² Entity-relationship modeling is a first step towards database design. Database design process: 1. Determine the purpose of the database. 2. Find and organize the information required - Create ERD model of the system. Each entity type becomes a table, attribute becomes a column, entity becomes a row in the table. Handle relationships with attributes, association entities and M:N relationships. 39

Relationships to entities date Customer 1 purchases N Product Customer Product Purchase Can the purchase entity be omitted? 40

Association entities Customer M N Product Association entity Order can become an entity on its own Customer Product Order 41

M:N relationships Teacher M teaches N Course Teacher Course Teaching 42

Sub-types and super-types Car super-type entity Compact SUV Van sub-type entity ² Three options: One big Car entity with all attributes Three smaller Compact, SUV and Van entities Four entities with relationship between sub-type and super-type entity 43

Database design process (continued) 3. Specify primary keys - Choose each table s primary key. The primary key is a column that is used to uniquely identify each row. An example might be Product ID or Order ID. 4. Apply the normalization rules - Apply the data normalization rules to see if tables are structured correctly. Make adjustments to the tables. 5. Refine the design - Analyze the design for errors. Create tables and add a few records of sample data. Check if results come from the tables as expected. Make adjustments to the design, as needed. 44

Entities and keys ² Superkey A set of attributes that uniquely identifies each entity. ² Candidate key A non-redundant superkey, i.e. all items of a candidate key are necessary to identify an entity, no key attribute can be removed. There can be more combinations of entity attributes that can be used as candidate keys. ² Primary key The selected candidate key, marked with # symbol. ² Foreign key A set of attributes in one entity that uniquely identifies (i.e. is a primary key in) another entity. 45

Data normalization goals by E.F. Codd ² Minimize redundancy and dependency Minimize redesign when extending database structure Make the data model more informative to users ² Free the database of modification anomalies Update anomaly the same information expressed on multiple rows update resulting in logical inconsistencies. Insertion anomaly certain facts cannot be recorded, because of their binding with another information into one record. Deletion anomaly deletion of data representing certain facts necessitating deletion of unrelated data. ² Avoid bias towards any particular pattern of querying 46

1. Normal form no repeating groups Def.1NF: A relation is in 1NF if the domain of each attribute contains only atomic values, and the value of each attribute contains only a single value from that domain. employee expertise empl# name sex expert experience 1. Normal form empl# name sex empl# expert# experience 47

1. Normal form normalization example EntityA ida attribute1 attribute 2 attribute3[1] attribute3[2] attribute3[n] EntityA ida attribute1 attribute 2 EntityB idb attribute3 48

Functional dependency ² Functional dependency In a given table, an attribute Y is said to have a functional dependency on a set of attributes X if and only if each X value is associated with precisely one Y value. ² Trivial functional dependency A trivial functional dependency is a functional dependency of an attribute on a superset of itself. ² Full functional dependency X1 X2 Y An attribute is fully functionally dependent on a set of attributes X if it is: functionally dependent on X, and not functionally dependent on any proper subset of X. X1 X2 Y X1 X2 49

2. Normal form no partial dependency Def. 2NF: In 1NF and no non-prime attribute in the table is functionally dependent on a proper subset of any candidate key. Example EMPLOYEE Is in 2NF empl# name salary project deadline Example PROGRAMING Not in 2NF developer# package# developer name package name hours What anomalies can you identify in this example? 50

2. Normal form no partial dependency not part of any candidate key Def. 2NF: In 1NF and no non-prime attribute in the table is functionally dependent on a proper subset of any candidate key. Does the candidate key part of the definition make difference? When there is only one-item primary key, is 2NF guaranteed? Example DISHWASHER MODELS Not in 2NF manufacturer model model full name# manufacturer country 51

2. Normal form normalization example course# student# student name student email registration date student# student name student email course# student# registration date 52

3. Normal form no transitive dependency Def. 3NF: In 2NF and every non-prime attribute is non-transitively (i.e. only directly) dependent on every candidate key. Example EMPLOYEE Not in 3NF empl# name salary project deadline What anomalies can you identify in this example? 53

3. Normal form normalization example deadline is transitively dependent on empl# empl# name salary project deadline empl# name salary project project# deadline 54

Boyce Codd Normal form Def. BCNF: In 3NF and for every dependency X Y at least one of the following holds: X Y is a trivial functional dependency (Y X) X is a superkey. In most cases compliant with 3NF, besides some special cases: Example TENIS COURTS In 3NF and not in BCNF court# start time# end time rate type What anomalies can you identify in this example? 55

Normal forms overview ² 1NF: no repeating groups ² 2NF: no partial dependency ² 3NF: no transitive dependency ² BCNF: Everything should be dependent on the key, the whole key, and nothing but the key so help me Codd. [joke attributed to C.J.Date] 56

ERD vs. UML Class Diagram ² Class diagrams model both structural and behavior features of a system (attribute and operations), contain many different types of relationships (association, aggregation, composition, dependency, generalization), and are more likely to map into real-world objects. ² Entity relationship models model only structural data view with a low variety of relationships (simple relations and rarely generalization), and are more likely to map into database tables (repetitive records). They allow us to design primary and foreign entity keys, and used to be normalized to simplify data manipulation. 57

ERD vs. UML Class Diagram ² Although there can be one to one mapping between ERD and Class diagram, it is very common that one class is mapped to more than one entity, or more classes are mapped to a single entity. ² Furthermore, not all classes need to be persistent and hence reflected in the ERD model, which uses to be driven by the database design. ² Summary: ERD is data-oriented and persistence-specific Class diagram targets also operations and is persistence independent 58

Key points ² Structured analysis, and YMSA in particular, models systems from the perspectives of: system interaction with its environment (CD), and hierarchy of system processes and data flows (DFD). ² Data modeling, and ERD in particular, focuses on modeling entities, relationships and attributes of system data. ² Data normalization focuses on reducing redundancy and dependency in database design, and on avoiding bias towards a particular pattern of querying. Bühnová, Ráček, Sochor 59