0% found this document useful (0 votes)
37 views41 pages

Normal

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
37 views41 pages

Normal

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 41

Memory updated

Lesson Plan: Understanding Normalization in Database Design (Flipped


Classroom Approach)

Objective:

Students will understand the principles and techniques of normalization in database


design, including the different normal forms and their applications.

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

Week 1: Introduction to Database Normalization

Pre-Class Preparation:

 Video Lecture: Introduction to Database Normalization (10 mins)


o Definition and importance of normalization
o Overview of normal forms (1NF, 2NF, 3NF, BCNF)
 Reading Material: Chapter on Normalization from textbook or online resource
 Quiz: Basic concepts of normalization (5 questions)

In-Class Activities:

 Discussion: Review key concepts from video and reading


 Group Activity: Identify normalization errors in sample database tables
 Case Study: Real-world example of normalization in a business setting

Post-Class Activities:

 Homework: Normalize a provided database to 1NF, 2NF, and 3NF


 Reflection: Write a short reflection on the importance of normalization in database
design

Week 2: First Normal Form (1NF)

Pre-Class Preparation:

 Video Lecture: First Normal Form (1NF) (10 mins)


o Definition and requirements of 1NF
o Examples of non-1NF tables and their conversion to 1NF
 Reading Material: Detailed explanation of 1NF
 Quiz: Identify tables that are not in 1NF (5 questions)

In-Class Activities:

 Discussion: Key points from the video and reading


 Group Activity: Convert given tables to 1NF
 Case Study: Example of a database designed without considering 1NF

Post-Class Activities:

 Homework: Normalize a more complex database to 1NF


 Project Work: Start designing a small database in 1NF

Week 3: Second Normal Form (2NF)

Pre-Class Preparation:

 Video Lecture: Second Normal Form (2NF) (10 mins)


o Definition and requirements of 2NF
o Functional dependency and partial dependency
o Converting 1NF tables to 2NF
 Reading Material: In-depth discussion on functional dependencies
 Quiz: Functional and partial dependencies (5 questions)

In-Class Activities:

 Discussion: Review concepts of 2NF


 Group Activity: Normalize 1NF tables to 2NF
 Case Study: Example of a database in 1NF and its conversion to 2NF

Post-Class Activities:
 Homework: Identify partial dependencies in provided tables and normalize them to 2NF
 Project Work: Continue designing the database, now in 2NF

Week 4: Third Normal Form (3NF)

Pre-Class Preparation:

 Video Lecture: Third Normal Form (3NF) (10 mins)


o Definition and requirements of 3NF
o Transitive dependency
o Converting 2NF tables to 3NF
 Reading Material: Transitive dependencies and their impact
 Quiz: Identifying transitive dependencies (5 questions)

In-Class Activities:

 Discussion: Importance of 3NF in database design


 Group Activity: Normalize 2NF tables to 3NF
 Case Study: Example of a database in 2NF and its conversion to 3NF

Post-Class Activities:

 Homework: Normalize provided tables to 3NF


 Project Work: Finalize the database design in 3NF

Week 5: Boyce-Codd Normal Form (BCNF) and Beyond

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:

 Discussion: BCNF and its significance


 Group Activity: Normalize 3NF tables to BCNF
 Case Study: Real-world application of BCNF in database systems
Post-Class Activities:

 Homework: Normalize provided tables to BCNF


 Project Work: Refine the database design to include BCNF if applicable

Week 6: Review and Application

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:

 Discussion: Review and clarify any remaining questions


 Group Activity: Complete normalization of a complex database scenario
 Case Study: Analyze a real-world database and its normalization process

Post-Class Activities:

 Homework: Complete the final project and prepare a presentation


 Reflection: Reflect on the entire process of normalization and its importance in database
design

Final Project Presentation

In-Class Activities:

 Presentation: Students present their normalized database projects


 Feedback: Peer and instructor feedback on presentations
 Discussion: Lessons learned and best practices in normalization

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

Week 1: Quiz on Basic Concepts of Normalization


1. What is normalization in database design?
o A. A process of organizing data to minimize redundancy.
o B. A method of backing up database data.
o C. A technique to enhance database security.
o D. A process of converting a database to a flat file.

Answer: A

2. Which of the following is not a normal form?


o A. 1NF
o B. 2NF
o C. 3NF
o D. 4NF

Answer: D

3. What is the main goal of 1NF?


o A. Remove partial dependencies.
o B. Remove transitive dependencies.
o C. Eliminate repeating groups.
o D. Ensure referential integrity.

Answer: C

4. Which normal form deals with eliminating partial dependencies?


o A. 1NF
o B. 2NF
o C. 3NF
o D. BCNF

Answer: B

5. What does BCNF stand for?


o A. Boyce-Codd Normal Form
o B. Basic-Cod Normal Form
o C. Base-Codd Normal Form
o D. Boyce-Cod Normal Form

Answer: A

Week 2: Quiz on First Normal Form (1NF)

1. Which of the following is a requirement for a table to be in 1NF?


o A. All non-key attributes must be fully functionally dependent on the
primary key.
o B. There should be no transitive dependencies.
o C. Each column must contain atomic, indivisible values.
o D. Each table must have a primary key.

Answer: C

2. What does it mean for a table to have atomic values?


o A. Values are unique.
o B. Values cannot be divided further.
o C. Values are stored in alphabetical order.
o D. Values are encrypted.

Answer: B

3. Which of the following tables is not in 1NF?

StudentID Name Courses


1 Alice Smith Math, Science
2 Bob Brown English, History
3 Carol White Math, Art

o A. All columns contain unique values.


o B. All rows are uniquely identifiable.
o C. The table contains repeating groups.
o D. The table has a primary key.

Answer: C

4. In the context of 1NF, what is a repeating group?


o A. A set of columns that store similar data.
o B. Multiple rows with identical values.
o C. Multiple values in a single column.
o D. A column with NULL values.

Answer: C

5. What is the result of applying 1NF to a table with repeating groups?


o A. The table remains unchanged.
o B. The table is split into multiple related tables.
o C. The repeating groups are removed.
o D. The table is converted into a flat file.

Answer: C
Week 3: Quiz on Second Normal Form (2NF)

1. Which of the following is a requirement for a table to be in 2NF?


o A. It must be in 1NF.
o B. It must not have any partial dependencies.
o C. It must not have any transitive dependencies.
o D. Both A and B.

Answer: D

2. What is a partial dependency?


o A. A non-key attribute is dependent on part of a candidate key.
o B. A non-key attribute is dependent on a non-candidate key.
o C. A candidate key is dependent on a non-key attribute.
o D. A table with only partial rows.

Answer: A

3. Given the following table, which dependency is partial?

OrderID ProductID Quantity ProductName


1 101 10 Widget A
2 102 5 Widget B

o A. OrderID → ProductID
o B. OrderID, ProductID → Quantity
o C. ProductID → ProductName
o D. Quantity → ProductName

Answer: C

4. What is the main goal of 2NF?


o A. Ensure all attributes are atomic.
o B. Eliminate repeating groups.
o C. Remove partial dependencies.
o D. Remove transitive dependencies.

Answer: C

5. Which of the following tables is in 2NF?

OrderID ProductID Quantity


1 101 10
OrderID ProductID Quantity
2 102 5

o A. The table has no repeating groups.


o B. The table has no partial dependencies.
o C. The table has a primary key.
o D. The table has atomic values.

Answer: B

Week 4: Quiz on Third Normal Form (3NF)

1. Which of the following is a requirement for a table to be in 3NF?


o A. It must be in 1NF.
o B. It must be in 2NF.
o C. It must not have any transitive dependencies.
o D. All of the above.

Answer: D

2. What is a transitive dependency?


o A. A non-key attribute depends on a part of the primary key.
o B. A non-key attribute depends on another non-key attribute.
o C. A key attribute depends on a non-key attribute.
o D. A candidate key depends on another candidate key.

Answer: B

3. Given the following table, which dependency is transitive?

EmployeeID DepartmentID DepartmentName


1 101 Sales
2 102 Marketing

o A. EmployeeID → DepartmentID
o B. DepartmentID → DepartmentName
o C. EmployeeID → DepartmentName
o D. EmployeeID, DepartmentID → DepartmentName

Answer: C

4. What is the main goal of 3NF?


o A. Ensure all attributes are atomic.
o B. Eliminate partial dependencies.
o C. Remove transitive dependencies.
o D. Remove multi-valued dependencies.

Answer: C

5. Which of the following tables is in 3NF?

StudentID CourseID Grade


1 101 A
2 102 B

o A. The table is in 1NF.


o B. The table is in 2NF.
o C. The table has no transitive dependencies.
o D. All of the above.

Answer: D

Week 5: Quiz on Boyce-Codd Normal Form (BCNF) and Higher Normal


Forms

1. Which of the following is a requirement for a table to be in BCNF?


o A. It must be in 1NF.
o B. It must be in 2NF.
o C. It must be in 3NF.
o D. Every determinant must be a candidate key.

Answer: D

2. How does BCNF differ from 3NF?


o A. BCNF is stricter than 3NF.
o B. BCNF allows transitive dependencies.
o C. 3NF allows partial dependencies.
o D. BCNF and 3NF are identical.

Answer: A

3. Given the following table, which dependency violates BCNF?

ProfessorID CourseID RoomNumber


1 101 A1
2 102 B2
o A. ProfessorID → CourseID
o B. CourseID → RoomNumber
o C. ProfessorID, CourseID → RoomNumber
o D. RoomNumber → CourseID

Answer: D

4. What is the main goal of BCNF?


o A. Ensure all attributes are atomic.
o B. Eliminate partial dependencies.
o C. Remove transitive dependencies.
o D. Ensure every determinant is a candidate key.

Answer: D

5. Which of the following tables is in BCNF?

ProjectID EmployeeID Hours


