Sei sulla pagina 1di 26

Higher Nationals in Computing

Unit 04: Database Design and Development


ASSIGNMENT 1

Learner’s name: Lê Trung Hiếu


Assessor name: PHAN MINH TAM
Class: GCS0801B.2
ID: GCS18904

Assignment due: Assignment submitted:


ASSIGNMENT 1 FRONT SHEET

Qualification BTEC 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 Student ID

Class Assessor name Phan Minh Tam

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: ❒ Resubmission Feedback:

Grade: Assessor Signature: Date:

Signature & Date:


ASSIGNMENT 1 BRIEF
Qualification BTEC Level 5 HND Diploma in Computing

Unit number Unit 04: Database Design & Development

Assignment title

Academic Year 2019

Unit Tutor Phan Minh Tam

Issue date Submission date

IV name and date

Submission Format:
Format: This assignment is an Individual assignment and specifically including 1 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: 1 cm; top: 1 cm and bottom: 1 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 1.
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 do 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.
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 1 (assignment 1)
Before you start the development process, your manager has asked you to produce a report for the CEO
of FPT, containing:
1. Clear statements of user and system requirements.
2. 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
normalisation.
Your manager would lik on the report your assessment of the effectiveness of the design in relation to
user and system requirements.

Part 2 (Assignment 2)
Once the designs have been accepted by your manager you have been asked to:
1. develop the database system using evidence of user interface, output and data validations and
querying across multiple tables.
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.
Your manager has asked you to include in the report:
2. Assessing whether meaningful data has been extracted through the use of query tools to produce
appropriate management information.
3. Evaluating the effectiveness of the database solution in relation to user and system requirements,
and suggest improvements.
4. 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.
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 M1 Produce a comprehensive D1 Assess the effectiveness of the


system using appropriate design for a fully functional system design in relation to user and
design tools and techniques, which includes interface and system requirements.
containing at least four output designs, data validations
interrelated tables, with clear and data normalisation.
statements of user and system
requirements.

Table of Contents
Contents
1/ Introduction of database...........................................................................................................1
1.1 What is the database?....................................................................................... 1
1.2 Type of database..................................................................................................................1
1.2.1 Flat File Databases..............................................................................................................1
1.2.2 Hierarchical Databases..................................................................................................2
1.2.3 Relational Databases..........................................................................................................2
1.3 Database Management System (DBMS)......................................................................5
2/ Introduction to Relational Database Management System (RDBMS)..........5
2.1 What is the RDBMS?.......................................................................................................5
2.2 Popular RDBMSs..............................................................................................................6
2.2.1 Oracle...........................................................................................................................6
2.2.2 Microsoft SQL Server.....................................................................................................8
2.2.3 MySQL.........................................................................................................................10
2.2.4 PostgreSQL..................................................................................................................12
2.3 Select the specifit RDBMS apply to given scenario...................................................14
3/ Conceptual Database design........................................................................................15
3.1 Introduction ERD................................................................................................................15
3.2 Prensent the scenario....................................................................................................16
References...............................................................................................................................................18
ASSIGNMENT 1 ANSWERS

1/ Introduction of database
1.1What is the database?
A database is an organized collection of data, generally stored and accessed electronically
from a computer system. Where databases are more complex they are often developed
using formal design and modeling techniques.

1.2 Type of database


1.2.1 Flat File Databases
A flat-file database is a database stored in a file called a flat file. Records follow a
uniform format, and there are no structures for indexing or recognizing
relationships between records. The file is simple. A flat file can be a plain text file, or
a binary file. Relationships can be inferred from the data in the database, but the
database format itself does not make those relationships explicit.

1.2.2Hierarchical Databases

Page |1
A hierarchical database model is a data model in which the data are organized into a
tree-like structure. The data are stored as records which are connected to one
another through links. A record is a collection of fields, with each field containing
only one value. The type of a record defines which fields the record contains.

1.2.3 Relational Databases


A relational database is a digital database based on the relational model of data, as
proposed by E. F. Codd in 1970. A software system used to maintain relational
databases is a relational database management system (RDBMS). Many relational
database systems have an option of using the SQL (Structured Query Language) for
querying and maintaining the database.

- In relational model, data is organized into tables

Even the info about the tables is stored in tables

Page |2
- Relationship among tables

Defined by repeating column(s) from one in another table

These repeating columns are called “keys”

- This solved many problems

One of those is data redundancy

- Keys?

In RDBs, each table usually has one (or more) column(s) designated as a primary
key

A key uniquely identifies each row in a table

Giving one of its values, you can find exactly one row in the table

This key becomes a foreign key when it is repeated in another table

To create relationship between the tables

Page |3
1.2 Database Management System (DBMS)
The database management system (DBMS) is the software that interacts with end users,
applications, and the database itself to capture and analyze the data. The DBMS software
additionally encompasses the core facilities provided to administer the database. The sum
total of the database, the DBMS and the associated applications can be referred to as a
"database system". Often the term "database" is also used to loosely refer to any of the
DBMS, the database system or an application associated with the database.

Page |4
2/ Introduction to Relational Database Management System (RDBMS)
2.1What is the RDBMS?
RDBMS. Stands for "Relational Database Management System." An RDBMS is a DBMS designed
specifically for relational databases. Therefore, RDBMSes are a subset of DBMSes. A relational
database refers to a database that stores data in a structured format, using rows and columns

Page |5
Difference between DBMS and RDBMS

2.2 Popular RDBMSs


2.2.1 Oracle
Introduction: Oracle is a relational database management system, and we call it Oracle
database, or OracleDB, it is developed and managed by Oracle Corporation (Oracle
Corporation).

Page |6
Features: Oracle is structured with a 3-layer model, including:
- File systems: a data layer consists of data files stored on hard disks of one or
more different servers. When client requests are accessed, the underlying data
components that have been processed below load the exact data that was
previously retrieved from the hard disk into the server's memory. The main
thing will help access speed is much more efficient.
- Background processes: The underlying processing layer at the server will ensure
that the relationship between the physical database and the display in memory
is matched. The processing layer below is also divided into several different
categories. Here are some typical handling:
+ Processing records in the database
+ Handling into the log file
- Memory: This class consists of many different components, organized storage
on the computer's memory buffer to increase processing speed in Oracle.
Advantage:
- Stability: Almost all data of large enterprises is always in a state of readiness to
access. The stagnation of data in the operation of the business can affect and
create huge losses such as money or reputation for an organization.
- Quick responsiveness: In businesses with large organizational scale, their data
will never be small. Currently, in some database management systems, there
are databases that work very well, quickly run with average data blocks, but
sometimes the data grows to a large value exceeding Excessive regulation ...
does not meet the requirements, disadvantages appear as: the query query
speed is slow, unknown errors occur, ...
- Confidentiality: The data in the company is extremely important, and access to
data must also be given to people who are careful and reputable in the
organization. According to statistics, up to now, data breaches are not from
outside, but within the organization, up to an alarming number. Therefore, a
large monitoring mechanism is needed to prevent access to data from all sides,
not only outside but also within the enterprise.
- Multi-platform: Information technology infrastructure in a large company is
very complicated because combining data platforms together will bring
difficulties in control. Therefore, for a perfect database management system, it
must be suitable for all other platforms in order to respond quickly to
consistency, or easier to use in switching platforms.
- The commitment of software vendors: for unexpected incidents that are out of
control that enterprises cannot remedy themselves, the need for an official
Page |7
source of advice and Taking legal responsibility before such advice is very
necessary. Some of the other software databases are widely used by the user
community, but consulting issues are often personal, informal or recognized so
they cannot be applied on enterprise data. major businesses or organizations
Disadvantage
- High license costs
- Knowledge for an Oracle database administrator is big
2.2.2 Microsoft SQL Server
Introduction: SQL Server is a Relational Database Management System (RDBMS) that uses
SQL (Transact-SQL) statements to exchange data between the Client and the SQL Server
installation machine. An RDBMS consists of databases, database engines, and applications
used to manage data and various parts of RDBMS. SQL Server is developed and marketed
by Microsoft.
(Easy to understand - Like other RDBMS software, SQL Server is built on SQL, a standard
programming language to interact with relational databases. SQL Server is linked to
Transact) -SQL or T-SQL, SQL implementation Microsoft adds an exclusive set of
programming structures).

Page |8
Features: Because it operates under the Client - Server model, it is divided into two main
components.
- Workstation: Installed on operating devices, it is software that interacts with
the server server. For example: SSMS, SSCM, Profiler, BIDS, SQLEM
- Server: Installed on the main server (centralized server), it is such services as:
SQL Server, SQL Server Agent, SSIS, SSAS, SSRS, SQL Browser, SQL Full Text
Search
You can install multiple versions of SQL Server on the same server, this saves the
cost of buying a Server if your operating system needs many different versions,
security is also completely separate to help the system secure than.

Advantage:
- No need to code : It is very easy to manage database systems using standard
SQL without writing any code.
- Standards are clearly stated : SQL uses ISO and ANSI standards, while with non-
SQL databases no standards are followed.
- Mobility:SQL can be used in programs in PCs, servers, laptops, and even mobile
phones.
- Interactive language:This language can be used to communicate with the
database and get answers to complex questions in seconds.

Page |9
- Multiple data views : With the help of the SQL language, users can create
different views of database structures and databases for different users.
Disadvantage
- The interface is difficult to use :SQL has a complex interface that makes it
difficult for some users to access.
- Not in full control:Programmers using SQL do not have complete control over
the database due to hidden business rules.
- Enforcement: Most SQL database programs have vendor-specific extensions in
addition to the SQL standards.
- Price : The running costs of some SQL versions make it difficult for some
programmers to access.
2.2.3 MySQL
Introduction:
- MySQL is a popular free and popular open source software in the world.
- MySQL is developed, distributed and supported by Oracle Corporation. The
software is named after the daughter of co-founder Monty Widenius: My.
- MySQL can be installed on many different operating system platforms such as
Windows, Linux and Mac OS X.

P a g e | 10
Feartures:
- MySQL is a sever-based database management software similar to microsoft
SQL server
- MySQL is one of the basic examples of relational database management system
using structured query language SQL
- MySQl manages data through databases, each database can have many
relational tables containing data.
- MySQl has its own user authorization mechanism, each user can manage one or
more different databases, each user has a corresponding user name and
password to access the facility. data when we query.
Advantage:
- Ease of use: MySQL is a high-speed, stable, easy-to-use database that works
across multiple operating systems providing a large system of very powerful
utility functions.
- High security: MySQL is suitable for applications that access the database on the
Internet when possessing many security features even at a high level.
- Feature: MySQL supports many of the SQL functions expected from a relational
and indirect database management system.

P a g e | 11
- Scalable and powerful: MySQL can handle a lot of data and moreover it can be
extended if needed.
- Quick: The introduction of a number of standards allows MySQL to work very
efficiently and cost-effectively, thus increasing its execution speed.
Disadvantage:
- Limitations: By design, MySQL is not intended to do everything and it comes
with functional limitations that an application may need.
- Reliability: The way specific functions are handled with MySQL (for example,
references, transactions, audits, etc.) makes it less reliable than some database
management systems. other relationship.
- Limited capacity: If your number of records grows, the retrieval of your data is
quite difficult, then we will have to apply many measures to speed up data
retrieval such as dividing the load. This database out multiple servers, or create
MySQL cache
2.2.4 PostgreSQL
Introduction
- PostgreSQL is a relational and object database management system based on
POSTGRES, version 4.2, developed by the computer science department at the
University of California at Berkeley. POSTGRES paves the way for many
important concepts that commercial data management systems will take very
long to reach.
- PostgreSQL is an open source program built on the original source code of
Berkeley University. It follows the SQL99 standard and has many modern
features:

