Database Design Methodology. Lesson 1: Introduction to Databases.

Slides:



Advertisements
Similar presentations
Review for Final Test Indra Budi
Advertisements

Management Information Systems, Sixth Edition
Relational Databases Chapter 4.
The Relational Model System Development Life Cycle Normalisation
10/25/2001Database Management -- R. Larson Data Administration and Database Administration University of California, Berkeley School of Information Management.
Chapter 6 Methodology Conceptual Databases Design Transparencies © Pearson Education Limited 1995, 2005.
Data Management Design
1 Methodology : Conceptual Databases Design © Pearson Education Limited 1995, 2005.
Methodology Logical Database Design for the Relational Model
Lecture Fourteen Methodology - Conceptual Database Design
Chapter 4 Relational Databases Copyright © 2012 Pearson Education, Inc. publishing as Prentice Hall 4-1.
Mgt 20600: IT Management & Applications Databases Tuesday April 4, 2006.
Modeling & Designing the Database
Data at the Core of the Enterprise. Objectives  Define of database systems  Introduce data modeling and SQL  Discuss emerging requirements of database.
Chapter 4 Relational Databases Copyright © 2012 Pearson Education 4-1.
Michael F. Price College of Business Chapter 6: Logical database design and the relational model.
Database Architecture The Relational Database Model.
Chapter 14 & 15 Conceptual & Logical Database Design Methodology
10/5/1999Database Management -- R. Larson Data Administration and Database Administration University of California, Berkeley School of Information Management.
PHASE 3: SYSTEMS DESIGN Chapter 7 Data Design.
Overview of the Database Development Process
Web-Enabled Decision Support Systems
I Copyright © 2004, Oracle. All rights reserved. Introduction.
ITEC224 Database Programming
Part3 Database Analysis and Design Techniques Chapter 04- Overview of Database Planning, Design and Administration Database Systems Lu Wei College of Software.
MIS 385/MBA 664 Systems Implementation with DBMS/ Database Management Dave Salisbury ( )
Chapter 1 Overview of Database Concepts Oracle 10g: SQL
Database Technical Session By: Prof. Adarsh Patel.
1 Introduction to Database Systems. 2 Database and Database System / A database is a shared collection of logically related data designed to meet the.
Methodology - Conceptual Database Design Transparencies
1 Chapter 1 Overview of Database Concepts. 2 Chapter Objectives Identify the purpose of a database management system (DBMS) Distinguish a field from a.
Software School of Hunan University Database Systems Design Part III Section 5 Design Methodology.
Chapter 9 Designing Databases Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Methodology Conceptual Databases Design
1 Chapter 15 Methodology Conceptual Databases Design Transparencies Last Updated: April 2011 By M. Arief
Concepts and Terminology Introduction to Database.
Lecture 2 An Overview of Relational Database IST 318 – DB Admin.
I Copyright © Oracle Corporation, All rights reserved. Introduction.
Database Systems: Design, Implementation, and Management Tenth Edition
10/17/2012ISC471/HCI571 Isabelle Bichindaritz 1 Technologies Databases.
1 The Relational Database Model. 2 Learning Objectives Terminology of relational model. How tables are used to represent data. Connection between mathematical.
Methodology - Conceptual Database Design. 2 Design Methodology u Structured approach that uses procedures, techniques, tools, and documentation aids to.
CSCI 3140 Module 3 – Logical Database Design for the Relational Model Theodore Chiasson Dalhousie University.
1/26/2004TCSS545A Isabelle Bichindaritz1 Database Management Systems Design Methodology.
Methodology: Conceptual Databases Design
DATABASE MGMT SYSTEM (BCS 1423) Chapter 5: Methodology – Conceptual Database Design.
Team Dosen UMN Database Design Connolly Book Chapter
9/7/2012ISC329 Isabelle Bichindaritz1 The Relational Database Model.
Lecture2: Database Environment Prepared by L. Nouf Almujally 1 Ref. Chapter2 Lecture2.
Methodology - Conceptual Database Design
Relational Database. Database Management System (DBMS)
Lecture # 3 & 4 Chapter # 2 Database System Concepts and Architecture Muhammad Emran Database Systems 1.
DataBase Management System What is DBMS Purpose of DBMS Data Abstraction Data Definition Language Data Manipulation Language Data Models Data Keys Relationships.
The University of Akron Dept of Business Technology Computer Information Systems The Relational Model: Concepts 2440: 180 Database Concepts Instructor:
Programming Logic and Design Fourth Edition, Comprehensive Chapter 16 Using Relational Databases.
Chapter 3: Relational Databases
Lecture # 24 Introduction to SQL Muhammad Emran Database Systems.
1 Database Fundamentals Introduction to SQL. 2 SQL Overview Structured Query Language The standard for relational database management systems (RDBMS)
 CONACT UC:  Magnific training   