1 101 10
2 102 20

o A. The table is in 1NF.


o B. The table is in 2NF.
o C. The table is in 3NF.
o D.

Quiz Examples for Understanding Normalization in Database Design

Quiz 1: Basic Concepts of Normalization

1. What is normalization in database design?


o A. The process of organizing data to minimize redundancy.
o B. The process of creating indexes for faster queries.
o C. The process of backing up the database.
o D. The process of encrypting the data.

Correct Answer: A

2. Which of the following is a benefit of normalization?


o A. Improved query performance.
o B. Reduced data redundancy.
o C. Easier data maintenance.
o D. All of the above.

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

4. What is the main goal of 2NF?


o A. Eliminate transitive dependencies.
o B. Eliminate partial dependencies.
o C. Eliminate redundancy.
o D. Ensure atomic values.

Correct Answer: B

5. Which normal form aims to remove transitive dependencies?


o A. 1NF
o B. 2NF
o C. 3NF
o D. 4NF

Correct Answer: C

Quiz 2: Practical Applications of Normalization

1. Consider a table with the following columns: OrderID, CustomerName,


CustomerAddress, ProductID, ProductName, OrderDate. Which
normalization issue does this table have?
o A. It violates 1NF.
o B. It violates 2NF.
o C. It violates 3NF.
o D. It violates BCNF.

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

4. Which of the following best describes a transitive dependency?


o A. A non-key attribute depends on another non-key attribute.
o B. A primary key depends on a foreign key.
o C. A composite key depends on a single attribute.
o D. A non-key attribute depends on a primary key.

Correct Answer: A

5. In a table Employees(EmployeeID, Name, DepartmentID, DepartmentName,


ManagerID, ManagerName), to achieve 3NF, which of the following steps
should be taken?
o A. Remove all columns except EmployeeID and Name.
o B. Split the table into Employees, Departments, and Managers.
o C. Ensure EmployeeID is a unique key.
o D. Create composite keys.

Correct Answer: B

Quiz 3: Advanced Normalization Scenarios

1. A table Sales(SaleID, SaleDate, CustomerID, CustomerName,


ProductID, ProductName, Quantity, Price) needs to be normalized. What
should be done first to achieve 2NF?
o A. Create separate tables for customers and products.
o B. Remove the SaleDate column.
o C. Add a composite key.
o D. Ensure each attribute is atomic.

Correct Answer: A

2. Which of the following scenarios indicates that a table is not in BCNF?


o A. There is a transitive dependency.
o B. There is a partial dependency.
o C. A non-prime attribute is dependent on another non-prime attribute.
o D. A non-prime attribute is dependent on a part of a candidate key.
Correct Answer: D

3. What is a potential downside of normalization?


o A. Increased data redundancy.
o B. Decreased data integrity.
o C. More complex queries.
o D. Slower backup processes.

Correct Answer: C

4. In a table Projects(ProjectID, ProjectName, ManagerID, ManagerName,


StartDate, EndDate), which of the following is necessary to achieve BCNF?
o A. Split the table into Projects and Managers.
o B. Remove the StartDate and EndDate columns.
o C. Ensure ProjectID is a primary key.
o D. Create a composite key with ProjectID and ManagerID.

Correct Answer: A

5. Consider the table Classes(ClassID, ClassName, TeacherID,


TeacherName, StudentID, StudentName). To normalize this to 3NF, which
of the following steps should be taken?
o A. Remove all non-key attributes.
o B. Create separate tables for teachers and students.
o C. Add a composite key with ClassID and StudentID.
o D. Ensure ClassID is a primary key.

Correct Answer: B

Additional Quiz Examples for Understanding Normalization in Database


Design

Quiz 4: Identifying Normal Forms

1. Which normal form ensures that there are no multivalued dependencies in a


table?
o A. 1NF
o B. 2NF
o C. 3NF
o D. 4NF

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

4. Which normal form is considered a stricter version of 3NF?


o A. 1NF
o B. 2NF
o C. BCNF
o D. 4NF

Correct Answer: C

5. What is the main purpose of BCNF?


o A. To eliminate redundancy.
o B. To remove partial dependencies.
o C. To ensure all functional dependencies are on candidate keys.
o D. To eliminate multivalued dependencies.

Correct Answer: C

Quiz 5: Practical Examples of Normalization

1. Consider a table Employees(EmployeeID, Name, DepartmentID,


DepartmentName, ManagerID). What is a normalization issue in this table?
o A. It is not in 1NF.
o B. It is not in 2NF.
o C. It is not in 3NF.
o D. It is not in BCNF.

Correct Answer: C

2. Which of the following tables violates 1NF?


o A. A table with composite keys.
o B. A table with repeating groups.
o C. A table with partial dependencies.
o D. A table with transitive dependencies.

Correct Answer: B

3. In a table Orders(OrderID, CustomerID, CustomerName, ProductID,


ProductName, OrderDate), what is the best approach to normalize this table
to 2NF?
o A. Remove the OrderDate column.
o B. Split the table into Customers and Products tables.
o C. Remove CustomerName and ProductName to create separate tables.
o D. Ensure OrderID is a primary key.

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