P a g e | 12
Features
- Is open source.
- Compliance with SQL standards, ACID standards.
- Works on many operating systems such as Linux, UNIX, Mac OS X, Solaris and
Windows.
- Support for languages like C / C ++, Java, .Net, Perl, Python, Ruby through JDBC,
ODBC, PERL / DBI interfaces.
- An object-oriented relational database
- UUID data types, enumerated, binary, network address, text search, XML, array
(Arrays), geometry (Geometric) ...
- Support for MVCC, indexing, managing tablespaces, etc.
Advantage:
- As an SQL standard suitable for relational database management systems:
PostgreSQL is an open source, free and powerful relational database
management system.
- Strong community: PostgreSQL is supported by an enthusiastic and experienced
community.
- Strong support from 3rd parties: Regardless of advanced features, PostgreSQL
is supported by excellent third-party tools for database management.
- Extensibility: It can extend PostgreSQL programming with stored procedures,
like an advanced RDBMS.
- Objectization: PostgreSQL is not only a relational database management
system, but also object data.
Disadvantage
- Performance: For simple operators, PostgreSQL performs less efficiently than
other relational database management systems such as MySQL. But for complex
operators, PostgreSQL performs a lot better.
- Popularity: Due to the lack of popularity, it affects users who receive timely
support.
- Hosting: Due to the factors mentioned above, it is difficult to be supported by
the host.

2.3Select the specifit RDBMS apply to given scenario


Given scenario: You are employed as a Database Developer for a large IT consultancy
P a g e | 13
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
Choice RDBMS: Microsoft SQL sever
Reason:
- Environment: SQL Server works well with .NET, while MySQL can be combined
with any other programming language, usually PHP. It is also worth noting that
SQL Server used to run exclusively on Windows, but is now different since
Microsoft announced Linux support for SQL Server. But, the Linux version is still
not good enough. Therefore, experts still advise that if you use Windows, use
SQL Server, or switch to Linux, use MySQL.
- SQL Server is more than an RDBMS: The biggest difference between proprietary
software and open source software is whether or not it is supported or not. In
this case, the advantage of SQL server is very clear, it is sponsored by the largest
technology corporation in the world. Microsoft has built many powerful tools
for SQL Server, greater support for RDBMS, including data analysis tools. It also
has the function of becoming a reporting server - SQL Server Reporting servies,
as well as an ETL tool. This makes SQL server like a Swiss knife of RDBMS. You
can build similar features in MySQL, but need a 3rd party solution - not the most
ideal for everyone.
- Storage engines: The other big but unimportant difference is that MySQL and
SQL Server have different ways to store data. SQL server uses a storage engine
developed by Microsoft, which is completely different from the many engines
created for MySQL. This gives MySQL programmers some flexibility, since
different storage engines can be used for tables, based on speed, reliability, or
other reasons. A popular storage engine of MySQL is InnoDB, which can be

P a g e | 14
slower but more stable than MyISAM.
- Security: With MS SQL Server, Microsoft has provided SQL server with valuable
and powerful security features. A separate security tool like - Microsoft Baseline
Security Analyzer also helps you increase the security for SQL Server. So, if
safety is your highest priority, you already know which platform to choose.
- Community support: SQL Server has a community of exchanges and support by
good programmers, experts and a worldwide presence with rich languages.
Therefore, it is not difficult to seek help, solve problems, documents and
knowledge.
- IDEs: SQL Server uses Management Studio (SSMS) as a visual tool for managing
SQL Server. With SQL Server Management Studio we can perform interactions
with the database by command or on the user interface. SQL Server
Management Studio is designed to be simple and easy to use but you also need
a certain time to get used to it

3/ Conceptual Database design


3.1Introduction ERD
An E-R model is usually the result of systematic analysis to define and describe what is
important to processes in an area of a business. It does not define the business processes; it
only presents a business data schema in graphical form. It is usually drawn in a graphical form
as boxes (entities) that are connected by lines (relationships) which express the associations
and dependencies between entities. An ER model can also be expressed in a verbal form, for
example: one building may be divided into zero or more apartments, but one apartment can
only be located in one building.

P a g e | 15
illustrating images

3.2Prensent the scenario


Online Library system
System requirements: The system stores information related to the student, the book, and the
physical location of the book in stock. The system is the place to connect students and the
library through a library card under the management of librarians.
Entity descriptions:
- Student: StudentID, FullName, Class, Gender
- Book: BookID, TypeID,AuthorID
- Borrow:BorrowID, StudentID,BookID, TakenDate, BroughtDate, AuthorID,
LibrarianID
- TypeBook: TypeID, TypeName
- Magazine: MagazineID, TypeID, MagazineName
P a g e | 16
- Author: AuthorID, AuthorName, Imformation
- Librarian: LibrarianID, Name, Birth
- BorrowCard: BorrowID, Listbook
- AuthorAndBook: AuthorID, BookID

- The system will be responsible for managing the student's books and borrowing
- 1 librarian will can make many borrow card so I will use 1 to many relationship
to librarian table and borrow table
- 1 student can have 1 borrow card so I will use 1 to 1 relationship to student
table and borrow table
- 1 borrow card can borrow many books and 1 book can also borrow by many
P a g e | 17
borrowcard so I will use many to many relationships in the borrow table and the
book table through BorrowCard table
- As we know it 1 book can have many authors and 1 author can also have many
books so I will use many to many relationships in the author table and the book
table through BookAndAuthor table
- 1 type can have many books, but 1 book can not have many type so here I will
use 1 to many relation for type tables and book tables
- 1 type can have many magazine, but 1 magazine can not have many type so
here I will use 1 to many relation for type tables and magazine tables

References
VietTuts. (2019). RDBMS là gì? - học sql cơ bản đến nâng cao - VietTuts. [online] Available at:
https://viettuts.vn/sql/rdbms-la-gi [Accessed 20 Oct. 2019].
vi.wikipedia.org.(2017). PostgreSQL-[online] Available at: https://vi.wikipedia.org/wiki/PostgreSQL?
fbclid=IwAR36qJrtF9wXR63myb2m4-TrmXq5YHrHjKU3wFL0ZP2P5o3lXTEhyBS2kQ0
toc.123doc.net(2016).MYSQL. . [online] Available at: https://toc.123doc.net/document/1683840-mot-
so-dac-diem-cua-mysql.htm?
fbclid=IwAR0Xca8zU_ZgwmsdlK3R04Jtgx8cxTjKeTIUPTz4_K5Hh03SG5m6kl_KCPM
vn.wacontre.com(2019). Ưu điểm nổi bật được mọi người sử dụng cơ sở dữ liệu Oracle là gì. . [online]
Available at: https://vn.wacontre.com/vi/uu-diem-noi-bat-duoc-moi-nguoi-su-dung-co-so-du-lieu-oracle-la-gi-
2/?fbclid=IwAR0WWKqYwgp6UDKOIXjTHi-4ABW7A0eX7VqBU16vnAKNWWqjrLK7VTTTR1Q

en.wikipedia.org(2017) Hierarchical database model. [online] Available at:


https://en.wikipedia.org/wiki/Hierarchical_database_model?
fbclid=IwAR3GnwQuQ4LcCeLyaT2Yl_u_w0BRnQcH3bVPgJ6Ai3ahGEz2X_IVjMlEa98

P a g e | 18

Potrebbero piacerti anche