LECTURE TWO Introduction to Databases: Data models Relational database concepts Introduction to DDL & DML.
IT 5433 LM3 Relational Data Model. Learning Objectives: List the 5 properties of relations List the properties of a candidate key, primary key and foreign.
April 20022/CS/3X1 Database Design Design method John Wordsworth Department of Computer Science The University of Reading Room.
Methodology Conceptual Databases Design
Methodology Conceptual Database Design
Quiz Questions Q.1 An entity set that does not have sufficient attributes to form a primary key is a (A) strong entity set. (B) weak entity set. (C) simple.
Chapter 4 Relational Databases
Contents Preface I Introduction Lesson Objectives I-2
Methodology Conceptual Databases Design
INTRODUCTION A Database system is basically a computer based record keeping system. The collection of data, usually referred to as the database, contains.
Presentation transcript:

Database Design Methodology

Lesson 1: Introduction to Databases

Objectives List database types (e.g., flat file, relational), and identify their uses and architectures Describe the types of database management system (DBMS), and explain the benefits and limitations of each DBMS type Analyze and select appropriate database designs, and identify the solution that addresses the application needs

What Is a Database? File-based databases –Flat-file databases The evolution of databases

Relational Databases and DBMSs Relational databases Structured Query Language Database administrator Advantages and disadvantages of DBMSs Choosing the correct database type

The Origins of Relational Databases Codd first proposed the relational data model in 1970 System R Development of SQL INGRES IBM UK Scientific Center

Summary List database types (e.g., flat file, relational), and identify their uses and architectures Describe the types of database management system (DBMS), and explain the benefits and limitations of each DBMS type Analyze and select appropriate database designs, and identify the solution that addresses the application needs

Lesson 2: Relational Database Fundamentals

Objectives Define common database architectures (e.g., single, multi-tier) Describe the function of Structured Query Language (SQL), including language subsets Describe the function of Data Definition Language (DDL) Describe the function of Data Manipulation Language (DML)

Objectives (cont’d) Describe the function of Data Control Language (DCL) Define essential database concepts and terms, including relation, relation name, table, row, column, value, relational algebra, data modeling, data relationship Explain the concepts of attribute, degree, tuple and cardinality

Objectives (cont’d) Define entities, including strong entities, weak entities List characteristics of relations (e.g., column characteristics, row characteristics) Describe table types (e.g., base tables, virtual tables) Distinguish between primary and foreign keys, including null value, composite key Explain data models in relational databases

Objectives (cont’d) Describe common database relationships (e.g., one to one, one to many, many to many) and identify the notation for such relationships (e.g., 1:n) Define relational integrity concepts, including domain constraints, entity and referential integrity views Explain the structure and purpose of a data dictionary

Multitier Database Architecture Two-tier client-server architecture –Fat client Three-tier client-server architecture –Thin client n-tier architecture

Relational Model Terminology Relational data structure Rows (tuples) Columns (attributes) Domains Degrees Cardinality Normalization

Using Tables to Represent Data Entities Characteristics of relations Types of tables Primary keys Foreign keys

Data Models Components –Structural information –Manipulative information –Integrity information

Entities and Data Relationships Entity-relationship (ER) modeling Strong entities Weak entities

Relational Integrity Domain constraints Entity integrity Referential integrity Views

Database Languages Data Definition Language Data Manipulation Language Data Control Language Data dictionaries

Summary Define common database architectures (e.g., single, multi-tier) Describe the function of Structured Query Language (SQL), including language subsets Describe the function of Data Definition Language (DDL) Describe the function of Data Manipulation Language (DML)

Summary (cont’d) Describe the function of Data Control Language (DCL) Define essential database concepts and terms, including relation, relation name, table, row, column, value, relational algebra, data modeling, data relationship Explain the concepts of attribute, degree, tuple and cardinality

Summary (cont’d) Define entities, including strong entities, weak entities List characteristics of relations (e.g., column characteristics, row characteristics) Describe table types (e.g., base tables, virtual tables) Distinguish between primary and foreign keys, including null value, composite key Explain data models in relational databases

Summary (cont’d) Describe common database relationships (e.g., one to one, one to many, many to many) and identify the notation for such relationships (e.g., 1:n) Define relational integrity concepts, including domain constraints, entity and referential integrity views Explain the structure and purpose of a data dictionary