5. Given a table Projects(ProjectID, ProjectName, StartDate, EndDate,


ManagerID, ManagerName), which step is necessary to move to 3NF?
o A. Remove ManagerName.
o B. Split the table into Projects and Managers.
o C. Ensure ProjectID is a primary key.
o D. Add a composite key.

Correct Answer: B

Quiz 6: Advanced Normalization Concepts

1. Which of the following statements about 4NF is true?


o A. It deals with eliminating partial dependencies.
o B. It handles multivalued dependencies.
o C. It is the same as BCNF.
o D. It removes transitive dependencies.

Correct Answer: B

2. What is a candidate key?


o A. A key that is not selected as the primary key.
o B. A key that uniquely identifies a row in a table.
o C. A key that is part of a composite key.
o D. A key that ensures referential integrity.

Correct Answer: B

3. Which of the following describes a multivalued dependency?


o A. One attribute determines another attribute.
o B. One attribute determines multiple attributes independently.
o C. One attribute depends on another attribute.
o D. Multiple attributes depend on a single attribute.

Correct Answer: B

4. A table Courses(CourseID, CourseName, InstructorID, InstructorName)


has been normalized to 2NF. What could still be an issue?
o A. Partial dependencies.
o B. Multivalued dependencies.
o C. Transitive dependencies.
o D. Repeating groups.

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

Quiz 7: Real-World Scenarios

1. In a Sales(SaleID, SaleDate, ProductID, ProductName, CustomerID,


CustomerName) table, what normalization issue is present?
o A. The table is not in 1NF.
o B. The table is not in 2NF.
o C. The table is not in 3NF.
o D. The table is not in BCNF.

Correct Answer: C

2. A Bookings(BookingID, GuestID, GuestName, RoomID, RoomType,


CheckInDate, CheckOutDate) table should be normalized by:
o A. Removing GuestName and RoomType.
o B. Splitting into Guests, Rooms, and Bookings tables.
o C. Ensuring BookingID is a primary key.
o D. Adding composite keys.

Correct Answer: B

3. Which of the following tables is likely to have a multivalued dependency?


o A. Employees(EmployeeID, Name, DepartmentID)
o B. Orders(OrderID, ProductID, Quantity)
o C. Students(StudentID, CourseID, Grade)
o D. Projects(ProjectID, ProjectName, TeamID)

Correct Answer: C

4. In a table Suppliers(SupplierID, SupplierName, ProductID,


ProductName), which of the following steps is necessary for 3NF?
o A. Remove ProductName.
o B. Split the table into Suppliers and Products.
o C. Add a composite key.
o D. Ensure SupplierID is a primary key.

Correct Answer: B

5. To ensure a table Employees(EmployeeID, Name, Address, Phone) is in


1NF, which of the following should be done?
o A. Remove all composite keys.
o B. Ensure each column has atomic values.
o C. Remove all transitive dependencies.
o D. Ensure EmployeeID is a primary key.

Correct Answer: B

4o

6. ==========================================================
7.

Project Ideas for Understanding Normalization in Database Design

1. Library Management System

Description:
o Design a database for managing a library’s collection of books, patrons,
and borrowing records.

Requirements:

o Include tables for books, authors, patrons, loans, and genres.


o Ensure the database is normalized to at least 3NF.
o Demonstrate the process of normalization from 1NF to 3NF, including
identifying and removing partial and transitive dependencies.

Deliverables:

o ER diagram of the final database design.


o SQL scripts to create and populate the database tables.
o A report explaining the normalization process and decisions made.
2. University Course Registration System

Description:

o Create a database for handling course registrations, including students,


courses, instructors, and enrollment records.

Requirements:

o Include tables for students, courses, instructors, departments, and


enrollments.
o Normalize the database to BCNF.
o Provide examples of initial design issues and how normalization addressed
them.

Deliverables:

o ER diagram of the final database design.


o SQL scripts for table creation and data insertion.
o A detailed report on the normalization process, including before-and-after
table designs.
3. Online Retail Store

Description:

o Design a database for an online retail store, covering products, customers,


orders, and payment records.

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:

o ER diagram of the final database design.


o SQL scripts to create and populate tables.
o A report detailing the normalization steps and challenges encountered.
4. Hospital Management System

Description:

o Develop a database for managing hospital records, including patients,


doctors, appointments, treatments, and billing.

Requirements:

o Include tables for patients, doctors, appointments, treatments, and billing.


o Normalize the database to 3NF, with an explanation of the normalization
process.
o Illustrate how normalization helps in maintaining data integrity and
reducing redundancy.

Deliverables:

o ER diagram of the final database design.


o SQL scripts for creating and populating the tables.
o A comprehensive report on the normalization process and its benefits.
5. Real Estate Property Management

Description:

o Create a database to manage real estate properties, owners, tenants, leases,


and maintenance requests.

