Ask DBMS Expert


Home >> DBMS

Purpose

- To give you exposure to
? creating a program that
- connects to a database
- writes, reads and updates the data in the database
? writing the interface between a database and a user
? creating a client/server program that runs on the internet, serves up a page that runs on the client side (the users browser) and
also connects to a back end database on the server side (your virtual machine)

Instructions

Using the following database:

https://owl.uwo.ca/access/content/group/c345a70e-0aae-48d4-8b8e- 5d18c599ee54/Other/MovieTheatre.sql

(also linked in the "Assignment 3 DB" page on the left) and your virtual machine, Python/Flask and MySQL, create a website on your machine that allows a theatre company to manage the viewing of it's movie screenings.

There will be two parts to the assignment:

Part 1: The Back End:

The staff who work at a theatre must be able to:
- Movies
? add movies
? delete movies
? modify movies
? list all movies and all attributes (except genre) sorted alphabetically by movie name
- Genres:
? add a genre to a movie
? delete a genre from a movie
? list all genres and the movie the genre is for sorted alphabetically by genre (include the movie name only)
- Rooms:
? add rooms
? delete rooms
? modify rooms
? list the rooms and all attributes
- Showings
? add showings
? delete showings
? modify showings
? list all the showings and all attributes sorted by date of the showing
- Customer
? add customers
? delete customers
? modify customers
? list all the customers and all attributes sorted by last name
- Attend
? list all the paid for attendances and all attributes,
? along with customer first name and last name
? along with showing and showing date/time
? along with movie and movie title
? sorted by rating

Part 2: The Front End:
The customers of the theatre must be able to:
- allow a customer to search all the showings by searching (give a warning if there are no seats left for a showing):
? a selected genre (use a dropdown input box from all existing genres in the database)
? a range of dates (use two dropdowns to select a start and end date from all existing dates in the database)
? a showing that still has seats available (checkbox)
? a movie title (free-form input box)

? (Hint: How many seats are left are determined by {room capacity for a showing} - {the total tickets purchased for that showing})
- allow a customer to attend a showing
? select their name and any showing, and "buy" a ticket for it (ie. insert a new entry in the Attend table).
- allow a customer to rate a showing
? select their name and a showing they attended, and give a rating (a number of stars between 1 and 5) (ie. update an existing entry in the Attend table)
- allow a customer to select their name and see all the movie titles and ratings for the movies he/she has viewed
- allow a customer to select their name and see his/her profile (all the info about the customer)

Part 3: SQL Injection attack:
- Demonstrate a vulnerable page by not using parameterized queries (also known as prepared statements).
? Build a second page that does not use parameterized queries. When a customer is searching for a movie, it should be possible to use a SQL injection attack to view ALL customers at once in the database.

Part 4: Bonus (up to +10%):
- Movie Posters:
? Modify the database to allow a staff member to add a movie poster image that is added when the movie is added (it will never be updated or added after the fact). The image should somehow be displayed. Assume that all the poster images will be 240 pixels by 360 pixels.
? When the customer views a list of showings based on the movie title, display the movie poster (if one was uploaded) to the user.
- Design
? TAs will grant an extra 5% if your application has some kind of a modern layout and design. Using Bootstrap (see links above) is a good option. There are other template types out there or you can design one from scratch.

DBMS, Programming

  • Category:- DBMS
  • Reference No.:- M92050579

Have any Question?


Related Questions in DBMS

Data mining assignment -in this assignment you are asked to

Data Mining Assignment - In this assignment you are asked to explore the use of neural networks for classification and numeric prediction. You are also asked to carry out a data mining investigation on a real-world data ...

Sql query assignment -for this assignment you are to write

SQL Query Assignment - For this assignment you are to write your answers in a word document. This assignment is in three parts: Part A (reporting queries), Part B (query performance), Part C (query design). For this assi ...

The groceries datasetimagine 10000 receipts sitting on your

The groceries Dataset Imagine 10000 receipts sitting on your table. Each receipt represents a transaction with items that were purchased. The receipt is a representation of stuff that went into a customer's basket. That ...

You are in a real estate business renting apartments to

You are in a real estate business renting apartments to customers. Your job is to define an appropriate schema using SQL DDL in MySQL. The relations are Property(Id, Address, NumberOfUnits), Unit(ApartmentNumber, Propert ...

Objectivethe objective of this lab is to be familiar with a

OBJECTIVE: The objective of this lab is to be familiar with a process in big data modeling. You're required to produce three big data models using the MS PowerPoint software. This tool is available on UMUC Virtual Deskto ...

The relation memberstudentid organizationid roleid stores

The relation Member(StudentId, OrganizationId, RoleId) stores the membership information of student joining organization. For example, ('S1', 'O2', 'R3') indicates that student with Id 'S1' joined the organization with i ...

Relational database exerciseyou have been assigned to a new

Relational Database Exercise: You have been assigned to a new development team. A client is requesting a relational database system to manage their present store with the anticipation of adding more stores in the future. ...

Relational database design a given the following business

Relational Database Design A) Given the following business rules, identify entity types, attributes (at least two attributes for each entity, including the primary key) and relationships, and then draw an Entity-Relation ...

We can represent a data set as a collection of object nodes

We can represent a data set as a collection of object nodes and a collection of attribute nodes, where there is a link between each object and each attribute, and where the weight of that link is the value of the object ...

Data model development and implementationpurpose of the

Data model development and implementation Purpose of the assessment (with ULO Mapping) The purpose of this assignment is to develop data models and map Database System into a standard development environment to gain unde ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As