0% found this document useful (0 votes)
8 views47 pages

Untitled Document

Bright Future Secondary School, established in 1966 in Morang, Nepal, offers high-quality education and a range of academic and extracurricular activities. The school plans to launch an E-Classroom Platform to enhance learning through technology, centralizing resources and improving data management. The document also outlines the school's current operations, proposed activities, and the importance of database normalization in managing student and program data.

Uploaded by

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

Untitled Document

Bright Future Secondary School, established in 1966 in Morang, Nepal, offers high-quality education and a range of academic and extracurricular activities. The school plans to launch an E-Classroom Platform to enhance learning through technology, centralizing resources and improving data management. The document also outlines the school's current operations, proposed activities, and the importance of database normalization in managing student and program data.

Uploaded by

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

1.

Introduction of the Business and Its Forte

Bright Future Secondary School inspires students with its high-quality education.
Established in 1966, it serves the Salakpur community in Morang, Nepal. The school
nurtures young minds, equipping them with knowledge, skills, and values for a
bright future.
Bright Future College supports both undergraduate and postgraduate education,
shaping leaders through innovative teaching methods. The institution creates a
welcoming and inclusive environment for students and teachers alike.
The school celebrates academic success, cultural activities, and sports excellence.
It stands as a beacon of pride in Morang, earning respect as a top educational
institution in the region.

Figure 1 Image of college

1.1 Current Business Activities and Operations

Bright Future College involves students in various academic and extracurricular


activities, such as:
• Academic Programs: The college designs curriculums to prepare students for higher
Education and competitive exams.
• Sports Programs: The college organizes sports activities and inter-college
tournaments to promote physical health.
• Cultural Events: The college hosts festivals, talent shows, and arts
competitions to encourage creativity and expression.
• Scholarship Opportunities: The college provides financial aid to support
talented and deserving students.
• Deliver online classes and offer interactive learning experiences.

• Provide access to educational resources, including e-books and lecture videos.

•Manage assessments and track results effectively.

• Facilitate communication through real-time announcements and notifications for


students and parents.

1.2 Proposed E-Classroom Platform

The E-Classroom Platform, introduced by Ms. Mary, the founder and principal of
Bright Future College, aims to transform teaching and administration. Ms. Mary
recognizes the need for a digital system to enhance learning and manage data
effectively.

This platform will:


• Centralize student and teacher records to streamline data management.
• Provide students with access to online lessons, resources, and assessments.
• Simplify tracking academic performance and sharing updates.

Ms. Mary emphasizes using technology to achieve the school’s goal of academic
excellence and inclusivity.
1.3 Description of Current Business Activities and Operations

Currently, Bright Future College provides diverse academic programs, including BSc
in Computing, Networking, and Multimedia. Each program includes mandatory modules
to offer a well-rounded and standardized curriculum. Modules like Programming and
Databases overlap across programs to ensure flexibility.

Academic Programs
The college delivers undergraduate and postgraduate programs focusing on academic
success and competitive exam readiness. Each course combines theory and practical
methods to equip students with essential knowledge and skills.

Extracurricular Activities
The college encourages creativity and personal growth by organizing various
programs, such as:
• Sports Programs: Students join activities like football, cricket, volleyball, and
athletics to build teamwork and stay fit.
• Cultural Events: Students participate in annual programs, talent shows, and art
exhibitions to express their talents.
• Community Engagement: Students contribute to society through social awareness
campaigns, cleanliness drives, and charity events.

Scholarships and Awards


The college provides scholarships and awards to reward talented and hardworking
students. This initiative ensures quality education for deserving students,
regardless of financial challenges.

1.4 Planned new activity

The college plans to launch an innovative E-Classroom Platform to incorporate


technology into learning and improve student access. This platform will provide:
• Virtual Classrooms: Students will attend online lectures and communicate with
teachers remotely.
• Centralized Resource Access: Students will access e-books, lecture notes, and
multimedia materials anytime, anywhere.
• Streamlined Assessment and Grading: Teachers will manage assessments
efficiently, and students will track their performance in real time.
• Real-Time Announcements: Students and parents will receive updates about
activities, schedules, and important notices promptly.

1.5 Operational Requirements for the E-Classroom Platform

The school’s principal, Ms. Mary, recognizes the need for a structured database to
manage the platform’s operations effectively. The database will handle:
• Student Management: It will store records of student enrollment, attendance, and
academic performance.
• Module Tracking: It will link students and teachers to their assigned modules
and lessons.
• Resource Management: It will monitor educational resources associated with each
module.
• Assessment and Results: It will record assessments and calculate individual
student results.
This platform will modernize the college’s operations, offering students a smooth
educational experience and ensuring efficient administration.

1.6 Lists of Business Rules

Program Enrollment: Each student can only enroll in one program at a time.
Module Inclusion: A module can be included in multiple programs, ensuring
curriculum flexibility.
Assessment Linking: Each assessment must be uniquely linked to one module.
Resource Sequencing: Students must complete resources sequentially.
Announcement Association: Every announcement must be linked to a specific module.
Assessment Evaluation: Total marks and individual component scores are recorded for
each student to provide detailed performance insights.
A program can have many students enrolled.
Every program must have at least one module.

1.7 Assumption
The following assumptions are made according to the business rule: -
· Students cannot switch programs mid-term.
· Each module must have at least one assessment to ensure measurable learning
outcomes.
· Announcements are visible only to the relevant module's students and
teachers.
· Assessment components will include projects, and exams, with a proper
maintained in the database.
1.8 Introduction to Oracle SQL

Figure 2 Image of Oracle database

Oracle Database is one of the most popular tools for managing data. Developed by
Oracle Corporation, it is known for being reliable, scalable, and packed with
features that make it a go-to solution for businesses of all sizes. Whether you’re
a small company or a large enterprise, Oracle Database makes it easier to store and
retrieve large amounts of information efficiently.
What makes it even better is its flexibility—it works just as well in the cloud as
it does in an office setup. That’s why so many industries depend on it for their
most important applications.
Oracle Corporation is the company behind this database, which was founded in 1977
by Larry Ellison, Bob Miner, and Ed Oates. Since then, it’s grown into one of the
biggest names in tech, offering software, hardware, and cloud services that help
businesses handle data and streamline operations.

While Oracle has also introduced other products like Oracle Cloud and Oracle Fusion
Middleware over the years, Oracle Database remains its most iconic and widely used
offering.

2. Initial ERD

The Entity Relationship Model (ER Model) is a conceptual framework for identifying
entities that will be represented in a database and the relationships between those
entities. It serves as a visual and structural tool for mapping out how data
elements interact within a database system. The ER data model specifies an
enterprise schema that graphically represents the overall logical structure of a
database.
Originally developed by Peter Chen in 1976, the ER model was created to provide a
simple and easily understandable method for representing the logical structure of
databases. Over the years, it has evolved into variations, such as the Enhanced ER
Model (EER) and the Object-Relational Model (ORM), which add more advanced features
and further refine the representation of data and relationships.
The ER Diagram itself is a schematic representation of how entities and their
relationships are structured. It is a powerful tool in database design,
particularly in relational databases, and is widely used in scenarios ranging from
modeling real-world objects (like a person, a car, or a company) to designing
complex enterprise systems. In short, the ER Diagram serves as a structural
blueprint for the database, defining how data should be stored, retrieved, and
related (geeksforgeeks, 2024).

2.1 Relationship Diagram


A Relationship Diagram is a visual representation that shows the connections and
interactions between entities (objects, concepts, or data) in e.g. System,
Database, Process, etc. This provides an organized and clear representation of how
entities connect, interact or depend on each other.
Database design, software engineering, business analysis and system design use
relational diagrams to represent logical relationships between objects in various
applications.

Definitions
Entities:
Represent the primary objects, concepts, or tables within a database. Examples of
this are Students, Teachers, Programs, Modules or Resources. Finally. Entities are
frequently illustrated as rectangles.
Attributes:
Represent the properties or characteristics of each entity. For example, a student
entity might have attributes like StudentID, Name, DOB, and ProgramID.
3. Primary key:
A primary key is a column (or set of columns) in a database table that is used to
uniquely identify each record within that table.

4. Foreign key:
A foreign key is a column in a database table that is used to establish a link
between the data in two tables. It refers to the primary key in another table,
thereby creating a relationship between the two tables.

5. Composite key:
A composite key is a combination of two or more columns in a database table that,
together, uniquely identify a record in that table.

Relationships: Lines connecting two or more entities, showing how they are linked
or interact. Relationships describe the association between entities and can be:
One-to-One (1:1): A single entity on one side relates to a single entity on the
other side.
One-to-Many (1: N): One entity on one side relates to multiple entities on the
other side.
Many-to-Many (M: N): Multiple entities on both sides of the relationship interact
with each other.

Cardinalities: Define the number of instances in a relationship.

Cardinalities describe the constraints of the relationship, such as:

· 1:1 - One entity relates to exactly one other entity.


· 1: N - One entity can relate to many instances of another entity.

2.2 Purpose and Use Cases


Database Design: To map out database schemas, showing how tables connect through
relationships.
System Analysis: To understand how components in a system interact with one
another.
Business Process Mapping: Visualize workflows, roles, and processes within
organizations.
Collaboration: Provide teams with a shared understanding of system structures and
processes.

Advantages of Purpose and use cases


· Enables communication between teams by providing a clear view of the system's
architecture.
· Finds gaps and optimizes the database design.
· Offers advice on system design and software engineering.

Essentially, Relationship Diagrams are potent means of depicting the arrangement,


correlations and interdependences between constituents within a system/database or
process to enhance analysis-design and decision-making.

2.3 Identification of Entities and Attributes

STUDENT
S.NO.
Attribute Name
Data Type
Size
Constraint
1.
Student ID
Number
16
Primary Key
2.
Name
Character
51
Not Null
3.
Date of Birth
Date

Not Null
4.
Email
Character
66
Unique
5.
Phone
Number
10
Unique
Table 1 Identification of Entities and Attributes of Student

PROGRAMS
S.NO.
Attribute Name
Data Type
Size
Constraint
1.
Program ID
Number
16
Primary Key
2.
Name
Character
51
Not Null
3.
Duration
Date

