Thurain Ko Ko Naing ADMS Assignment Spring 2024. 1
Thurain Ko Ko Naing ADMS Assignment Spring 2024. 1
Thurein Ko Ko Naing
ADMS TKKN
Security
economy
Document Details
Submission ID
trn:oid:::1:2899131467 24 Pages
Download Date
File Name
0202939_Thurain_Ko_Ko_Naing_ADMS_Assignment_Spring_2024._1.docx
File Size
1.1 MB
39%
Caution: Percentage may not indicate academic misconduct. Review required.
Our testing has found that there is a higher incidence of false positives when the percentage is less than 20. In order to reduce the
likelihood of misinterpretation, the AI indicator will display an asterisk for percentages less than 20 to call attention to the fact that
the score is less reliable.
However, the final decision on whether any misconduct has occurred rests with the reviewer/instructor. They should use the
percentage as a means to start a formative conversation with their student and/or use it to examine the submitted assignment in
greater detail according to their school's policies.
Non-qualifying text, such as bullet points, annotated bibliographies, etc., will not be processed and can create disparity between the submission highlights and the
percentage shown.
In a longer document with a mix of authentic writing and AI generated text, it can be difficult to exactly determine where the AI writing begins and original writing
ends, but our model should give you a reliable guide to start conversations with the submitting student.
Disclaimer
Our AI writing assessment is designed to help educators identify text that might be prepared by a generative AI tool. Our AI writing assessment may not always be accurate (it may misidentify
both human and AI-generated text) so it should not be used as the sole basis for adverse actions against a student. It takes further scrutiny and human judgment in conjunction with an
organization's application of its specific academic policies to determine whether any academic misconduct has occurred.
Student Declaration
I have read and understood NCC Education’s Policy on Academic Dishonesty and Plagiarism.
I confirm that this is my own work and that I have not plagiarized any part of it. I have also noted
the assessment criteria and pass mark for assignments.
Student Signature:
Contents
Task-1 ........................................................................................................................................... 3
Task-3 ........................................................................................................................................... 6
Task-4 ........................................................................................................................................... 7
Task-5 ........................................................................................................................................... 9
Task-6 ......................................................................................................................................... 15
Task-7 ......................................................................................................................................... 18
Task-8 ......................................................................................................................................... 21
Task-9 ......................................................................................................................................... 23
Task-1
According to the scenario, ER diagram includes five entities; Customer, Booking, Trip,
TripComponent and Vessel. In the Trip table, two attributes include and TripID is the primary
key. The TripComponent table contains seven attributes; two primary keys are
Component_Code and Date while two foreign keys are TripID and Vessel. Vessel table has only
two attributes and Vessel is the only primary key. Five attributes include in Booking table and
BookingID is the primary key. CustomerID and TripID are foreign key for Booking table.
Customer table includes only two attributes and one of them are primary key, CustomerID.
Task-2
Normalization is a process used in database design to organize data in a relational
database efficiently and reduce redundancy. There are several normal forms, each building
upon the previous one, with the ultimate goal of minimizing redundancy and dependency while
ensuring data integrity. The most commonly discussed normal forms are the first through fifth
normal forms (1NF through 5NF).
1. First Normal Form (1NF)
In 1NF, each column in a table contains atomic values, meaning that each value is
indivisible. Additionally, each column must have a unique name, and each row must be uniquely
identifiable, usually through a primary key. 1NF prohibits multi-valued attributes, repeating
groups, and nested relations within a table.
2. Second Normal Form (2NF)
To be in 2NF, a table must first satisfy the requirements of 1NF. Additionally, all non-key
attributes must be fully functionally dependent on the entire primary key. This means that there
should be no partial dependencies; every non-key attribute should depend on the entire primary
key, not just part of it.
3. Third Normal Form (3NF)
A table is in 3NF if it satisfies the requirements of 2NF and if all non-key attributes are
non-transitively dependent on the primary key.
4. Boyce-Codd Normal Form (BCNF)
BCNF is a stricter version of 3NF and aims to eliminate certain types of anomalies that
can arise from functional dependencies. It requires that every determinant (attribute determining
another attribute) is a candidate key. Essentially, BCNF ensures that there are no non-trivial
functional dependencies where a determinant is not a super key.
5. Fourth Normal Form (4NF)
4NF addresses multi-valued dependencies, which occur when one or more attributes
depend on a multi-valued attribute, rather than directly on the primary key. It aims to eliminate
such dependencies to ensure data integrity and avoid anomalies.
6. Fifth Normal Form (5NF)
Fifth Normal Form (5NF), also known as Project Join Normal Form (PJ/NF), is an
extension of the normalization process in relational database design. A table is considered
included in 5NF if and only if the candidate keys involve all join dependencies of the table.
Simply put, 5NF ensures that the table does not contain non-trivial join dependencies that do
not derive from its candidate keys.
Normalization Process
To normalize the tables for each document in the Hyde Travel scenario, we use the
typical normalization procedure to ensure that the database is arranged efficiently and without
redundancy. The document 1 contains information about the trip and its components. We first
determine a unique key TripID for each trip. Since each trip can have multiple components, the
table is split into two separate tables, Trip and TripComponent because second normalization
rule is not acceptable. The trip table has properties TripID and Date that describe different trips.
TripID in the TripComponent table; ComponentCode Contains Component Details and Date
fields representing the components of each trip. This decomposition ensures that each table
represents an object, eliminating the need for storage of trip details. Decomposing the Trip and
TripComponent tables resolves anomalies associated with the trip component, ensuring data
integrity and isolating the problem.
Document 3 includes information about the trip components and accompanying vessels.
We discovered that there is a many-to-many Component vessel between trip components and
vessels. This means you will need a separate database to manage this vessel. Decompose the
original table into a ComponentVessel table. ComponentCode in the ComponentVessel table
has two properties: Vessel and VesselType. This table acts as a junction table that manages
ComponentVessels between components and vessels. Each entry in this database represents a
unique combination of itinerary components and vessels, and each vessel can be used non-
redundantly for different components. However, each component is associated with multiple
vessels.
Task-3
I. Trip table
2. Booking table
BookingID(Primary key)
CustomerID(Foreign key)
TripID(Foreign key)
Number_of_Passengers
Booking_Date
3. Customer table
CustomerID(Primary key)
Customer_Name
4. TripComponent table
Component_Code(Primary key)
Date Primary key)
Component_Detail
Start
End
TripID(foreign key)
Vessel (Foreign key)
5. Vessel
Task-4
Create statement
I will use MySQL 5.5 command line client to put statements into action.
Trip table
Booking table
Customer table
TripComponent table
Vessel table
Task-5
Insert into table
Trip table
10
Booking table
11
Customer table
12
TripComponent table
13
14
Vessel table
15
Task-6
No (A)
No (B)
No (C)
16
No (D)
No (E)
No (F)
No (G)
17
No (H);
18
Task-7
19
20
21
Task-8
1. Transaction Management
Transaction management is the atomicity of database transactions and a process that
ensures isolation and durability (ACID). A transaction is a task that combines one or more
database operations to insert record, a logical unit such as update or remove. ACID functionality
ensures that transactions complete safely and maintains database integrity even when errors
occur. At Hyde Travel, Transaction Management is customer booking. It covers a wide range of
activities, including travel planning and vessel sharing, for example, when a customer makes a
reservation. This must be processed as a single transaction to ensure that the booking
information is entered into your database accurately.
2. Currency Control
Currency control is the process of regulating concurrent access to a database across
multiple transactions to maintain data consistency. A locking mechanism restricts access to data
during transactions. For example, when a booking transaction is initiated, associated data such
as travel details can be locked to prevent other users from modifying them until the transaction
is complete. Depending on the level of access required for a transaction, different types of locks
can be used, including shared locks for reading data and exclusive locks for writing data.
To control the visibility of data changes during concurrent transactions, set appropriate
isolation levels. If you want a transaction to only see committed data and avoid incorrect or non-
repeatable reads, choose an isolation level such as Repeatable Read or Committed Read. This
limits transaction conflicts and ensures data changes are applied consistently.
Consider using multi-version concurrency control (MVCC) to allow transactions to run
from a specific point in time on a consistent snapshot of the database. By allowing transactions
to access different versions of data, MVCC reduces resource contention and improves
concurrency and speed.
3. Recovery Control
Recovery control procedures play an important role in ensuring the durability and
reliability of the Hyde Travel database system. These actions help restore a consistent database
state in the event of a system crash, hardware failure, or transaction abort. To set up recovery
controls for Hyde Travel's database: Implement transaction logging, which generates a log
record for each database change operation (insert, update, delete, etc.). These log records
include details such as transaction ID, order type, associated data, before and after values. If a
system failure occurs, you can use the transaction log to re-execute or roll back transactions to
restore the database to a consistent state. Before updating the database, logs are written to files
22
using write-ahead logging (WAL). When recovering, the system starts from the last checkpoint
and applies only log data that has occurred since that point, reducing recovery time. If a fatal
error occurs that cannot be resolved through the transaction log alone, you can use the backup
to restore the database to a consistent state.
In summary, transaction management, concurrency control, and recovery control are
essential parts of the Hyde Travel database system. It can ensure data consistency, integrity,
and reliability across all processes, even during failures and concurrent connections.
23
Task-9
First, we determine Hyde Travel's business needs through case studies and
documentation. We analyze these documents to understand the key activities and data objects
related to your business. These studies cover important areas such as customer data, travel
bookings, trip components and delivery. The document contains detailed data on various
characteristics, including itinerary details, component information, ship type, booking history,
etc. This analysis revealed the need for a database system to support Hyde Travel's operations
by efficiently managing customer information, reservation records, itinerary components, and
delivery data.
The usability of the developed system is improved through a user-friendly questionnaire.
Create queries to extract relevant information from the database based on user input and
requirements. For example, queries are developed to collect customer information, process
reservations, manage trip components, and retrieve ship information. These queries allow users
to efficiently perform tasks such as making reservations, managing trips, maintaining customer
records, and evaluating travel information, ultimately benefiting Hyde Travel's operations.
A data model accurately represents your organization's data structure based on
databases and queries tailored to your needs. We used normalization techniques to ensure that
each table represented something unique and that we categorized the tables and clearly
defined the relationships between entities. The result is to reduce unnecessary duplication; A
well-structured database system that maintains data integrity and simplifies data management.
All aspects of this work contribute to the creation of a usable system that effectively
meets Hyde Travel's business needs. However, future changes may further improve the system.
For example, developing a user-friendly interface for data entry and retrieval can improve the
user experience, integrating data analytics techniques into customer preferences. It provides
valuable insight into booking trends and travel performance, enabling companies to make
informed decisions and optimize operations. Continuously monitoring and adapting your
database schema and queries in response to changing business needs ensures that your
system remains efficient and relevant over time.
24
References
Sarkar, M. (n.d.). Database Normalization. Available at:
https://www.cems.uwe.ac.uk/~pchatter/resources/pdf/Normalization.pdf.