Design a database schema for student registration database

Assignment Help Database Management System
Reference no: EM131934591

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

Attachment:- Assignment Files.rar

Reference no: EM131934591

Questions Cloud

How does international trade affect economic well-being : Who gains and who loses from free trade among countries, and how do the gains compare to the losses?
How will you analyze your data : Imagine that your Learning Team has received funding to study changes in sexual attitudes over time. Your task is to design a developmental research study.
What devices are the hearing impaired use for everyday life : What strives has society made into accepting the deaf community? What devices are the hearing impaired use for everyday life?
Capital structure weights on book and market value basis : What are the company's capital structure weights on a book value basis? What are the company’s capital structure weights on a market value basis?
Design a database schema for 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
What do economists mean by the acronym tanstaafl : How would this concept apply to the policy of giving everyone "free" college tuition? Use the concepts of efficiency and equity to support your explanation.
Review the articles and provide a review of the literature : Find peer reviewed journal articles about a topic regarding abnormal behavior. Try to keep research current (no articles past 2000 unless it is something very i
Was henry physically abusive : Was Henry physically abusive? Why or why not? Was Henry merely very emotionally expressive or did his behavior cross the line into abuse ?
Trying to determine how many permits to issue : The town councils have decided to issue permits to trap lobsters and they are trying to determine how many permits to issue. The economics of the situation is:

Reviews

len1934591

4/9/2018 3:40:07 AM

If a student S is enrolled in a course offering F , they may be assigned a final grade. Final grades are integers and must be in the range 0 through 100 (inclusive). A particular student may not be assigned more than one grade for a single course offering. However, one student may take multiple offerings of the same course and receive a grade for each of them. Additionally, it is not required for a student to be assigned any grade for a particular course offering (so the database must permit grades for a course to be absent).

len1934591

4/9/2018 3:40:01 AM

Constraints to enforce: To receive a grade for a course offering, the student must already be enrolled in that course offering (and, by extension, all of the constraints governing enrollment must have already been checked and enforced). The grade must be in the range 0 to 100 (inclusive).

len1934591

4/9/2018 3:39:56 AM

The marks are distributed among the components of the assignment as follows. 4 Marks –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. 7 Marks - 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.

len1934591

4/9/2018 3:39:48 AM

7 Marks - 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. 10 Marks - 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