Requirements:

o Include tables for properties, owners, tenants, leases, and maintenance


requests.
o Ensure the database is normalized to at least 3NF.
o Provide a detailed explanation of the steps taken to normalize the
database.
Deliverables:

o ER diagram of the final database design.


o SQL scripts for table creation and data insertion.
o A report outlining the normalization process and the rationale behind
design choices.

Additional Guidelines for All Projects

Project Presentation:

 Prepare a presentation to showcase your project, including:


o The initial database design.
o The normalization process with examples of how tables were transformed.
o The final normalized database design.
o Any challenges encountered and how they were addressed.
o The benefits of normalization in the context of your project.

Peer Review:

 Participate in peer review sessions to provide and receive feedback on project


designs.
 Discuss different normalization approaches and their impact on database
performance and integrity.

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.

More project ideas?


More project ideas?
ChatGPT

Additional Project Ideas for Understanding Normalization in Database


Design

6. Employee Management System

Description:

o Develop a database for managing employee records, including personal


details, job positions, departments, and payroll information.
Requirements:

o Include tables for employees, job positions, departments, salaries, and


benefits.
o Normalize the database to at least 3NF.
o Explain how normalization helps in maintaining data consistency and
preventing anomalies.

Deliverables:

o ER diagram of the final database design.


o SQL scripts to create and populate the tables.
o A report detailing the normalization process and its benefits.
7. Event Management System

Description:

o Create a database to manage events, attendees, venues, and schedules for a


conference or seminar series.

Requirements:

o Include tables for events, attendees, venues, schedules, and registrations.


o Normalize the database to 3NF or BCNF.
o Discuss the process of normalization and how it helps in efficient event
management.

Deliverables:

o ER diagram of the final database design.


o SQL scripts for creating and populating tables.
o A detailed report on the normalization steps and their impact on the
database design.
8. Inventory Management System

Description:

o Design a database for managing inventory, including products, suppliers,


stock levels, and purchase orders.

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:

o ER diagram of the final database design.


o SQL scripts to create and populate the tables.
o A report explaining the normalization process and its importance.
9. Student Information System

Description:

o Develop a database to manage student records, including personal


information, courses, grades, and attendance.

Requirements:

o Include tables for students, courses, grades, attendance, and instructors.


o Normalize the database to 3NF or higher.
o Discuss the benefits of normalization in managing student data.

Deliverables:

o ER diagram of the final database design.


o SQL scripts for creating and populating tables.
o A comprehensive report on the normalization process and its advantages.
10. Sales and Customer Relationship Management (CRM) System

Description:

o Create a database for managing sales and customer relationships,


including customer details, sales records, and communication logs.

Requirements:

o Include tables for customers, sales, products, sales representatives, and


communication logs.
o Normalize the database to 3NF or BCNF.
o Explain how normalization improves data integrity and customer
relationship management.

Deliverables:

o ER diagram of the final database design.


o SQL scripts to create and populate the tables.
o A report detailing the normalization steps and their impact on the CRM
system.
11. Hotel Reservation System

Description:

o Design a database for managing hotel reservations, including guest details,


room bookings, payments, and services offered.

Requirements:

o Include tables for guests, rooms, reservations, payments, and services.


o Normalize the database to at least 3NF.
o Describe the normalization process and its benefits in hotel management.

Deliverables:

o ER diagram of the final database design.


o SQL scripts for creating and populating tables.
o A report outlining the normalization process and the rationale behind
design choices.
12. Healthcare Management System

Description:

o Develop a database for managing healthcare records, including patients,


doctors, appointments, treatments, and prescriptions.

Requirements:

o Include tables for patients, doctors, appointments, treatments, and


prescriptions.
o Normalize the database to at least 3NF.
o Discuss the importance of normalization in maintaining accurate and
consistent healthcare records.

Deliverables:

o ER diagram of the final database design.


o SQL scripts to create and populate the tables.
o A report explaining the normalization process and its significance in
healthcare management.
13. Music Streaming Service Database

Description:
o Create a database for managing a music streaming service, including
users, playlists, songs, and artists.

Requirements:

o Include tables for users, playlists, songs, artists, and song-playlist


associations.
o Normalize the database to 3NF or BCNF.
o Highlight the benefits of normalization in managing large datasets and
ensuring data consistency.

Deliverables:

o ER diagram of the final database design.


o SQL scripts for creating and populating tables.
o A report detailing the normalization steps and their impact on the database
design.
14. E-Learning Platform Database

Description:

o Design a database for managing an e-learning platform, including courses,


instructors, students, and assessments.

Requirements:

o Include tables for courses, instructors, students, assessments, and grades.


o Normalize the database to at least 3NF.
o Explain how normalization helps in managing educational content and
student performance data.

Deliverables:

o ER diagram of the final database design.


o SQL scripts to create and populate the tables.
o A comprehensive report on the normalization process and its advantages
in an e-learning context.
15. Social Media Platform Database

Description:

o Develop a database for managing a social media platform, including users,


