Analysis of the current database design

Assignment Help PL-SQL Programming
Reference no: EM132388334

Database Programming

Background

Dr. Celine Frere's research group is based at USC Sippy Downs and studies wild animal populations to understand how animals evolve and to improve their conservation outcomes. Although Dr. Frere has contributed to research on a variety of species throughout her career (from giraffes to porpoises), her research group focuses on three main species: koalas on Australia's east coast, eastern water dragons in Brisbane's Central Business District, and bottlenose dolphins in Shark Bay Western Australia.

The eastern water dragon project is one of the most important projects of Dr. Frere's research group. This project was established around Brisbane's CBD in 2010. These dragons are bigger and bolder than their non-urban counterparts. They are also diversifying at rates that allow for the study of evolution in action. Dragons in Brisbane city show significant levels of genetic divergence despite the small geographic distances between parks (<5 km), and significant differences in morphology (body size, head and limb shape and forelimb and hindlimb length) depending on the park they reside in. This project has shown that, like mammals, dragons have preferred associates or "friends", social dominance hierarchies, and even share avoidances. Each dragon in the Parkland is identified by a unique scale pattern around each eye. By studying the behaviour and social networks of these lizards over their lifespans and across generations, Dr. Frere's research group is able to investigate questions about the importance of sociality to health, reproductive success and evolution.

The Problem

Dr. Frere's research group has a huge database written and maintained in Microsoft Access that they wish to port to MySQL. Their database has thousands of records that cover information about the eastern water dragons such as description, morphology and when they were contacted. Their database has also a series of views to facilitate complex queries by the numerous researchers that work within Dr. Frere's research group.

Unfortunately, their database has only 2 tables. You will be given 2 excel spreadsheets representing those tables and a subset of their data, and a data dictionary for the table fields. Your main task is to look at the spreadsheets and propose, justify and implement improvements to the database to make it more efficient.

Your assignment is in two parts: Part A: Report, Part B: Code. You are required to submit three files:

<student_Number>_<student_first_name_last_name>_ICT320_PartA.docx

<student_Number>_<student_first_name_last_name>_ICT320_PartB.sql

<student_Number>_<student_first_name_last_name>_ICT320_PartB.py

You are not to contact Dr. Frere's research group directly as this takes valuable resources away from field group. All client communication is to be directed through your lecturer/tutor or via the course coordinator Mr. Adriano da Silva Marinho.

Please note that all data is copyright and owned by Dr. Celine Frere's research group and or USC and is used with their permission for the purposes of this assignment. Further distribution of this data is not permitted.
For the data dictionary, please refer to the documents "User table and field descriptions.xlsx" and "Behavioural Surveys 2018.docx".

Submission Format and Requirements

For Part A you are to include an analysis of the current database design in a word document or PDF. You should include:
• Identification of major implementation flaws in the existing system, and/or areas for improvement, including (but not limited to) o Removing repeated data, o De- normalization for optimization o changing some areas to NoSQL (if so, include what type of NoSQL database).
o Rational for the creation of each specific constraint (Foreign Key and Unique) and/or index.
• Identification of the current Normal Form of the system.
• An ER Diagram for the current design of the system, and an ER Diagram for the re-designed system.
• Your assumptions and any supplementary design requirements regarding the system.
For Part B you are to submit
• A single plain text file, named
<student_Number>_<student_first_name>_<student_last_name>
_ICT320_PartB.sql. In this file you are to include all the SQL for your database modification. This includes:
o ALTER/CREATE TABLE statements for:
- Changes proposed in your redesign from Part A
- Commands for the missing FOREIGN KEYs, INDEXes and
UNIQUEness constraints.

o CREATE VIEWs for

- Animals vs Date vs Time vs Location: you are to create a view that lists all the animals that have been contacted by a researcher. This view should list the animal name, their contact location, the date and the time.
- Number of contacts per animal: you are to create a view

that lists the number of contacts for each animal.

o CREATE PROCEDUREs for

