Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Unit number and title Unit 04: Database Design & Development
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:
Assignment title
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
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.
LO1 Use an appropriate design tool to design a relational database system for a substantial problem
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.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.
Page |2
- Relationship among tables
- Keys?
In RDBs, each table usually has one (or more) column(s) designated as a primary
key
Giving one of its values, you can find exactly one row in the table
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
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.
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
P a g e | 15
illustrating images
- 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
P a g e | 18