Not Null
4.
Description
Character
66
Unique
5.
Total Modules
Number
10
Unique
Table 2 Identification of Entities and Attributes of programs

MODULES
S.NO.
Attribute Name
Data Type
Size
Constraint
1.
Module ID
Number
16
Primary Key
2.
Name
Character
51
Not Null
3.
Linked Program
Number
25
Not Null
4.
Description
Character
66
Unique
5.
Credit Hours
Number
10
Unique
Table 3 Identification of Entities and Attributes modules
…………………………..
TEACHERS
S.NO.
Attribute Name
Data Type
Size
Constraint
1.
Teacher ID
Number
16
Primary Key
2.
Name
Character
51
Not Null
3.
Department
Number
6
Not Null
4.
Email
Character
66
Unique
5.
Contact Info
Number
10
Unique
Table 4 Identification of Entities and Attributes of teachers

ASSESSMENTS
S.NO.
Attribute Name
Data Type
Size
Constraint
1.
Assessment ID
Number
16
Primary Key
2.
Title
Character
51
Not Null
3.
Deadline
Date

Not Null
4.
Weightage
Character
66
Unique
5.
Total Marks
Number
10
Unique
Table 5 Identification of Entities and Attributes of Assessments

RESULTS
S.NO.
Attribute Name
Data Type
Size
Constraint
1.
Result ID
Number
16
Primary Key
2.
Grade
Character
51
Not Null
3.
Total Marks Obtained
Number
3
Not Null
4.
Linked Module
Character
66
Unique
5.
Linked Assessment
Number
10
Unique
Table 6 Identification of Entities and Attributes of results

RESOURCES
S.NO.
Attribute Name
Data Type
Size
Constraint
1.
Resource ID
Number
16
Primary Key
2.
Title
Character
51
Not Null
3.
Duration
Date

Not Null
4.
Type
Character
66
Unique
5.
Sequence
Number
10
Unique
Table 7 Identification of Entities and Attributes of resources

ANNOUNCEMENTS
S.NO.
Attribute Name
Data Type
Size
Constraint
1.
Announcement ID
Number
16
Primary Key
2.
Title
Character
51
Not Null
3.
Date Posted
Date

Not Null
4.
Content
Character
66
Unique
5.
Linked Module
Number
10
Unique
Table 8 Identification of Entities and Attributes of announcements

2.4 Relationship

Figure 3 Relationship between student and program

Many students enrol in one program

Figure 4 Relationship between program and module

A single program includes multiple modules.


Initial ERD
Entities
Attributes
Student
Student ID (PK), Name, Date_of_Birth, Email, Phone, Program_ID*
Program
Program_ID, Program_Name, Description, Total_Modules, Duration
Module
Module_ID, Module_Name, Description, Credit_Hours, Program_ID
Teacher
Teacher_ID, Teacher_Name, Email, Contact_Info, Department, Program_ID
Assessment
Assessment_ID, Title, Weightage, Deadline, Total_Marks, Module_ID
Result
Result_ID, Total_Marks_Obtained,
Grade, Assessment_ID
Resource
Resource_ID, Title, Type, Duration, Sequence, Module_ID
Announcement
Announcement_ID, Title, Date_Posted, Content, Module_ID
Table 9 Entities and attributes

2.5 Initial ERD Diagram


Figure 5 Initial ERD

Part 3
3. Normalization

Normalization is the process of organizing data in a database to reduce redundancy


and improve data integrity. It involves structuring data into separate tables and
defining relationships between them based on specific rules or normal forms. The
goal of normalization is to eliminate duplicate data, ensure consistency, and
prevent anomalies like insertion, update, and deletion issues. By following
normalization techniques, a database becomes more flexible, efficient, and easier
to maintain. The process typically involves several stages, such as First Normal
Form (1NF), Second Normal Form (2NF), and Third Normal Form (3NF), each addressing
different types of data dependencies.Normalization also addresses various
anomalies, such as insertion, update, and deletion anomalies.
The process of database normalization, introduced by E.F. Codd in 1970, involves
systematically organizing database tables to reduce redundancy and improve data
integrity. It typically involves dividing data into various normal forms, such as
1NF (First Normal Form), 2NF (Second Normal Form), and 3NF (Third Normal Form).
Each normal form builds upon the previous one and is based on the concept of
functional dependencies between table attributes, ensuring that relationships are
logically structured and free from anomalies.
Objectives of normalization
1. To create a formal framework for analysing relation schemas based on their
keys and on the functional dependencies among their attributes.
2. To make free relational from undesirable insertion, update, and deletion
anomalies.

3.1 Functional Dependencies


Functional Dependencies play an important role Comparing Good database design and
bad database design. Functional Dependencies are the results of the relationship
attributes of entity represented by a relation. Functional Dependencies help to
maintain data integrity and eliminate data redundancy. It also follows the method
of normalization for a well-designed database Creation.
In the database, a Functional Dependency (FD) occurs when one attribute uniquely
decides another attribute within a relation. If attribute A defines attribute B, we
can write this as A → B, meaning that for every instance of A, there is a unique
value for B.

The concept of Functional Dependencies is essential for evaluating database design


because:

Good Database Design: The Functional Dependencies should be properly identified,


and the design of the database should avoid data redundancy, maintain consistency
and ensure that the data remains accurate across different operations. Such as
insertions, updates, and deletions. A properly design database also minimizes the
chances of anomalies like update, insert, and delete anomalies.
Bad Database Design: If the Functional Dependencies are not properly identified,
the database can end up being inefficient, leading to data redundancy, inconsistent
data, and difficult-to-maintain structures. Data may be repeated unnecessarily, or
there could be issues with querying and updating the database.

3.2 Full Functional Dependencies

Fully functional dependency means that a specific piece of data (Y) depends
entirely on a group of data (X) in a table. But it doesn’t depend on just a part of
that group—it needs the whole group to determine it.
For Example:
we have a table with these columns:
StudentID + CourseID → Grade

· Here, the grade depends on both the StudentID and the CourseID together.
· If we only know StudentID or CourseID (not both), cannot figure out the
grade.

This is what makes it a fully functional dependency—the grade needs both pieces of
information, not just part of it.

3.3 Partial Functional Dependencies

A partial dependency happens when part of a key (not the whole key) can determine
something in a table.
For Example:
AC→BAC \rightarrow BAC→B: Together, AAA and CCC determine BBB.
A→DA \rightarrow DA→D: AAA alone determines DDD.
D→BD \rightarrow BD→B: DDD alone determines BBB.
Now look at AAA:
AAA can find DDD, and DDD can find BBB.
So, AAA alone can figure out BBB, even though the rule says AC→BAC \rightarrow
BAC→B.
Process:
BBB doesn’t actually need both AAA and CCC. Just AAA is enough. That’s why it’s
called a partial dependency.

3.4 Un-normalized form (UNF)


Un-normalized Frame (UNF) is the beginning point within the database plan handle,
where information is collected in a chaotic and unstructured way. It serves as a
essential adaptation that incorporates all crucial data but needs the organization
required for successful database utilize.

One major issue in UNF is the event of rehashing bunches, where things like item
records are packed into a single field, such as "Product1, Product2, Product3."
Another challenge emerges from composite traits, where one column holds different
information focuses. This plan complicates the capacity to isolate specific
components, just like the city.
Settled relations are too common in UNF, where a single field contains what ought
to be table information. For case, an Arrange Points of interest field may list a
few item depictions and costs together, complicating information recovery and
administration.

Also, having blended information sorts inside a column can make irregularities. For
illustration, on the off chance that a Subtle elements field includes both content
and numbers, it gets to be challenging to preserve information astuteness.

When the same client data shows up in numerous records, it not as it were
increments capacity needs but moreover increases the chance of irregularities in
case overhauls are not connected consistently.

By tending to the issues found in UNF, normalization improves information


consistency, decreases excess, and progresses the in general sensibility and
inquiry effectiveness of databases.