- Animal with the greatest number of contacts: You are to create a procedure that looks into the view described above and returns, as an output parameter, the animal with the greatest number of contacts.
- Year with the greatest number of contacts: You are to create a procedure that looks into the database and returns what was the year where the greatest number of animals was contacted.
o You need to test your database with some of the data provided to you. You are free to use any subset but make sure the subset you use accounts for any constraints you created or assumed. PAY ATTENTION TO THE DATA DICTIONARY, THERE ARE LEGACY FIELDS THAT SHOULD BE INCLUDED IN YOUR DESIGN.
• A single plain text file named
<student_Number>_<student_first_name>_<student_last_name>
_ICT320_PartB.py. In this file you are to include the Python for your programming implementation. This includes:
o Calling and outputting as a single HTML page for each of the views (i.e. a SELECT * for both views)
o In the same HTML page, calling and outputting the results of the procedures
o Format the views as tables.

Attachment:- Database Programming.rar

Reference no: EM132388334

Questions Cloud

Anonymize electronic health record : How much redaction is necessary to anonymize an electronic health record. Is it enough to redact the name? The name and address?
Will a tax placed on the product in market : Suppose both supply and demand in a market are relatively inelastic. Will a tax placed on the product in market generate a relatively large or small deadweight.
What about situations when differentiation strategy chosen : Describe the circumstances under which a firm chooses a low-cost strategy to attain sustainable competitive advantage. What about the situations when.
Identify how big data can be used by web development : Identify how Big Data can be used by the web development company, Explain why using big data is important to profitability in general.
Analysis of the current database design : An analysis of the current database design - Identification of the current Normal Form of the system - An ER Diagram for the current design of the system
Contrast quantum cryptography and traditional cryptography : Compare and contrast quantum cryptography and traditional cryptography. How does quantum cryptography work?
What would be the production possibility frontiers : Suppose that there are two products: clothing and soda. Both Brazil and the United States produce each product. Brazil can produce 100,00 0 units of clothing.
BISM7233 Data Analytics for Business Assignment : BISM7233 Data Analytics for Business Assignment Help and Solution - The University of Queensland, Australia - Business Analytics Case Study
Continue developing your emerging technology analysis report : Continue developing your Emerging Technology Analysis Report for the Business Scenario and Emerging Technology topic you selected in Module 01

Reviews

len2388334

10/17/2019 1:53:32 AM

You need to use mysql workbench, and need to be able to code in python to get all the tables into the database using the code

Write a Review

PL-SQL Programming Questions & Answers

  Assess emerging cyber security approaches

Write an 18 page (or longer) paper in which you identify and assess emerging cyber security approaches and technologies as well as discuss government efforts to nurture the development of these emerging technologies.

  Create related tables to capture sales data transactions

Create related tables to capture sales data and sales transactions. Populate all tables with the related data. Update the database when new products arrive.

  Update stock levels when the order is cancelled

Execute queries to confirm that the basket order status and product stock levels have been appropriately modified by the trigger - the trigger needs to fire when a new status record is added to the BB_BASKETSTATUS table and when the IDSTAGE col..

  Write a perl subroutine for temperature conversion

Write a perl subroutine for temperature conversion named 'convert_temp'. It should be able to handle both Fahrenheit to Celsius conversions as well as Celsius to Fahrenheit conversions.

  Write merge script to correct the missing calorie count info

Merge - Write MERGE script to correct the missing calorie count information. Use the cals.txt document provided.

  Write the sql code to perform the tasks

Write the SQL code to perform the tasks requested in each problem. Define a new containing the product number, name, price, and quantity on hand along with the number of orders in which the product appears.

  Write a sql query that displays cinamaname and branchaddress

Write a SQL query that displays CinamaName, BranchAddress, Session Date(dd-month-yyyy format), Movie StartTime and date where any French movie is being screened. Sort the result by CinemaName descending.

  Combination of join and subqury or correlated

Formulate the following queries: (note, for some queries, you may need to use the combination of join and subqury or correlated subquery, together with group by and having clauses).

  Develop a pl-sql anonymous block that displays total sales

Develop a PL/SQL anonymous block that displays the total sales for a zip code for a specific zip code. You may use any of your zip codes you wish.

  Explain the primary purpose of a primary key in a database

Describe a situation in which you have used a database recently and Explain the primary purpose of a primary key in a database.

  Write command that will remove barry from the student table

Write a command that will remove Barry from the Student table. Write statement to add an attribute, Class to the Student table? What is the smallest section number used in the FALL-2014 semester?

  Create stored procedures to support retrieval of the data

Create stored procedures to support retrieval of the data from the database, using SELECT statements to accomplish the Aggregate (group) functions.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd