Presentation is loading. Please wait.

Presentation is loading. Please wait.

Using Puppies to Teach Data Design

Similar presentations


Presentation on theme: "Using Puppies to Teach Data Design"— Presentation transcript:

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

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

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

4 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,

5 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.

6 What was the problem?

7 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?

8 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?

9 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?

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

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

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

13 We often recited the poster’s “Golden Rule”

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

15 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.

16 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)

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

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

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

20 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?

21 A classic paper-based records system …

22 Behind each main card, there are related cards …

23 Suppose you had a puppy named Buddy …

24 Unnormalized data has repeating groups, like these …

25 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

26 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

27 These fields describe the puppy …
Pup Fields

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

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

30 The trick field cards would form a repeating group.

31 Here is how we can eliminate the repeating group …

32 Then identify all primary key fields (shown in red)

33 The two key fields form a unique combination primary key…

34 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)

35 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).

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

37 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.

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

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

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

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

42 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)

43 PUP TRIX is an associative entity that joins the tables …

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

45 Finally, the Puppy Poster explains 3NF:

46 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?

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

48 Which ones?

49 Right! They depend on the primary key, BUT

50 They ALSO are determined by the Kennel Code field …

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

52 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)

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

54 That’s the true story of the Puppy Poster …

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

56 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?


Download ppt "Using Puppies to Teach Data Design"

Similar presentations


Ads by Google