Database Design and Development - Assignment 1, Papers of Computer Programming

1622 - Database Design and Development - Assignment 1

Typology: Papers

2020/2021

Uploaded on 04/05/2022

unkaeciique
unkaeciique đŸ‡»đŸ‡ł

4.7

(174)

29 documents

1 / 17

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
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
Hồ Ngọc KhĂĄnh
Student ID
GCS200074
Class
GCD0901
Assessor name
Phan Thanh TrĂ 
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
Khanh
Grading grid
P1
M1
D1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Partial preview of the text

Download Database Design and Development - Assignment 1 and more Papers Computer Programming in PDF only on Docsity!

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 Hồ Ngọc KhĂĄnh Student ID GCS Class GCD0901 Assessor name Phan Thanh TrĂ  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 Khanh Grading grid

P1 M1 D

 Summative Feedback:  Resubmission Feedback:

Grade: Assessor Signature: Date: Signature & Date:

A. Statements of user and system requirements

I. Overview about the Problem

In this report, I will be focusing on the problem of managing library of the Greenwich University. Since that, this report will show the standards, requirements and the how the code will be executed in the future. Libraries are pretty typical in universities, as the result, they are obvious and effortlessly manageable. In addition, the program must have CRUD actions which will be included below.

II. Requirements of the application

CRUD actions:

  • The application must include CRUD actions, which will add, search, update and delete borrowers as well as books o CREATE: Add books’ information, add new borrower and create records o READ: Search for books or records based on some specific information o UPDATE: Update a book or borrower’s information if needed o DELATE: Delete a book or a record if needed
  • Keep track of borrowing records and store books’ information
  • Provide a database to store records User Stories:
  • As the librarian o I want to create records which will contain the information of the book and the borrower so that I can easily manage the information of the books and borrowers

o I want to add more books into the shelf with specific information so that I can have more books for borrowers to lend o I want to manage the books which stay on the shelf so that I can effortlessly manage the books in each department

  • As the borrower o I want to borrow books by creating records so that I can make sure of the information and the date I should turn back the books I borrowed o I want to search for the records’ information that I made so that I can manage how many times or what books I borrowed in the past Statistical actions:
    • Give out a table of borrowers who go off due date
    • Give out a table of records made in a week, a month or a year
    • Give out how many times a book has been borrowed
    • Give out all records that are made in a specific day
    • Give out all records that reach the same due date

HIERARCHICAL DATABASE: A hierarchical database is the design of data items with a one-to-one connection. Hierarchical database models employ a tree structure that connects several different items to a principal record "owner," or "parent." Figure 2 : HIERARCHICAL DATABASE EXAMPLE ADVANTAGES:

  • Have various shapes and structures.
  • Structures upside-down information in a tree. (Enhanced overview of data)
  • Manages vast quantities of information.
  • Express information linkages.
  • A lot of kids per parent.
  • Distribute relationship data. Data.
  • Enhance exchange of information. DISADVANTAGES:
  • One parent per child
  • Complex (users require physical representation of database)
  • The mechanism of navigation is sophisticated.
  • Data must be organized without sacrificing information in a hierarchical manner.
  • The lack of structural autonomy.
  • There have not been too many relationships.

RELATIONAL DATABASE: It employs a structure to identify and access data from another part of the database. Data are often arranged into tables in a relational database. Figure 3 : RELATIONAL DATABASE EXAMPLE ADVANTAGES:

  • Simplicity: DBMS is simpler than hierarchical or network approach to a relationship-data model.
  • Structural Independence: The relational database is about data alone and not about structure. The performance of the model may be improved.
  • Easily use: DBMS is a very straightforward approach since tables comprising of columns and rows are extremely natural and straightforward to grasp
  • Query capacity: It helps prevent complicated database traversal in a high-level query language like SQL.
  • Data independence: The Relational Database Structure may be modified without any application changing.
  • Scalable: a database should be extended to increase its usefulness for a number of records or rows and for the number of fields. DISADVANTAGES:
  • Few relational databases contain boundaries that cannot be exceeded in field length.

common languages like Perl, Python, Tcl, etc. Partitioning methods Tables can be distributed across several files (horizontal partitioning); sharding through federation. Declarative partitioning (by range or by list) since PostgreSQL 10.0. Concurrency Has underdeveloped concurrency and you can easily get various locked, blocked, and deadlocked reports in the log. Thus, the performance of the database, as well as the application, will be slower. Has a better concurrency management system. It handles very well the case where multiple processes can access and modify shared data at the same time. Scalability Offers compression out of the box but you have to implement it manually. Offers it for free and the entire process is automatic. Scriptability Is more driven through a GUI. Can be driven entirely from the command line Replication Supports snapshot replication, transactional replication, merge replication. Uses master-slave replication. In-memory capabilities Supports Doesn’t support Table 1 : COMPARISON SQL SERVER AND POSTGRESQL CONCLUSION: After the comparison, I had a more proper view and a different perspective to decide on the platform that I will use to code for the application. I decided to choose SQL Server as a platform for my application. TECHNICAL SYSTEM REQUIREMENTS:

  • Windows 7/8/8.1/
  • 1.2 GHz processor
  • At least 2GB of RAM
  • Chipset intel i PRODUCT FEATURES REQUIREMENTS: In many university systems the library is common, like example University of Greenwich. To optimize tasks, a data management system is needed for libraries.

Thus, the Database Library System is meant to facilitate library activities online, such as setting up a new borrower, offering borrowers with books, and preservation of a list of all the department's books. This will also assist librarians by offering information like books, information about the department, the books, etc.

II. High Level Design

1. ER Diagram

Figure 4 : HIGH LEVEL ER DIAGRAM

  • DepartmentID: the primary key of Departments. It stores DepartmentName
  • DepartmentName: shows the name of the department Borrowers
  • BorrowerID: the primary key of Borrowers. It is used to store other information about a particular borrower
  • FirstName: an attribute to store first name
  • MiddleName: an attribute to store middle name
  • LastName: an attribute to store last name
  • PhoneNumber: an attribute to store phone number ENTITIES RELATIONSHIP:
  • Books_Info and Authors: a book can be written by many authors as well as an author can write many books, so this is a many-to-many relationship Figure 6 : AUTHORS AND BOOKS_INFO
  • Books_Info and Departments: a book can only stay in one department as well as many books can stay in one department, so this is a one-to-many relationship

Figure 7 : BOOKS_INFO AND DEPARTMENTS

  • Books_Info and Records : a record is only created when a book is lent, many books can also create a record, so this is a one-to-many relationship Figure 8 : BOOKS_INFO AND RECORDS
  • Records and Borrowers : a record when created will attach with one a book and a borrower as well as many borrowers can create records, so this is also a one-to-many relationship Figure 9 : RECORDS AND BORROWERS

2. Database Diagram

Figure 11 : DATABASE DIAGRAM

3. Comparison between ER Diagram and Database Diagram

ER Diagram Database Diagram Tables Both diagrams still maintain the good quality for tables since they show the attributes very well as well as the relationships between them Attributes The attributes include the data types in them The attributes don’t include the data types Relationships The relationships show what type of relationship those are, such as one-to- one, one-to-many or many-to-many The relationships are simple, just connection between the same attributes, yet still show the primary key between tables Table 2 : COMPARISON BETWEEN ER DIAGRAM AND DATABASE DIAGRAM To sum up everything that has been stated so far, Database diagram still satisfy our needs of comprehending the database system as well as the need of preparation for coding for database in the future. However, the ER Diagram is better since it shows the types of relationship so we can have a more proper view to the database for the programming.