Design a database schema and a set of front-end programs

Assignment Help Database Management System
Reference no: EM131934611

Assignment -

Overview - This assignment covers applied database design and the use of database interfaces in a high level programming language (Python 3). Your submission for this assignment will consist of a database definition (CREATE statements and accompanying constraint definitions) in SQL (submitted as a .txt file due to conneX limitations) and a set of short Python 3 programs to act as database  front- ends. Some of the Python programs will read comma-separated input data and perform database insertion and update operations. The other programs will use SELECT statements to retrieve data from the DBMS and format it as a report for the user. This assignment is a small-scale example of the type of database interaction that you might normally encounter as a developer.

Although this assignment requires writing Python code, the core objective of the assignment is to write as little   Python as possible: the Python programs you write should function as simple appliances to convert input data INSERT or UPDATE statements and convert query results to formatted text. For full marks, you will be expected to leave all of the processing logic (checking the validity of data, moderating conflicts which arise in the data entry, processing results, etc.) to the DBMS and perform no non-trivial data processing in your Python code.

Since you may not have used Python recently, some example programs have been posted which demonstrate Python's capabilities for reading comma-separated data and producing formatted output. You may also find the examples of the psycopg2 interface from the lectures to be useful in designing your solution.

Since your programs will contain very little non-trivial code, it should suffice to use the installed psycopg2 module (for PostgreSQL connectivity) and the Python standard library, but you are free to use any other modules that may be available.

You are required to use Python 3 for this assignment (if you use Python 2, or any other language, your submission will not be marked).

The Task: A Student Registration Database

Your task for this assignment is to design a database schema and a set of front-end programs for a student registration database (similar to several example databases we have seen over the semester, as well as the larger-scale database actually used at UVic). Your database will track students, the courses they take and the grades they receive.

You will submit the files below. They must be named as shown.

  • create\_schema.txt: A schema creation file, consisting of an SQL script with DROP and CREATE statements for each table, along with DROP and CREATE statements for all required constraints. It must be possible to completely drop/recreate your database schema by running all of the commands in this file.
  • add_drop.py
  • assign_grades.py
  • create_courses.py
  • report_classlist.py
  • report_enrollment.py
  • report_transcript.py

For this assignment, your database will focus on students, courses (and course offerings) and grades. Other information (like staffing and accounting) has been omitted, but would normally be present in such a database. The subsections below detail the requirements and restrictions of each facet. You are not required to use any particular data model for your database, but you are encouraged to start by sketching an E/R diagram for the requirements (the exact set of entities may vary, but it will likely include separate entities for students, courses, course offerings,  enrollments and grades). Requirements which are marked by an asterisk (*) in the sections below are deliberately unrealistic and are present to help simplify the task for this assignment.

Attachment:- Assignment Files.rar

Reference no: EM131934611

Questions Cloud

Limitations of using measures of physical scarcity : What are the limitations of using measures of physical scarcity such as the "exponential exhaustion index" that was developed by the Meadows
Use the adjusted present value approach : Calculate the Adjusted Present Value (APV). Under what circumstances would it be better to use the Adjusted Present Value approach?
How has the market for french wines been affected : a) How has the market for French wines been affected by the poor harvest?
Write one page after-feeling essay : Write one page after-feeling essay, 275 words is enough, check the file, i insert my photo from museum. What you see? what is your feeling? something like that.
Design a database schema and a set of front-end programs : Your task for this assignment is to design a database schema and a set of front-end programs for a student registration database
Production function aid in management decisions : Assume you are the manager of a small coffee shop. How would knowledge of your production function aid in your management decisions?
Model of trade between home and foreign : Consider the following model of trade between Home and Foreign. Assume throughout that those two countries are the only two countries in the world
After tax cost for each of the capital components : Calculate the after tax cost for each of the capital components. Calculate all Breakpoints.
What future payment did you choose : What future payment did you choose? Why? Explain why your original discount rate was reasonable.

Reviews

len1934611

4/9/2018 3:45:54 AM

This assignment covers applied database design and the use of database interfaces in a high level programming language (Python 3). Your submission for this assignment will consist of a database definition (CREATE statements and accompanying constraint definitions) in SQL (submitted as a .txt file due to conneX limitations) and a set of short Python 3 programs to act as database front- ends. You are required to use Python 3 for this assignment (if you use Python 2, or any other language, your submission will not be marked).

len1934611

4/9/2018 3:45:49 AM

The database schema is well designed (using a normalized data model and obeying the style requirements/best practices covered by CSC 370) and consistent. In particular, primary keys are specified for every table and foreign keys are defined where applicable. The suite of data entry and report programs functions correctly on test sequences containing strictly valid data (with no violations of any constraints). Note that you may still receive these marks even if some of the constraints are enforced on the client side.

len1934611

4/9/2018 3:45:43 AM

The suite of data entry and report programs functions correctly on test sequences containing invalid data. Errors with input data must be properly handled, and in- consistent data must not be added to the database. Note that you may still receive these marks even if some of the constraints are enforced on the client side. All constraints and data validation logic are integrated into the database schema instead of being enforced by the client-side programs. When this has been done correctly, the Python programs will perform the bare minimum amount of processing (all data validation, data processing and constraint enforcement is handled on the server-side), and it will be impossible to add invalid data to the database, even if manual insertion statements are used instead of the client-side data entry programs.

Write a Review

Database Management System Questions & Answers

  Knowledge and data warehousing

Design a dimensional model for analysing Purchases for Adventure Works Cycles and implement it as cubes using SQL Server Analysis Services. The AdventureWorks OLTP sample database is the data source for you BI analysis.

  Design a database schema

Design a Database schema

  Entity-relationship diagram

Create an entity-relationship diagram and design accompanying table layout using sound relational modeling practices and concepts.

  Implement a database of courses and students for a school

Implement a database of courses and students for a school.

  Prepare the e-r diagram for the movie database

Energy in the home, personal energy use and home energy efficiency and Efficient use of ‘waste' heat and renewable heat sources

  Design relation schemas for the entire database

Design relation schemas for the entire database.

  Prepare the relational schema for database

Prepare the relational schema for database

  Data modeling and normalization

Data Modeling and Normalization

  Use cases perform a requirements analysis for the case study

Use Cases Perform a requirements analysis for the Case Study

  Knowledge and data warehousing

Knowledge and Data Warehousing

  Stack and queue data structure

Identify and explain the differences between a stack and a queue data structure

  Practice on topic of normalization

Practice on topic of Normalization

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