Lesson 3: Database Planning

Objectives Describe the elements of a database planning strategy (e.g., defining the scope of a database application) List the necessary steps for creating a database requirements document, including conducting interviews, noting project constraints, identifying the precise duties of the database, creating a database design document

Objectives (cont’d) Explain the importance of data modeling and entity relationship diagrams during the planning stage (e.g., define the concept of an entity- relationship [ER] diagram) Create a database prototype Describe the purpose of database application testing, including white-box testing, black-box testing

Objectives (cont’d) List the criteria for selecting a database management system and an application interface Describe database design steps, including determining the proper steps in creating entities, applying normalization, selecting a database management system (DBMS)

Database Design Life Cycle Create a database strategy Define database application scope Create a database requirements document Design the database Select a DBMS Design the database application Create database prototypes Test the database application Implement the database application Convert legacy data Maintain the database

Database Requirements Document Conducting interviews Requirements document information

Selecting a DBMS Selection criteria –Data definition functionality –Physical criteria –Access criteria –Transactions –Utilities –Development tools –Miscellaneous features

Selecting an Application Interface GUI considerations –Descriptive page titles –Clear instructions –Consistent grouping of input fields –Logically labeled fields –Consistent color use –Properly sized data entry fields –Logical cursor movement –Error messages –Clearly indicated optional fields –Completion message

Summary Describe the elements of a database planning strategy (e.g., defining the scope of a database application) List the necessary steps for creating a database requirements document, including conducting interviews, noting project constraints, identifying the precise duties of the database, creating a database design document

Summary (cont’d) Explain the importance of data modeling and entity relationship diagrams during the planning stage (e.g., define the concept of an entity-relationship [ER] diagram) Create a database prototype Describe the purpose of database application testing, including white-box testing, black-box testing

Summary (cont’d) List the criteria for selecting a database management system and an application interface Describe database design steps, including determining the proper steps in creating entities, applying normalization, selecting a database management system (DBMS)

Lesson 4: Overview of Database Design Methodology

Objectives List the steps of the conceptual design phase (e.g., identifying entities, attribute domains, relationships) Describe how to identify entities List ways to identify attributes and attribute domains for entities

Objectives (cont’d) List ways to identify candidate and primary keys for entities Identify and determine data relationships Create an entity-relationship (ER) diagram Analyze an entity-relationship (ER) diagram or model to determine relation types

Objectives (cont’d) Define and describe domains Explain the results of poor database design, and describe insertion, deletion and update anomalies in databases Describe database design steps, including determining the proper steps in creating entities, applying normalization, selecting a database management system (DBMS)

Effects of Poor Database Design Insertion anomalies Deletion anomalies Update anomalies

Database Design Phases Conceptual phase Logical phase Physical phase

Conceptual Database Design Identifying entities Identifying attributes and attribute domains for entities Identifying relationships Identifying candidate and primary keys for entities Creating an entity-relationship (ER) diagram Reviewing the ER model by the user and design team

Entity-Relationship Models Creating ER models Defining domains Common SQL data types Determining data relationships –Recursive relationships

Summary List the steps of the conceptual design phase (e.g., identifying entities, attribute domains, relationships) Describe how to identify entities List ways to identify attributes and attribute domains for entities

Summary (cont’d) List ways to identify candidate and primary keys for entities Identify and determine data relationships Create an entity-relationship (ER) diagram Analyze an entity-relationship (ER) diagram or model to determine relation types

Summary (cont’d) Define and describe domains Explain the results of poor database design, and describe insertion, deletion and update anomalies in databases Describe database design steps, including determining the proper steps in creating entities, applying normalization, selecting a database management system (DBMS)

Lesson 5: Normalization

Objectives Distinguish between specific normal forms, including first normal form (1NF), second normal form (2NF), third normal form (3NF), Boyce-Codd normal form (BCNF) Describe the normalization process Define and explain determinant, decomposition and functional dependency

Objectives (cont’d) Describe database design steps, including determining the proper steps in creating entities, applying normalization, selecting a database management system (DBMS)

What Is Normalization? Normal forms First normal form –First normal form anomalies Second normal form –Second normal form anomalies Third normal form Boyce-Codd normal form

Related Concepts Decomposition Atomic value Partial functional dependency Transitive dependency Denormalization

Summary Distinguish between specific normal forms, including first normal form (1NF), second normal form (2NF), third normal form (3NF), Boyce-Codd normal form (BCNF) Describe the normalization process Define and explain determinant, decomposition and functional dependency

