Guidelines And Assessment Task For Assignment 2 Part B
Guidelines And Assessment Task For Assignment 2 Part Bnotefrom The
From the Guidelines And Assessment Task For Assignment 2 Part Bnotefrom The Guidelines and Assessment Task for Assignment 2 – Part B Note: From the Assignment1 sample solution that will be provided in MOODLE, you need to use only three tables (Customer, Parcel and Employee) for completing this assessment task. Start MYSQL Workbench Create a new model 1 Use the File menu to create a new model. File New Model 2 Right click ‘myDB’ and then select ‘Edit Shema’ to enter the new name 3 Rename the schema name from ‘myDB’ to ‘a2Db’ Add new table To add a new table you need to click the ‘Add Table’ icon; Enter the name for the table; Add all the column details; Make sure the data type, primary key (PK) , not null (NN) and other properties are appropriately selected for the respective columns.
Note: You need to enter and complete all the columns for the Customer table. Similarly, create the remaining two tables ‘Employee’ and ‘Parcel’ . Foreign Key Steps to specify foreign key details in a table: 1 Select the foreign key column from the table. 2 Select the ‘Foreign Keys’ tab and enter a suitable foreign key name; select the table name for Referenced Table and then the Referenced Column appropriately. Complete the above for all the foreign keys in all the tables.
Create EER diagram 1 Click ‘Add Diagram’ icon 2 Open the Tables group to select the tables 3 Click and then Drag and drop the required tables into the drawing area Note: Make sure Crow’s Foot (IE) notation has been selected for the diagram. ModelRelationship Notation Crow’s Foot (IE) 4 Complete the diagram with all three tables (Customer, Parcel and Employee). 5 Save the file. COIT20247 Database Design and Development (T1 2019) Assessment item 2—Assignment 2 Due date 11:45pm on Friday of Week 10 (24th May, 2019) Weighting 35% Length Not applicable Objectives This assessment item relates to the unit learning outcomes numbers 1, 2 and 3 as stated in the unit profile. Part A.
Database implementation using MS Access (30 Marks) Introduction The sample solution of assignment 1 will be released on the unit website approximately two (2) weeks after the assignment 1 due date. You must use that sample solution of assignment 1 only for the following tasks: Assessment task 1 Normalization a) Map the ERD, from the sample solution, into a set of relations in at least Third Normal Form ( 3NF ). You must ensure that your relations meet 3NF. There is no need to show your working. b) Select any two of your relations from the previous step, 1a), and perform the following for each of those two relations: · List all the functional dependencies exist in the relation. · Demonstrate that the relation meets Third Normal Form (3NF).
For your help, an example for a Student relation’s 3NF justification has been provided below: STUDENT ( StudentID , Name, Address, DateOfBirth) i. The primary key is StudentID which identifies a student. There will be one student name per Student ID because only one name is recorded for each student. Even though a student may have multiple addresses (e.g. a home address and a work address), the case study states that there is a need to record the home address only and hence there will be only one address for each student. There will be only one date of birth for each student. Thus, there are no repeating groups. Hence, this relation is in 1NF. ii. The primary key is StudentID. This is the only candidate key since Name is not guaranteed to be unique (two different students may have the same name). Address is also not guaranteed to be unique. This means that Student ID functionally determines every other attribute in the table. The candidate key, StudentId, is a simple and single valued attribute. Therefore no partial dependencies are possible. Hence, the relation is in 2NF. iii. Name cannot be used to functionally determine any other attribute in the table since two different students may have the same name; likewise for address and date of birth. Therefore there are no transitive dependencies in the table. Therefore it meets the requirements of first, second and third normal form.
2 Relational database implementation Note: Use the relations that you created in the above step 1- Normalization to create a database. The recommended tool for this work is Microsoft Access, version 2010 or later. One reason for recommending Microsoft Access is that your unit lecturer/tutor will be able to provide adequate support to you in the use of this tool. The remainder of this document in Part A assumes that you are using MS-Access. In implementing the ER model provided, you must complete the following tasks: · Create all the relations in a Microsoft Access database . Consider each attribute in every table and make appropriate choices regarding data types & sizes, indexes, required/not required and validation rules . Your choices should be appropriate for each attribute and should support data integrity. (Note: see the Data Integrity section below for specific data integrity requirements) · Create relationships as appropriate. Enforce referential integrity for all appropriate relationships in the database. Apply cascade update and/or delete options wherever necessary. · Review the default index created by Access for each table. You should ensure that the indexes follow the guidelines given in the unit textbook. · Populate the database with sample data of your own . You must include sufficient sample data to test your queries and report. Please note that the expected result of query questions may depend on the actual sample data populated. Data integrity Select one table that contains at least three different data type attributes, such as date, text and currency value attributes. For that selected table, develop and implement suitable integrity constraints for its attributes. You need to provide those integrity constraints in the following tabular form: Attribute Data type Integrity constraint implemented Error message Information requests Create queries to answer the following information requests. Note: Do not use the Access query builder (QBE) to create your queries – you should type the queries manually using SQL view/editor. The marking process of the queries for information requests may also consider the effectiveness of your SQL statements that have been used in the queries. It is important that your SQL statements must reflect the correct business logic & SQL syntax.
Note: Use enough sample data so that the output is produced by each and every query. 1. For each kind of delivery status find out the number of parcels. Display the delivery status and the corresponding number of parcels. Note: Delivery status can be different based on your assumption, however they could be collected or transit, delivered, returned, transit and so on.
2. Display the number of parcels that have been lost but have not been claimed yet for any compensation. 3. Display the details of the customers who have contributed the maximum amount of charges to CQPS through all of their parcel delivery orders. 4. List the details of employees who have handled/involved with at least five parcels and at the same time have not been involved with any of the lost parcels. Display their details in ascending order of their name. 5. Display the details of employee(s) whose name contains the word “wheelâ€. Report Create a simple report object showing the details of parcels that have been lost. The report should also display the details of senders of the parcels and the employees who collected them. Hints: · Create a query that lists all details needed for a report. If you are unable to formulate this query, then create a report that is based directly on the table(s). [Note: you will not be able to obtain full marks for the report creation if you base your report directly on the table(s) and some criteria are not met in your reports.] · Use the report wizard to generate a basic report based upon your query [or the table(s) if you were unable to formulate the query]. · Once the report wizard finishes, switch to design view and rename the labels appropriately; for example, change the label ‘CollectedDate’ to ‘Collected Date’. · You are allowed to create the report without using report wizard too.
Implementation Report You must also provide a short implementation report describing your experiences with this assignment. You may discuss any of the following: 1. Any two interesting things/procedures you have learnt by doing this assignment. 2. Any one of the assignment tasks that was relatively difficult / complex to solve but has been successfully completed by you. Use the implementation report to demonstrate that you have thought carefully about the issues that arise when implementing a relational database. What you should submit Microsoft Access databases file containing: 1. Tables with sample data 2. Relationships 3. Queries 4. Integrity constraints 5. Report (object). A Microsoft Word document containing: 1. A set of relations mapped from E-R diagram (3NF) 2. Two relations with functional dependencies and demonstration of normalization 3. A table showing integrity constraints used in the selected table 4. Implementation report Your document should contain appropriate identification information (your student number, name, unit number, etc.) and should contain the relevant headings for each section. Part B. Database implementation using MySQL Server (5 Marks) Consider a simplified version E-R model for the CQPS, where you only deal with three relations Customer , Parcel and Employee (ignore all other relations). Based on this simplified E-R model and using MySQL Workbench , create a database schema with the above three relations, including the primary keys, foreign keys and an E-R diagram.
Paper For Above instruction
The assignment revolves around designing and implementing a relational database system for a courier or parcel shipping company (CQPS). The core focus is on three main tables: Customer, Parcel, and Employee, which are essential for managing the core processes of parcel handling, customer information, and employee involvement. The tasks encompass schema creation, normalization, data integrity enforcement, querying, reporting, and visual diagramming using tools like MySQL Workbench and MS Access.
Database Schema Design and Modeling
The initial phase involves creating a detailed conceptual model based on an Entity-Relationship (ER) diagram. The ER diagram must include the three specified tables and their relationships, with appropriate notation such as Crow’s Foot to clearly depict the nature of the relationships. When transitioning from ER to relational schemas, the normalization process ensures the relations are at least in Third Normal Form (3NF). This process mitigates redundancy and maintains data consistency. For example, in the customer table, attributes like CustomerID, CustomerName, CustomerAddress, and CustomerContactNum are included, with CustomerID serving as the primary key. Similarly, the Parcel table contains data such as ParcelID, ParcelWeightInGrams, FromAddress, ToAddress, DateCollected, ParcelValue, Charges, and Status, which are mapped with appropriate data types. The Employee table captures EmployeeID, EmployeeName, EmployeeStartDate, along with role-specific attributes.
Implementing foreign keys is critical to define the relationships such as which employee handled which parcel, or the customer associated with each parcel. Proper referential integrity constraints, including cascade update and delete options, are recommended to preserve data consistency during modifications. Visualizing these relations via an EER diagram using MySQL Workbench facilitates understanding and validation of the schema design.
Normalization and Data Integrity
Normalization involves converting the initial ER model into relations that satisfy at least third normal form, eliminating partial and transitive dependencies. For example, in a relation such as Customer, functional dependencies like CustomerID → CustomerName, CustomerAddress, CustomerContactNum support the integrity. Demonstrating how relations satisfy 3NF involves showing that non-key attributes depend solely on the primary key and are free of dependencies on other non-key attributes.
Furthermore, data integrity is reinforced through constraints such as data types—using appropriate formats like VARCHAR for addresses, DATE for dates, and DECIMAL for monetary values—along with NOT NULL constraints, validation rules, and custom error messages where applicable. These constraints prevent invalid data entry and uphold the quality of stored information.
Query Development and Reporting
Key operational queries are independently written in SQL to facilitate data retrieval for informed decision-making. Sample queries include counting parcels based on delivery status, identifying lost parcels without claims, determining customers who contribute the most charges, and listing employees involved in handling parcels under specific conditions. These queries are manually crafted without relying on graphical query builders to ensure SQL syntax and business logic correctness.
Additionally, reporting focuses on summarizing critical information, such as a report listing all lost parcels alongside sender and employee details. Using MS Access’s report wizard or manual design, reports are tailored with clear labels and formatted for clarity and professionalism. These reports provide practical insights into parcel statuses and operational performance.
Implementation and Reflection
The implementation process involves creating a working database with sample data to test the queries and constraints. Challenges often arise in defining correct foreign key relationships, enforcing referential integrity, or ensuring data normalization, especially when translating ER diagrams into relational schemas. Reflection on these challenges highlights the importance of thorough understanding of relational rules and meticulous schema design to prevent anomalies and ensure data consistency.
Conclusion
This assignment emphasizes hands-on experience in building a relational database system, progressing from conceptual modeling to physical implementation, and finally to data querying and reporting. It underscores the significance of normalization, integrity constraints, and visual schema design in developing reliable and efficient database applications tailored to parcel management operations.
References
- Elmasri, R., & Navathe, S. B. (2015). Fundamentals of Database Systems (7th ed.). Pearson.
- Murphy, J. (2015). SQL in a Nutshell. O'Reilly Media.