Database Analysis and Design

Similar documents
Chapter 10. Database System Development Lifecycle

Practical Database Design Methodology and Use of UML Diagrams Design & Analysis of Database Systems

Database system development lifecycles

Chapter 8. Database Design. Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel

Course Outline Faculty of Computing and Information Technology

Lecture2: Database Environment

(Extended) Entity Relationship

Systems Development Life Cycle SDLC Planning Analysis Detailed systems design Implementation Maintenance 7 8 SDLC - Planning SDLC - Analysis Planning

Fundamentals of Design, Implementation, and Management Tenth Edition

Database Management Systems MIT Introduction By S. Sabraz Nawaz

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 9 Database Design

CHAPTER 2: DATA MODELS

Relational Algebra and Calculus

Database Design. IIO30100 Tietokantojen suunnittelu. Michal Zabovsky. Presentation overview

FIT1004 Database Topic 2: Database Design Life Cycle

Database Environment. Pearson Education 2009

Information Technology Engineers Examination. Database Specialist Examination. (Level 4) Syllabus. Details of Knowledge and Skills Required for

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

2. An implementation-ready data model needn't necessarily contain enforceable rules to guarantee the integrity of the data.

Chapter 8: Enhanced ER Model

Conceptual Database Design

CSE 3241: Database Systems I Databases Introduction (Ch. 1-2) Jeremy Morris

Chapter 1: The Database Environment


CHAPTER 2: DATA MODELS

Wiki Database Schema Diagram Generate Sql Server 2005

Entity Relationship Modelling

A l Ain University Of Science and Technology

CHAPTER 6 DATABASE MANAGEMENT SYSTEMS

8) A top-to-bottom relationship among the items in a database is established by a

Database Design Process

Data Models: The Center of the Business Information Systems Universe

A l Ain University Of Science and Technology

Week. Lecture Topic day (including assignment/test) 1 st 1 st Introduction to Module 1 st. Practical

Database Systems. Sven Helmer. Database Systems p. 1/567

6. The Document Engineering Approach

Conceptual Database Modeling

QM Chapter 1 Database Fundamentals Version 10 th Ed. Prepared by Dr Kamel Rouibah / Dept QM & IS

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

Chapter 8 The Enhanced Entity- Relationship (EER) Model

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

Database Management System Fall Introduction to Information and Communication Technologies CSD 102

Introduction to Data Management. Lecture #2 (Big Picture, Cont.) Instructor: Chen Li

Database Systems: Learning Outcomes. Examples of Database Application. Introduction

DATABASE SYSTEMS CHAPTER 2 DATA MODELS 1 DESIGN IMPLEMENTATION AND MANAGEMENT INTERNATIONAL EDITION ROB CORONEL CROCKETT

B.H.GARDI COLLEGE OF MASTER OF COMPUTER APPLICATION. Ch. 1 :- Introduction Database Management System - 1

*ANSWERS * **********************************

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

S1 Informatic Engineering

Database Systems Introduction

Microsoft SharePoint Server 2013 Plan, Configure & Manage

CS317 File and Database Systems

SOLUTIONS TO REVIEW QUESTIONS AND EXERCISES FOR PART 3 - DATABASE ANALYSIS AND DESIGN (CHAPTERS 10 15)

1. i. What are the 3 major components of a information system and show their relationship input output

Appendix A - Glossary(of OO software term s)

COURSE OUTLINE. School of Engineering Technology and Applied Science

Planning and Administering SharePoint 2016

DATABASE DESIGN I - 1DL300

Course Description. Audience. Prerequisites. At Course Completion. : Course 40074A : Microsoft SQL Server 2014 for Oracle DBAs

Relational Model. Rab Nawaz Jadoon DCS. Assistant Professor. Department of Computer Science. COMSATS IIT, Abbottabad Pakistan

Fundamentals of Information Systems, Seventh Edition

Essay Question: Explain 4 different means by which constrains are represented in the Conceptual Data Model (CDM).

Review for Exam 1 CS474 (Norton)

Assignment Session : July-March

"Charting the Course... Agile Database Design Techniques Course Summary

Solved MCQ on fundamental of DBMS. Set-1

Configuration changes such as conversion from a single instance to RAC, ASM, etc.

Planning and Administering SharePoint 2016

Course 40045A: Microsoft SQL Server for Oracle DBAs

A: Administering System Center Configuration Manager

Database Systems. Lecture2:E-R model. Juan Huo( 霍娟 )

CS317 File and Database Systems

Relational Database Systems Part 01. Karine Reis Ferreira

Chapter 2: The Database Development Process