Summary (cont’d) Describe database design steps, including determining the proper steps in creating entities, applying normalization, selecting a database management system (DBMS)

Lesson 6: Logical Database Design

Objectives Explain the structure and purpose of a data dictionary Identify logical database design issues List the steps of the logical database design phase (e.g., creating a raw data model; identifying and documenting entities, attributes, relationships, domains, and candidate and primary keys)

Objectives (cont’d) Identify the cardinality of data relationships Identify and resolve inexpedient data relationships Create an integrated logical data model from a conceptual data model Use Data Definition Language (DDL)

Objectives (cont’d) Validate a logical data model against user operations and system requirements Define integrity constraints (e.g., necessary data, domain constraints, entity integrity, referential integrity) Create corporate and enterprise data models based on user views of data

Objectives (cont’d) Validate the enterprise data model Describe database design steps, including determining the proper steps in creating entities, applying normalization, selecting a database management system (DBMS)

Logical Database Design Logical data models –One-to-one –One-to-many –Many-to-many

Creating a Logical Data Model Data model refinement Logical data model creation Normalization Logical data model creation Data model refinement Normalization

Using a Database Definition Language Data dictionaries Validating the logical data model

Defining Integrity Constraints Necessary data Domain constraints Entity integrity Referential integrity Enterprise constraints

Creating an Enterprise Data Model User views Normalization Validating data operations

Summary Explain the structure and purpose of a data dictionary Identify logical database design issues List the steps of the logical database design phase (e.g., creating a raw data model; identifying and documenting entities, attributes, relationships, domains, and candidate and primary keys)

Summary (cont’d) Identify the cardinality of data relationships Identify and resolve inexpedient data relationships Create an integrated logical data model from a conceptual data model Use Data Definition Language (DDL)

Summary (cont’d) Validate a logical data model against user operations and system requirements Define integrity constraints (e.g., necessary data, domain constraints, entity integrity, referential integrity) Create corporate and enterprise data models based on user views of data

Summary (cont’d) Validate the enterprise data model Describe database design steps, including determining the proper steps in creating entities, applying normalization, selecting a database management system (DBMS)

Lesson 7: Physical Database Design

Objectives List the elements of physical database design Determine physical database design issues Describe how to create base relations for a target database management system (DBMS) using Data Definition Language (DDL)

Objectives (cont’d) Identify and create enterprise constraints for a target DBMS Define secondary indexes and determine when to use them Create a base relation Identify referential constraints

Objectives (cont’d) Explain denormalization and describe when it is necessary Create user views (e.g., the CREATE VIEW SQL statement) Design database access rules

Objectives (cont’d) Use appropriate commands to create, insert and retrieve data from a database table, including the SELECT, CREATE TABLE and CREATE VIEW statements

Physical Database Design Creating base relations for a target DBMS Data Definition Language

Creating Enterprise Constraints Determining referential constraints

Using Secondary Indexes A secondary index is a mechanism that creates an additional key for a relation

Denormalization The process of reuniting relations that were split during the normalization process to improve performance

Creating User Views Determine the appropriate data to be included with each particular view

Designing Database Access Rules Identifiers Privileges –SELECT –UPDATE –DELETE

Summary List the elements of physical database design Determine physical database design issues Describe how to create base relations for a target database management system (DBMS) using Data Definition Language (DDL)

Summary (cont’d) Identify and create enterprise constraints for a target DBMS Define secondary indexes and determine when to use them Create a base relation Identify referential constraints

Summary (cont’d) Explain denormalization and describe when it is necessary Create user views (e.g., the CREATE VIEW SQL statement) Design database access rules

Summary (cont’d) Use appropriate commands to create, insert and retrieve data from a database table, including the SELECT, CREATE TABLE and CREATE VIEW statements

Lesson 8: Structured Query Language

Objectives Perform data manipulation Describe basic SQL syntax List data types used in SQL, including SMALLINT, DECIMAL (p, q), CHAR(n) and TIMESTAMP Define the term schema in relation to databases Create a schema using the CREATE SCHEMA statement

Objectives (cont’d) Drop schemas from a database using the DROP SCHEMA statement Use appropriate commands to create, insert and retrieve data from a database table, including using the SELECT, CREATE TABLE and CREATE VIEW statements Use the INSERT command appropriately

Objectives (cont’d) Use appropriate UPDATE and DELETE statements to update or delete information from a database, including working with tuples Use the DISTINCT keyword Compose predicates and other statements using the WHERE clause

