ASM1 - 1st - Database-Design-Development - Report - Pham Chien Thang - BH1999
ASM1 - 1st - Database-Design-Development - Report - Pham Chien Thang - BH1999
Student declaration
I certify that the assignment submission is entirely my own work and I fully understand the consequences of plagiarism. I understand
that making a false declaration is a form of malpractice.
Student’s signature:
Grading grid
P1 M1 D1
Summative Feedbacks: Resubmission Feedbacks:
Tables of figures
I.I ntroduction
This report aims to analyze requirements and makes clear statements about user and
system requirements; Design relational database system with appropriate design tools and
techniques; Develop a fully functional relational database system, based on the existing
system design; Test the system against user and system requirements; Producing technical
also responsible for optimising the database system for performance efficiency,
Each book in the library has information about Book ID, Book Title, Publisher, and
Author.
An author can write many books. A book can have multiple authors
Based on the provided requirements, here's an analysis for designing a library system database:
Entities:
Attributes:
Book:
o BookID (Primary Key): Unique identifier for each book (e.g., integer)
o Title: Title of the book (text)
Author:
o AuthorID (Primary Key): Unique identifier for each author (e.g., integer)
o Name: Author's name (text)
Publisher:
o PublisherID (Primary Key): Unique identifier for each publisher (e.g., integer)
o Name: Publisher's name (text)
o Address: Publisher's address (text)
o PhoneNumber: Publisher's phone number (text)
Relationships:
Many-to-Many Relationship (Book-Author): A book can have multiple authors, and an author
can write multiple books. This relationship can be represented by a separate table:
o BookAuthor (Table)
BookID (Foreign Key references Book.BookID)
AuthorID (Foreign Key references Author.AuthorID)
One-to-Many Relationship (Book-Publisher): A book is published by one publisher, and a
publisher publishes many books. This relationship can be established within the Book table:
o Book.PublisherID (Foreign Key references Publisher.PublisherID)
Table :
A table is a collection of related data in an organized manner in the form of rows and columns. It
is an organized arrangement of data and information in tabular form containing rows and
columns, making it easier to understand and compare data.
It is the unique identifier for each row in a table. There can only be one primary key in a table,
and it can’t be null. ID is the primary key for the above table. Each student is uniquely identified
by their ID. Now two rows have the same ID. The first column is usually the primary key of the
table.
Foreign Key :
A foreign key is a column or a set of columns in a table that refers to the primary key of another
table. It establishes the relationship between the table. A foreign key can be null and there can be more
than one foreign key in the table. For example, in the Department table you might have an emp_id
column as a foreign key. This allows you to link departments to specific employees.
Figure 4 Foreign Key
Relationship :
Database Relationship Concepts (1-1, 1-to-Many, Many-to-Many)
In relational database design, relationships play a crucial role in organizing and linking data between
tables. A relationship represents a logical connection between two entities (tables) in the database.
There are three main types of relationships:
1. 1-to-1 Relationship (One-to-One):
A record in table A can be associated with at most one record in table B, and vice versa.
This relationship is less common as it can often be represented as an attribute within the same table.
Example: An employee can only have one social security number, and vice versa.
2. 1-to-Many Relationship (One-to-Many):
A record in table A can be associated with at most many records in table B, but each record in table B can
only be associated with one record in table A.
This is the most common type of relationship in relational databases.
Example: An employee can manage multiple projects, but each project can only have one manager.
3. Many-to-Many Relationship (Many-to-Many):
A record in table A can be associated with at most many records in table B, and vice versa.
This relationship is often represented using a junction table to resolve data redundancy.
Example: A student can enroll in multiple courses, and each course can have multiple students.
Identifying Relationship Types:
To determine the relationship type between two tables, consider the following questions:
How many records in table A can be associated with at most one record in table B?
How many records in table B can be associated with at most one record in table A?
Examples:
1-to-1: A student can only have one student ID, and vice versa (Student ID is an attribute in the Student
table).
1-to-Many: An employee can manage multiple projects, but each project can only have one manager
(Employee table has a foreign key referencing the Project table).
Many-to-Many: A student can enroll in multiple courses, and each course can have multiple students
(Student table has a foreign key referencing the Course table, and the Course table has a foreign key
referencing the Student table, creating a junction table Student_Course).
Understanding relationship types is essential for designing efficient databases and avoiding data
redundancy. Using the correct relationship type will help you retrieve data more easily and accurately.
Physical design is the process of turning a design into manufacturable geometries. It comprises
a number of steps, including floorplanning, placement, clock tree synthesis, and routing.
Physical design begins with a netlist, which is synthesized from RTL. The netlist describes the
components of a circuit and how they connect.
Floorplanning is the first major step. It involves identifying which structures should be placed
near others, taking into account area restrictions, speed, and the various constraints required by
components.
Placement determines the locations of each component or block on the die, considering timing
and interconnect length.
Clock tree synthesis involves inserting buffers or inverters such that the clock is distributed
evenly to sequential elements in a design, minimizing skew and latency.
Routing determines the paths of interconnects, including standard cell and macro pins. This
stage completes all connections defined in the netlist, ideally in the most efficient way and
without violating timing constraints.
The final output of the physical design process is typically GDSII, a data format representing
layout information.
Figure 5 ERD
IV. Conclusion
In conclusion, databases play a crucial role in managing and organizing data efficiently across various
sectors. Their ability to store, retrieve, and manipulate data ensures that businesses, educational
institutions, and other organizations can operate effectively. By understanding the fundamental
concepts of databases, such as relational models, SQL, and normalization, we can better appreciate the
importance of data integrity and security.
The advancements in database technology, including NoSQL databases and cloud-based solutions, have
further expanded the possibilities for data management, catering to the growing needs of big data and
real-time processing. Implementing best practices in database design and maintenance is essential to
ensure optimal performance and scalability.
Overall, the comprehensive study of databases highlights their indispensable value in the digital age,
underpinning the functionality of modern applications and systems. Continued learning and adaptation
to new database technologies will be key to leveraging their full potential, enabling innovation and
efficiency in handling the ever-increasing volumes of data.
References
Saxena, T. (2019). What is Database ? [online] GeeksforGeeks. Available at:
https://www.geeksforgeeks.org/what-is-database/.
GeeksforGeeks. (2024). Components of Table in Database. [online] Available at:
https://www.geeksforgeeks.org/components-of-table-in-database/ [Accessed 11 Jun. 2024].
aSemiconductor Engineering. (n.d.). Physical Design. [online] Available at:
https://semiengineering.com/knowledge_centers/eda-design/definitions/physical-design/.