Using Puppies to Teach Data Design

Slides:



Advertisements
Similar presentations
Copyright: ©2005 by Elsevier Inc. All rights reserved. 1 Author: Graeme C. Simsion and Graham C. Witt Chapter 3 The Entity-Relationship Approach.
Advertisements

Author: Graeme C. Simsion and Graham C. Witt Chapter 4 Subtypes & Supertypes.
Database Design: Normalization J.G. Zheng June 29 th 2005 DB Chapter 4.
Chapter 5 Normalization of Database Tables
Database Tables and Normalization
5 5 Normalization of Database Tables Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
Normalization Rules for Database Tables
Chapter 5 Normalization of Database Tables
Data Modeling. What are you keeping track of? You begin to develop a database by deciding what you are going to keep track of. Each thing that you are.
Relational Terminology. Normalization A method where data items are grouped together to better accommodate business changes Provides a method for representing.
First Normal Form Second Normal Form Third Normal Form
BUSINESS DRIVEN TECHNOLOGY Plug-In T4 Designing Database Applications.
Normalization What is it?
Puppy Project Normalization. Un-normalized Data Items Puppy Number Puppy Name Kennel Code Kennel Name Kennel Location Trick ID 1  n Trick Name 1  n.
NWACC Library Instruction Program Teaching information literacy skills for academic success and lifelong learning.
Modeling the Data: Conceptual and Logical Data Modeling
Normalization of Database Tables
1 5 Concepts of Database Management, 4 th Edition, Pratt & Adamski Chapter 5 Database Design: Normalization.
Normalization of Database Tables
Designing a Database Unleashing the Power of Relational Database Design.
Microsoft Access 2002 By Ian Cole Lecturer in ICT.
Chapter 5 Normalization of Database Tables
Database Systems Design, Implementation, and Management Coronel | Morris 11e ©2015 Cengage Learning. All Rights Reserved. May not be scanned, copied or.
Project and Data Management Software
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 5 Normalization of Database Tables.
System Analysis and Design
1 5 Concepts of Database Management, 4 th Edition, Pratt & Adamski Chapter 5 Database Design 1: Normalization.
Copyright © 2016 McGraw-Hill Education. All rights reserved. No reproduction or distribution without the prior written consent of McGraw-Hill Education.
PHASE 3: SYSTEMS DESIGN Chapter 7 Data Design.
Normalization Rules for Database Tables Northern Arizona University College of Business Administration.
CREATE THE DIFFERENCE Normalisation (special thanks to Janet Francis for this presentation)
A Guide to SQL, Eighth Edition Chapter Two Database Design Fundamentals.
1 Class Agenda (11/07 and 11/12)  Review HW #8 answers  Present normalization process Enhance conceptual knowledge of database design. Improve practical.
1 Chapter 1 Overview of Database Concepts. 2 Chapter Objectives Identify the purpose of a database management system (DBMS) Distinguish a field from a.
Normalization - Mr. Ahmad Al-Ghoul Data Design. 2 learning Objectives  Explain the concept of table design  Explain unnormalized design and the first.
Normalization A technique that organizes data attributes (or fields) such that they are grouped to form stable, flexible and adaptive entities.
Database Systems: Design, Implementation, and Management Tenth Edition
Database Systems: Design, Implementation, and Management Ninth Edition Chapter 6 Normalization of Database Tables.
1 A Guide to MySQL 2 Database Design Fundamentals.
1 DATABASE SYSTEMS DESIGN IMPLEMENTATION AND MANAGEMENT INTERNATIONAL EDITION ROB CORONEL CROCKETT Chapter 7 Normalisation.
BIS Database Systems School of Management, Business Information Systems, Assumption University A.Thanop Somprasong Chapter # 5 Normalization of Database.
Database Normalization Lynne Weldon July 17, 2000.
Applicants Please use speaker notes for additional information!
Relationships and Advanced Query Concepts Using Multiple Tables Please use speaker notes for additional information!
Normalization Information Systems II Ioan Despi. Informal approach Building a database structure : A process of examining the data which is useful & necessary.
1.NET Web Forms Business Forms © 2002 by Jerry Post.
Copyright © 2005 Ed Lance Fundamentals of Relational Database Design By Ed Lance.
Created by, Author Name, School Name—State FLUENCY WITH INFORMATION TECNOLOGY Skills, Concepts, and Capabilities.
CIS 210 Systems Analysis and Development Week 6 Part II Designing Databases,
M1G Introduction to Database Development 4. Improving the database design.
ITN Table Normalization1 ITN 170 MySQL Database Programming Lecture 3 :Database Analysis and Design (III) Normalization.
Create Databases for Web Applications Database normalization. Classwork/Homework: determine teams for basic projects explain and enhance assignment.
Database Design Normalisation. Last Session Looked at: –What databases were –Where they are used –How they are used.
Normalization Data Design - Mr. Ahmad Al-Ghoul
Creating Databases Data normalization. Integrity and Robustness. Work session. Homework: Prepare short presentation on enhancement projects. Continue working.
Microsoft Access 2010 Chapter 11 Database Design.
McGraw-Hill/Irwin Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 6 Modeling the Data: Conceptual and Logical Data Modeling.
What Is Normalization  In relational database design, the process of organizing data to minimize redundancy  Usually involves dividing a database into.
MS Access. Most A2 projects use MS Access Has sufficient depth to support a significant project. Relational Databases. Fairly easy to develop a good user.
Normalisation Unit 6: Databases. Just to recap  What is an Entity  What is an Attribute?
Relational Databases – Further Study I think we’ve covered all you need to know for GCSE about relational databases I’m not aware of any practical coursework.
Normalizing Database Designs. 2 Objectives In this chapter, students will learn: –What normalization is and what role it plays in the database design.
Understanding Data Storage
A Guide to SQL, Eighth Edition
Revised: 2 April 2004 Fred Swartz
CIS 111 Education for Service-- tutorialrank.com
© 2011 Pearson Education, Inc. Publishing as Prentice Hall
System Analysis and Design
MIS2502: Data Analytics Relational Data Modeling
Presentation transcript:

