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

  Write a 2 page research paper on the turing and von neumann

write a 2 page research paper on the turing and von neumann models. compare and contrast each and discuss which model

  Create a database containing one table about airplanes

Boyd Air is a national airline company. For this project, you will create a database, containing one table, to store information about the airplanes in Boyd Air's fleet

  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

  Create a new table using the create table command

Obtain the columns names and data types of the view USER_TABLES using the DESCRIBE command. Retrieve the names of all the tables of a user's database tables using the SELECT table_name FROM user_tables; command.

  Develop an er model for the data management

Implement the data modelling for a database that is based on the application scenario - develop an ER model for the data management

  Explore the database to understand what it is about

explore the database to understand what it is about then close your Microsoft Access

  Display all the lastnames from the customers table

Display all the LastNames from the Customers table and any associated OrdersIDs from the Orders Table. Show the LastName even if they do not have any associated orders. Order the results by LastName in ascending order.

  Briefly discuss your analysis plan

Briefly summarize your findings, conclusions, and clearly communicate the impact or meaning of what you have discovered.

  What are the benefits of dna databases

What are the benefits of DNA databases? What problems do DNA databases pose? Who should be included in a national DNA database? Should one be limited to convicted felons? Explain your answer.

  Graph the bond yield to maturity

Identify two possibly mispriced bond issues, one overpriced and one underpriced. and graph the bond yield to maturity (YTM) on the y-axis of an XY-scatter plot, with the bond to maturity in years on the x-axis.

  Develop two table using the same process of accounting cycle

Develop at least two tables, using the same process of the accounting cycle selected for your previous Learning Team assignments, that could be used in a database for your selected accounting cycle.

  Create sql queries

se the form to add 10 more records and save the database with the extra records. Create SQL queries

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