ASM1 1st DatabaseDesignAndDevelopment PhungAnhTuan BH01110-1

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 26

ASSIGNMENT 1 FRONT SHEET

Qualification TEC Level 5 HND Diploma in Computing

Unit number and title Unit 04: Database Design & Development

Submission date Date Received 1st submission

Re-submission Date Date Received 2nd submission

Student Name Phùng Anh Tuấn Student ID BH01110

Class SE06303 Assessor name Ha Ngoc Linh

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 Tuan


Grading grid

P1 M1 D1
❒ Summative Feedback: ❒ Resubmission Feedback:

Grade: Assessor Signature: Date:


Signature & Date:
TABLE OF CONTENTS
I. INTRODUCTION ......................................................................................................................................................................................5

II. CONTENT................................................................................................................................................................................................6

P1.Design a relational database system using appropriate design tools and techniques, containing at least four interrelated tables, with
clear statements of user and system requirements. ....................................................................................................................................6

1. Scenario of the chosen system .........................................................................................................................................................6

2. System requirements ......................................................................................................................................................................7

3. User roles...................................................................................................................................................................................... 10

4. Techniques to design the database. ............................................................................................................................................... 11

5. Logical Design ............................................................................................................................................................................... 13

6. Physical Design.............................................................................................................................................................................. 15

III. CONCLUSION .................................................................................................................................................................................... 26

IV. REFERENCES ..................................................................................................................................................................................... 26


TABLE OF FIGURES
Figure 1: Logical Design ............................................................................................................................................................................................... 13
Figure 2: Physical Design ............................................................................................................................................................................................. 16
Figure 3: Department Table ........................................................................................................................................................................................ 17
Figure 4: Faculty Table ................................................................................................................................................................................................ 18
Figure 5: Classroom Table ........................................................................................................................................................................................... 19
Figure 6: Semester Table ............................................................................................................................................................................................. 20
Figure 7: Student Table ............................................................................................................................................................................................... 21
Figure 8: Course Table ................................................................................................................................................................................................. 22
Figure 9: Enrollment .................................................................................................................................................................................................... 23
Figure 10: Schedule Table ........................................................................................................................................................................................... 24
I. INTRODUCTION
I am immensely grateful to express my sincere appreciation to my mentor, Toan, whose unwavering support, patience, motivation,
enthusiasm, and extensive knowledge have been instrumental in my academic journey and research endeavors. His invaluable
guidance has been a cornerstone in my success, and without his remarkable assistance, I would not have been able to reach the
achievements I have.

Furthermore, I extend my heartfelt gratitude to my friends, whose collaboration and assistance have significantly contributed to
enhancing my understanding and mastery of the subject matter. Their insights, discussions, and shared experiences have enriched
my learning journey, fostering a collaborative and supportive academic environment.

Additionally, I wish to acknowledge the school administration for providing me with all the necessary resources and facilities
necessary for conducting my research and completing my academic tasks. The supportive learning environment and well-equipped
facilities have played a pivotal role in facilitating my work and enabling me to accomplish my goals effectively.

Moving forward, I am eager to put the results of my research to the test and operationalize the system, marking the culmination of
the Database Design & Development process. This assignment presents an exciting opportunity to apply the theoretical knowledge
and practical skills acquired throughout the course of my studies. I am eager to embark on this journey and explore the intricacies of
building a comprehensive database system.
II. CONTENT

P1.Design a relational database system using appropriate design tools and techniques,
containing at least four interrelated tables, with clear statements of user and system
requirements.

1. Scenario of the chosen system