posts, comments, likes, and friendships.

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:

o ER diagram of the final database design.


o SQL scripts for creating and populating tables.
o A report explaining the normalization process and its impact on the social
media platform's data integrity and performance.

Additional Guidelines for All Projects

Project Presentation:

 Prepare a presentation to showcase your project, including:


o The initial database design.
o The normalization process with examples of how tables were transformed.
o The final normalized database design.
o Any challenges encountered and how they were addressed.
o The benefits of normalization in the context of your project.

Peer Review:

 Participate in peer review sessions to provide and receive feedback on project


designs.
 Discuss different normalization approaches and their impact on database
performance and integrity.

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

Example Project 1: Library Management System

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:

 Tables for books, authors, patrons, loans, and genres.


 Normalize the database to at least 3NF.
 Demonstrate the process of normalization from 1NF to 3NF, including identifying
and removing partial and transitive dependencies.

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.

Example Project 2: University Course Registration System

Project Description:

Create a database for handling course registrations, including students, courses,


instructors, and enrollment records. Normalize the database to ensure efficiency and
integrity.

Requirements:

 Tables for students, courses, instructors, departments, and enrollments.


 Normalize the database to BCNF.
 Provide examples of initial design issues and how normalization addressed them.

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.

Example Project 4: Hospital Management System

Project Description:

Develop a database for managing hospital records, including patients, doctors,


appointments, treatments, and billing. Normalize the database to ensure accuracy and
minimize redundancy.

Requirements:

 Tables for patients, doctors, appointments, treatments, and billing.


 Normalize the database to 3NF, with an explanation of the normalization process.
 Illustrate how normalization helps in maintaining data integrity and reducing
redundancy.

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.

Example Project 5: Real Estate Property Management

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:

 Tables for properties, owners, tenants, leases, and maintenance requests.


 Normalize the database to at least 3NF.
 Provide a detailed explanation of the steps taken to normalize the database.

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.

Detailed Example Project

Project: Library Management System

Step 1: Initial Database Design

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

Step 2: Apply 1NF

 Ensure atomic values (no repeating groups or arrays).


 Example: In the Books table, if Author field contains multiple authors, split it into
a separate Authors table.

Books Table (1NF):

 BookID (Primary Key)


 Title
 Genre
 PublicationYear

Authors Table (1NF):

 AuthorID (Primary Key)


 AuthorName

BookAuthors Table (1NF):

 BookID (Foreign Key)


 AuthorID (Foreign Key)

Step 3: Apply 2NF

 Remove partial dependencies (every non-key attribute must be fully dependent on


the primary key).
 Example: If Patrons table has an attribute City that depends only on Address,
split it.

Patrons Table (2NF):

 PatronID (Primary Key)


 Name
 AddressID (Foreign Key)
Addresses Table (2NF):

 AddressID (Primary Key)


 Address
 City
 State
 ZipCode

Step 4: Apply 3NF

 Remove transitive dependencies (non-key attributes must depend only on the


primary key).
 Example: If Books table has an attribute GenreName that depends on GenreID,
split it.

Books Table (3NF):

 BookID (Primary Key)


 Title
 GenreID (Foreign Key)
 PublicationYear

Genres Table (3NF):

 GenreID (Primary Key)


 GenreName

Final ER Diagram:

 Represent the final tables and their relationships in an ER diagram.

Step 5: SQL Scripts

 Create SQL scripts to define the tables and insert sample data.

CREATE TABLE Books (


BookID INT PRIMARY KEY,
Title VARCHAR(255),
GenreID INT,
PublicationYear INT,
FOREIGN KEY (GenreID) REFERENCES Genres(GenreID)
);

CREATE TABLE Genres (


GenreID INT PRIMARY KEY,
GenreName VARCHAR(255)
);

CREATE TABLE Authors (


AuthorID INT PRIMARY KEY,
AuthorName VARCHAR(255)
);

CREATE TABLE BookAuthors (


BookID INT,
AuthorID INT,
PRIMARY KEY (BookID, AuthorID),
FOREIGN KEY (BookID) REFERENCES Books(BookID),
FOREIGN KEY (AuthorID) REFERENCES Authors(AuthorID)
);

CREATE TABLE Patrons (


PatronID INT PRIMARY KEY,
Name VARCHAR(255),
AddressID INT,
FOREIGN KEY (AddressID) REFERENCES Addresses(AddressID)
);

CREATE TABLE Addresses (


AddressID INT PRIMARY KEY,
Address VARCHAR(255),
City VARCHAR(255),
State VARCHAR(255),
ZipCode VARCHAR(10)
);

CREATE TABLE Loans (


LoanID INT PRIMARY KEY,
BookID INT,
PatronID INT,
LoanDate DATE,
ReturnDate DATE,
FOREIGN KEY (BookID) REFERENCES Books(BookID),
FOREIGN KEY (PatronID) REFERENCES Patrons(PatronID)
);

INSERT INTO Genres (GenreID, GenreName) VALUES (1, 'Science Fiction'),


