Database Design Done Right!

Slides:



Advertisements
Similar presentations
Testing Relational Database
Advertisements

Normalization What is it?
Database Design Conceptual –identify important entities and relationships –determine attribute domains and candidate keys –draw the E-R diagram Logical.
Chapter 3. 2 Chapter 3 - Objectives Terminology of relational model. Terminology of relational model. How tables are used to represent data. How tables.
Fundamentals of Information Systems, Second Edition
Chapter 6 Systems Development: Phases, Tools, and Techniques
System Analysis and Design
Maintenance = Software Evolution Any changes after the client has accepted the product is considered maintenance. n Any Changes? n What might these be?
LOGICAL DATABASE DESIGN
Chapter 3 The Relational Model Transparencies Last Updated: Pebruari 2011 By M. Arief
ITEC224 Database Programming
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Completing the Model Common Problems in Database Design.
Normalization Copyright © 1999 Patrick McDermott College of Alameda
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
Formal Methods in Software Engineering
Systems Analysis and Design in a Changing World, Fourth Edition
Fundamentals of Information Systems, Second Edition 1 Systems Development.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
In this session, you will learn to: Describe data redundancy Describe the first, second, and third normal forms Describe the Boyce-Codd Normal Form Appreciate.
IT The Relational DBMS Section 05. Relational Database Theory Normalization for Logical Database Design.
Copyright 2002 Prentice-Hall, Inc. Chapter 4 Automated Tools for Systems Development 4.1 Modern Systems Analysis and Design.
Chapter 4 Logical & Physical Database Design
The Relational Model. 2 Relational Model Terminology u A relation is a table with columns and rows. –Only applies to logical structure of the database,
Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques.
DOMAIN DRIVEN DESIGN Dave 12 May WHAT IS DDD? Set of principles to aid in building complex systems Enables us to focus on core problem domain NOT.
OBJECT ORIENTED VS STRUCTURED WHICH ONE IS YOUR CHOICE.
Software Development Module Code: CST 240 Chapter 6: Software Maintenance Al Khawarizmi International College, AL AIN, U.A.E Lecturer: Karamath Ateeq.
CS 3630 Database Design and Implementation
Design Completion A Major Milestone
Owners: Garrett Mehling, Brenda Renderos, Shelbi Hood
Elaboration popo.
ITIL: Service Transition
Database Development Life Cycle
Overview Software Maintenance and Evolution Definitions
Methodology Conceptual Databases Design
Methodology Logical Database Design for the Relational Model
Revised: 2 April 2004 Fred Swartz
Databases – Exam questions
Fundamentals of Information Systems, Sixth Edition
Entity Relationship (E-R) Modeling
SEEM3430: Information Systems Analysis and Design
A brief summary of database normalization
Methodology Conceptual Database Design
Entity Relationship (E-R) Modeling
Conceptual and Physical Database Design
Chapter 18 Maintaining Information Systems
The Systems Engineering Context
Normal Forms.
Software Life Cycle Models
IT Systems Analysis & Design
COMP 350: Object Oriented Analysis and Design Lecture 2
© 2011 Pearson Education, Inc. Publishing as Prentice Hall
A SIMPLE GUIDE TO FIVE NORMAL FORMS (See the next slide for required reading) Prof. Ghandeharizadeh 2018/11/14.
Normalization Beyond Third Normal Form
Software Testing and Maintenance Maintenance and Evolution Overview
Database solutions The process of normalization Marzena Nowakowska Faculty of Management and Computer Modelling Kielce University of Technology rooms:
The Relational Model Textbook /7/2018.
Verilog-AMS Integration with P1800 SV Standard
Chapter 4 The Relational Model Pearson Education © 2009.
Draft Methodology for impact analysis of ESS.VIP Projects
Methodology Conceptual Databases Design
Sampath Jayarathna Cal Poly Pomona
Enterprise Architecture at Penn State
Chapter 4 The Relational Model Pearson Education © 2009.
Requirements Engineering
Normalisation 1 Unit 3.1 Dr Gordon Russell, Napier University
Relationships—Topics
Teaching Behaviour To All Children To Prevent Problems Occurring
Presentation transcript:

Database Design Done Right! Presented By: Rick Nunn

“What is expected from every successful project, regardless of methodology?”

The Expectation An application which is fully functional, and seamless. More precisely, an application which gives the business what they asked for…

What happens when business wants to add functionality?

Weakness of the current approach Inability to adapt to changes over time and the ever increasing associated maintenance costs.

Take time during analysis to get the business requirements correct Take time during analysis to get the business requirements correct. If you find errors, fix them immediately. The cost to fix an error in the early stages of the SDLC is relatively small. In later stages, the cost is huge. (Management Information Systems for the Information Age: Haag and Cummings; McGraw-Hill 2012)

Increased complexity Increased time to make changes Increased costs The long term result Increased complexity Increased time to make changes Increased costs

Average percentage of time spent in each phase

But what if we follow the right methodology?

Methodologies do not guarantee good system design… They all follow the System Development Life Cycle (SDLC) They all provide roadmaps for documentation! Nothing more.

Doing it Right

Designs should be appropriately flexible and extensible. Can’t design a database without considering normalization

Normalization in two minutes (or less)

Remove repeating groups into their own table. First Normal Form: Remove repeating groups into their own table.

Second Normal Form: No non-prime attribute in the table is functionally dependent on a proper subset of any candidate key . – Wikipedia. What does this mean? .

Second Normal Form (Continued): All attributes in the entity are dependent on primary and/or alternate key, “the whole key, and nothing but the key, so help me Codd”.

Third Normal Form Every non-prime attribute is non- transitively dependent on every candidate key in the table. The attributes that do not contribute to the description of primary key are removed from the table. In other words, no transitivity dependency is allowed. – Wikipedia What does that mean?

Children must have parents. No orphans. Third Normal Form (Cont.) Children must have parents. No orphans.

OK, So When do you normalize and to what degree is normalization necessary?

It Depends…

Exercise the requirements

Question, Question, and Question more.

Always seek business, architectural, and technical understanding to enable you to provide the best designs and warn the team\business of risks.

Designing and Modeling the Database Describe the object before naming Name all objects appropriately (single name, single purpose)

Living with legacy systems and planning for the future. Never integrate legacy structures into newer structures. Create a transition staging layer which allows the data to migrate from the legacy (flatter) structure to a modern (flexible, extensible) more normalized structure.

Emphasis should be placed more on analysis and design The result will be fewer downstream changes, lower costs, and shorter timelines.

Emphasis on Analysis and Design

Comparative timelines

Development maturity - Don’t take it personal - Be patient In the end, the solution is not always in your control. If you have done your due diligence and communicated foreseen risks, you will have done it right. Often, some months later, you will have the opportunity to implement an improved solution.

What is the result when done right? The result is a structure which can change over time without affecting the core structures already in place. Timelines are shortened. Development and maintenance costs are significantly reduced. Changes are supported by either adding domain data or by extending the structure to support new requirements, just like the expanding balloon.

Any More Questions?