Database Systems. A Practical Approach to Design, Implementation, and Management. Database Systems. Thomas Connolly Carolyn Begg

Data analysis and design Unit number: 23 Level: 5 Credit value: 15 Guided learning hours: 60 Unit reference number: H/601/1991.

Chapter 12 Databases and Database Management Systems

SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A

Systems Analysis and Design in a Changing World, Fourth Edition

Object Oriented Analysis and Design - Part2(Design)

Full file at

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

Bonus Content. Glossary

White Paper. Major Performance Tuning Considerations for Weblogic Server

Systems Analysis & Design

Identify the guidelines for system development. Discuss the purpose of the activities performed in the analysis phase

normalization are being violated o Apply the rule of Third Normal Form to resolve a violation in the model

Organizing Database Project Work. (Chapter 4)

Organizing Database Project Work

Chapter 1 Database System Concepts and Architecture. Nguyen Thi Ai Thao

1. Data Model, Categories, Schemas and Instances. Outline

Database Design Process. Requirements Collection & Analysis

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

THE ENTITY- RELATIONSHIP (ER) MODEL CHAPTER 7 (6/E) CHAPTER 3 (5/E)

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

CS 575: Software Design

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

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

SCOS-2000 Technical Note

Institute of Southern Punjab, Multan

Transcription:

Database Analysis and Design Marek Rychly mrychly@strathmore.edu Strathmore University, @ilabafrica & Brno University of Technology, Faculty of Information Technology Advanced Databases and Enterprise Systems 5 October 2015 Marek Rychly Database Analysis and Design ADES, 5 October 2015 1 / 38

Outline 1 Database System Development Life-cycle (DSDLC) Marek Rychly Database Analysis and Design ADES, 5 October 2015 2 / 38

Software Development Life-cycle (SDLC) Development of inf. systems has to be controlled. (SW development is a quite complex&complicated process) Software development life-cycle (SDLC) describes a process for planning, creating, testing, and deploying an information system. The SDLC process consists of several phases. (based on best-practices is SW development) 1 planning ) a goal, objectives, and criteria 2 analysis ) a requirement specification 3 design ) a detailed design model 4 implementation ) the system implemented 5 maintenance ) the system in production (adopted from Systems development life cycle. Wikipedia. ) Marek Rychly Database Analysis and Design ADES, 5 October 2015 4 / 38

Database System Development Life-cycle (DSDLC) (adopted from Liisa Auer: Designing Databases. Oulu University of Applied Sciences. ) Marek Rychly Database Analysis and Design ADES, 5 October 2015 5 / 38

DSDLC Phases 1 Database planning (how to realize the life-cycle stages most efficiently and effectively) 2 System definition (the scope of the db. system in terms of users, user views and transactions) 3 Req. collection and analysis (analysis of the requirements for the new database system) 4 Database design + DBMS selection (optional) (conceptual, logical, and physical design; selecting a DBMS before the phy. design) 5 Application design (db. client application programs) 6 Prototyping (optional) (prototypes demonstrating how the final system will look and function) 7 Implementation (creating the physical database definitions and the application programs) 8 Data conversion and loading (loading data from the old system to the new system, converting) 9 Testing (validation against the requirements specified by the users) 10 Operational maintenance (continuously monitored and maintained) Marek Rychly Database Analysis and Design ADES, 5 October 2015 6 / 38

Database System Development Life-cycle (DSDLC) (adopted from Liisa Auer: Designing Databases. Oulu University of Applied Sciences. ) Marek Rychly Database Analysis and Design ADES, 5 October 2015 7 / 38

Database Planning Definition (Database planning) Db. planning are management activities that allow the stages of a db. system development life-cycle to be realized as efficiently and effectively as possible. The mission statement defines the major aims of the db. system. (sets a goal to clarify the purpose of the database system) The mission objectives identify particular tasks that the db. system must support to fulfil the mission statement. (determines the system boundaries that will be analysed in the next phase) The resulting document describes how data will be collected, how the format should be specified, what necessary documentation will be needed, and how design and implementation should proceed, etc. Marek Rychly Database Analysis and Design ADES, 5 October 2015 8 / 38

Database System Development Life-cycle (DSDLC) (adopted from Liisa Auer: Designing Databases. Oulu University of Applied Sciences. ) Marek Rychly Database Analysis and Design ADES, 5 October 2015 9 / 38