Objectives (cont’d) Identify the use and structure of Boolean operators Describe SQL special operators and ORDER BY clauses (e.g., the IN, BETWEEN and LIKE operators) Deploy the ORDER BY clause to order output by column or group of columns

Objectives (cont’d) Retrieve data from relations using the SELECT statement Create statements using the GRANT keyword to control user access to relations Use the REVOKE keyword to limit access

SQL Basics Subsets of SQL SQL features Data types

Data Definition Language Creating a schema Altering and dropping relations and views

Data Manipulation Language Inserting values into relations Deleting records from relations Updating values in relations Retrieving data from relations Aliases SQL special operators and ORDER BY clauses

Data Control Language Granting privileges Revoking privileges

Summary Perform data manipulation Describe basic SQL syntax List data types used in SQL, including SMALLINT, DECIMAL (p, q), CHAR9n) and TIMESTAMP Define the term schema in relation to databases Create a schema using the CREATE SCHEMA statement

Summary (cont’d) Drop schemas from a database using the DROP SCHEMA statement Use appropriate commands to create, insert and retrieve data from a database table, including using the SELECT, CREATE TABLE and CREATE VIEW statements Use the INSERT command appropriately

Summary (cont’d) Use appropriate UPDATE and DELETE statements to update or delete information from a database, including working with tuples Use the DISTINCT keyword Compose predicates and other statements using the WHERE clause

Summary (cont’d) Identify the use and structure of Boolean operators Describe SQL special operators and ORDER BY clauses (e.g., the IN, BETWEEN and LIKE operators) Deploy the ORDER BY clause to order output by column or group of columns

Summary (cont’d) Retrieve data from relations using the SELECT statement Create statements using the GRANT keyword to control user access to relations Use the REVOKE keyword to limit access

Lesson 9: Relational Algebra

Objectives Describe a selection operation Create a projection operation Explain and use a Cartesian product operation Create unions Define a set difference operation

Objectives (cont’d) Describe an intersection operation Create a theta-join Use a natural join Create an equi-join Create an outer join

Defining Relational Algebra Selection Projection Cartesian product Union Difference Intersection Joins

Summary Describe a selection operation Create a projection operation Explain and use a Cartesian product operation Create unions Define a set difference operation

Summary (cont’d) Describe an intersection operation Create a theta-join Use a natural join Create an equi-join Create an outer join

Lesson 10: Transactions and Database Security

Objectives Define the concept of a transaction, including use of the INSERT, DELETE and UPDATE operations Identify the two results of a transaction (commit and rollback) Describe the four desirable "ACID" properties (atomicity, consistency, isolation, durability)

Objectives (cont’d) Define serializability in relation to a DBMS List concurrency control methods, including locking and timestamps Describe the steps involved in optimistic concurrency control (e.g., reading, validation, writing), including knowing when and when not to use optimistic concurrency control

Objectives (cont’d) Identify issues that can occur if concurrency control is not enacted property (e.g., dirty reads, lost and uncommitted updates, unrepeatable query results) Identify issues and determine the scope of database security (e.g., theft, privacy, integrity control, availability)

Objectives (cont’d) List typical security threats to databases Describe database countermeasure and protection techniques (e.g., encryption, ways to create views)

Transactions Commit Rollback ACID properties –Atomicity –Consistency –Isolation –Durability

Concurrency Control Lost updates Uncommitted updates Unrepeatable query results Serializability Concurrency control methods –Locking –Timestamps Optimistic concurrency control

Database Security The scope of database security Types of security threats Types of protection techniques

Summary Define the concept of a transaction, including use of the INSERT, DELETE and UPDATE operations Identify the two results of a transaction (commit and rollback) Describe the four desirable "ACID" properties (atomicity, consistency, isolation, durability)

Summary (cont’d) Define serializability in relation to a DBMS List concurrency control methods, including locking and timestamps Describe the steps involved in optimistic concurrency control (e.g., reading, validation, writing), including knowing when and when not to use optimistic concurrency control

Summary (cont’d) Identify issues that can occur if concurrency control is not enacted property (e.g., dirty reads, lost and uncommitted updates, unrepeatable query results) Identify issues and determine the scope of database security (e.g., theft, privacy, integrity control, availability)

Summary (cont’d) List typical security threats to databases Describe database countermeasure and protection techniques (e.g., encryption, ways to create views)

Database Design Methodology Introduction to Databases Relational Database Fundamentals Database Planning Overview of Database Design Methodology Normalization

Database Design Methodology Logical Database Design Physical Database Design Structured Query Language Relational Algebra Transactions and Database Security

Database Design Methodology For information about the CIW Database Specialist exam and certification, visit