Process:
Student(Student ID, Name, Date_of_Birth, Email, Phone, { Program_ID, Program_Name,
Description, Total_Modules, Duration, {Module_ID, Module_Name, Description,
Credit_Hours, { Resource_ID, Title, Type, Duration, Sequence, }, Teacher_ID,
Teacher_Name, Email, Contact_Info, Department, { Announcement_ID, Title,
Date_Posted, Content, },{Assessment_ID, Title, Weightage, Deadline, Total_Marks,
{ Result_ID, Total_Marks_Obtained, Grade}}})

Description
The given data depicts information in Unnormalized Frame (UNF) inside a database,
highlighting a structure that incorporates settled and various leveled information
components with redundancies and potential irregularities. The most substance,
Understudy, comprises traits such as Understudy ID, Title, Date_of_Birth, Email,
and Phone, along side a settled relationship to programs (Program_ID, Program_Name,
Portrayal, Total_Modules, Term) that the understudy is selected in. Each program
contains rehashing bunches of modules, recognized by qualities such as Module_ID,
Module_Name, Portrayal, and Credit_Hours. Modules advance incorporate related
assets (Resource_ID, Title, Sort, Term, Grouping), educator subtle elements
(Teacher_ID, Teacher_Name, E-mail, Contact_Info, Division), declarations
(Announcement_ID, Title, Date_Posted, Substance), and evaluations (Assessment_ID,
Title, Weightage, Due date, Total_Marks). Evaluations advance incorporate comes
about (Result_ID, Total_Marks_Obtained, Review). The structure is demonstrative of
information redundancies and peculiarities, as properties are rehashed over settled
levels, and the need of normalization may lead to overhaul, addition, and erasure
peculiarities. The wavy brackets speak to rehashing bunches inside the structure.

3.5 First Normal Form (1NF)


First Normal Form (1NF) is the first step in normalizing relational databases. The
manual specifies guidelines for data classification within individual tables to
eliminate typical issues such as recurring groups, multiple values, and composite
values. Additionally, it provides guidance on labeling specific attributes of
information in different ways. The aim of 1NF is to make the table structure simple
and uniform, making it easier to maintain and query the data.

Key Principles of 1NF.

Every column in a table must have atomic values, meaning that every field has to
store only one value and not many values or lists of sorts. The absence of
composite and multi-valued attributes is necessary.

The inclusion of "Phone Numbers" in a column on tin violates Rule 1NF, as it


contains e.g. "123-4567, 987-6543" list? Each phone number should be arranged in a
distinct row or column.
In 1NF, a table is not allowed to contain repeating groups or columns that store
multiple values for the same entity. What are these settings? In cases where
multiple values are stored in the same column, repeating groups are produced, which
makes it difficult to query and update the data.
Rules for Achieving 1NF
To convert a database table into First Normal Form, we must adhere to certain rules
and guidelines:

Ensure that each column has only one value for each row. It is recommended that the
columns have no multi-valued or composite features.

Separate Data into Various Tables: It is important to have a table for each
distinct set of related data. If a customer has multiple products in their orders,
they should be listed in varying tables instead of having rows for each product.
Why is this necessary?

Constructing a Primary Key: To identify each record or row in X, it is necessary to


use identifying criteria. The data model can determine whether a primary key is
comprised of ONE column or consists of multiple columns.

Discard duplicate rows: Each row in the table must be distinct, meaning there are
no duplicates. The deletion of duplicates is necessary to ensure data integrity.

Keep the table free from duplicate columns: Make sure there are no redundant or
duplicated columns. A distinct characteristic of the entity should be attributed to
each column.

Manage Null numbers: It is not advisable to use null values at the intersections of
rows and columns, as they can cause confusion or produce irregular data.

Remove Multi-Valued Fields: If an attribute has multiple values, such as phone


numbers, it should be separated into separate columns or rows to maintain atomic
data.

Process of Achieving 1NF.


The process of achieving 1NF usually involves:

1. Remove Repeating Columns:


In case a table has columns like "Product1", "Produkt2," and even "System3," each
row should be separated into individual rows. How does this work? Instead of
storing every product in a separate column, create reorder each product and ensure
that only one product is referenced in each row.

2. Remove Multi-Valued Attributes:


If a column has multiple values, such as phone numbers or addresses, they should be
separated into separate rows or separate tables. Only one information item should
be present in a row.
3. Design Novel Tables for Separate Data:
Create new tables to represent entities and associate them with a foreign key,
provided that related data can be represented better in another table, such as
product details or customer information.

From UNF to 1NF

Student-1 (Student_ID, Name, Date_of_Birth, Email, Phone, Program_ID, Program_Name,


Description, Total_Modules, Duration)
Student_Module -1 (Student_ID*, Module_ID*, Module_Name, Description, Credit_Hours)

Module_Resource-1 (Resource_ID, Title, Type, Duration, Sequence, Status, ModuleID*,


Student_ID*)

Module_Teacher-1 (Module_ID*, Teacher_ID, Teacher_Name, Email, Contact_Info,


Department,)

Teacher_Announcement-1(Teacher_ID*, Announcement_ID, Title, Date_Posted, Content)

Module_Assessment -1 (Assessment_ID, Title, Weightage, Deadline, Total_Marks,


Module_ID*, Student_ID *)
Assessment_Result-1 (Result_ID, Total_Marks_Obtained, Grade, Student_ID*,
Module_ID*, Assessment_ID* )

Description
Within the to begin with ordinary frame (1NF), all settled and rehashing qualities
are expelled to ensure that each field within the database contains nuclear values.
The objective is to dispense with multi-valued and composite attributes whereas
guaranteeing information astuteness.

Within the given construction, a few rehashing bunches and settled structures were
recognized, such as Program, Modules, Assets, Declarations, Evaluations, Comes
about, and Instructors. These rehashing bunches were extricated into partitioned
tables to expel repetition. Each modern table is uniquely identified by its
particular essential key, and outside keys were presented to preserve connections
between substances.

3.6 Second Normal Form (2NF)

Fully functional dependency forms the foundation of Second Normal Form (2NF). To
minimize redundancy, we can organize a database table to ensure data is stored in
an efficient manner. First Normal Form (1NF) criteria for a table to be in 2NF
requires that every column has only one, indivisible value without any repeating
groups. This is crucial. In addition, the table should not have any partial
dependencies.' In other words,

If a relation is in the First Normal Form and the candidate key is responsible for
all non-prime attributes, it forms essentially 'a second normal form'.

Rules for 2NF:


· A partial dependent primary key should never be employed.
· A complete integration requires the primary key to be completely dependent
on all non-prime attributes.

Process:
Explore composite keys in terms of their relationship:
The key used to create Result is the main key for it, and its attributes are
determined by the composite key in its entirety.
Similarly, there are no partial dependencies between Resource and Announcement.

Result Relations (2NF):


The relations remain the same as in 1NF since no partial dependencies exist.
Student-2(Student_ID, Name, Date_of_Birth, Email, Phone, Program_ID, Program_Name,
Description, Total_Modules, Duration)
……………………………….
Student_Module-2 (Student_ID*, Module_ID*)
Module-2 (Module_ID, Module_Name, Description,
Linked_Program, Credit_Hours)
Module_Resource-2(Module_ID*, Resource_ID*, Student_ID*)
Resource-2(Resource_ID, Title, Type, Duration, Sequence, Status)
Module_Teacher-2(Module_ID*, Teacher_ID*)
Teacher-2(Teacher_ID, Name, Email, Contact_Info, Department)
Teacher_Announcement-2(Teacher_ID*, Announcement_ID*,Module_ID*)
Announcement-2(Announcement_ID, Title, Linked_Module, Dated_Posted, Content)
Module_Assessment-2 (Module_ID*, Assessment_ID*,Student_ID*)
Assessment-2(Assessment-ID, Title, Weightage, Deadline, Total_Marks)
Assessment_Result-2 (Assessment_ID*, Result_ID*, Student_ID*, Total_Marks_Obtain,
grade, Module_ID*)
Result-2(Result_ID, Linked_module, Linked_Assessment)

3.7 Third Normal Form (3NF)


Third normal form (3NF) removes transitive dependencies in a database. The primary
key is transitory dependent on all non-primary key attributes. This statement
stands out. The relationship between C and A is transitory, given that B affects
both B and the other attribute of C. To get rid of this, a separate table is
generated for the transitive dependency in 3NF.

Rules For 3NF


The following outlines the rules for 3NF: -
· The table should be in second normal form.
· No non-key attribute should be transitively dependent on primary key

Process
Removing the transitive dependencies
A transitive dependency exists when a non-prime attribute depends on another non-
prime attribute, rather than the primary key.

Student-3(Student_ID, Name, Date_of_Birth, Email, Phone, Program_ID*)


Program-3 (Program_ID, Program_Name, Description, Total_Modules, Duration)
Student_Module-3 (Student_ID*, Module_ID*)
Module-3 (Module_ID, Module_Name, Description, Linked_Program, Credit_Hours)
Module_Resource-2(Module_ID*, Resource_ID*, Student_ID*)
Resource-3(Resource_ID, Title, Type, Duration, Sequence, Status)
Module_Teacher-3(Module_ID*, Teacher_ID*)
Teacher-3(Teacher_ID, Name, Email, Contact_Info, Department)
Teacher_Announcement-3(Teacher_ID*, Announcement_ID*,Module_ID*)
Announcement-3(Announcement_ID, Title, Linked_Module, Dated_Posted,Content)
Module_Assessment-3(Module_ID*, Assessment_ID*,Student_ID*)
Assessment-3(Assessment-ID, Title, Weightage, Deadline, Total_Marks)
Assessment_Result-3(Assessment_ID*, Result_ID*, Student_ID*, Total_Marks_Obtain,
grade, Module_ID*)
Result-3(Result_ID, Linked_module, Linked_Assessment)

4. Final ERD

Figure 6 Final ERD

4.1 Data Dictionary

STUDENT
S.NO.
Attribute Name
Data Type
Size
Constraint
1.
Student ID
Number
16
Primary Key
2.
Name
Character
51
Not Null
3.
Date of Birth
Date

Not Null
4.
Email
Character
66
Unique
5.
Phone
Number
10
Unique
Table 10 Data Dictionary of student

PROGRAM
S.NO.
Attribute Name
Data Type
Size
Constraint
1.
Program ID
Number
16
Primary Key
2.
Name
Character
51
Not Null
3.
Duration
Date

Not Null
4.
Description
Character
66
Unique
5.
Total Modules
Number
10
Unique
Table 11 Data Dictionary of programs

MODULE
S.NO.
Attribute Name
Data Type
Size
Constraint
1.
Module ID
Number
16
Primary Key
2.
Name
Character
51
Not Null
3.
Linked Program
Number
25
Not Null
4.
Description
Character
66
Unique
5.
Credit Hours
Number
10
Unique
Table 12 Data Dictionary of modules

TEACHER
S.NO.
Attribute Name
Data Type
Size
Constraint
1.
Teacher ID
Number
16
Primary Key
2.
Name
Character
51
Not Null
3.
Department
Number
6
Not Null
4.
Email
Character
66
Unique
5.
Contact Info
Number
10
Unique
Table 13 Data Dictionary of teachers

ASSESSMENT
S.NO.
Attribute Name
Data Type
Size
Constraint
1.
Assessment ID
Number
16
Primary Key
2.
Title
Character
51
Not Null
3.
Deadline
Date

Not Null
4.
Weightage
Character
66
Unique
5.
Total Marks
Number
10
Unique
Table 14 Data Dictionary of assessments

RESULT
S.NO.
Attribute Name
Data Type
Size
Constraint
1.
Result ID
Number
16
Primary Key
2.
Grade
Character
51
Not Null
3.
Total Marks Obtained
Number
3
Not Null
4.
Linked Module
Character
66
Unique
5.
Linked Assessment
Number
10
Unique
Table 15 Data Dictionary of results

RESOURCE
S.NO.
Attribute Name
Data Type
Size
Constraint
1.
Resource ID
Number
16
Primary Key
2.
Title
Character
51
Not Null
3.
Duration
Date

Not Null
4.
Type
Character
66
Unique
5.
Sequence
Number
10
Unique
Table 16 Data Dictionary of resources

ANNOUNCEMENT
S.NO.
Attribute Name
Data Type
Size
Constraint
1.
Announcement ID
Number
16
Primary Key
2.
Title
Character
51
Not Null
3.
Date Posted
Date

Not Null
4.
Content
Character
66
Unique
5.
Linked Module
Number
10
Unique
Table 17 Data Dictionary of announcements

5. Implementation
5.1 User Creation and Grant Privilege:
Figure 7 User Creation and Grant Privilege:

In Here, System is connected to create new user.

At first, new user is created. Username is Sudipmanigautam identified by password


which is 23056772
After that, grant connect to resources permission has been given and connect to
user sudipmanigautam

5.2.1 Table Creation for Student

Figure 8 Table Creation for Student

5.2.2 Table Creation for Program:


Figure 9 Table Creation for Program

5.2.3. Table Creation for Module:


Figure 10 Table Creation for Module:

5.2.4. Table Creation for Resources:


Figure 11 Table Creation for Resources:

5.2.5. Table Creation for Teacher:


Figure 12 Table Creation for Teacher:

5.2.6. Table Creation for Announcement


Figure 13 Table Creation for Announcement

5.2.7. Table Creation for Assessment

Figure 14 Table Creation for Assessment

5.2.8. Table Creation for Result

Figure 15 Table Creation for Result

5.2.9. Table Creation for Student_Module


Figure 16 Table Creation for Student_Module

5.2.10. Table Creation for Module_Resources

Figure 17 Table Creation for Module_Resources


5.2.11. Table Creation for Module_Teacher
Figure 18 Table Creation for Module_Teacher

5.2.12. Table Creation for Teacher_Announcement


Figure 19 Table Creation for Teacher_Announcement

5.2.13. Table Creation for Module_Assessment


Figure 20 Table Creation for Module_Assessment

5.2.14. Table Creation for Assessment_Result


Figure 21 Table Creation for Assessment_Result

5.2.15. Display Inserted All table List


Figure 22 All table List
5.3. Inserting Data Into table and display Inserted Data
5.3.1 Inserting Values into Program Table

Figure 23 Inserting values of Program Id 1

Figure 24 Inserting values of Program Id 2


Figure 25 Inserting values of Program Id 3

Figure 26 Inserting values of Program Id 4

Figure 27 Inserting values of Program Id 5

Figure 28 Inserting values of Program Id 6

Figure 29 Inserting values of Program Id 7

Figure 30 Inserting values of Program Id 8

Figure 31 Inserting values of Program Id 9

Figure 32 Inserting values of Program Id 10

5.3.2 Inserting values of Student Table

Figure 33 Inserting Data Into Student_ID 1

Figure 34 Inserting Data Into Student_ID 2

Figure 35 Inserting Data into Student_ID 3

Figure 36 Inserting Data into Student_ID 4

Figure 37 Inserting Data into Student_ID 5

Figure 38 Inserting Data into Student_ID 5

Figure 39 Inserting Data into Student_ID 6

Figure 40 Inserting Data into Student_ID 7

Figure 41 Inserting Data into Student_ID 8

Figure 42 Inserting Data into Student_ID 9

Figure 43 Inserting Data into Student_ID 10


5.3.3 Inserting Data into Module Table

Figure 44 Inserting Data into Module_ID 1

Figure 45 Inserting Data into Module_ID 2

Figure 46 Inserting Data into Module_ID 3

Figure 47 Inserting Data into Module_ID 4

Figure 48 Inserting Data into Module_ID 5

Figure 49 Inserting Data into Module_ID 6


Figure 50 Inserting Data into Module_ID 7

Figure 51 Inserting Data into Module_ID 8

Figure 52 Inserting Data into Module_ID 9

Figure 53 Inserting Data into Module_ID 10

5.3.4 Inserting Data into Resources Table

Figure 54 Inserting Data into Resource_ID 1

Figure 55 Inserting Data into Resource_ID 2

Figure 56 Inserting Data into Resource_ID 3

Figure 57 Inserting Data into Resource_ID 4

Figure 58 Inserting Data into Resource_ID 5

Figure 59 Inserting Data into Resource_ID 6

Figure 60 Inserting Data into Resource_ID 7

Figure 61 Inserting Data into Resource_ID 8

Figure 62 Inserting Data into Resource_ID 9

Figure 63 Inserting Data into Resource_ID 10

5.3.5 Inserting Data into Teacher Table

Figure 64 Inserting Data into Teacher_ID 1

Figure 65 Inserting Data into Teacher_ID 2

Figure 66 Inserting Data into Teacher_ID 3


Figure 67 Inserting Data into Teacher_ID 4

Figure 68 Inserting Data into Teacher_ID 5

Figure 69 Inserting Data into Teacher_ID 6

Figure 70 Inserting Data into Teacher_ID 7

Figure 71 Inserting Data into Teacher_ID 8

Figure 72 Inserting Data into Teacher_ID 9

Figure 73 Inserting Data into Teacher_ID 10

5.3.6 Inserting Data into Announcement Table


Inserting Data into Announcement_ID

Figure 74 Inserting Data into Announcement_ID 1

Figure 75 Inserting Data into Announcement_ID 2

Figure 76 Inserting Data into Announcement_ID 3

Figure 77 Inserting Data into Announcement_ID 4

Figure 78 Inserting Data into Announcement_ID 5

Figure 79 Inserting Data into Announcement_ID 6

Figure 80 Inserting Data into Announcement_ID 7

Figure 81 Inserting Data into Announcement_ID 8

Figure 82 Inserting Data into Announcement_ID 9

Figure 83 Inserting Data into Announcement_ID 10


5.3.7 Inserting Data into Assessment Table
Inserting Data into Assessment_ID

Figure 84 Inserting Data into Assessment_ID 1

Figure 85 Inserting Data into Assessment_ID 2

Figure 86 Inserting Data into Assessment_ID 3

Figure 87 Inserting Data into Assessment_ID 5

Figure 88 Inserting Data into Assessment_ID 6

Figure 89 Inserting Data into Assessment_ID 7

Figure 90
Inserting Data into Assessment_ID 8

Figure 91 Inserting Data into Assessment_ID 9

Figure 92 Inserting Data into Assessment_ID 10

5.3.8 Inserting Data into Result Table


Inserting Data into Result_ID

Figure 93 Inserting Data into Result_ID 1

Figure 94 Inserting Data into Result_ID 2

Figure 95 Inserting Data into Result_ID 3

Figure 96 Inserting Data into Result_ID 4

Figure 97 Inserting Data into Result_ID 5

Figure 98 Inserting Data into Result_ID 6

Figure 99 Inserting Data into Result_ID 7

Figure 100 Inserting Data into Result_ID 8

Figure 101 Inserting Data into Result_ID 9

Figure 102 Inserting Data into Result_ID 10


5.3.9 Student_Module
Figure 103 Inserting data into Student_Module 1

Figure 104 Inserting data into Student_Module 1

Figure 105 Inserting data into Student_Module 1

Figure 106 Inserting data into Student_Module

5.3.10 Module_Resources
Figure 107 Inserting data into Module_Resources 1
5.3.11 Module_Teacher
Figure 108 Inserting data into Module_Resources 1

5.3.12 Teacher_Announcement
Figure 109 Inserting data into Teacher_Announcement 1

5.3.13 Module_Assessemnet
Figure 110 Inserting data into Module_Assessement 1
5.3.14 Assessment_Result
Figure 111 Inserting data into Assessment_Result 1

6. Database Querying
6.1 Information query
1. List the programs that are available in the college and the total number of
students enrolled in each.

SELECT p.Program_Name, COUNT(s.Student_ID) AS Total_Students


FROM Program p
JOIN Student s ON p.Program_ID = s.Program_ID
GROUP BY p.Program_Name;

Figure 112 programs that are available in the college

2. List all the announcements made for a particular module starting from 1st
May 2024 to 28th May 2024.
SELECT a.Title, a.Dated_Posted, a.Content
FROM Announcement a
WHERE a.Linked_Module = 2
AND a.Dated_Posted BETWEEN TO_DATE('2024-05-01', 'YYYY-MM-DD') AND TO_DATE('2024-
05-28', 'YYYY-MM-DD')
ORDER BY a.Dated_Posted;

Figure 113 list of announcements made for a particular module

SELECT a.Title, a.Dated_Posted, a.Content


FROM Announcement a
WHERE a.Linked_Module = 2
AND a.Dated_Posted BETWEEN TO_DATE('2024-05-01', 'YYYY-MM-DD') AND TO_DATE('2024-
05-28', 'YYYY-MM-DD')
ORDER BY a.Dated_Posted;

SELECT a.Title, a.Dated_Posted, a.Content


FROM Announcement a
WHERE a.Linked_Module = 3
AND a.Dated_Posted BETWEEN TO_DATE('2024-05-01', 'YYYY-MM-DD') AND TO_DATE('2024-
05-28', 'YYYY-MM-DD')
ORDER BY a.Dated_Posted;

SELECT a.Title, a.Dated_Posted, a.Content


FROM Announcement a
WHERE a.Linked_Module = 4
AND a.Dated_Posted BETWEEN TO_DATE('2024-05-01', 'YYYY-MM-DD') AND TO_DATE('2024-
05-28', 'YYYY-MM-DD')
ORDER BY a.Dated_Posted;
SELECT a.Title, a.Dated_Posted, a.Content
FROM Announcement a
WHERE a.Linked_Module = 5
AND a.Dated_Posted BETWEEN TO_DATE('2024-05-01', 'YYYY-MM-DD') AND TO_DATE('2024-
05-28', 'YYYY-MM-DD')
ORDER BY a.Dated_Posted;

SELECT a.Title, a.Dated_Posted, a.Content


FROM Announcement a
WHERE a.Linked_Module = 6
AND a.Dated_Posted BETWEEN TO_DATE('2024-05-01', 'YYYY-MM-DD') AND TO_DATE('2024-
05-28', 'YYYY-MM-DD')
ORDER BY a.Dated_Posted;

SELECT a.Title, a.Dated_Posted, a.Content


FROM Announcement a
WHERE a.Linked_Module = 7
AND a.Dated_Posted BETWEEN TO_DATE('2024-05-01', 'YYYY-MM-DD') AND TO_DATE('2024-
05-28', 'YYYY-MM-DD')
ORDER BY a.Dated_Posted;

SELECT a.Title, a.Dated_Posted, a.Content


FROM Announcement a
WHERE a.Linked_Module = 8
AND a.Dated_Posted BETWEEN TO_DATE('2024-05-01', 'YYYY-MM-DD') AND TO_DATE('2024-
05-28', 'YYYY-MM-DD')
ORDER BY a.Dated_Posted;

SELECT a.Title, a.Dated_Posted, a.Content


FROM Announcement a
WHERE a.Linked_Module = 9
AND a.Dated_Posted BETWEEN TO_DATE('2024-05-01', 'YYYY-MM-DD') AND TO_DATE('2024-
05-28', 'YYYY-MM-DD')
ORDER BY a.Dated_Posted;

SELECT a.Title, a.Dated_Posted, a.Content


FROM Announcement a
WHERE a.Linked_Module = 10
AND a.Dated_Posted BETWEEN TO_DATE('2024-05-01', 'YYYY-MM-DD') AND TO_DATE('2024-
05-28', 'YYYY-MM-DD')
ORDER BY a.Dated_Posted;

3. List the names of all modules that begin with the letter 'D', along with the
total number of resources uploaded for those modules.
Figure 114 names of all modules that begin with the letter 'D'
In here, there is not included database as module so, it show no row selected.
4. List the names of all students along with their enrolled program who have
not submitted any assessments for a particular module.

SELECT s.NAME AS Student_Name, p.Program_Name


FROM Student s
JOIN Program p ON s.PROGRAM_ID = p.Program_ID
LEFT JOIN Result r ON s.STUDENT_ID = r.Linked_Assessment
AND r.Linked_Module = 1
WHERE r.Linked_Assessment IS NULL;

Figure 115 Not submitted any assessments for a particular module

5. 5.List all the teachers who teach more than one module.

SELECT t.Name
FROM Teacher t
JOIN Module_Teacher mt ON t.Teacher_ID = mt.Teacher_ID
GROUP BY t.Name
HAVING COUNT(mt.Module_ID) > 1;

Figure 116 the teachers who teach more than one module

6.2 Transaction query


1. Identify the module that has the latest assessment deadline.

SELECT m.Module_Name, a.Title AS Assessment_Title, a.Deadline


FROM Module m
JOIN Module_Assessment ma ON m.Module_ID = ma.Module_ID
JOIN Assessment a ON ma.Assessment_ID = a.Assessment_ID
WHERE ROWNUM = 1
ORDER BY a.Deadline DESC;

Figure 117 module that has the latest assessment deadline

2. Find the top three students who have the highest total score across all
modules.

SELECT * FROM (
SELECT
sr.Student_ID,
s.Name,
SUM(sr.Total_Marks_Obtain) AS Total_Score
FROM
Assessment_Result sr
JOIN
Student s ON sr.Student_ID = s.Student_ID
GROUP BY
sr.Student_ID, s.Name
ORDER BY
Total_Score DESC
)
WHERE ROWNUM <= 3;

Figure 118 the top three students who have the highest total score

3. Find the total number of assessments for each program and the average
score across all assessments in those programs.
SELECT
p.Program_ID,
p.Program_Name,
COUNT(a.Assessment_ID) AS Total_Assessments,
AVG(ar.Total_Marks_Obtain) AS Average_Score
FROM
Program p
JOIN
Module m ON p.Program_ID = m.Linked_Program
JOIN
Module_Assessment ma ON m.Module_ID = ma.Module_ID
JOIN
Assessment a ON ma.Assessment_ID = a.Assessment_ID
JOIN
Assessment_Result ar ON a.Assessment_ID = ar.Assessment_ID
GROUP BY
p.Program_ID, p.Program_Name
ORDER BY
p.Program_ID;

Figure 119 total number of assessments for each program

4. List the students who have scored above the average score in the
‘Databases’ module.
SELECT
s.Student_ID,
s.Name,
ar.Total_Marks_Obtain AS Score
FROM
Student s
JOIN
Student_Module sm ON s.Student_ID = sm.Student_ID
JOIN
Module m ON sm.Module_ID = m.Module_ID
JOIN
Module_Assessment ma ON m.Module_ID = ma.Module_ID
JOIN
Assessment a ON ma.Assessment_ID = a.Assessment_ID
JOIN
Assessment_Result ar ON a.Assessment_ID = ar.Assessment_ID AND s.Student_ID =
ar.Student_ID
WHERE
m.Module_Name = 'Databases'
AND ar.Total_Marks_Obtain > (
SELECT
AVG(ar1.Total_Marks_Obtain)
FROM
Assessment_Result ar1
JOIN
Module_Assessment ma1 ON ar1.Assessment_ID = ma1.Assessment_ID
JOIN
Module m1 ON ma1.Module_ID = m1.Module_ID
WHERE
m1.Module_Name = 'Databases'
)
ORDER BY
ar.Total_Marks_Obtain DESC;

Figure 120 students who have scored above the average score

5. Display whether a student has passed or failed as remarks as per their


total aggregate marks obtained in a particular module
SELECT
s.Student_ID,
s.Name,
m.Module_Name,
SUM(ar.Total_Marks_Obtain) AS Total_Aggregate_Marks,
CASE
WHEN SUM(ar.Total_Marks_Obtain) >= 40 THEN 'Pass'
ELSE 'Fail'
END AS Remarks
FROM
Student s
JOIN
Student_Module sm ON s.Student_ID = sm.Student_ID
JOIN
Module m ON sm.Module_ID = m.Module_ID
JOIN
Module_Assessment ma ON m.Module_ID = ma.Module_ID
JOIN
Assessment a ON ma.Assessment_ID = a.Assessment_ID
JOIN
Assessment_Result ar ON a.Assessment_ID = ar.Assessment_ID AND s.Student_ID =
ar.Student_ID
GROUP BY
s.Student_ID, s.Name, m.Module_Name
ORDER BY
s.Student_ID, m.Module_Name;
Figure 121 student has passed or failed as remarks as per their total aggregate
marks
6.3 Select all table
6.3.1 Selecting from Program table

Figure 123 Selecting from Program table

6.3.2 Selection from student Table


Figure 124 Selection from student Table

6.3.3 Selection of module table


Figure 125 Selecting Module table

6.3.4 Selecting Resources Table


Figure 126 Selecting resources table

7. Critical evaluation

a. Critical Evaluation of module, its usage and relation with other subject

In this Database module, Database is the crucial component of our course. It


Support us to develop the core skills needed for database designing and management.
This course covers all aspect of database, from creating data tables to showing how
information relates, cleanup database with the help of normalization rules and
using SQL commands. Getting good at these things is necessary for building
databases that operate smoothly and can handle larger volumes of information. The
content of this course links naturally with Programming, System Analysis, and
Software Engineering, showing how each subject impacts the others. When programmers
use their SQL and database knowledge in practice, they can perform their tasks more
effectively when creating dynamic programs. The way we collect user data and turn
it into database designs is another important part of computing professionals
cross-disciplinary work. Learning Oracle SQL gave students real-world experience
with professional-grade tools, but studying MySQL alongside it would have made
learning more challenging.

b. Critical Assessment of the Course Work


The coursework was very extensive and rigorous, it covers all the aspects in term
of database designing as well as implementation. This was really pushing us in the
direction of our end-of-semester project of developing a full functional database
for E-Classroom Platform. It had the opportunity of applying
theoretical knowledge into practice. Here, in this course, some key highlights
from my work include creating initial ER diagrams, normalizing data to 3NF,
creating data dictionaries, about to implement using Oracle SQL.

Normalization was the hardest task, yet it seemed to be the most rewarding. Several
times I finds the dependencies and reduce data redundancy, thereby highlighting the
need for data integrity. In testing phase I have Insert datasets to fill the tables
and generate a complex SQL statement for expected output. It has given a more
profound perception of the database operations.Exceptions were posed in coursework
by some challenges. The complexity met during the maintenance of referential
integrity proved to be time-consuming in all constraint enforcements under oracle
SQL.

The coursework was very interesting and quite beneficial despite all this. It
fostered even strong. It enhances my critical thinking, problem solving as well as
technical skills to the database system on completion of this course work. By
completing this project, it gives me a lot of confidence, that I could handle the
real-world database scenarios and benefit from recognition of database significance
in modern application development. This was an incredible experience in the
academic journey that I have execute both practical skills and knowledge.

8. Drop Query and Database Dump file creation


8.1 Dump File creation

Step 1: Picture of sqldumpfile.dmp extension


Figure 127 Picture of sqldumpfile.dmp extension

File has been created successfully.

Inserting commands for dump file creation


Figure 128 Inserting commands for dump file creation

After that, Dump File created successfully


Figure 129 Dump File created successfully

8.2 Drop Query


DROP TABLE Assessment_Result CASCADE CONSTRAINTS;
Figure 130 Assessement_Result Table dropped successfully

All Table dropped using


DROP TABLE Module_Assessment CASCADE CONSTRAINTS;
DROP TABLE Teacher_Announcement CASCADE CONSTRAINTS;
DROP TABLE Module_Teacher CASCADE CONSTRAINTS;
DROP TABLE Module_Resources CASCADE CONSTRAINTS;
DROP TABLE Student_Module CASCADE CONSTRAINTS;
DROP TABLE Result CASCADE CONSTRAINTS;
DROP TABLE Assessment CASCADE CONSTRAINTS;
DROP TABLE Announcement CASCADE CONSTRAINTS;
DROP TABLE Resources CASCADE CONSTRAINTS;
DROP TABLE Module CASCADE CONSTRAINTS;
DROP TABLE Student CASCADE CONSTRAINTS;
DROP TABLE Teacher CASCADE CONSTRAINTS;
DROP TABLE Program CASCADE CONSTRAINTS;

Figure 131 All Table Has been dropped


9. Conclusion

The course offered a comprehensive education on developing and implementing coding


for establishing an online virtual classroom. Through the various tasks, such as
creating entities, normalizing to third normal forms, and implementing Oracle SQL,
I became familiar with the fundamental concepts of database usage. Additionally, it
was helpful to have an overview of its functionality in real-world scenarios.

Through the step-by-step normalization process, redundancies and anomalies in data


were eliminated while consistent database design was maintained. The use of SQL
commands to create and populate tables, enforce referential integrity, and execute
complex queries highlighted the importance of ensuring data accuracy and
reliability in practical applications. Also, the evaluation pointed out that
integrating domain-specific business rules with database structures was crucial in
reconciling technical solutions with operational needs.

I gained new skills in solving problems, knowledge of relation between databases


and the rigorous testing & validation required for this course. Even though it was
difficult to normalize complex structures and write sophisticated questions, the
process was enlighteningly valuable. It has enabled me to approach future database
design and management assignments with confidence and expertise.

10 References
geek. (2025) Functional Dependencies [Online]. Available from:
https://www.geeksforgeeks.org/differentiate-between-partial-dependency-and-fully-
functional-dependency/ [Accessed 22 January 2025].
geeksforgeeks. (2024) Introduction of ERD [Online]. Available from:
https://www.geeksforgeeks.org/introduction-of-er-model/.
Microsoft. (2024) Microsoft [Online]. Available from:
https://learn.microsoft.com/en-us/office/troubleshoot/access/database-
normalization-description.
scaler. (2024) scaler [Online]. Available from:
https://www.scaler.com/topics/dbms/normalization-in-dbms/.
Appendix

Codes

CREATE TABLE Program ( Program_ID NUMBER(16) PRIMARY KEY, Program_Name CHAR(50),


Description CHAR(255), Total_Modules NUMBER(3), Duration NUMBER(3) );

CREATE TABLE Student ( Student_ID NUMBER(16) PRIMARY KEY, Name CHAR(50),


Date_of_Birth DATE, Email CHAR(21), Phone CHAR(15), Program_ID NUMBER(16), FOREIGN
KEY (Program_ID) REFERENCES Program (Program_ID) );

CREATE TABLE Module ( Module_ID NUMBER(16) PRIMARY KEY, Module_Name CHAR(50),


Description CHAR(255), Linked_Program NUMBER(16), Credit_Hours NUMBER(2), FOREIGN
KEY (Linked_Program) REFERENCES Program (Program_ID) );

CREATE TABLE Resources ( Resource_ID NUMBER(16) PRIMARY KEY, Title CHAR(100), Type
CHAR(50), Duration NUMBER(5), Sequence NUMBER(3), Status CHAR(20) );

CREATE TABLE Announcement ( Announcement_ID NUMBER(16) PRIMARY KEY, Title


CHAR(100), Linked_Module NUMBER(16), Dated_Posted DATE, Content CHAR(255), FOREIGN
KEY (Linked_Module) REFERENCES Module (Module_ID) );

CREATE TABLE Teacher ( Teacher_ID NUMBER(16) PRIMARY KEY, Name CHAR(50), Email
CHAR(21), Contact_Info CHAR(15), Department CHAR(50) );

CREATE TABLE Assessment ( Assessment_ID NUMBER(16) PRIMARY KEY, Title CHAR(100),


Weightage NUMBER(5, 2), Deadline DATE, Total_Marks NUMBER(3) );
CREATE TABLE Result ( Result_ID NUMBER(16) PRIMARY KEY, Linked_Module NUMBER(16),
Linked_Assessment NUMBER(16), FOREIGN KEY (Linked_Module) REFERENCES Module
(Module_ID), FOREIGN KEY (Linked_Assessment) REFERENCES Assessment
(Assessment_ID) );

CREATE TABLE Student_Module ( Student_ID NUMBER(16), Module_ID NUMBER(16), PRIMARY


KEY (Student_ID, Module_ID), FOREIGN KEY (Student_ID) REFERENCES Student
(Student_ID), FOREIGN KEY (Module_ID) REFERENCES Module (Module_ID) );

CREATE TABLE Module_Resources ( Module_ID NUMBER(16), Resource_ID NUMBER(16),


Student_ID NUMBER(16), PRIMARY KEY (Module_ID, Resource_ID, Student_ID), FOREIGN
KEY (Module_ID) REFERENCES Module (Module_ID), FOREIGN KEY (Resource_ID) REFERENCES
Resources (Resource_ID), FOREIGN KEY (Student_ID) REFERENCES Student
(Student_ID) );

CREATE TABLE Module_Teacher ( Module_ID NUMBER(16), Teacher_ID NUMBER(16), PRIMARY


KEY (Module_ID, Teacher_ID), FOREIGN KEY (Module_ID) REFERENCES Module (Module_ID),
FOREIGN KEY (Teacher_ID) REFERENCES Teacher (Teacher_ID) );

CREATE TABLE Teacher_Announcement ( Teacher_ID NUMBER(16), Announcement_ID


NUMBER(16), Module_ID NUMBER(16), PRIMARY KEY (Teacher_ID, Announcement_ID,
Module_ID), FOREIGN KEY (Teacher_ID) REFERENCES Teacher (Teacher_ID), FOREIGN KEY
(Announcement_ID) REFERENCES Announcement (Announcement_ID), FOREIGN KEY
(Module_ID) REFERENCES Module (Module_ID) );

CREATE TABLE Module_Assessment ( Module_ID NUMBER(16), Assessment_ID NUMBER(16),


Student_ID NUMBER(16), PRIMARY KEY (Module_ID, Assessment_ID, Student_ID), FOREIGN
KEY (Module_ID) REFERENCES Module (Module_ID), FOREIGN KEY (Assessment_ID)
REFERENCES Assessment (Assessment_ID), FOREIGN KEY (Student_ID) REFERENCES Student
(Student_ID) );

CREATE TABLE Assessment_Result ( Assessment_ID NUMBER(16), Result_ID NUMBER(16),


Student_ID NUMBER(16), Total_Marks_Obtain NUMBER(5, 2), Grade CHAR(2), Module_ID
NUMBER(16), PRIMARY KEY (Assessment_ID, Result_ID, Student_ID), FOREIGN KEY
(Assessment_ID) REFERENCES Assessment (Assessment_ID), FOREIGN KEY (Result_ID)
REFERENCES Result (Result_ID), FOREIGN KEY (Student_ID) REFERENCES Student
(Student_ID), FOREIGN KEY (Module_ID) REFERENCES Module (Module_ID) );

INSERT INTO Program (Program_ID, Program_Name, Description, Total_Modules,


Duration)
VALUES (1, 'Computer Science', 'Fundamentals of Computer Science, Data Structures,
Algorithms, Operating Systems, and more', 10, 4);

INSERT INTO Program (Program_ID, Program_Name, Description, Total_Modules,


Duration)
VALUES (2, 'Software Engineering', 'Software development methodologies, testing,
and project management', 9, 3);

INSERT INTO Program (Program_ID, Program_Name, Description, Total_Modules,


Duration)
VALUES (3, 'Web Development', 'Front-end and back-end development, databases, and
web technologies', 8, 2);

INSERT INTO Program (Program_ID, Program_Name, Description, Total_Modules,


Duration)
VALUES (4, 'Cybersecurity', 'Security protocols, ethical hacking, and cybersecurity
principles', 7, 3);

INSERT INTO Program (Program_ID, Program_Name, Description, Total_Modules,


Duration)
VALUES (5, 'Data Science', 'Data analysis, machine learning, artificial
intelligence, and data visualization', 8, 3);

INSERT INTO Program (Program_ID, Program_Name, Description, Total_Modules,


Duration)
VALUES (6, 'Artificial Intelligence', 'AI concepts, neural networks, natural
language processing, and machine learning', 10, 4);

INSERT INTO Program (Program_ID, Program_Name, Description, Total_Modules,


Duration)
VALUES (7, 'Mobile App Development', 'Development of mobile applications for iOS
and Android platforms', 8, 2);

INSERT INTO Program (Program_ID, Program_Name, Description, Total_Modules,


Duration)
VALUES (8, 'Game Development', 'Game design, programming, and 3D modeling for game
development', 9, 3);

INSERT INTO Program (Program_ID, Program_Name, Description, Total_Modules,


Duration)
VALUES (9, 'Cloud Computing', 'Cloud services, cloud architecture, and cloud
deployment models', 8, 3);

INSERT INTO Program (Program_ID, Program_Name, Description, Total_Modules,


Duration)
VALUES (10, 'Blockchain Technology', 'Blockchain
principles, smart contracts, and cryptocurrency development', 7, 2);
--Student

INSERT INTO Student (Student_ID, Name, Date_of_Birth, Email, Phone, Program_ID)


VALUES (1, 'Prithvi Narayan', TO_DATE('2000-05-15', 'YYYY-MM-DD'),
'[email protected] ', '981-234-5678', 1);

INSERT INTO Student (Student_ID, Name, Date_of_Birth, Email, Phone, Program_ID)


VALUES (2, 'Gautam Buddha', TO_DATE('1999-11-25', 'YYYY-MM-DD'), '[email protected]
', '982-345-6789', 2);

INSERT INTO Student (Student_ID, Name, Date_of_Birth, Email, Phone, Program_ID)


VALUES (3, 'Araniko', TO_DATE('2001-07-30', 'YYYY-MM-DD'), '[email protected] ',
'983-456-7890', 3);

INSERT INTO Student (Student_ID, Name, Date_of_Birth, Email, Phone, Program_ID)


VALUES (4, 'Shankaracharya', TO_DATE('2000-03-10', 'YYYY-MM-DD'),
'[email protected] ', '984-567-8901', 4);

INSERT INTO Student (Student_ID, Name, Date_of_Birth, Email, Phone, Program_ID)


VALUES (5, 'Sita Devi', TO_DATE('1998-09-05', 'YYYY-MM-DD'), '[email protected]
', '985-678-9012', 5);

INSERT INTO Student (Student_ID, Name, Date_of_Birth, Email, Phone, Program_ID)


VALUES (6, 'Bhanu Bhakta', TO_DATE('2000-12-20', 'YYYY-MM-DD'), '[email protected]
', '986-789-0123', 6);

INSERT INTO Student (Student_ID, Name, Date_of_Birth, Email, Phone, Program_ID)


VALUES (7, 'LP Devkota', TO_DATE('1999-08-14', 'YYYY-MM-DD'), '[email protected]
', '987-890-1234', 7);

INSERT INTO Student (Student_ID, Name, Date_of_Birth, Email, Phone, Program_ID)


VALUES (8, 'Rajesh Hamal', TO_DATE('2001-01-22', 'YYYY-MM-DD'), '[email protected]
', '988-901-2345', 8);

INSERT INTO Student (Student_ID, Name, Date_of_Birth, Email, Phone, Program_ID)


VALUES (9, 'Birendra Shah', TO_DATE('2000-04-09', 'YYYY-MM-DD'),
'[email protected] ', '989-012-3456', 9);

INSERT INTO Student (Student_ID, Name, Date_of_Birth, Email, Phone, Program_ID)


VALUES (10, 'Elon Musk', TO_DATE('1998-10-12', 'YYYY-MM-DD'), '[email protected]
', '990-123-4567', 10);

INSERT INTO Module (Module_ID, Module_Name, Description, Linked_Program,


Credit_Hours)
VALUES (1, 'Data Structures', 'Introduction to data structures like arrays, linked
lists, stacks, and queues.', 1, 3);

INSERT INTO Module (Module_ID, Module_Name, Description, Linked_Program,


Credit_Hours)
VALUES (2, 'Algorithms', 'Study of algorithms for sorting, searching, and
optimization techniques.', 1, 4);

INSERT INTO Module (Module_ID, Module_Name, Description, Linked_Program,


Credit_Hours)
VALUES (3, 'Operating Systems', 'Fundamentals of operating systems, including
process management, memory management, and file systems.', 1, 3);
INSERT INTO Module (Module_ID, Module_Name, Description, Linked_Program,
Credit_Hours)
VALUES (4, 'Software Development', 'Covers software development life cycle,
methodologies, and development tools.', 2, 4);

INSERT INTO Module (Module_ID, Module_Name, Description, Linked_Program,


Credit_Hours)
VALUES (5, 'Software Testing', 'Focus on testing techniques, unit testing,
integration testing, and automation tools.', 2, 3);

INSERT INTO Module (Module_ID, Module_Name, Description, Linked_Program,


Credit_Hours)
VALUES (6, 'Front-End Development', 'Introduction to HTML, CSS, JavaScript, and
front-end frameworks for building websites.', 3, 3);

INSERT INTO Module (Module_ID, Module_Name, Description, Linked_Program,


Credit_Hours)
VALUES (7, 'Back-End Development', 'Introduction to server-side programming,
databases, APIs, and web services.', 3, 3);

INSERT INTO Module (Module_ID, Module_Name, Description, Linked_Program,


Credit_Hours)
VALUES (8, 'Ethical Hacking', 'Study of ethical hacking techniques, penetration
testing, and vulnerability assessment.', 4, 3);

INSERT INTO Module (Module_ID, Module_Name, Description, Linked_Program,


Credit_Hours)
VALUES (9, 'Machine Learning', 'Introduction to machine learning concepts,
supervised and unsupervised learning, and algorithms.', 5, 4);

INSERT INTO Module (Module_ID, Module_Name, Description, Linked_Program,


Credit_Hours)
VALUES (10, 'Blockchain Development', 'Introduction to blockchain technology, smart
contracts, and decentralized applications.', 10, 3);

INSERT INTO Resources (Resource_ID, Title, Type, Duration, Sequence, Status)


VALUES (1, 'Introduction to Data Structures', 'Video', 60, 1, 'Available');

INSERT INTO Resources (Resource_ID, Title, Type, Duration, Sequence, Status)


VALUES (2, 'Basic Algorithms', 'PDF', 30, 2, 'Available');

INSERT INTO Resources (Resource_ID, Title, Type, Duration, Sequence, Status)


VALUES (3, 'Web Development Basics', 'Book', 200, 1, 'Available');

INSERT INTO Resources (Resource_ID, Title, Type, Duration, Sequence, Status)


VALUES (4, 'Advanced Cybersecurity Techniques', 'Video', 120, 1, 'Not Available');

INSERT INTO Resources (Resource_ID, Title, Type, Duration, Sequence, Status)


VALUES (5, 'Cloud Computing Basics', 'Presentation', 45, 2, 'Available');

INSERT INTO Resources (Resource_ID, Title, Type, Duration, Sequence, Status)


VALUES (6, 'Introduction to AI', 'Article', 15, 1, 'Available');

INSERT INTO Resources (Resource_ID, Title, Type, Duration, Sequence, Status)


VALUES (7, 'Mobile App Development Tutorial', 'Video', 90, 3, 'Available');

INSERT INTO Resources (Resource_ID, Title, Type, Duration, Sequence, Status)


VALUES (8, 'Game Design Fundamentals', 'PDF', 40, 1, 'Not Available');
INSERT INTO Resources (Resource_ID, Title, Type, Duration, Sequence, Status)
VALUES (9, 'Blockchain Overview', 'Book', 180, 1, 'Available');

INSERT INTO Resources (Resource_ID, Title, Type, Duration, Sequence, Status)


VALUES (10, 'Data Science with Python', 'Article', 20, 1, 'Available');

--Announcement
INSERT INTO Announcement (Announcement_ID, Title, Linked_Module, Dated_Posted,
Content)
VALUES (1, 'Important Dates for Data Structures', 1, TO_DATE('2025-01-01', 'YYYY-
MM-DD'), 'Important dates for the Data Structures course.');

INSERT INTO Announcement (Announcement_ID, Title, Linked_Module, Dated_Posted,


Content)
VALUES (2, 'Algorithms Assignment Due', 2, TO_DATE('2025-01-05', 'YYYY-MM-DD'),
'Please submit your Algorithms assignment by next week.');

INSERT INTO Announcement (Announcement_ID, Title, Linked_Module, Dated_Posted,


Content)
VALUES (3, 'Web Development Lab Sessions', 3, TO_DATE('2025-01-10', 'YYYY-MM-DD'),
'Lab sessions for Web Development will start from next week.');

INSERT INTO Announcement (Announcement_ID, Title, Linked_Module, Dated_Posted,


Content)
VALUES (4, 'Cybersecurity Mid-term Exam', 4, TO_DATE('2025-01-15', 'YYYY-MM-DD'),
'Cybersecurity Mid-term exam is scheduled for January 20th.');

INSERT INTO Announcement (Announcement_ID, Title, Linked_Module, Dated_Posted,


Content)
VALUES (5, 'Data Science Project Deadline', 5, TO_DATE('2025-01-20', 'YYYY-MM-DD'),
'Deadline for the Data Science project is next month.');

INSERT INTO Announcement (Announcement_ID, Title, Linked_Module, Dated_Posted,


Content)
VALUES (6, 'AI Seminar by Dr. John', 6, TO_DATE('2025-01-12', 'YYYY-MM-DD'), 'Join
the AI seminar on the latest developments in AI technology.');

INSERT INTO Announcement (Announcement_ID, Title, Linked_Module, Dated_Posted,


Content)
VALUES (7, 'Mobile App Development Final Exam', 7, TO_DATE('2025-01-17', 'YYYY-MM-
DD'), 'Final exam for the Mobile App Development course is next week.');

INSERT INTO Announcement (Announcement_ID, Title, Linked_Module, Dated_Posted,


Content)
VALUES (8, 'Game Development Workshop', 8, TO_DATE('2025-01-22', 'YYYY-MM-DD'),
'Workshop on game development will take place on January 25th.');

INSERT INTO Announcement (Announcement_ID, Title, Linked_Module, Dated_Posted,


Content)
VALUES (9, 'Blockchain Course Overview', 9, TO_DATE('2025-01-18', 'YYYY-MM-DD'),
'Introduction to the Blockchain course and syllabus.');

INSERT INTO Announcement (Announcement_ID, Title, Linked_Module, Dated_Posted,


Content)
VALUES (10, 'Cloud Computing Class Canceled', 10, TO_DATE('2025-01-20', 'YYYY-MM-
DD'), 'Class for Cloud Computing on January 21st has been cancelled.');

INSERT INTO Teacher (Teacher_ID, Name, Email, Contact_Info, Department)


VALUES (1, 'David Malan', '[email protected]', '555-123-4567', 'Computer Science');

INSERT INTO Teacher (Teacher_ID, Name, Email, Contact_Info, Department)


VALUES (2, 'Andrew Ng', '[email protected]', '555-234-5678', 'Cybersecurity');

INSERT INTO Teacher (Teacher_ID, Name, Email, Contact_Info, Department)


VALUES (3, 'Donald Knuth', '[email protected]', '555-345-6789', 'Software
Engineering');

INSERT INTO Teacher (Teacher_ID, Name, Email, Contact_Info, Department)


VALUES (4, 'Barbara Liskov', '[email protected]', '555-456-7890', 'Web
Development');

INSERT INTO Teacher (Teacher_ID, Name, Email, Contact_Info, Department)


VALUES (5, 'Bjarne Stroustrup', '[email protected]', '555-567-8901', 'Data
Science');

INSERT INTO Teacher (Teacher_ID, Name, Email, Contact_Info, Department)


VALUES (6, 'Leslie Lamport', '[email protected]', '555-678-9012', 'Artificial
Intelligence');

INSERT INTO Teacher (Teacher_ID, Name, Email, Contact_Info, Department)


VALUES (7, 'John McCarthy', '[email protected]', '555-789-0123', 'Mobile App
Development');

INSERT INTO Teacher (Teacher_ID, Name, Email, Contact_Info, Department)


VALUES (8, 'Chris Bishop', '[email protected]', '555-890-1234', 'Game Development');

INSERT INTO Teacher (Teacher_ID, Name, Email, Contact_Info, Department)


VALUES (9, 'Edwin Catmull', '[email protected]', '555-901-2345', 'Cloud Computing');

INSERT INTO Teacher (Teacher_ID, Name, Email, Contact_Info, Department)


VALUES (10, 'Raj Reddy', '[email protected]', '555-012-3456', 'Blockchain Technology');

--Assessment
INSERT INTO Assessment (Assessment_ID, Title, Weightage, Deadline, Total_Marks)
VALUES (1, 'Data Structures Mid-term', 40, TO_DATE('2025-02-10', 'YYYY-MM-DD'),
100);

INSERT INTO Assessment (Assessment_ID, Title, Weightage, Deadline, Total_Marks)


VALUES (2, 'Algorithms Final Exam', 60, TO_DATE('2025-03-01',
'YYYY-MM-DD'), 100);

INSERT INTO Assessment (Assessment_ID, Title, Weightage, Deadline, Total_Marks)


VALUES (3, 'Web Development Assignment', 50, TO_DATE('2025-02-15', 'YYYY-MM-DD'),
50);

INSERT INTO Assessment (Assessment_ID, Title, Weightage, Deadline, Total_Marks)


VALUES (4, 'Cybersecurity Project', 30, TO_DATE('2025-02-20', 'YYYY-MM-DD'), 80);

INSERT INTO Assessment (Assessment_ID, Title, Weightage, Deadline, Total_Marks)


VALUES (5, 'Data Science Final Project', 50, TO_DATE('2025-03-10', 'YYYY-MM-DD'),
100);

INSERT INTO Assessment (Assessment_ID, Title, Weightage, Deadline, Total_Marks)


VALUES (6, 'AI Quiz', 20, TO_DATE('2025-02-05', 'YYYY-MM-DD'), 50);

INSERT INTO Assessment (Assessment_ID, Title, Weightage, Deadline, Total_Marks)


VALUES (7, 'Mobile App Development Lab', 40, TO_DATE('2025-02-25', 'YYYY-MM-DD'),
100);

INSERT INTO Assessment (Assessment_ID, Title, Weightage, Deadline, Total_Marks)


VALUES (8, 'Game Design Final Exam', 50, TO_DATE('2025-03-15', 'YYYY-MM-DD'), 100);

INSERT INTO Assessment (Assessment_ID, Title, Weightage, Deadline, Total_Marks)


VALUES (9, 'Blockchain Quiz', 20, TO_DATE('2025-02-12', 'YYYY-MM-DD'), 50);

INSERT INTO Assessment (Assessment_ID, Title, Weightage, Deadline, Total_Marks)


VALUES (10, 'Cloud Computing Project', 40, TO_DATE('2025-03-05', 'YYYY-MM-DD'),
80);

--Result
INSERT INTO Result (Result_ID, Linked_Module, Linked_Assessment)
VALUES (1, 1, 1);

INSERT INTO Result (Result_ID, Linked_Module, Linked_Assessment)


VALUES (2, 2, 2);

INSERT INTO Result (Result_ID, Linked_Module, Linked_Assessment)


VALUES (3, 3, 3);

INSERT INTO Result (Result_ID, Linked_Module, Linked_Assessment)


VALUES (4, 4, 4);

INSERT INTO Result (Result_ID, Linked_Module, Linked_Assessment)


VALUES (5, 5, 5);

INSERT INTO Result (Result_ID, Linked_Module, Linked_Assessment)


VALUES (6, 6, 6);

INSERT INTO Result (Result_ID, Linked_Module, Linked_Assessment)


VALUES (7, 7, 7);

INSERT INTO Result (Result_ID, Linked_Module, Linked_Assessment)


VALUES (8, 8, 8);

INSERT INTO Result (Result_ID, Linked_Module, Linked_Assessment)


VALUES (9, 9, 9);

INSERT INTO Result (Result_ID, Linked_Module, Linked_Assessment)


VALUES (10, 10, 10);

INSERT INTO Student_Module (Student_ID, Module_ID) VALUES (1, 1);


INSERT INTO Student_Module (Student_ID, Module_ID) VALUES (2, 3);
INSERT INTO Student_Module (Student_ID, Module_ID) VALUES (3, 4);
INSERT INTO Student_Module (Student_ID, Module_ID) VALUES (4, 5);
INSERT INTO Student_Module (Student_ID, Module_ID) VALUES (5, 6);
INSERT INTO Student_Module (Student_ID, Module_ID) VALUES (6, 7);
INSERT INTO Student_Module (Student_ID, Module_ID) VALUES (7, 8);
INSERT INTO Student_Module (Student_ID, Module_ID) VALUES (8, 9);
INSERT INTO Student_Module (Student_ID, Module_ID) VALUES (9, 10);
INSERT INTO Student_Module (Student_ID, Module_ID) VALUES (10, 2);

INSERT INTO Module_Resources (Module_ID, Resource_ID, Student_ID) VALUES (1, 1, 1);


INSERT INTO Module_Resources (Module_ID, Resource_ID, Student_ID) VALUES (2, 2, 2);
INSERT INTO Module_Resources (Module_ID, Resource_ID, Student_ID) VALUES (3, 3, 3);
INSERT INTO Module_Resources (Module_ID, Resource_ID, Student_ID) VALUES (4, 4, 4);
INSERT INTO Module_Resources (Module_ID, Resource_ID, Student_ID) VALUES (5, 5, 5);
INSERT INTO Module_Resources (Module_ID, Resource_ID, Student_ID) VALUES (6, 6, 6);
INSERT INTO Module_Resources (Module_ID, Resource_ID, Student_ID) VALUES (7, 7, 7);
INSERT INTO Module_Resources (Module_ID, Resource_ID, Student_ID) VALUES (8, 8, 8);
INSERT INTO Module_Resources (Module_ID, Resource_ID, Student_ID) VALUES (9, 9, 9);
INSERT INTO Module_Resources (Module_ID, Resource_ID, Student_ID) VALUES (10, 10,
10);

INSERT INTO Module_Teacher (Module_ID, Teacher_ID) VALUES (1, 1);


INSERT INTO Module_Teacher (Module_ID, Teacher_ID) VALUES (2, 2);
INSERT INTO Module_Teacher (Module_ID, Teacher_ID) VALUES (3, 3);
INSERT INTO Module_Teacher (Module_ID, Teacher_ID) VALUES (4, 4);
INSERT INTO Module_Teacher (Module_ID, Teacher_ID) VALUES (5, 5);
INSERT INTO Module_Teacher (Module_ID, Teacher_ID) VALUES (6, 6);
INSERT INTO Module_Teacher (Module_ID, Teacher_ID) VALUES (7, 7);
INSERT INTO Module_Teacher (Module_ID, Teacher_ID) VALUES (8, 8);
INSERT INTO Module_Teacher (Module_ID, Teacher_ID) VALUES (9, 9);
INSERT INTO Module_Teacher (Module_ID, Teacher_ID) VALUES (10, 10);

INSERT INTO Teacher_Announcement (Teacher_ID, Announcement_ID, Module_ID) VALUES


(1, 1, 1);
INSERT INTO Teacher_Announcement (Teacher_ID, Announcement_ID, Module_ID) VALUES
(2, 2, 2);
INSERT INTO Teacher_Announcement (Teacher_ID, Announcement_ID, Module_ID) VALUES
(3, 3, 3);
INSERT INTO Teacher_Announcement (Teacher_ID, Announcement_ID, Module_ID) VALUES
(4, 4, 4);
INSERT INTO Teacher_Announcement (Teacher_ID, Announcement_ID, Module_ID) VALUES
(5, 5, 5);
INSERT INTO Teacher_Announcement (Teacher_ID, Announcement_ID, Module_ID) VALUES
(6, 6, 6);
INSERT INTO Teacher_Announcement (Teacher_ID, Announcement_ID, Module_ID) VALUES
(7, 7, 7);
INSERT INTO Teacher_Announcement (Teacher_ID, Announcement_ID, Module_ID) VALUES
(8, 8, 8);
INSERT INTO Teacher_Announcement (Teacher_ID, Announcement_ID, Module_ID) VALUES
(9, 9, 9);
INSERT INTO Teacher_Announcement (Teacher_ID, Announcement_ID, Module_ID) VALUES
(10, 10, 10);

INSERT INTO Module_Assessment (Module_ID, Assessment_ID, Student_ID) VALUES (1, 1,


1);
INSERT INTO Module_Assessment (Module_ID, Assessment_ID, Student_ID) VALUES (2, 2,
2);
INSERT INTO Module_Assessment (Module_ID, Assessment_ID, Student_ID) VALUES (3, 3,
3);
INSERT INTO Module_Assessment (Module_ID, Assessment_ID, Student_ID) VALUES (4, 4,
4);
INSERT INTO Module_Assessment (Module_ID, Assessment_ID, Student_ID) VALUES (5, 5,
5);
INSERT INTO Module_Assessment (Module_ID, Assessment_ID, Student_ID) VALUES (6, 6,
6);
INSERT INTO Module_Assessment (Module_ID, Assessment_ID, Student_ID) VALUES (7, 7,
7);
INSERT INTO Module_Assessment (Module_ID, Assessment_ID, Student_ID) VALUES (8, 8,
8);
INSERT INTO Module_Assessment (Module_ID, Assessment_ID, Student_ID) VALUES (9, 9,
9);
INSERT INTO Module_Assessment (Module_ID, Assessment_ID, Student_ID) VALUES (10,
10, 10);

INSERT INTO Assessment_Result (Assessment_ID, Result_ID, Student_ID,


Total_Marks_Obtain, Grade, Module_ID) VALUES (1, 1, 1, 90, 'A', 1);
INSERT INTO Assessment_Result (Assessment_ID, Result_ID, Student_ID,
Total_Marks_Obtain, Grade, Module_ID) VALUES (2, 2, 2, 85, 'B', 2);
INSERT INTO Assessment_Result (Assessment_ID, Result_ID, Student_ID,
Total_Marks_Obtain, Grade, Module_ID) VALUES (3, 3, 3, 75, 'C', 3);
INSERT INTO Assessment_Result (Assessment_ID, Result_ID, Student_ID,
Total_Marks_Obtain, Grade, Module_ID) VALUES (4, 4, 4, 88, 'B', 4);
INSERT INTO Assessment_Result (Assessment_ID, Result_ID, Student_ID,
Total_Marks_Obtain, Grade, Module_ID) VALUES (5, 5, 5, 92, 'A', 5);
INSERT INTO Assessment_Result (Assessment_ID, Result_ID, Student_ID,
Total_Marks_Obtain, Grade, Module_ID) VALUES (6, 6, 6, 80, 'B', 6);
INSERT INTO Assessment_Result (Assessment_ID, Result_ID, Student_ID,
Total_Marks_Obtain, Grade, Module_ID) VALUES (7, 7, 7, 85, 'B', 7);
INSERT INTO Assessment_Result (Assessment_ID, Result_ID, Student_ID,
Total_Marks_Obtain, Grade, Module_ID) VALUES (8, 8, 8, 95, 'A', 8);
INSERT INTO Assessment_Result (Assessment_ID, Result_ID, Student_ID,
Total_Marks_Obtain, Grade, Module_ID) VALUES (9, 9, 9, 78, 'C', 9);
INSERT INTO Assessment_Result (Assessment_ID, Result_ID, Student_ID,
Total_Marks_Obtain, Grade, Module_ID) VALUES (10, 10, 10, 85, 'B', 10);

COMMIT;

You might also like