LibreOffice-Suite-Base/C4/Design-Refine-Database-Design-and-Normalization-Rules/English
Visual Cue | Narration |
---|---|
Show Slide Number 1
Spoken tutorial on LibreOffice Base : Database Design : 3 Learning Objectives Database Design: 3 (continuation of Database Design: Part 2) 7. Refine the database design 8. Apply the normalization rules 9. Test the database design |
Welcome to the Spoken tutorial on LibreOffice Base.
This tutorial is a continuation of the previous tutorial on Database Design. And we will learn the following topics here: 7. Refine the database design 8. Apply the normalization rules 9. Test the database design |
Show Slide Number 2
Step 7. Refine our database design
|
In the last tutorial, we learnt how to set up primary keys and foreign keys to establish table relationships.
Let us now continue with the process of database design. First, we will refine our database design. Now that we have a preliminary design, we can create and populate the tables with sample data. We can create sample queries, forms and reports and see if all our initial questions are answered. We can check for unnecessary duplications and eliminate them by altering the design. We can add columns that we may have forgotten. Also we can include Business rules to the Library database to enforce Database Integrity. For example, the Price column in the Books table has to be numeric. Another business rule can be: the Return Date should be one month after the date of issue of a book. Or when a specific action occurs, further actions should be triggered. So if a book return date is overdue, then we should set up actions in the database to send an email reminder to the member. So as we redesign, we may introduce new tables, columns, rules or constraints, And we have to go over all the previous steps to ensure that the Data Integrity is not lost. |
Show Slide Number 3
Step 8. Apply the normalization rules
|
Next, we can apply the normalization rules.
These are used to see if our tables are a) structured correctly and b) free of any modification anomalies that we saw earlier. The process of applying the rules or normal forms to a database design is called normalization. Let us see the first three Normal forms in our tutorial. |
Show Slide Number 4
First Normal Form First Normal Form or 1NF says that all column values must be atomic. |
Let us first see the First Normal Form.
First Normal Form or 1NF says that all column values must be atomic. |
Show Slide Number 5
Show BooksAuthorsTableDataWithId.ppt |
For example, each cell in the Price column in the Books table should have only one value
Meaning the column should hold only the price of that book and nothing else. Similarly, each First Name cell in the Authors table should have only one author’s first name. |
Show Slide Number 4
Retain slide 4 content. And make the following appear: First Normal form also says that there are no repeating groups of columns. Example: Publisher publishes 3 books. Consider Publishers table with columns: Publisher Id, Publisher, Book1, Author 1, Book 2, Author 2, Book 3, Author 3
|
First Normal form also says that there are no repeating groups of columns.
As an example, we will suppose that a Publisher has published 3 books And the Publishers table structure has the following columns: Publisher Id, Publisher, Book1, Author 1, Book 2, Author 2, Book 3, Author 3 Notice the repeating groups: Book and Author three times. So if we see such repeating groups, we should revisit our design. Now if the publisher publishes ten more books, we are forced to change the table structure by adding 20 columns. So we see that the table design is not stable as data changes. Also searching and sorting the table by book or author will become cumbersome. |
Show Slide Number 5
Show BooksAuthorsPublishersTableDataWithId.ppt Show cursor movements over the slide as narration goes forward. |
So we solve this flaw by splitting the table into two or three tables.
In our example, we will split the above table into Publishers, Books and Authors as shown in the image on the screen. This design brings the table to the First Normal Form and keeps the table structures stable as data on publishers and books keep changing. |
Show Slide Number 6
Second Normal Form
BookId, (primary key) MemberId, (primary key) BookTitle, IssueDate
|
Let us see the Second Normal Form now.
A table is said to be in Second Normal Form, or 2NF, if it is in 1st Normal Form and every non-key column is fully dependent on the entire primary key. This rule applies when we have a primary key that consists of more than one column. For example, let us consider the BooksIssued table, with the following columns. BookId, MemberId, BookTitle, And IssueDate, with BookId and MemberId forming the primary key of the table. Now, notice the BookTitle column. We can get the BookTitle by looking up the BookId in the Books table. In other words, BookTitle is dependent on Book ID only, and not on Member ID. So it is not dependent on the entire primary key. To bring this table into Second Normal Form, we must remove BookTitle from this table. And retain only those columns that are fully dependent on both the primary key columns IssueDate column will be retained here, as it is fully dependent on both the primary key fields. |
Show Slide Number 7
Third Normal Form
Example: BooksIssued table with columns: BookIssueId (Primary key) BookTitle Member IssueDate ReturnDate
http://en.wikipedia.org/wiki/Database_normalization http://www.deeptraining.com/litwin/dbdesign/FundamentalsOfRelationalDatabaseDesign.aspx http://databases.about.com/od/specificproducts/Database_Design.htm |
Now let us see what the Third Normal Form is.
A table is said to be in Third Normal Form (3NF), if it is in 2nd Normal Form. and if all the non-key columns are independent of each other. For example, let us assume the BooksIssued table with columns as BookIssueId (serving as the primary key), BookTitle, Member, IssueDate, And ReturnDate And assume that the Library’s policy of return date is one month after the Book Issue Date. Now, Base can calculate the Return Date by using the IssueDate column which is a non-key column. Meaning, ReturnDate is really dependent only on IssueDate column and no other column. Also, if we enter a different date in the Return Date field, then it will violate our Library’s policy. So to keep the table in the Third Normal Form, we will remove the ReturnDate column from the table. So now we know how to apply the first three Normal forms. Usually, our database design can stop at 3NF. For more information on Normal forms and database design, visit the websites shown on the screen. |
Show Slide Number 8
Step 9. Test the database Create the database structure: Tables, Relationships, Rules or Constraints, Forms, Queries and Reports.
|
Finally let us test our database design, as we have gone over the database design process,
We can create the database structure; Here we will create the Tables, Relationships, Rules or Constraints, Forms, Queries and Reports. And we can test the database with real data and users. Use the forms for performing data additions, updates or deletes to the database. Run reports to see if the report results are correct and accurate. As the database gets ready for use, we can check the performance in terms of speed. We can add Indexes to the tables for faster retrieval of data. And we should perform periodical database maintenance, to keep our database application running successfully. |
Show Slide Number 9
Assignment: Add a new entity called Media to the Library database design. 1. Media consists of audio and video DVDs and CDs. 2. Just like books, DVDs and CDs can also be issued to the Library members. 3. Follow the database design process 4. Apply the first three Normal forms to your design. |
Now that we are done, here is an assignment for you:
Add a new entity called Media to the Library database design. Media consists of DVDs and CDs. And they can be either audio or video. Just like books, DVDs and CDs can also be issued to the Library members. Follow the database design process And apply the first three Normal forms to your design. |
Show Slide Number 10
Summary: Database Design 7. Refine the database design 8. Apply the normalization rules 9. Test the database design |
This brings us to the end of this tutorial on the Third Part of Database Desin in LibreOffice Base
To summarize, we learned the following topics on database design: 7. Refine the database design 8. Apply the normalization rules 9. Test the database design |
Acknowledgement Slide | Spoken Tutorial Project is a part of the Talk to a Teacher project, supported by the National Mission on Education through ICT, MHRD, Government of India. This project is co-ordinated by http://spoken-tutorial.org. More information on the same is available at the following link http://spoken-tutorial.org/NMEICT-Intro. This script has been contributed by Priya Suresh, DesiCrew Solutions.signing off. Thanks for joining. |