System Definition Definition (Database system definition) System definition describes the scope and boundaries of the database application and the major user views. By user views defines what is required of a db. system from the perspective of particular users or enterprise application area. (e.g., managers or a marketing dept. require to access particular data) Each user view defines what is required of the db. system in terms of the data to be held the transactions to be performed on the data Multiple user views may have overlapping or distinct requirements. (the db. system has to provide all the user views, i.e. address all the requirements) Marek Rychly Database Analysis and Design ADES, 5 October 2015 10 / 38

Database System Development Life-cycle (DSDLC) (adopted from Liisa Auer: Designing Databases. Oulu University of Applied Sciences. ) Marek Rychly Database Analysis and Design ADES, 5 October 2015 11 / 38

Requirements Collection and Analysis Definition (Requirements collection and analysis, RCA) RCA is a process of collecting and analysing information about the part of the organization that is to be supported by the database system, and using this information to identify the requirements for the new system. Fact-finding techniques are used to gather the information for RAC. Requirements specification techniques to analyse the information. (integrating the user views or ER models based on the user views) RAC results into the requirements specification for the new db. system. (a collection of specification documents, including diagrams, models, charts, etc.) Marek Rychly Database Analysis and Design ADES, 5 October 2015 12 / 38

Fact-finding and Req. Specification Techniques Examples of the fact-finding techniques: examining documentation interviewing observing the enterprise in operation research questionnaires Examples of the requirements specification techniques: Structured Analysis and Design (SAD) Data Flow Diagrams (DFDs) Hierarchical Input Process Output (HIPO) charts usage of Computer-Aided Software Engineering (CASE) tools Unified Modelling Language (UML) diagrams Marek Rychly Database Analysis and Design ADES, 5 October 2015 13 / 38

Centralized Integration of Multiple User Views in RAC (adopted from Connolly & Begg: Database Systems, 2005, p. 289. ISBN 0-321-21025-5 ) Marek Rychly Database Analysis and Design ADES, 5 October 2015 14 / 38

View Integration of Multiple User Views in RAC (adopted from Connolly & Begg: Database Systems, 2005, p. 290. ISBN 0-321-21025-5 ) Marek Rychly Database Analysis and Design ADES, 5 October 2015 15 / 38

Database System Development Life-cycle (DSDLC) (adopted from Liisa Auer: Designing Databases. Oulu University of Applied Sciences. ) Marek Rychly Database Analysis and Design ADES, 5 October 2015 16 / 38

Database Design Definition (Database Design) The process of creating a design that will support the enterprise s mission statement and mission objectives for the required db. system. Three approaches to database design: bottom-up by normalization of super-entities storing all the data 1 list all possible attributes (e.g., by integration of user views) 2 separate the attributes into several related entities by normalization (ensure that the entities respect, or modify them to respect, normal forms) top-down by refining a few high-level entities and relationships 1 describe a few high-level (major) entities and relationships 2 apply successive top-down refinements to identify lower-level entities, relationships, and the associated attributes inside-out/mixed the most common approach (switch between to-down, i.e., identification, and bottom-up, i.e., normalization) Marek Rychly Database Analysis and Design ADES, 5 October 2015 17 / 38

Data Modelling in Database Design Modelling of db. schema at particular level of detail with respect to: Structural validity (consistency with the way the enterprise defines and organizes information) Simplicity (ease of understanding by IS professionals and non-technical users) Expressibility (to distinguish between different data, their relationships, and constraints) Non-redundancy (the representation of any one piece of information exactly once in the model) Share-ability (without dependency on any particular application or technology) Extensibility (to evolve to support new requirements with minimal effect on existing users) Integrity (consistency with the way the enterprise uses and manages information) Diagrammatic representation (representation of a model using an easily understood diagrammatic notation) Marek Rychly Database Analysis and Design ADES, 5 October 2015 18 / 38

Phases of Data Modelling Three stages of data modelling: 1 conceptual design (a data model independent of all physical considerations) 2 logical design (a specific data model, but independent of a particular DBMS) 3 physical design (a description of the implementation by a particular DBMS) During the data modelling/database design is recommended to communicate interactively with the users as much as possible (to verify that the modelled db. schema meets requirements, the user views) use diagrams to represent as much of the data models as possible (CASE tools to create diagrams & generate corresponding DDL statements) follow a structured methodology via the data modelling process Marek Rychly Database Analysis and Design ADES, 5 October 2015 19 / 38

Conceptual Data Model 1 Identify entity types (will be future tables) 2 Identify relationship types between the entity types (including their names and the multiplicity constraints of relationship types) 3 Identify and associate attributes with entity or relationship types (simple/composite attributes, single/multi-valued attributes, derived attributes) 4 Determine attribute domains (data-types) 5 Determine candidate, primary, and alternate key attributes 6 Consider use of enhanced modelling concepts (optional step) (the concepts such as specialization/generalization, aggregation, and composition) 7 Check model for redundancy and remove redundant attrs. & rels. 8 Validate conceptual model against user transactions (to ensure that the conceptual model supports the required transactions) 9 Review conceptual data model with user Marek Rychly Database Analysis and Design ADES, 5 October 2015 20 / 38