(2, 'Fantasy');
INSERT INTO Authors (AuthorID, AuthorName) VALUES (1, 'Isaac Asimov'),
(2, 'J.K. Rowling');
INSERT INTO Books (BookID, Title, GenreID, PublicationYear) VALUES (1,
'Foundation', 1, 1951), (2, 'Harry Potter', 2, 1997);
INSERT INTO BookAuthors (BookID, AuthorID) VALUES (1, 1), (2, 2);
INSERT INTO Addresses (AddressID, Address, City, State, ZipCode) VALUES
(1, '123 Main St', 'Springfield', 'IL', '62701');
INSERT INTO Patrons (PatronID, Name, AddressID) VALUES (1, 'John Doe',
1);
INSERT INTO Loans (LoanID, BookID, PatronID, LoanDate, ReturnDate)
VALUES (1, 1, 1, '2024-01-01', '2024-01-15');
sql
Copy code
CREATE TABLE Books (
BookID INT PRIMARY KEY,
Title VARCHAR(255),
GenreID INT,
PublicationYear INT,
FOREIGN KEY (GenreID) REFERENCES Genres(GenreID)
);

CREATE TABLE Genres (


GenreID INT PRIMARY KEY,
GenreName VARCHAR(255)
);

CREATE TABLE Authors (


AuthorID INT PRIMARY KEY,
AuthorName VARCHAR(255)
);

CREATE TABLE BookAuthors (


BookID INT,
AuthorID INT,
PRIMARY KEY (BookID, AuthorID),
FOREIGN KEY (BookID) REFERENCES Books(BookID),
FOREIGN KEY (AuthorID) REFERENCES Authors(AuthorID)
);

CREATE TABLE Patrons (


PatronID INT PRIMARY KEY,
Name VARCHAR(255),
AddressID INT,
FOREIGN KEY (AddressID) REFERENCES Addresses(AddressID)
);

CREATE TABLE Addresses (


AddressID INT PRIMARY KEY,
Address VARCHAR(255),
City VARCHAR(255),
State VARCHAR(255),
ZipCode VARCHAR(10)
);

CREATE TABLE Loans (


LoanID INT PRIMARY KEY,
BookID INT,
PatronID INT,
LoanDate DATE,
ReturnDate DATE,
FOREIGN KEY (BookID) REFERENCES Books(BookID),
FOREIGN KEY (PatronID) REFERENCES Patrons(PatronID)
);

INSERT INTO Genres (GenreID, GenreName) VALUES (1, 'Science Fiction'),


(2, 'Fantasy');
INSERT INTO Authors (AuthorID, AuthorName) VALUES (1, 'Isaac Asimov'),
(2, 'J.K. Rowling');
INSERT INTO Books (BookID, Title, GenreID, PublicationYear) VALUES (1,
'Foundation', 1, 1951), (2, 'Harry Potter', 2, 1997);
INSERT INTO BookAuthors (BookID, AuthorID) VALUES (1, 1), (2, 2);
INSERT INTO Addresses (AddressID, Address, City, State, ZipCode) VALUES
(1, '123 Main St', 'Springfield', 'IL', '62701');
INSERT INTO Patrons (PatronID, Name, AddressID) VALUES (1, 'John Doe',
1);
INSERT INTO Loans (LoanID, BookID, PatronID, LoanDate, ReturnDate)
VALUES (1, 1, 1, '2024-01-01', '2024-01-15');

Step 6: Normalization Report

 Document the initial design, the normalization process, and the final design.
 Include examples and explanations for each normal form applied.

Example Report Excerpt:

 Initial Design: Described the initial tables and their attributes.


 1NF: Split Authors into a separate table to ensure atomic values.
 2NF: Created Addresses table to remove partial dependency from Patrons.
 3NF: Split Genres from Books to eliminate transitive dependencies.
 Final Design: Detailed the normalized tables and their relationships.

By following these steps, students will gain a comprehensive understanding of database


normalization and its practical application in designing efficient and consistent database
sys

Lesson Plan: Understanding Normalization in Database Design


Objective:

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:

 Whiteboard and markers


 Projector and computer for PowerPoint presentation
 Sample database schema examples
 Handouts summarizing normal forms

Lesson Outline:

1. Introduction to Databases (10 minutes)


o Define what a database is.
o Brief overview of relational databases and their components (tables, rows,
columns).
o Explain the need for organization in databases.
2. What is Normalization? (10 minutes)
o Define normalization as the process of organizing data to minimize
redundancy and improve data integrity.
o Discuss the problems caused by unnormalized databases (duplicated data,
update anomalies, etc.).
3. Benefits of Normalization (5 minutes)
o Improved data consistency and integrity.
o Reduced data duplication.
o Easier maintenance and updates.
4. Normal Forms Overview (25 minutes)
o First Normal Form (1NF):
 Define 1NF: Each column must contain only atomic values, and
each record needs to be unique.
 Example: Show a table that is not in 1NF and convert it to 1NF.
