Task 1 – Database systems
a. Critically assess the different database models that you know about and summarise their respective advantages and disadvantages.
File based data-processing system A computer system store data in the form of bits and bytes over files that are structured in a tree structure (Shroff, 2010).
Bit – The smallest form of data.
Advantages of using a File based data-processing system
The Hierarchical database contains:
Advantages of using a hierarchical based database system
Advantages of using a Network model database system
Using an example, discuss the principles and structure of the relational database mode.
Relational Database system
Was invented In the early 70s by a Dr. Edgar Codd (‘Ted’ Codd), who was a British scientist formulized the conceptual data modeling (Teorey, 2011) which used the Entity-relationship (ER) approach and it is based on the relational algebra and uses unique values defined as keys to make a relationship between two or more tables.
A database record consists of the following:
Example of an RDBMS structure (Laudon & Laudon, 2017) :
In the example above we have two tables – SUPPLIER and PART which consists of columns and rows.Each column represents an entity and its attributes for example the entity “Part_Number” has three different attributes which are “Part_Name”, “Unit_Price” and “Supplier_Number”.The column “Supplier_Number” is inherited in from the “SUPPLIER” table which provides an example to the relational mode.
Advantages of using a relational database system
The conceptual model describes the contents of the system. Through the figure 1, it can be understood that staff, retailer, order, product and manufacturer are the main contents of the system. The business stakeholders like staff, retailer and manufacturer and data architects like order and product is mentioned in the diagram. The proposed model consists of one-to-many, many-to-one and many-to-many relationship. The diagram shows multiplicity, cardinality and optionality.
The conceptual model illustrates that table has five tables that are interconnected with each other. One staff will take the order and store it. A staff can store many order but it is not necessary that all the registered staff to will take orders. One retailer can order many time. Each order must be done by single retailer. Not every retailer will order products. A retailer can order many products at one time. It is also true that many products can be ordered by various retailers simultaneously. That is why the product and order has many-to-many relationship among them. An order must contain the products that are listed. A product may not be ordered in a whole lifetime of business. A manufacturer can provide many products. A product is supplied by only one retailer.
Table Name: Retailer |
|||||
Attribute |
Data Type |
Value |
Key |
Description |
Example |
retailerNumber |
INT |
5 |
Primary Key |
The unique retailer number through which each row in this table can be identified uniquely |
00000 |
retailerName |
Varchar |
40 |
No |
The name of the retailer, two retailer can have same name |
ABC Wholesaler |
retailerAddress |
Varchar |
40 |
No |
The physical address of the retailer that consists of building number, street name, city, State and zip |
769 Amethyst Drive |
retailerTelephoneNumber |
INT |
10 |
No |
The contact number of the retailer. The code will be identified based on the state mentioned in address |
5173218505 |
maximumCredit |
Decimal |
10,2 |
No |
The maximum amount of credit a retailer can have from selected organization |
15000.00 |
joinDate |
Date |
Default |
No |
The Join date of the retailer. This indicates the on which retailer signed contract with Nova Cosmetics |
November 29, 2005 |
Table Name: Staff |
|||||
Attribute |
Data Type |
Value |
Key |
Description |
Example |
staffNumber |
INT |
5 |
Primary Key |
The unique staff number through which each row in this table can be identified uniquely |
00000 |
staffName |
Varchar |
40 |
No |
The name of the staff. Two staff can have same name |
Mamie B. McLane |
staffAddress |
Varchar |
40 |
No |
The physical address of the staff that consists of building number, street name, city, State and zip. This is the current address of the staff. |
2579 Skinner Hollow Road Huntington, OR 97907 |
staffPosition |
Varchar |
40 |
No |
The designation of the staff. |
5418692501 |
staffSalary |
Decimal |
10,2 |
No |
Salary of the staff per annum. |
5000.00 |
joinDate |
Date |
Default |
No |
The Join date of the staff. This indicates the on which staff started working with Nova Cosmetics |
December 25, 1993 |
Table Name: Order |
|||||
Attribute |
Data Type |
Value |
Key |
Description |
Example |
orderNumber |
INT |
5 |
Primary Key |
The unique order number through which each row in this table can be identified uniquely |
00000 |
orderDate |
Date |
Default |
No |
The date on which, order is placed. |
December 25, 2017 |
productNumber |
INT |
5 |
Primary Key |
The unique product number through which each row in this table can be identified uniquely |
00000 |
productType |
Varchar |
40 |
No |
The type of the product. A product can of single type. Many products can be categorized into one type. |
Suns cream |
unitPrice |
Decimal |
10,2 |
No |
Cost of individual product. |
35.30 |
productQuantity |
INT |
5 |
No |
The quantity of each product bought |
3 |
totalPrice |
Decimal |
10,2 |
No |
Total price for each product bought |
105.90 |
totalCost |
Decimal |
10,2 |
No |
Total amount a customer will pay. The order cost is a derived attribute. The cost is calculated using unit price of product and total products bought. |
205.50 |
Table Name: Manufacturer |
|||||
Attribute |
Data Type |
Value |
Key |
Description |
Example |
manufacturerNumber |
INT |
5 |
Primary Key |
The unique manufacturer number through which each row in this table can be identified uniquely |
00000 |
manufacturerName |
Varchar |
40 |
No |
The name of the manufacturer. Two manufacturer can have same name |
Mamie B. McLane |
manufacturerAddress |
Varchar |
40 |
No |
The physical address of the manufacturer that consists of building number, street name, city, State and zip. |
2579 Skinner Hollow Road Huntington, OR 97907 |
manufacturerTelephoneNumber |
INT |
10 |
No |
The contact number of the manufacturer. The code will be identified based on the state mentioned in address |
5418692501 |
Task 3: Logical Model
Normalization Decisions: The proposed database is normalized up to BCNF. As per the protocol of first normal form, the database cannot have any attribute that consists of multiple values. The attributes must contain only atomic values. The second normal states that database cannot have any partial dependency. The partial dependency occurs in a table when a non-key attribute is dependent on another non-key attribute. The third normal form states that the database must be in second normal form and should not have any transitive dependency. Transitive dependency occurs in a table if attribute Y can be found using attribute Y but X cannot be found using Y and Z can be found using Y. The Boyce Code Normal Form states that Y can be found using the X and X is the super key (primary key) of the table.
First Normal Form: If all the data are in a single table then the table must have all the atomic valued attributes. The table is as following.
retailerNumber |
00000 |
retailerName |
ABC Wholesaler |
retailerAddress |
769 Amethyst Drive |
retailerTelephoneNumber |
5173218505 |
maximumCredit |
15000.00 |
retailJoinDate |
November 29, 2005 |
staffName |
Mamie B. McLane |
staffAddress |
2579 Skinner Hollow Road Huntington, OR 97907 |
staffPosition |
5418692501 |
staffSalary |
5000.00 |
staffJoinDate |
December 25, 1993 |
productNumber |
00000 |
productType |
Suns cream |
unitPrice |
35.30 |
productQuantity |
|
totalPrice |
|
orderDate |
December 25, 2017 |
totalCost |
205.50 |
manufacturerName |
Mamie B. McLane |
manufacturerAddress |
2579 Skinner Hollow Road Huntington, OR 97907 |
manufacturerTelephoneNumber |
5418692501 |
The product number, quantity, totalPrice and productType attributes are having multiple values. In the new table all the order details will be copied for each product bought.
Second Normal Form: The partial dependencies can be seen for staff details. The staffAddress, staffPosition, staffSalary and staffJoinDate are partially dependent on the staffName. A new staff table will be created to remove this partial depdency.
staffNumber |
00000 |
staffName |
Mamie B. McLane |
staffAddress |
2579 Skinner Hollow Road Huntington, OR 97907 |
staffPosition |
5418692501 |
staffSalary |
5000.00 |
staffJoinDate |
December 25, 1993 |
Another partial dependency can be seen in the manufacturer related attributes. The manufacturerAddress and manufacturerTelephoneNumber is dependent on the manufacturerNumber. The new manufacturer table is created remove this partial dependency.
manufacturerNumber |
00000 |
manufacturerName |
Mamie B. McLane |
manufacturerAddress |
2579 Skinner Hollow Road Huntington, OR 97907 |
manufacturerTelephoneNumber |
5418692501 |
The other table is as below.
retailerNumber |
00000 |
retailerName |
ABC Wholesaler |
retailerAddress |
769 Amethyst Drive |
retailerTelephoneNumber |
5173218505 |
maximumCredit |
15000.00 |
retailJoinDate |
November 29, 2005 |
orderNumber |
00000 |
productNumber |
00000 |
productType |
Suns cream |
unitPrice |
35.30 |
productQuantity |
3 |
totalPrice |
105.90 |
orderDate |
December 25, 2017 |
totalCost |
205.50 |
Third Normal Form: There is a transitive dependency between the order details and productType and quantity. The productType and unitPrice is dependent on productNumber. The orderDate and totalCost is dependent orderNumber. The orderNumber is dependent on productNumber. A new table named product is created to remove transitive dependency.
productNumber |
00000 |
productType |
Suns cream |
unitPrice |
35.30 |
Now the product quantity and totalPrice is dependent productNumber. So a bridge table is created.
productNumber |
00000 |
orderNumber |
00000 |
productQuantity |
3 |
totalPrice |
105.90 |
The new table is as following.
retailerNumber |
00000 |
retailerName |
ABC Wholesaler |
retailerAddress |
769 Amethyst Drive |
retailerTelephoneNumber |
5173218505 |
maximumCredit |
15000.00 |
retailJoinDate |
November 29, 2005 |
orderNumber |
00000 |
orderDate |
December 25, 2017 |
totalCost |
205.50 |
BCNF: the orderNumber and retailerNumber has trivial functional dependency among them. And retailerNumber is the super key.
retailerNumber |
00000 |
retailerName |
ABC Wholesaler |
retailerAddress |
769 Amethyst Drive |
retailerTelephoneNumber |
5173218505 |
maximumCredit |
15000.00 |
retailJoinDate |
November 29, 2005 |
orderNumber |
00000 |
orderDate |
December 25, 2017 |
totalCost |
205.50 |
Final Database Tables:
retailerNumber |
00000 |
retailerName |
ABC Wholesaler |
retailerAddress |
769 Amethyst Drive |
retailerTelephoneNumber |
5173218505 |
maximumCredit |
15000.00 |
retailJoinDate |
November 29, 2005 |
orderNumber |
00000 |
orderDate |
December 25, 2017 |
totalCost |
205.50 |
productNumber |
00000 |
productType |
Suns cream |
unitPrice |
35.30 |
productNumber |
00000 |
orderNumber |
00000 |
productQuantity |
3 |
totalPrice |
105.90 |
manufacturerNumber |
00000 |
manufacturerName |
Mamie B. McLane |
manufacturerAddress |
2579 Skinner Hollow Road Huntington, OR 97907 |
manufacturerTelephoneNumber |
5418692501 |
staffNumber |
00000 |
staffName |
Mamie B. McLane |
staffAddress |
2579 Skinner Hollow Road Huntington, OR 97907 |
staffPosition |
5418692501 |
staffSalary |
5000.00 |
staffJoinDate |
December 25, 1993 |
Task 4: Physical Model
Selection of DBMS (SQL Server): The reasons of selecting the SQL Server database ate as listed below.
As the database suggests in Figure 3, the business of Nova Cosmetics is dependent heavily on the retailers and manufacturers. The staff of the organization is required to be registered before start working. The staff will provide their name and address (current) details to organization. The organization will store staff’s position, salary and join date. The unique number of staff which is staffNumber is automatically stored by the system. The staff details are required for various internal audits. The retailer’s data are very important for the business. The organization needs the retailer’s data as the retailers are the customer of the business. The organization needs retailer name, address, contact number and credit level is important.
The organization will decide the maximum credit level of the retailer. The retailer cannot buy product worth more than that. The staff will register a retailer into the organization database. That is why the staffNumber will be used as a foreign key in the database. This allows the database to find which staff has done the work of registering retailer. The manufacturer data is also stored in the database. The manufacturer can supply many products but a single product is bought from a single manufacturer. In real life, the retailer can order for various products in one order. Simultaneously, various products can be bought by different retailers. This is presented through a relational database method name bridge table. The bridge table store the order table primary key and product table primary key as foreign key. The order details like total cost and data is stored in the database. The retailer number is used as the foreign key to detect which realer has done the order.
Relational schema of final database are as following. The underlined attributes are primary key and italic attributes are foreign key.
Staff (staffNumber, staffName, staffAddress, staffPosition, staffSalary, staffJoinDate)
Retailer (retailerNumber, retailerName, retailerAddress, retailerTelephoneNumber, maximumCredit, retailJoinDate, staffNumber)
Order (orderNumber, orderDate, totalCost, retailerNumber)
OrderProduct (orderNumber, productNumber, productQuantity, totalPrice)
Product (productNumber, productType, unitPrice, manufacturerNumber)
Manufacturer (manufacturerNumber, manufacturerName, manufacturerAddress, manufacturerTelephoneNumber)
Attributes |
Properties |
retailerNumber |
It cannot hold null value |
retailerName |
It cannot hold null value. It should be indexed |
retailerAddress |
It cannot hold null value |
retailerTelephoneNumber |
It cannot hold null value |
maximumCredit |
It can hold null value |
retailJoinDate |
It cannot hold null value |
orderNumber |
It cannot hold null value. It should be indexed |
orderDate |
It cannot hold null value. It should be indexed |
totalCost |
It can hold null value. It should be indexed |
productNumber |
It cannot hold null value. It should be indexed |
productType |
It cannot hold null value. It should be indexed |
unitPrice |
It cannot hold null value. It should be indexed |
productQuantity |
It cannot hold null value. |
totalPrice |
It cannot hold null value. |
manufacturerNumber |
It cannot hold null value. |
manufacturerName |
It cannot hold null value. It should be indexed |
manufacturerAddress |
It cannot hold null value. |
manufacturerTelephoneNumber |
It cannot hold null value. |
staffNumber |
It cannot hold null value. |
staffName |
It cannot hold null value. It should be indexed |
staffAddress |
It cannot hold null value. |
staffPosition |
It can hold null value. |
staffSalary |
It can hold null value. |
staffJoinDate |
It can hold null value. |
Adrienne Watt and Watt, A., 2014. Database Design – 2nd Edition. 2nd ed. s.l.:BCampus.
Arasu, A., Babcock, B., Babu, S., Cieslewicz, J., Datar, M., Ito, K., Motwani, R., Srivastava, U. and Widom, J., 2016. Stream: The stanford data stream management system. In Data Stream Management (pp. 317-336). Springer, Berlin, Heidelberg.
Batkovskiy, A.M., Batkovskiy, M.A., Semenova, E.G., Fomina, A.V. and Khrustalev, ?.I., 2015. Linguistic Analysis of High-Tech Production Complex. Mediterranean Journal of Social Sciences, 6(4), p.130.
Blackman, K. R., 1998. Technical note: IMS celebrates thirty years as an IBM product. IBM Systems Journal, 37(4), pp. 596-603.
Chambers, M. L., 2009. Build Your Own PC Do-It-Yourself For Dummies. Hoboken: For Dummies.
Coronel, C. and Morris, S., 2016. Database systems: design, implementation, & management. Cengage Learning.
Coronel, C. and Morris, S., 2016. Database systems: design, implementation, & management. Cengage Learning.
Elmasri, R. and Navathe, S., 2016. Fundamentals of database systems. London: Pearson.
Gouhar, A., 2017. Database Management System. International Journal of Engineering Science, 11766.
Guèye, M., Ndiaye-Guèye, M.D., Kane-Guèye, S.M., Diallo, M., Cissé, M., Fall, K., Daff, H.M.B., Abdoulaye, M., Gahungu, S., Ka, S. and Moreau, J.C., 2016. E_Breast: A Computerized Database Management System for Breast Diseases Patients in a Low Income Country. Journal of Obstetrics and Gynecology, 6, pp.754-760.
Haigh, T., 2016. How Charles Bachman Invented the DBMS, a Foundation of Our Digital World. Communications of the ACM, 59(7), pp. 25-30.
Hoffer, J., Venkataraman, R. & Topi, H., 2015. Modern Database Management. Global Edition ed. s.l.:Pearson Education Limited.
Jamal, A. and Pramila, R.S., 2018. An Overlay Database Management System. network, 5(05).
Jamsheer, K., 2018. An overview of SQL and NoSQL with it’s pros and cons.
Laudon, K. C. & Laudon, J. P., 2017. Management information systems managing the digital firm Global. Harlow: Pearson Global edition.
Laudon, K.C. and Laudon, J.P., 2016. Management information system. Pearson Education India.
Lee, H., Chapiro, J., Schernthaner, R., Duran, R., Wang, Z., Gorodetski, B., Geschwind, J.F. and Lin, M., 2015. How I do it: a practical database management system to assist clinical research teams with data collection, organization, and reporting. Academic radiology, 22(4), pp.527-533.
MariaDB, n.d. Understanding the Network Database Model.
Nidzwetzki, J.K. and Güting, R.H., 2016. DISTRIBUTED SECONDO: An extensible highly available and scalable database management system. FernUniversität, Fakultät für Mathematik und Informatik.
Pokorny, J., 2013. NoSQL databases: a step to database scalability in web environments. International Journal of Web Information Systems, 9(1), pp. 69-78.
Powell, G., 2006. Beginning Database Design. Indianapolis: Wiley Publishing Inc..
Rai, D. P. K. & Singh, P., 2015. International Journal of Computer Science and Mobile Computing. A Monthly Journal of Computer Science and Information Technology, 4(5), p. 834 – 838.
Raza, B., Kumar, Y.J., Malik, A.K., Anjum, A. and Faheem, M., 2018. Performance prediction and adaptation for database management system workload using case-based reasoning approach. Information Systems, 76, pp.46-58.
Reddy, T.B., Thomas, A.D., Stamatis, D., Bertsch, J., Isbandi, M., Jansson, J., Mallajosyula, J., Pagani, I., Lobos, E.A. and Kyrpides, N.C., 2014. The Genomes OnLine Database (GOLD) v. 5: a metadata management system based on a four level (meta) genome project classification. Nucleic acids research, 43(D1), pp.D1099-D1106.
Savage, N., 2015. Forging Relationships. Communications of the ACM, 58(6), pp. 22-23.
Shroff, R., 2010. Computer Systems and Applications. Rev ed. ed. Mumbai: Himalaya Publishing House.
Souza, R., Silva, V., Oliveira, D., Valduriez, P., Lima, A.A. and Mattoso, M., 2015. Parallel execution of workflows driven by a distributed database management system. In ACM/IEEE Conference on Supercomputing, Poster.
Tamboli, A., Shinde, P., Pariskar, P., Sonawane, M. and Anaokar, C., 2017. Institute Administration Automation and Student Database Management System.
Teorey, T. L. S. N. T. &. J. H., 2011. Database Modeling and Design : Logical Design. San Francisco: Elsevier Science & Technology.
Thakur, D., n.d. Network Model.
UKEssays, 2013. The Hierarchical Model.
Ung, M. & Philip, K. a. C.-Y.-S., 1999. DATABASE LANGUAGES. Encyclopedia Of Electrical & Electronics Engineering, Volume 4, pp. 568-576.
Zhang, B., Van Aken, D., Wang, J., Dai, T., Jiang, S., Lao, J., Sheng, S., Pavlo, A. and Gordon, G.J., 2018. A Demonstration of the OtterTune Automatic Database Management System Tuning Service. Proceedings of the VLDB Endowment, 11(12).
Essay Writing Service Features
Our Experience
No matter how complex your assignment is, we can find the right professional for your specific task. Contact Essay is an essay writing company that hires only the smartest minds to help you with your projects. Our expertise allows us to provide students with high-quality academic writing, editing & proofreading services.Free Features
Free revision policy
$10Free bibliography & reference
$8Free title page
$8Free formatting
$8How Our Essay Writing Service Works
First, you will need to complete an order form. It's not difficult but, in case there is anything you find not to be clear, you may always call us so that we can guide you through it. On the order form, you will need to include some basic information concerning your order: subject, topic, number of pages, etc. We also encourage our clients to upload any relevant information or sources that will help.
Complete the order formOnce we have all the information and instructions that we need, we select the most suitable writer for your assignment. While everything seems to be clear, the writer, who has complete knowledge of the subject, may need clarification from you. It is at that point that you would receive a call or email from us.
Writer’s assignmentAs soon as the writer has finished, it will be delivered both to the website and to your email address so that you will not miss it. If your deadline is close at hand, we will place a call to you to make sure that you receive the paper on time.
Completing the order and download