Logical Data Model 1 Derive relations for logical (internal) data model (switch from entities of the conceptual model to relations of the logical model) 2 Validate relations using normalization (organize the relations to minimize data redundancy; see the next lecture) 3 Validate relations against user transactions 4 Check integrity constraints (required data, domain constraints, multiplicity, entity and referential integrity,... ) 5 Review logical data model with user 6 Merge logical data models into global model (optional step) (in the case of view integration of multiple user views, as described on page 15) 7 Check for future growth (make the model ready to possible significant changes in the foreseeable future) Marek Rychly Database Analysis and Design ADES, 5 October 2015 21 / 38

Physical Data Model 1 Translate logical data model for target DBMS (switch from the relations of the logical model to tables of the physical model) 1 Design base relations (i.e., tables, not views) 2 Design representation of derived data (computed attributes) 3 Design general constraints (the constraints outside the tables) 2 Design file organizations and indexes 1 Analyze transactions (frequency, criticality, peak load times, etc.) 2 Choose file organizations (different storage formats, clusters) 3 Choose indexes (unique/non-unique, different index types) 4 Estimate disk space requirements 3 Design user views 4 Design security mechanisms 5 Consider the introduction of controlled redundancy (the strictly controlled redundancy in data to increase performance) 6 Monitor and tune the operational system (number of file-descriptors/tcp connections, firewall configuration, etc.) Marek Rychly Database Analysis and Design ADES, 5 October 2015 22 / 38

Database System Development Life-cycle (DSDLC) (adopted from Liisa Auer: Designing Databases. Oulu University of Applied Sciences. ) Marek Rychly Database Analysis and Design ADES, 5 October 2015 23 / 38

DBMS Selection DBMS (or it type) has to be selected before logical modelling. (DBMS features determine availability and properties of components utilized in the logical model; e.g., data-types, constraints, type of views, concurrency control, etc.) The main steps to selecting a DBMS are 1 define terms of reference of study (set objective and scope, criteria/requirements, preliminary candidates, constraints and time-scale) 2 short-list two or three products (check budget/price, level of vendor support, compatibility with SW and HW, benchmarks/performance, functionality/features) 3 evaluate products (evaluate capabilities in: logical and physical data definition, query language, transaction handling, utilities, development, and other features; ranking, weighting and assigning the score of each capability for each RDBMS) 4 select and recommend the best RDBMS and produce a report Marek Rychly Database Analysis and Design ADES, 5 October 2015 24 / 38

Database System Development Life-cycle (DSDLC) (adopted from Liisa Auer: Designing Databases. Oulu University of Applied Sciences. ) Marek Rychly Database Analysis and Design ADES, 5 October 2015 25 / 38

Prototyping in Database Design A prototype is just a working model/db. schema/system. (does not normally have all the required features or functionality of the final) To determine/check the requirements of a proposed db. system. There are two prototyping strategies in common use today: 1 requirements prototyping (a one-time prototype just to determine the requirements, then discarded) 2 evolutionary prototyping (a simple prototype to determine the requirements which is repeatedly extended and improved towards a fully functional db. system) Prototypes need to be discussed with users. (the users verify that the prototypes meet the requirements on the db. system) Marek Rychly Database Analysis and Design ADES, 5 October 2015 26 / 38

Database System Development Life-cycle (DSDLC) (adopted from Liisa Auer: Designing Databases. Oulu University of Applied Sciences. ) Marek Rychly Database Analysis and Design ADES, 5 October 2015 27 / 38

Application Design (and Implementation) The appl. design consists of transaction and user interface design. Transaction design describes trans. carried out by the appl. and it users. (db. transactions, i.e., sequences of SQL statements respecting ACID properties) For each transaction, the following should be described type of the transaction (retrieval/update/mixed); input data to be used by the transaction; functional characteristics of the transaction (description); an output of the transaction (results); importance to the users (priority, criticality); expected rate of usage (for each user, concurrently, peaks, etc.). User interface design deals with forms for viewing and modifying data (to perform CRUD operations, i.e.,to CReate, Update, Delete) reports for printing the data (usually aggregated data) Marek Rychly Database Analysis and Design ADES, 5 October 2015 28 / 38

