Assignment1 Database Design Development(1622)

20 232 11
Assignment1 Database Design  Development(1622)

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Higher Nationals in Computing DATABASE DESIGN AND DEVELOPMENT ASSIGNMENT No.1 Learner’s name: VO NGUYEN DUY NAM Assessor name: NGUYEN VAN SON Class: GCS1001B Learner’s ID: GCS200888 Subject’s ID: 1622 1|Page Assignment due:19/2/2022 Assignment submitted: ASSIGNMENT FRONT SHEET Qualification BTEC Level 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 VO NGUYEN DUY NAM Student ID Class 1001B Assessor name GCS200888 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 Feedback: Grade: Lecturer Signature:  Resubmission Feedback:\ Assessor Signature: Date: 3|Page ASSIGNMENT BRIEF Qualification BTEC Level HND Diploma in Computing Unit number Unit 04: Database Design & Development Assignment title Academic Year Unit Tutor Issue date Submission date IV name and date Submission Format: Format: This assignment is an Individual assignment and specifically including document: You must use font Calibri size 12, set number of the pages and use multiple line spacing at 1.3 Margins must be: left: 1.25 cm; right: cm; top: cm and bottom: cm The reference follows Harvard referencing system The recommended word limit is 2.000-2.500 words You will not be penalized for exceeding the total word limit The cover page of the report has to be the Assignment front sheet Submission Students are compulsory to submit the assignment in due date and in a way requested by the Tutors The form of submission will be a soft copy posted on http://cms.greenwich.edu.vn/ Note: The Assignment must be your own work, and not copied by or from another student or from books etc If you use ideas, quotes or data (such as diagrams) from books, journals or other sources, you must reference your sources, using the Harvard style Make sure that you know how to reference properly, and that understand the guidelines on plagiarism If you not, you definitely get fail Unit Learning Outcomes: LO1 Use an appropriate design tool to design a relational database system for a substantial problem LO2 Develop a fully functional relational database system, based on an existing system design 4|Page LO3 Test the system against user and system requirements LO4 Produce technical and user documentation Assignment Brief and Guidance: You are employed as a Database Developer for a large IT consultancy company The company has been approached by FPT university which is expanding due to the growth of the number of students FPT is currently facing difficulties in dealing with managing the university It decided to develop several academic systems to manage the university easier including: Online Library system, Student Grading System, Attendance System, CMS System, Scheduling System, Enrolment Systems, and so on You are tasked to select one of those systems to develop database for FPT university Your tasks are to: Work with FPT to find out about current requirements for each system Analyze the requirements and produce clear statements of user and system requirements Design a relational database system using appropriate design tools and techniques Develop a fully functional relational database system, based on an existing system design Test the system against user and system requirements Produce technical and user documentation Part (Assignment 1) Before you start the development process, your manager has asked you to produce a report for the CEO of FPT, containing: Clear statements of user and system requirements The system must have at least user roles, including business processes and statistical reports for FPT university managers The design of the relational database system using appropriate design tools and techniques It should contain at least four interrelated tables You would prefer to produce a more detailed document, so you will produce a comprehensive design for a fully functional system which will include interface and output designs, data validations and cover data normalization Your manager would like on the report your assessment of the effectiveness of the design in relation to user and system requirements Part (Assignment 2) Once the designs have been accepted by your manager you have been asked to: 1.3 Develop the database system using evidence of user interface, output and data validations and querying across multiple tables 5|Page You want to include more than just the basics so you will implement a fully functional database system which will include system security and database maintenance features You have decided to implement a query language into the relational database system The developed system will be demonstrated to your manager in the report including: • Assessing whether meaningful data has been extracted through the use of query tools to produce appropriate management information • Evaluating the effectiveness of the database solution in relation to user and system requirements, and suggest improvements Once the system has been developed, you will test the system and your manager will complete a witness statement indicating how your tests are performing against user and system requirements Besides, you will produce a brief report assessing the effectiveness of the testing, including an explanation of the choice of test data used Lastly you will produce technical and user documentation which will be given to the company You want to provide some graphical representations for ease of reference in the technical guide, so you have decided to produce a technical and user documentation for a fully functional system, including diagrams showing movement of data through the system, and flowcharts describing how the system works Learning Outcomes and Assessment Criteria Pass Merit Distinction LO1 Use an appropriate design tool to design a relational database system for a substantial problem 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 M1 Produce a comprehensive design for a fully functional system which includes interface and output designs, data validations and data normalisation D1 Assess the effectiveness of the design in relation to user and system requirements 6|Page ASSIGNMENT ANSWER I DATABASE DESIGN (P1) Scenario of the chosen system After the cooperation of FPT university and NVIDIA Inc, it is essential for me to design database for FPT university’s education system FPT is concerned about the growth of the number of students in a few next semesters As I observe opinions and complaints from most students from FPT university, most of them mention about the traditional library Due to the increase in students, The traditional system can’t meet student needs Here are some reasons about it: + Because of the pandemic, many students aren’t be able to borrow books or get its information on the spot + With more and more students borrow books which lead to information overload to the library, incorrect information like wrong borrow date, extraordinary expenses, … Usually appear + Traditional library with outdated methods So I decide to develop an efficient fully functional database system for FPT university which I call Online Library system with specific IDs and many features Online Library system will replace the traditional library in the upcoming future I will explain this system thoroughly in the remain pages SRS (System Requirement Specification) Logical design (ERD) Explanation Explain briefly about ERD (entities, their relationship) Give reasons why ERD is suitable for the system Physical design II DATA VALIDATION AND NORMALIZATION (M1) User Interfaces of your system Data Validation (included in physical design) 7|Page Normalization: Explain why each of the table is 3rd Normal Form, if not, explain why III DESIGN EVALUATION (D1) -Explain in details and with critical review, how your ERD design (entities, relationships) can meets the user and system requirements Scenario After the cooperation of FPT university and NVIDIA Inc, it is essential for me to design database for FPT university’s education system FPT is concerned about the growth of the number of students in a few next semesters As I observe opinions and complaints from most students from FPT university, most of them mention about the traditional library Due to the increase in students, The traditional system can’t meet student needs Here are some reasons about it: + Because of the pandemic, many students aren’t be able to borrow books or get its information on the spot + With more and more students borrow books which lead to information overload to the library, incorrect information like wrong borrow date, extraordinary expenses, … Usually appear + Traditional library with outdated methods So I decide to develop an efficient fully functional database system for FPT university which I call Online Library system with specific IDs and many features Online Library system will replace the traditional library in the upcoming future I will explain this system thoroughly in the remain pages 8|Page TABLE OF CONTENTS I DATABASE DESIGN SRS (System Requirement Specification) 11-12 Logical design (ERD) 13-15 2.1 What is logical design (ERD) 13 2.2 Entities 13 2.3 Types of entities 13-15 Attribute 15 3.1Type of attributes 15 Entity relationship 15 Types of relationships 15-16 Online library system logical design (ERD) 17 Why erd suitable for this system 17-18 Physical Design 18 REFERENCES…………………………………………………………………………… …………………………19 9|Page ASSIGNMENT I DATABASE DESIGN SRS (System Requirement Specification) - A System Requirements Specification (SRS) (also known as a Software Requirements Specification) is a document or set of documentation that describes the features and behavior of a system or software application Figure Online library system (KUMAR, 2019) - The Online Library System is intended to automate the library activities such as creating a new borrower, giving books to the borrowers, maintaining the details of all the item that were available in the books This also helps the librarians by providing information such as borrow date, book titles, … - System requirements: + Students are allowed to log in to the online library system with student ID + Database of student information storage systems such as student names, student phone numbers, gmail students + The system helps manuals to create, update and exploit information easier Data will be updated regularly and will not be copied Using databases to help store them and easily manage them + The system allows students to check the information of the book they borrowed, the loan date, return date and buy rental books + The system needs to ensure that no two students have the same ID and librarian and books + After the student logs in and searches for boolid, baborid, libraryid The system will be able to display all the information at the same time + The system can demonstrate all tables at the same time 10 | P a g e + Detecting system when students enter wrong data types - Usecase Diagram: Figure Usecase Diagram 11 | P a g e 2.Logical design (ERD) 2.1 What is logical design (ERD) Figure Example of logical design Logical design is the second stage in the database design process The logical design goal is to design an enterprise-wide database based on a specific data model but independent of physical-level details Logical design requires that all objects in the conceptual model be mapped to the specific constructs used by the selected database model - 2.2 Entities - An entity is an object that exists It doesn’t have to anything; it just has to exist In database administration, an entity can be a single thing, person, place, or object Data can be stored about such entities A design tool that allows database administrators to view the relationships between several entities is called the entity relationship diagram (ERD) Figure 4.Entities example - In the Figure 3, we can see that Employee, Health Plan enrolment are entities 2.3 Types of entities - According to expertise knowledge, There are types of entities: + Domain entities 12 | P a g e - Entities represent domain objects and are primarily defined by their identity, continuity, and persistence over time, and not only by the attributes that comprise them An object primarily defined by its identity is called an Entity Entities are very important in the domain model, since they are the base for a model - Now look at the figure 2, There are some domain entities such as users, coach, habits,… + Linking entities Figure Linking entities example - Linking entities sometime use to solve m-n relationship in database As you can see from figure 4, Linking entity is Primary Key Which involve to other Primary Keys : Student ID and Subject ID + Lookup entities - Lookup entities are essentially utility entities 13 | P a g e Figure 6.Lookup entity example - In this case, CarMake and CarModel describe a single entity set each Their functional dependencies are CarMakeId -> CarMakeName and CarModelId -> CarModelName + Weak entities - - In a relational database, a weak entity is an entity that cannot be uniquely identified by its attributes alone; therefore, it must use a foreign key in conjunction with its attributes to create a primary key It dependent on other entities for its meaning Grade is a weak entity in figure because Student ID and Subject ID define its meaning Attribute Figure 7.Table Habits - - In relational databases, attributes are the describing characteristics or properties that define all items pertaining to a certain category applied to all cells of a column The rows, instead, are called tuples, and represent data sets applied to a single entity to uniquely identify each item Attributes are, therefore, the characteristics of every individual tuple that help describe its unique properties Attribute in table Comments (Figure 6) is HabitName 3.1 Type of attributes • Composite attribute: is an attribute composed of several other simple attributes For example, the Address attribute of an Employee entity could consist of the Street, City, Postal code and Country attributes • Multivalued attribute: is an attribute where more than one description can be provided For example, an Employee entity may have more than one Email ID attributes in the same cell • Key attribute or primary attribute: is an ID, key, letter or number that uniquely identifies that item For example, it can be the number of a certain invoice (e.g the individual ID of that invoice) A table that contains a single key attribute is considered a strong entity However, a table might contain more than one key attribute if it’s derived from other tables • Derived attribute: as the name implies, these are derived from other attributes, either directly or through specific formula results For example, the Age attribute of an 14 | P a g e Employee could be derived from the Date of Birth attribute In other instances, a formula might calculate the VAT of a certain payment, so that whenever the cell with the attribute Payment is filled, the cell with the derived attribute VAT automatically calculates its value Entity Relationship - The process of logical design involves arranging data into a series of logical relationships called entities and attributes An entity represents a chunk of information In relational databases, an entity often maps to a table An attribute is a component of an entity and helps define the uniqueness of the entity Types Of Relationships - This include types of relationships + One to one relationship: - Each row in the primary entity, there can be no more than related row in the secondary entity - One to one relationship crow’s foot Figure One or none Figure Only one + One to many relationship: - Each record in the primary entity there can be many associated records in the secondary entity - One to many relationship crow’s foot Figure 10 None or more Figure 11 One or More + Many to many relationship: 15 | P a g e - Each record in a primary entity can have many related records in a secondary entity Each record in the secondary entity can have many related records in the primary entity Many to many relationship Crow’s foot Figure 12 Many to many Online Library System Logical Design (Erd) Here Is The Logical Design For The System: - Use Draw.io to create ERD - So I will list all tables of the system: + My system include tables: Student, Borrow, Book, Librarian and BorrowDetail + Every student has an unique number Which is called Student ID so as Book, Author and Borrow + Table Student display Student ID, Student’s Name, Student Gmail, Student Phone Number +Table Book include Book ID, Book title, BookAuthor, BookPublisher +Table Librarian include Librarian ID, Full Name, Gmail and Phone Number +Table Borrow Books include Borrow ID, Student ID, Librarian ID, Borrow Date , Return Date +Table BorrowDetail include BorrowID, BookID, quantity and Book rental cost 16 | P a g e Figure 13 Online library system logical design (ERD) Why Erd Suitable For This System: + An entity-relationship diagram, or ER diagram, is essential for modeling the data stored in a database It is the basic design upon which a database is built ER diagrams specify what data we will store: the entities and their attributes They also show how entities relate to other entities + Visual representation: it makes database easier to design and being able to identify the flow of data and the operation of the entire system is made + Effective communication: Because of using given symbols to represent different types of information This symbol allow designer to understand database properly + Easy to understand: Designer can easily design entity relationship diagram so all individuals can also understand them Physical Design - Physical database design Table: Student Field name  Data Allow type  nulls  studentID   Nvarchar(1 No  0)  studentFullName Nvarchar(3 No 0)  studentGmail Nvarchar(4 Yes  0) studentPhoneNu Nvarchar(1 Yes  mber 0)    Table: Librarian Field name  Data Allow type  nulls  librarianID  Nvarchar(1 No  0)  Description    Primary Key   Name of the student   Student Gmail   Student Phone Number Description    Primary Key 17 | P a g e librarianName  Nvarchar(2 0)  librarianGmail Nvarchar(3 0) librarianPhoneNu Nvarchar( mber 20)  Table: Borrow Field name  Data type  borrowID  Nvarchar(1 0)  studentID Nvarchar(1 0)  librarianID Nvarchar(1 0)   borrowDate Date returnDate Date   Table: Book Field name  Data type  bookID  Nvarchar(1 0)  bookTitle Nvarchar(3 0) bookCategory Nvarchar(2 0)  bookPublisher Nvarchar(2 0)  Table: BorrowDetail Field name  Data type  bookID Nvarchar(1 0)  borrowID Nvarchar(1 0)  quantity  int  BookRentalCost Int No   Name of the librarian Yes    Librarian Gmail Yes    Librarian Phone Number Allow nulls    No Description    Primary Key   No   Foreign Key   No   Foreign Key   Yes Yes   Book borrow date Book return date Allow nulls  No  Description    Primary Key  Yes   Bok title Yes  Book category Yes Book Pubisher Allow nulls  No  No  Yes Yes Description  Primary key, Foreign key  Primary key, Foreign key    amount of borrow books Book Rental Cost 18 | P a g e REFERENCES - FERGUSSON, K., 2018 DRAW.IO [ONLINE] : https://drawio-app.com/wp-content/uploads/2018/02/EntityRelationshipModelHabitTrackerApp-Style2.png - GIBBS, M., 2022 STUDY.COM [ONLINE] : https://study.com/academy/lesson/what-is-an-entity-in-a-database.html#:~:text=An%20entity%20is%20an%20object %20that%20exists.&text=In%20database%20administration - INFLECTRA, 2022 INFLECTRA [ONLINE]: https://phpgurukul.com/online-library-management-system/ - TEAM, V., 2021 VERTABELO [ONLINE]: https://vertabelo.com/blog/why-need-an-er-diagram/ - TOBY J TEOREY, SAM S LIGHTSTONE, TOM NADEAU, H.V JAGADISH, 2011 DATABASE MODELING AND DESIGN IN: R ADAMS, ED S.L.:MORGAN KAUFMANN, P 301 UNKNOWN, 2020 TECHOPEDIA [ONLINE] : https://www.techopedia.com/definition/1164/attribute-database-systems - VEFTHYM, 2016 STACKOVERFLOW [ONLINE] : https://stackoverflow.com/questions/41325016/representation-of-lookup-table 19 | P a g e ... 2.Logical design (ERD) 2.1 What is logical design (ERD) Figure Example of logical design Logical design is the second stage in the database design process The logical design goal is to design an... Distinction LO1 Use an appropriate design tool to design a relational database system for a substantial problem P1 Design a relational database system using appropriate design tools and techniques,... allow designer to understand database properly + Easy to understand: Designer can easily design entity relationship diagram so all individuals can also understand them Physical Design - Physical database

Ngày đăng: 10/06/2022, 11:09

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan