Reference no: EM133672505
Database Management Systems
Learning Outcome 1: Demonstrate comprehension of how a Relational Database Management Sys., tools and techniques are used to enhance productivity and effectiveness of Database solutions for a business.
Learning Outcome 2: Analyze complex business rules, design and evaluate/validate Data Models. Implement using Data Definition Language (DDL), Structure Query Language (SQL) and other techniques.
Learning Outcome 3: Demonstrate proficiency of advanced concepts in database design, implementation, management, security and maintenance for a business.
Aim:
To give you practical experience in database modelling, normalization, relational database implementation, loading your group developed relational database script file, .sql to the PostgreSQL server, and writing SQL statements to query, to test or retrieve data information from a relational database.
The project specification details provided in this document, and you must use only given specifications to come up with your solution. Make appropriate assumptions wherever required.
Please make sure that your group must meet your lecturer/tutor at least twice to update the progress of your assignment.
Each student requires to submit 5 minutes individual Video Presentation & ppt. slides to Moodle and to Google drive for Peer- Review.
Background Information for Sample Database Project:
Australian Manufacturing Company (AMC) requires a database system to manage their stores, employees, products, suppliers, patrons and orders.
The following information has been gathered about current business activities of AMC.
AMC has many stores in different cities across Australia. Each store has unique store number and other details like name, contact details (phone number, email address and fax number) and location details (postal address composed of street number, suburb, state and postcode).
There are many departments within each store, for example, HR, Accounts, Finance and Sales etc. each department is uniquely identified by department number. AMC also records department title, phone number and email address.
Each store has a number of employees. Each department is supervised by a department supervisor and each store is managed by a store manager who both are employees of AMC. Each department has a single supervisor only i.e. the department supervisor is also the supervisor for all the employees work within that department.
Each employee is referenced by unique employee number, name (first and last names), address, mobile number, email, TFN, salary and joining date. An employee's salary is recorded differently as per his or her employment type. Employees can be employed as Fulltime or Casual basis. For a Fulltime staff, annual salary is recorded and hourly rate for a Casual staff.
Each store creates payslips for all employees work in that store on a weekly basis. As a minimum payslip number, no of hours worked, employee detail, store detail and gross pay are recorded.
AMC sales different products like fashion, health, beauty, electronics etc. Each product is characterized by product number, name, brand, description and price.
Each product can be supplied by one or more supplier and each supplier can supply one or many products. AMC also keeps appropriate details of their suppliers.
Each store maintains an inventory of their products available for sale. The quantity of each product available in store and the quantity ordered are kept.
AMC patron visits the store and shops in the store. Each customer is characterized by customer number, name (first and last names), mobile number and address.
A patron may place orders. An order contains one or many products at a time. A store keeps track of order number, order date, product(s) ordered, and quantity ordered for each product.
The proprietors of AMC have appointed your group as Database System Consultant to analyze, design and develop conceptual data model and physical database. They want a software/online application in future to be built on the database you design so that the operation of the AMC is greatly improved.
Your created models must accommodate the provided requirements. It is understandable that the provided information may not sufficient to create model that centralize all the data appropriately. You are free to make assumptions about their business activities if require. Make sure you record your assumptions.
Project Specification:
Part A: Entity Relationship Diagram
Your first task is to study the Case study requirements and gather as much knowledge to list all the main Entities and attributes.
Your entity relation diagram that models your database design should:
Include all entities, relationships (including names) and attributes.
Identify primary and foreign keys.
Include cardinality/ multiplicity and show using crow's feet notation.
Include participation (optional / mandatory) symbols if applicable.
Part B: Normalization
Normalize all entities and relationships in optimal normal form. Provide the normalized schema and discuss the level of normalization achieved for each relation. You goal should be normalise all entities in 3NF. Provide the reasons for any relation that is not maintained in 3NF.
Part C: Relational schema and Implementation of the PostgreSQL database
Create relational schema that matches ERD and normalized schemas you created in Part A and B. The schema should include suitable data validation, integrity and referential integrity constraints, for example, types and length of attributes, primary and foreign keys etc. Make sure you follow standards, naming conventions and notation.
Include the relational schema in your documentation. The following is sample tabular format on relational schema. You are free to add more columns if required.
Implementation of the relational database for loading into the PostgreSQL database server includes creating the script file AMCDB.sql, showing how to create tables and any constrains to build relationships between tables, insert values into tables, e.g. use boygirl.sql file as an example to create tables, to link tables using constrains of Foreign Key, and to insert values into each table. In addition, your group should demonstrate that the implemented relational database script file AMCDB.sql can be successfully loaded into the PostgreSQL database server through the command line client, psql.
Create tables according to your relational schema created in step 1.
you are required to develop a demonstration prototype system (database) that stores data in the PostgreSQL database server for AMC stores, employees, products, suppliers, patrons and orders. Create a new database called AMCDB.sql.
Follow a standard naming convention for table names and also field names. Avoid using spaces and any special characters in table and field names. Use the camelCase or underscore_case to separate parts of a name.
You are required to be consistent in tables' name, fields' name, data types,
field size and key constraints with relational schema created in step 2.
Use DESCRIBE command to describe table the structure of each table in your AMCDB database, e.g. \d employee
Insert values into tables, add at least five records into each table.
Demonstrate at least five records in each of your tables as shown by the example below:
Part D: SQL
It is required that students must complete Part D, by using the client, SQL Shell (psql) to load the implemented database script file, AMCDB.sql into the PostgreSQL database server for storing the relational database, and testing these designed questions in Part D.
List the full name of Patrons, phone number and address in the descending order of customer number. The full name is comprised of first and last name joined with single space. Use the alias Customer full name for the composed column heading.
List all the products having price less than $100.
List the product number, product title, quantity ordered, unit price and total amount per product (unit price * quantity ordered) for order having order number 1005.
List name, full address and fax number of stores that has the word ‘George' anywhere in the street component of address. Your query should consider the case sensitivity of the street as well i.e. the stores with words ‘George', ‘GEORGE', ‘george', ‘GeorGe' etc. in street should be returned by your query too.
List all the orders having at least two different products ordered.
List customer number, name and address of all the customers who has not placed any order.
Retrieve first name, last name and employee number of all the employees along
with department name and store name where they work.
For each store, display store name and number of employees works in account department.
List all the orders placed for financial year 2018 i.e. orders placed after 30/06/2017 and before 01/07/2018.
Retrieve customer number and the total number of orders placed by each customer.
For each order, retrieve the order number, order date and number of products ordered in it. Sort the output in descending order of order number.
Part E: Individual Personal Report, Presentation slides, 5 minutes Video Presentation, and peers review feedback & results
The individual Presentation slides and 5 minutes Video Presentation (8 marks) should include information as follows:
The title page should include student's name, ID and the link of your YouTube Video.
The 1st slide describes the project domain modelled by this database. One slide could be enough. The audience just need to know enough about the domain to understand the ERD.
The 2nd slide includes the complete ERD for this database and give an example how to solve Many-to-Many relationship in your ERD.
The 3rd slide includes the illustration a single One-to-Many relationship in the database. This slide should show both the relationship as shown in the ERD and its realizations in tables, with some example values in the tables.
The 4th slide shows one query and output of Part D in Group Project Outline.
The last slide shows your contributions, any challenging issues, or any future work.
One page of personal report (2 marks): Write a page to the AMC proprietors as a personal reflection that describes your experience building the database, and your contribution to your group project. You can discuss any challenges / difficulties that you experienced or solutions that you found. Comment on any limitations and / or strengths of your database design. Comment on whether your database meets all the system requirements as specified in Project Specification. Avoid making excuses or comments that reflect negativity. Include an acknowledgement of all students you have spoken to about the assignment.
Video presentation should be submitted to both Moodle A3(3) submission and Google Drive for peer-review. The link of Google Drive will be given through announcement on Moodle.