Database System Development Life-cycle (DSDLC) (adopted from Liisa Auer: Designing Databases. Oulu University of Applied Sciences. ) Marek Rychly Database Analysis and Design ADES, 5 October 2015 29 / 38

Database Implementation Implementation is achieved by Data Definition Language (DDL). The result is an SQL script with DDL statements for db. schema. (alternatively, db. schema can be defined by a db. administration tool with GUI or in a CASE tool by transformation of a physical data model into SQL DDL statements) The SQL script should be idempotent. (it should produce the same result even if it is executed several times) The easiest way to an idempotent SQL script is to drop and (re)create every db. object and/or delete and (re)insert all data. (e.g., put DROP TABLE mytable; before CREATE TABLE mytable...;) For large databases, it is recommended to use a CASE tool with synchronization between conceptual, logical, and physical models, and the resulting SQL script with DDL statements. (CASE tools can generate the SQL script from data models as well as analyse an existing SQL script/db. schema and create the corresponding data models) Marek Rychly Database Analysis and Design ADES, 5 October 2015 30 / 38

Database System Development Life-cycle (DSDLC) (adopted from Liisa Auer: Designing Databases. Oulu University of Applied Sciences. ) Marek Rychly Database Analysis and Design ADES, 5 October 2015 31 / 38

Data Conversion and Loading When a new database system is replacing an old system, it is necessary to implement an utility that 1 reads data from the old system (difficult reading from an undocumented internal storage of a proprietary system) 2 converts data to the required format of the new system (split/merge entities to respect the new db. schema, convert data-types, etc.) 3 checks integrity constraints required by the new system (fix values breaking the constraints, merge additional ext. data to fix ref. integrity) 4 loads data into the new system Moreover, it may be necessary to adapt existing legacy applications to be able to work with the new system (clients to access the database). (e.g., by modification of the legacy apps., by employing an adapter between the apps. and new system, by implementing a backward-compatible API for the legacy apps.) Marek Rychly Database Analysis and Design ADES, 5 October 2015 32 / 38

Database System Development Life-cycle (DSDLC) (adopted from Liisa Auer: Designing Databases. Oulu University of Applied Sciences. ) Marek Rychly Database Analysis and Design ADES, 5 October 2015 33 / 38

Database Testing Before going live, the newly developed db. sys. should be tested. to uncover errors with the apps. and the db. structure to demonstrate that the db&apps. are working according to specif. to check compatibility of the system with legacy apps./data to measure performance and check that it is acceptable In general, db. testing should also evaluate Learnability (how long does it take a new user to become productive with the system) Performance (how well does the system response match the user s work practice) Robustness (how tolerant is the system of user error) Recoverability (how good is the system at recovering from user errors) Adapatability (how closely is the system tied to a single model of work) Marek Rychly Database Analysis and Design ADES, 5 October 2015 34 / 38

Database System Development Life-cycle (DSDLC) (adopted from Liisa Auer: Designing Databases. Oulu University of Applied Sciences. ) Marek Rychly Database Analysis and Design ADES, 5 October 2015 35 / 38

Operational Maintenance To keep functionality and performance within acceptable levels by monitoring the performance of the db. system. (unacceptable performance ) tuning/reorganization of the db. required) maintaining and upgrading the db. system. (repairing, backups, upgrading db. and apps. in recommended /security patches/ or required by re-design; may initiate a new iteration of the life-cycle) Can be performed according to well-established best-practiced. (providing/running the db. for client apps. is an IT service, it can be managed by IT Service Management practices, e.g., as described in IT Infrastructure Library, ITIL) Data administration is the management of the data resource. (the first part of db. sys. life-cycle, up to logical db. design) Database administration if the management of the RDBMS. (deals with the sys. physical realization, design and implementation, security and integrity controls, performance monitoring, and reorganizing the db., as necessary) Marek Rychly Database Analysis and Design ADES, 5 October 2015 36 / 38

Summary Summary Db. system development life-cycle (DSDLC) consist of several stages. Database design/modelling at different level of implementation details. Data from old systems and legacy apps. have to be converted/adapted. Finally, db. sys. in production needs to be monitored and maintained. In the next lecture: Entity-Relationship Modeling (entities, relationships and their types, object-oriented ERM and UML) Marek Rychly Database Analysis and Design ADES, 5 October 2015 37 / 38

Thanks Thank you for your attention! Marek Rychly <mrychly@strathmore.edu> Note: Definitions and examples in this presentation have been adopted from Connolly & Begg: Database Systems, 2005, p. 281 313 and 437 517. ISBN 0-321-21025-5. Marek Rychly Database Analysis and Design ADES, 5 October 2015 38 / 38