o Second Normal Form (2NF):
 Define 2NF: Meet all the requirements of 1NF and all non-key
attributes are fully functionally dependent on the primary key.
 Example: Illustrate how to convert a 1NF table into 2NF by
removing partial dependencies.
o Third Normal Form (3NF):
 Define 3NF: Meet all the requirements of 2NF and all the
attributes are functionally dependent only on the primary key.
 Example: Show the conversion from 2NF to 3NF by eliminating
transitive dependencies.
5. Group Activity (10 minutes)
o Divide students into small groups.
o Provide each group with an unnormalized table.
o Ask them to identify anomalies and transform the table into at least 3NF.
6. Wrap-Up and Q&A (5 minutes)
o Summarize the key points of normalization and its importance.
o Open the floor for any questions or clarifications.

Assessment:

 Evaluate group activity results and understanding of how to apply normalization


principles.
 Optional: Assign a homework task where students must normalize a provided
dataset and explain their reasoning.

This lesson plan provides a structured approach to teaching normalization in database


design, ensuring stud
ChatGPT
Lesson Content: Understanding Normalization in Database Design
1. Introduction to Databases

 Definition of a Database: A database is an organized collection of data that is


stored and accessed electronically. It can be thought of as a digital filing system.
 Components of Relational Databases:
o Tables: The primary structure for storing data; they consist of rows and
columns.
o Rows: Each row, also known as a record, represents a single entry in the
database.
o Columns: Each column represents a data attribute; different attributes
together describe the aspects of the entity represented by the table.

2. What is Normalization?

 Definition: Normalization is the process of organizing data in a database to


reduce redundancy and ensure data integrity. It involves decomposing tables and
establishing relationships between them.
 Problems of Unnormalized Databases:
o Data Redundancy: Storing the same data in multiple places leads to
inconsistencies.
o Update Anomalies: Changes to data may not propagate correctly,
resulting in outdated information being retained.
o Insertion and Deletion Anomalies: Difficulty in adding or deleting data
without affecting related information.

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.

4. Normal Forms Overview

 First Normal Form (1NF):


o Definition: A table is in 1NF if:
 All columns contain atomic (indivisible) values.
 Each record (row) is unique.
o Example:

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

 Second Normal Form (2NF):


o Definition: A table is in 2NF if:
 It is in 1NF.
 All non-key attributes are fully functionally dependent on the
entire primary key (no partial dependencies).
o Example:

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

 Third Normal Form (3NF):


o Definition: A table is in 3NF if:
 It is in 2NF.
 There are no transitive dependencies (no non-key attribute depends
on another non-key attribute).
o Example:

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

 Instructions for Group Activity:


o Groups will receive an unnormalized table that includes redundancy and
anomalies.
o They need to analyze the table for issues, discuss as a group, and
transform it into at least 3NF.

Sample Unnormalized Table for Groups:

text

ClassID | StudentID | StudentName | Course


1 | 101 | Alice | Math
1 | 102 | Bob | Physics
1 | 101 | Alice | Chemistry
2 | 201 | Carol | Math

6. Wrap-Up and Q&A

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

Pre-Class Preparation (Asynchronous Activities):


1. Video Lectures:

 Introduction to Functional Dependency (10 mins): Explain the concept using


simple examples, such as how a student ID determines a student's name.
 Types of Functional Dependencies (15 mins): Cover various types like trivial,
non-trivial, and transitive dependencies with visual aids.
 Normalization Process (15 mins): Brief overview of 1NF, 2NF, and 3NF,
emphasizing how functional dependencies are used in normalization.

2. Reading Materials:

 Article/Chapter on Functional Dependency: A detailed text explaining


functional dependency, its importance, and examples of real-world applications.
 Case Study: A brief case study on a poorly designed database and the role of
functional dependency in identifying issues.

3. Interactive Quiz:

 A quiz covering key concepts from video lectures and readings to ensure
comprehension.

In-Class Activities (Synchronous Sessions):


1. Group Discussions (20 mins):

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

2. Hands-On Activity (30 mins):

 Database Schema Analysis: Provide students with a sample database schema. In


groups, students will identify functional dependencies present in the schema and
discuss whether the schema is in 1NF, 2NF, or 3NF based on their findings.
 Example Schema: A student registration system with tables for Students,
Courses, and Enrollments.

3. Real-World Application Discussion (15 mins):

 Discuss how companies like Amazon or Netflix utilize functional dependencies in


their database designs to ensure data integrity and reduce redundancy.

4. Wrap-Up and Q&A (15 mins):

 Open the floor for questions, clarifying any misunderstandings and reinforcing
key concepts.

Post-Class Assignments (Asynchronous Activities):


1. Homework Assignment:

 Schema Redesign: Given a flawed database schema, students will identify


functional dependencies and redesign the schema to meet at least 3NF
requirements. Students should include justifications for their changes.

2. Reflection Journal:

 Students write a brief reflection on their understanding of functional dependency


and how it applies to real-world scenarios they encounter.

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.

You might also like