• As a Database Developer for a large IT consultancy company, I have been assigned a project by FPT University, which is
expanding due to an increase in the number of students. FPT is currently facing challenges in managing the university
efficiently, prompting the need to develop several academic systems for easier management. These systems include an
Online Library system, Student Grading System, Attendance System, CMS System, Scheduling System, Enrolment Systems,
and more.
• My task is Scheduling System and develop a database for FPT University. This involves working closely with FPT to
understand the current requirements for each system, analyzing these requirements, and producing clear statements of user
and system requirements. Additionally, I am responsible for designing a relational database system using appropriate design
tools and techniques. Once the design is finalized, I will develop a fully functional relational database system based on the
agreed-upon design.
• Testing the system against user and system requirements is another crucial aspect of my role. I will ensure that the database
system meets the specified criteria and functions as intended. Furthermore, I will produce technical and user documentation
to provide comprehensive guidance on the system's operation and maintenance.
• Overall, my objective is to deliver a robust and efficient database system that fulfills FPT University's needs and enhances its
academic management processes.

2. System requirements
• Developing the FPT relationship database and organizing it into detailed and precise categorizations has the potential to
address all the challenges outlined previously.
- Student: Refers to individuals who are currently enrolled in academic programs or courses within the educational
institution. Attributes: StudentID (Primary Key), Name, Email
- Faculty: Denotes educators or instructors who are responsible for teaching various courses offered by the institution.
Attributes: FacultyID (Primary Key), Name, Email
- Department: Signifies the organizational units or academic divisions within the college, typically aligned with specific
fields of study or disciplines. Attributes: DepartmentID (Primary Key), Name
- Course: Represents the individual educational offerings provided by the college, encompassing lectures, seminars, and
workshops. Attributes: CourseID (Primary Key), Title, Description, DepartmentID (Foreign Key), FacultyID (Foreign
Key), ClassroomID (Foreign Key),
- Classroom: Designates the physical spaces within the institution where instructional activities, such as lectures or
discussions, take place. Attributes: ClassroomID (Primary Key), Location, Capacity
- Semester: Denotes the academic periods or terms during which courses are offered, delineated by specific timeframes
such as Fall 2024 or Spring 2025. Attributes: SemesterID (Primary Key), Name, StartDate, EndDate
- Schedule: Refers to the structured timetable of classes, detailing the dates, times, and locations for each course offered
during a given semester. Attributes: ScheduleID (Primary Key), CourseID (Foreign Key), ClassroomID (Foreign Key),
SemesterID (Foreign Key), StartDateTime, EndDateTime
- Enrollment: Indicates the process or status of students officially registering for and participating in specific courses
offered by the institution.
• Functional requirements delineate the precise functions or capabilities essential for a system to effectively fulfill the
requirements and expectations of its users. In the context of a college Schedule System, functional requirements encompass
a range of features and functionalities essential for facilitating efficient scheduling processes. Functional requirements may
encompass:
- User Authentication and Authorization: The system should possess robust mechanisms for user authentication, ensuring
that individuals logging in, such as students or faculty members, are verified and granted appropriate access levels in
accordance with their designated roles within the system, which could include distinctions like student, instructor, or
administrator.
- Course Management: Administrators should be afforded the capability to undertake a spectrum of tasks related to
course administration, encompassing the creation, modification, and deletion of course details. These details may
encompass essential elements such as course titles, descriptions, faculty assignments, departmental affiliations, and
prerequisites.
- Schedule Management: Administrative personnel should be empowered with functionalities to orchestrate schedules
for each academic semester. This includes the ability to allocate specific courses to designated time slots and physical
classrooms, as well as mechanisms to resolve scheduling conflicts as they arise.
- Enrollment Management: The system should facilitate a seamless enrollment process for students, providing them with
the ability to explore available courses, access comprehensive details about each course, and enroll as needed.
Meanwhile, administrators should be equipped with tools to oversee course enrollments, including the capacity to add
or remove students from courses as required.
- Faculty Management: Administrators should be provided with functionalities to manage faculty-related information
comprehensively. This encompasses tasks such as assigning instructors to specific courses, updating faculty profiles with
relevant information, and tracking teaching assignments to ensure efficient utilization of faculty resources.
- Classroom Management: Administrative personnel should be furnished with utilities to efficiently manage classroom
resources within the institution. This entails tasks such as allocating appropriate classrooms to courses, monitoring
classroom availability, and facilitating the reservation of classrooms for academic activities.
- Notification and Reminders: The system should incorporate robust features for disseminating timely notifications and
reminders to users concerning a variety of pertinent matters, including upcoming classes, alterations to schedules,
registration deadlines, and other critical events that may impact the academic community.
- Reporting and Analytics: The system should offer sophisticated reporting capabilities, enabling the generation of
comprehensive reports on various aspects of academic operations. These reports may encompass metrics such as course
enrollments, classroom utilization rates, faculty workload distribution, and other pertinent data to inform decision-
making and strategic planning initiatives.
- Integration: Seamless integration with existing systems within the college ecosystem, such as student information
systems, learning management platforms, and faculty databases, should be prioritized to ensure data coherence and
facilitate streamlined workflows across different administrative functions within the institution.
- Accessibility and Usability: The system should be designed with accessibility in mind, ensuring that it is user-friendly and
accessible to individuals with disabilities. Features such as keyboard navigation, compatibility with screen readers, and
the provision of adjustable font sizes should be incorporated to enhance usability and accommodate diverse user needs.
3. User roles
• Within a Schedule System tailored for a college or university environment, diverse users are allocated varying roles and
permissions commensurate with their individual responsibilities and requisites within the system. These roles are structured
to accommodate the diverse operational requirements and duties encountered within the academic setting. Some of the
user roles that could potentially exist within such a system include:
- College managers: This role have full control over the Schedule System. They manage user accounts, configure system
settings, create and manage courses, generate schedules, and oversee the overall functionality of the system. They
might have broader responsibilities compared to managers, including system maintenance, security management, and
integration with other systems.
- Faculty/Instructor: Faculty members or instructors are endowed with access privileges tailored to their roles within the
Schedule System. They are equipped with functionalities pertinent to course management and scheduling, enabling
them to oversee their teaching assignments, manage course particulars, input grades, engage in communication with
students, and access a plethora of course-related information vital to their instructional duties.
- Student: Students are afforded access to functionalities geared towards facilitating their academic journey within the
Schedule System. This includes features centered around course enrollment, schedule perusal, and academic planning,
empowering them to search for courses, peruse detailed course information, enroll in desired courses, review their class
schedules, and receive timely notifications pertaining to schedule modifications or significant deadlines.
- Department Chair: Department chairs assume administrative responsibilities specific to their designated academic
departments within the Schedule System. They exercise oversight over various facets of departmental operations,
encompassing course offerings, approval of course schedules, assignment of faculty members to courses, and monitoring
of departmental resources and activities germane to scheduling endeavors.
- Registrar: The registrar or registration staff are entrusted with duties integral to enrollment management and
maintenance of academic records within the Schedule System. Their responsibilities entail the management of course
enrollments, facilitation of registration processes, resolution of scheduling conflicts, and generation of academic reports
and transcripts essential for maintaining the integrity of academic records.
- System Support Staff: System support staff serve as the primary technical support resource for users engaging with the
Schedule System. Their role entails troubleshooting technical issues, delivering training sessions and comprehensive
documentation, executing routine system maintenance and updates, and ensuring the seamless functionality and
optimal performance of the system to meet the diverse needs of its user base.