Using Puppies to Teach Data Design Harry J. Rosenblatt, College of the Albemarle Author, Systems Analysis and Design, 9th Ed.

This is a true story … It all began in a computer lab at College of the Albemarle in Elizabeth City, NC, in 1991.

In my advanced database and systems analysis courses: Students were able to handle one-to-many (1:M) relationships,

In my advanced database and systems analysis courses: Students were able to handle one-to-many (1:M) relationships, but they found it much harder to work with many-to-many (M:N) relationships,

In my advanced database and systems analysis courses: Students were able to handle one-to-many (1:M) relationships, but they found it much harder to work with many-to-many (M:N) relationships, and they did not really understand how a relational database forms an overall data structure.

What was the problem?

Why did my students have more difficulty with M:N? What was the problem? Our introductory database course focused on 1:M examples, with little emphasis on M:N relationships Why did my students have more difficulty with M:N?

Why did my students have more difficulty with M:N? What was the problem? Our introductory database course focused on 1:M examples, with little emphasis on M:N relationships Students had not created entity-relationship diagrams, and were not familiar with associative entities. Why did my students have more difficulty with M:N?

Why did my students have more difficulty with M:N? What was the problem? Our introductory database course focused on 1:M examples, with little emphasis on M:N relationships Students had not created entity-relationship diagrams, and were not familiar with associative entities. Students had never learned about normalization concepts or data design rules. Why did my students have more difficulty with M:N?

So, I decided to use the Puppy Poster to teach data design

So, I decided to use the Puppy Poster to teach data design

Students liked the approach and it seemed to work well ...

We often recited the poster’s “Golden Rule”

Actually, I used a streamlined version: In 3NF, all fields must depend upon the key, the whole key, and nothing but the key.

Students followed a step-by-step process … Created entity-relationship diagrams that included associative entities. Learned how to use standard notation format. Created 1NF designs where all fields depend on the key. Created 2NF designs where all fields depend on the whole key. Created 3NF designs where all fields depend on the key, the whole key, and nothing but the key.

Here’s the modern version of the puppy model … Puppy Palace Situation: Puppy Palace works with TV and movie producers who need dogs that can perform special tricks, such as headstands, somersaults, ladder climbs, and various dog-and-pony tricks. Puppy Palace has about 16 dogs and a list of 50 tricks from which to choose. Each dog can perform one or more tricks, and many tricks can be performed by more than one dog. When a dog learns a new trick, the trainer assigns a skill level. Some customers insist on using dogs that score a 10, which is the highest skill level. As an IT consultant, you have been asked to suggest 3NF table designs. You are fairly certain that a M:N relationship exists between dogs and tricks. (Source: Systems Analysis and Design, 9th Edition, Page 443)

