Normal
Normal
Objective:
Structure:
1. Pre-Class Preparation
o Video lectures
o Reading materials
o Quizzes
2. In-Class Activities
o Discussion and Q&A
o Group activities and problem-solving
o Case studies
3. Post-Class Activities
o Homework assignments
o Project work
o Reflection and feedback
Pre-Class Preparation:
In-Class Activities:
Post-Class Activities:
Pre-Class Preparation:
In-Class Activities:
Post-Class Activities:
Pre-Class Preparation:
In-Class Activities:
Post-Class Activities:
Homework: Identify partial dependencies in provided tables and normalize them to 2NF
Project Work: Continue designing the database, now in 2NF
Pre-Class Preparation:
In-Class Activities:
Post-Class Activities:
Pre-Class Preparation:
Video Lecture: Boyce-Codd Normal Form (BCNF) and higher normal forms (10 mins)
o Definition and requirements of BCNF
o Differences between 3NF and BCNF
o Overview of 4NF and 5NF
Reading Material: Advanced normalization techniques
Quiz: BCNF and higher normal forms (5 questions)
In-Class Activities:
Pre-Class Preparation:
Video Lecture: Recap of all normal forms and their significance (10 mins)
Reading Material: Summary of normalization concepts
Quiz: Comprehensive quiz on all normal forms (10 questions)
In-Class Activities:
Post-Class Activities:
In-Class Activities:
This lesson plan uses the flipped classroom approach to ensure that students engage with
the material both independently and collaboratively, fostering a deeper understanding of
normalization in database design.
4o
Answer: A
Answer: D
Answer: C
Answer: B
Answer: A
Answer: C
Answer: B
Answer: C
Answer: C
Answer: C
Week 3: Quiz on Second Normal Form (2NF)
Answer: D
Answer: A
o A. OrderID → ProductID
o B. OrderID, ProductID → Quantity
o C. ProductID → ProductName
o D. Quantity → ProductName
Answer: C
Answer: C
Answer: B
Answer: D
Answer: B
o A. EmployeeID → DepartmentID
o B. DepartmentID → DepartmentName
o C. EmployeeID → DepartmentName
o D. EmployeeID, DepartmentID → DepartmentName
Answer: C
Answer: C
Answer: D
Answer: D
Answer: A
Answer: D
Answer: D
Correct Answer: A
Correct Answer: D
3. In which normal form is a table if it has no repeating groups or arrays?
o A. 1NF
o B. 2NF
o C. 3NF
o D. BCNF
Correct Answer: A
Correct Answer: B
Correct Answer: C
Correct Answer: B
2. Which of the following changes would move a table from 1NF to 2NF?
o A. Removing all transitive dependencies.
o B. Removing all partial dependencies.
o C. Ensuring each attribute is atomic.
o D. Creating foreign keys.
Correct Answer: B
3. Given a table Students(StudentID, Name, CourseID, CourseName,
InstructorID, InstructorName), which of the following is a correct step
towards normalization?
o A. Create a new table for courses.
o B. Create a new table for instructors.
o C. Create separate tables for courses and instructors.
o D. Add a composite key.
Correct Answer: C
Correct Answer: A
Correct Answer: B
Correct Answer: A
Correct Answer: C
Correct Answer: A
Correct Answer: B
Correct Answer: D
2. A table is in 2NF if it is in 1NF and:
o A. All non-key attributes are fully functional dependent on the primary
key.
o B. All non-key attributes are directly dependent on the primary key.
o C. It has no transitive dependencies.
o D. It has no repeating groups.
Correct Answer: A
3. In which normal form is a table that has no partial dependencies but still has
transitive dependencies?
o A. 1NF
o B. 2NF
o C. 3NF
o D. BCNF
Correct Answer: B
Correct Answer: C
Correct Answer: C
Correct Answer: C
Correct Answer: B
Correct Answer: C
4. In which normal form is a table if all non-key attributes depend only on the
primary key and not on any other non-key attribute?
o A. 1NF
o B. 2NF
o C. 3NF
o D. BCNF
Correct Answer: C
Correct Answer: B
Correct Answer: B
Correct Answer: B
Correct Answer: B
Correct Answer: C
5. To achieve BCNF, which of the following must be true for every functional
dependency (X -> Y) in a table?
o A. X must be a candidate key.
o B. Y must be a candidate key.
o C. X must be a primary key.
o D. Y must be a primary key.
Correct Answer: A
Correct Answer: C
Correct Answer: B
Correct Answer: C
Correct Answer: B
Correct Answer: B
4o
6. ==========================================================
7.
Description:
o Design a database for managing a library’s collection of books, patrons,
and borrowing records.
Requirements:
Deliverables:
Description:
Requirements:
Deliverables:
Description:
Requirements:
o Include tables for products, categories, customers, orders, order details,
and payments.
o Normalize the database to at least 3NF, considering BCNF where
applicable.
o Address common normalization issues such as redundant data and update
anomalies.
Deliverables:
Description:
Requirements:
Deliverables:
Description:
Requirements:
Project Presentation:
Peer Review:
Reflection:
Write a reflection on what you learned about normalization and database design.
Discuss how normalization can be applied in real-world scenarios based on your
project experience.
Description:
Deliverables:
Description:
Requirements:
Deliverables:
Description:
Requirements:
o Include tables for products, suppliers, stock levels, purchase orders, and
order details.
o Normalize the database to at least 3NF.
o Highlight how normalization helps in tracking inventory and preventing
data anomalies.
Deliverables:
Description:
Requirements:
Deliverables:
Description:
Requirements:
Deliverables:
Description:
Requirements:
Deliverables:
Description:
Requirements:
Deliverables:
Description:
o Create a database for managing a music streaming service, including
users, playlists, songs, and artists.
Requirements:
Deliverables:
Description:
Requirements:
Deliverables:
Description:
Requirements:
o Include tables for users, posts, comments, likes, and friendships.
o Normalize the database to 3NF or BCNF.
o Discuss the importance of normalization in handling large volumes of
user-generated content.
Deliverables:
Project Presentation:
Peer Review:
Reflection:
Write a reflection on what you learned about normalization and database design.
Discuss how normalization can be applied in real-world scenarios based on your
project experience
Example projects?
ChatGPT
Project Description:
Design a database for managing a library’s collection of books, patrons, and borrowing
records. The goal is to apply normalization principles to ensure data integrity and
minimize redundancy.
Requirements:
Deliverables:
1. ER Diagram:
o Create an ER diagram to represent the final normalized database structure.
2. SQL Scripts:
o Scripts to create tables and insert sample data.
3. Normalization Report:
o Document the normalization process, including initial table designs and
how they were transformed through each normal form.
Project Description:
Requirements:
Deliverables:
1. ER Diagram:
o Create an ER diagram to represent the final database design.
2. SQL Scripts:
o Scripts to create tables and insert sample data.
3. Normalization Report:
o Document the normalization process, detailing how each normal form was
applied to resolve design issues.
Example Project 3: Online Retail Store
Project Description:
Design a database for an online retail store, covering products, customers, orders, and
payment records. Normalize the database to ensure data consistency and reduce
redundancy.
Requirements:
Tables for products, categories, customers, orders, order details, and payments.
Normalize the database to at least 3NF, considering BCNF where applicable.
Address common normalization issues such as redundant data and update
anomalies.
Deliverables:
1. ER Diagram:
o Create an ER diagram to represent the final database design.
2. SQL Scripts:
o Scripts to create tables and insert sample data.
3. Normalization Report:
o Document the normalization process, highlighting challenges and how
they were addressed.
Project Description:
Requirements:
Deliverables:
1. ER Diagram:
o Create an ER diagram to represent the final database design.
2. SQL Scripts:
o Scripts to create tables and insert sample data.
3. Normalization Report:
o Document the normalization process, explaining each step and its benefits.
Project Description:
Create a database to manage real estate properties, owners, tenants, leases, and
maintenance requests. Normalize the database to ensure data consistency and reduce
redundancy.
Requirements:
Deliverables:
1. ER Diagram:
o Create an ER diagram to represent the final database design.
2. SQL Scripts:
o Scripts to create tables and insert sample data.
3. Normalization Report:
o Document the normalization process, explaining the rationale behind
design choices.
1. Books Table:
o BookID (Primary Key)
o Title
o Author
o Genre
o PublicationYear
2. Patrons Table:
o PatronID (Primary Key)
o Name
o Address
o PhoneNumber
3. Loans Table:
o LoanID (Primary Key)
o BookID (Foreign Key)
o PatronID (Foreign Key)
o LoanDate
o ReturnDate
Final ER Diagram:
Create SQL scripts to define the tables and insert sample data.
Document the initial design, the normalization process, and the final design.
Include examples and explanations for each normal form applied.
Students will understand the concept of normalization in database design, its importance,
and the various normal forms (1NF, 2NF, 3NF).
Duration:
1 hour
Materials Needed:
Lesson Outline:
Assessment:
2. What is Normalization?
3. Benefits of Normalization
Improved Data Consistency: Ensures that each piece of data is stored in one
place, reducing the chance of discrepancies.
Reduced Data Duplication: Minimizes wasted space and resources by avoiding
the same data stored multiple times.
Easier Maintenance: Simplifies updates, deletions, and insertions, as changes
made in one place will automatically reflect throughout related tables.
text
Unnormalized Table:
ID | Name | Phone Numbers
1 | John Doe | 123-4567, 234-5678
2 | Jane Smith| 345-6789
1NF Conversion:
ID | Name | Phone Number
1 | John Doe | 123-4567
1 | John Doe | 234-5678
2 | Jane Smith| 345-6789
text
1NF Table:
OrderID | ProductID | ProductName | CustomerID
1 | 101 | Widget |1
1 | 102 | Gadget |1
2 | 101 | Widget |2
2NF Conversion:
Orders Table:
OrderID | CustomerID
1 |1
2 |2
OrderDetails Table:
OrderID | ProductID | ProductName
1 | 101 | Widget
1 | 102 | Gadget
2 | 101 | Widget
text
2NF Table:
CustomerID | CustomerName | CustomerAddress
1 | John Doe | 123 Elm St
2 | Jane Smith | 456 Oak St
3NF Conversion:
Customers Table:
CustomerID | CustomerName
1 | John Doe
2 | Jane Smith
Addresses Table:
CustomerID | CustomerAddress
1 | 123 Elm St
2 | 456 Oak St
5. Group Activity
text
Summarize the key concepts presented about normalization and its natural
progression through normal forms.
Encourage students to think about how normalization applies to real-world
applications, such as e-commerce systems, school management systems, and
others.
Open the floor for questions, encouraging students to clarify any doubts they may
have regarding the normalization process.
Assessment:
Evaluate the outcome of the group activity based on how well they recognized
and addressed normalization issues.
Assign homework that asks each student to normalize a dataset and provide
reasoning for each step they took to reach 3NF.
Flipped Classroom Lesson Plan: Functional Dependency
Lesson Title: Understanding Functional Dependency in Database
Design
Objectives:
1. Students will define functional dependency and its significance in database
normalization.
2. Students will identify and differentiate between various types of functional
dependencies.
3. Students will apply functional dependencies to analyze and improve database
schemas.
2. Reading Materials:
3. Interactive Quiz:
A quiz covering key concepts from video lectures and readings to ensure
comprehension.
Divide students into small groups to discuss the pre-class materials. Each group
will summarize a type of functional dependency and present it to the class.
Open the floor for questions, clarifying any misunderstandings and reinforcing
key concepts.
2. Reflection Journal:
Assessment:
Participation in group discussions and activities: 20%
Completion and quality of the homework assignment: 50%
Reflection journal submission: 30%
Resources:
Video Lecture Platform: YouTube or institution’s LMS
Reading Materials: Provided as PDF or links
Quizzes: Google Forms or Kahoot
This flipped classroom approach allows students to engage with functional dependency
concepts actively and collaboratively, applying their knowledge in practical scenarios.