4. Techniques to design the database.


• When embarking on the task of designing a database for a College's Scheduling System, it entails a series of pivotal steps and
methodologies aimed at ensuring the database aligns with the system's requirements and facilitates streamlined data
management. Below are a variety of techniques that merit consideration in this endeavor:
- Requirement Analysis: Begin by thoroughly understanding the requirements of the Scheduling System. This involves
gathering requirements from stakeholders such as administrators, faculty, students, and department heads. Document
the functional and non-functional requirements to guide the database design process.
- Entity-Relationship Modeling (ER Modeling): Use ER modeling techniques to identify the entities (such as courses,
classrooms, faculty, students) and their relationships in the Scheduling System. Create an Entity-Relationship Diagram
(ERD) to visualize the structure of the database and the relationships between entities.
- Normalization: Normalize the database schema to reduce redundancy and ensure data integrity. Apply normalization
techniques such as First Normal Form (1NF), Second Normal Form (2NF), and Third Normal Form (3NF) to organize data
into logical tables without repeating information.
- Data Modeling Tools: Utilize data modeling tools such as ERwin, Lucidchart, or draw.io to create and refine the database
schema. These tools provide features for designing ER diagrams, defining entities and attributes, and documenting
relationships.
- Database Design Patterns: Consider established design patterns and best practices for database design. For example,
use surrogate keys (e.g., auto-incremented integers) as primary keys instead of natural keys for better performance and
scalability.
- Indexing: Identify key attributes for indexing to optimize query performance. Index commonly queried columns such as
CourseID, StudentID, SemesterID, and Date fields used in scheduling operations. Use composite indexes for queries
involving multiple columns.
- Data Types and Constraints: Choose appropriate data types for each attribute based on the nature of the data (e.g.,
integer, varchar, date). Define constraints such as primary keys, foreign keys, unique constraints, and check constraints
to enforce data integrity and prevent invalid data entry.
- Partitioning: Consider partitioning large tables to improve performance and manageability. Partition tables based on
criteria such as date ranges (e.g., by semester or academic year) or key values (e.g., by department or course type).
- Normalization Refinement: Continuously refine the normalized schema based on feedback, changes in requirements,
and performance tuning. Consider denormalization techniques for optimizing specific queries or reporting requirements
while balancing data integrity.
- Documentation: Document the database design including the schema, ERD, data dictionary, indexing strategy, and any
design decisions made during the process. Maintain documentation to facilitate future development, maintenance, and
troubleshooting.
5. Logical Design