An important first step … PUPPY TRICK LEARNED IN KNOWS PUP TRIX

Now let’s fast-forward to 2010 … Here are clips from a video session that can help students work with entity-relationship diagrams.

Next, we followed the Puppy Poster command for 1NF:

A typical conversation about repeating groups … Me: In first normal form, there must be NO repeating groups. Student: I’m lost. I never heard of repeating groups. What are they?

A classic paper-based records system …

Behind each main card, there are related cards …

Suppose you had a puppy named Buddy …

Unnormalized data has repeating groups, like these …

Standard notation format looks like this … TABLE NAME (Field 1, Field 2, Field 3, etc.) Notes: All fields are shown inside a set of parens, and are separated by commas The primary key is underlined

Here is standard notation format for an unnormalized design PUPPY (Pup No, Pup Name, Pup DOB, Breed, Size, Kennel Code, Kennel Name, Kennel Location, (Trick ID, Trick Name, Learned, Skill)) Notes: The repeating group is shown in an inner set of parens The main key and repeating group key are both underlined

These fields describe the puppy … Pup Fields

In the index card example, these cards would have tabs …

And these fields describe the tricks the puppy knows … Repeating Group

The trick field cards would form a repeating group.

Here is how we can eliminate the repeating group …

Then identify all primary key fields (shown in red)

The two key fields form a unique combination primary key…

And all other fields depend on that key … PUPPY (Pup No, Trick ID, Pup Name, Pup DOB, Breed, Size, Kennel Code, Kennel Name, Kennel Location, Trick Name, Learned, Skill)

The new video is like an interactive version of the poster … In this session, students learn how to create a design in first normal form (1NF).

Next, the poster explains how to create a 2NF design …

A typical conversation about Second Normal Form (2NF) Me: In second normal form, nonkey fields must depend on the whole key – not just part of it. Student: I don’t understand what that means. Please explain it to me.

For 2NF, we split up a 1 NF table, like this …

The pup-related fields go into the 2NF PUPPY table …

The trick-related fields go into the 2NF TRICKS table …

Fields that depend on the entire key go into a new table …

Now the 1NF design is transformed into three tables in 2NF… 2NF PUPPY (Pup No, Pup Name, Pup DOB, Breed, Size, Kennel Code, Kennel Name, Kennel Location 2NF TRICKS (Trick ID, Trick Name) 2NF PUP TRIX (Pup No, Trick ID, Learned, Skill)

PUP TRIX is an associative entity that joins the tables …

Here are video clips of 2NF … In this session, students learn how to create designs in second normal form (2NF).

Finally, the Puppy Poster explains 3NF:

A typical conversation about Third Normal Form (3NF) Me: In third normal form, all non-key fields must depend on the key, the whole key, and nothing but the key. In other words, a non-key field cannot depend on any other non-key field. Student: Wow. That sounds really complicated. Could you explain it?

In this design, some fields depend on other non-key fields …

Which ones?

Right! They depend on the primary key, BUT

They ALSO are determined by the Kennel Code field …

So they move to a new table, with Kennel Code as the key …

Here is the complete 3NF design: 3NF PUPPY (Pup No, Pup Name, Pup DOB, Breed, Size) 3NF TRICKS (Trick ID, Trick Name) 3NF PUP TRIX (Pup No, Trick ID, Learned, Skill) 3NF KENNEL (Kennel Code, Kennel Name, Kennel Location)

Here are some clips from the last normalization video … In this session, students learn how to create designs in third normal form (3NF)

That’s the true story of the Puppy Poster …

Thanks for attending! Harry J. Rosenblatt, College of the Albemarle Author, Systems Analysis and Design, 9th Ed. harryr@centurylink.net

Why is the relational concept important? Most business systems require at least third normal form (3NF) and involve M:N relationships. To construct accurate models, you must understand normalization and relations among the entities. In our daily lives, we interact mainly with relational database systems. Why is the relational concept so important?