Figure 1: Logical Design


• Department - Course (One-to-Many):
- Explanation: In a college, departments offer various courses within their respective fields of study. Therefore, one
department can offer multiple courses, but each course belongs to only one department.
- Connection: This relationship allows the system to organize courses based on the departments offering them. It enables
students to find courses within specific academic disciplines and allows departments to manage the courses they offer.
• Faculty - Course (One-to-Many):
- Explanation: Faculty members teach courses within their areas of expertise. Hence, one faculty member can teach
multiple courses, but each course is typically taught by only one faculty member.
- Connection: This relationship links courses to the faculty members responsible for teaching them. It facilitates course
assignment, scheduling, and tracking of faculty workload.
• Course - Classroom (Many-to-One):
- Explanation: Courses require physical spaces (classrooms) for instruction. Multiple courses may be scheduled in the
same classroom throughout the day or week, but each course is assigned to one classroom at a time.
- Connection: This relationship assigns classrooms to courses, ensuring that each course has a designated space for
instruction. It allows for efficient utilization of classroom resources and scheduling.
• Semester - Schedule (One-to-Many):
- Explanation: Colleges typically operate on a semester-based academic calendar. Each semester encompasses multiple
scheduling periods during which courses are offered.
- Connection: This relationship associates schedules with specific semesters. It allows the system to organize and manage
course offerings according to the academic calendar, ensuring that schedules align with semester timelines.
• Course - Schedule (One-to-Many):
- Explanation: Courses can be offered multiple times within a semester or across different semesters, resulting in multiple
instances (schedules) of the same course.
- Connection: This relationship links courses to their schedules. It enables the system to represent the various offerings of
each course, including different sections, times, and instructors.
• Student - Enrollment (One-to-Many):
- Explanation: Students enroll in multiple courses each semester to fulfill their academic requirements. Conversely, each
course may have multiple students enrolled in it.
- Connection: This relationship tracks student enrollments in courses. It allows students to register for courses and
provides administrators with enrollment data for planning and management purposes.
• Course - Enrollment (One-to-Many):
- Explanation: Each course may have multiple students enrolled in it, while students may be enrolled in multiple courses.
- Connection: This relationship establishes the link between courses and student enrollments. It enables the system to
manage course rosters, track student progress, and generate class lists.
• These relationships are interconnected to model the complexities of course scheduling and enrollment in a college setting.
They facilitate the organization, management, and tracking of academic activities, supporting effective operation of the
College's Scheduling System.

6. Physical Design
• The realization of a database within an operational system embodies a physics-grounded concept. While the logical design
phase can proceed independently of the ultimate database platform, numerous physical database attributes hinge upon the
intricacies and semantic nuances of the targeted Database Management System (DBMS).
- The transition from logical design to concrete table definitions involves a series of preparatory steps encompassing pre-
deployment blueprints, table definitions, standardization procedures, establishment of primary and foreign key
relationships, and fundamental indexing strategies.
- Following deployment, the refinement of the physical database design is often entrusted to a database manager, who
oversees the post-deployment phase, ensuring that the database aligns with the operational requirements and optimizes
performance in accordance with the organizational objectives.

Figure 2: Physical Design


• Presented below is the comprehensive SQL script, structured table by table, detailing the database schema for the School
Planning System:

Figure 3: Department Table


Figure 4: Faculty Table
Figure 5: Classroom Table
Figure 6: Semester Table
Figure 7: Student Table
Figure 8: Course Table
Figure 9: Enrollment
Figure 10: Schedule Table

• Using the INT data type for ID columns is a prevalent practice in database design, attributed to various advantages:
- Efficiency: Integer data types (INT) use less storage space compared to larger data types like BIGINT. This efficiency
becomes significant when dealing with large tables or when the ID column is frequently used in indexes or joins.
- Performance: Integer comparisons and arithmetic operations are generally faster than those involving larger data types.
This can lead to improved query performance, especially in complex queries or when dealing with large datasets.
- Range: The INT data type can accommodate a wide range of values, with a range of approximately -2 billion to 2 billion
for signed integers (INT). This range is typically sufficient for most applications, including college scheduling systems.
- Compatibility: Integer IDs are widely supported across database systems and programming languages. Using a standard
data type enhances interoperability and simplifies integration with other systems.
- Clarity: Using a numeric data type like INT for ID columns makes it clear that the column is intended for storing unique
identifiers. This enhances the readability and maintainability of the database schema.
• The NVARCHAR(100) data type is frequently employed in SQL Server for specifying string columns capable of storing Unicode
characters, and there are several reasons behind its usage:
- Unicode Support: NVARCHAR is designed to store Unicode data, which means it can handle characters from multiple
languages and character sets, including special characters, symbols, and emojis. This is important in a college
environment where names, titles, descriptions, and emails may contain characters from various languages.
- Length Specification: The length specified within parentheses (e.g., (100)) indicates the maximum number of characters
that the column can store. In this case, NVARCHAR(100) allows for up to 100 characters in the column. Specifying a
length helps enforce data integrity and prevent storage of excessively long values.
- Flexibility: Choosing a reasonable length (e.g., 100) provides flexibility to accommodate most typical values without
wasting storage space. It's a balance between allowing sufficient space for data and avoiding excessive storage
consumption.
- Compatibility: Using NVARCHAR ensures compatibility with different languages and character sets, making the database
more versatile and accessible.

III. CONCLUSION
Upon finalizing this report, I have gained a c omprehensive understanding of the fundamental principles, analysis techniques, and
specifications involved in developing a Database Design & Development system, along with their operational dynamics. Additionally,
through hands-on experience with Microsoft SQL Management System software, I have acquired the skills necessary to proficiently
design and code a comprehensive database, paving the way for the development of websites or applications. As a result, I am now
equipped with the confidence to discern and select the appropriate tools and establish workflows tailored to my specific needs in
development and database management.

IV. REFERENCES
Studocu. (2022). Scheduling System Chapter 1 4. [online]
Available at: https://www.studocu.com/ph/document/marinduque-state-college/bachelor-of-science-in-information-
systems/scheduling-system-chapter-1-4/70836932 [Accessed 21 Feb. 2024].
support.microsoft.com. (n.d.). Database design basics. [online]
Available at: https://support.microsoft.com/en-gb/office/database-design-basics-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5.
[Accessed 22 Feb. 2024].
docs.devart.com. (n.d.). Create a Database Diagram in SQL Server. [online]
Available at: https://docs.devart.com/studio-for-sql-server/designing-databases-with-database-designer/creating-database-
diagram.html [Accessed 23 Feb. 2024].

You might also like