Skip to content

Latest commit

 

History

History
35 lines (33 loc) · 2.04 KB

README.md

File metadata and controls

35 lines (33 loc) · 2.04 KB

Museum-DB

Database suitable for managing a museum's data with various possibilities for user interactions. Languages: SQL Database: PostgreSQL

Introduction

Various scripts to implement a relational Database, including the part of defining tables, populating and testing queries

Description

The database is designed to manage a platform for a museum. Users who visit it have the ability to both comment on artworks and make stories about multiple artworks to give a personal opinion. The various SQL scripts implement various pieces of the database:

  • DDL: to define the various tables and integrity constraints
  • DMLPOP: to populate various tables with fake data
  • DMLUPD: to update various table rows
  • SQL: to test the various features of the system by making different types of queries

Below are the various scheme describing the structure of the database.

ER Scheme

screen

Relational Scheme

screen

Integrity Constraints

Num Description
R1 One Annotazione must be created by a Utente
R2 One Annotazione must refer to an existant Opera
R3 A Domanda must refer to an Annotazione, if the Utente has decided to enter it.
R4 A Storia must be created by a Utente.
R5 A Storia must be associated with a minimum of 2, maximum of 3 Works.
R6 A Storia must have an ID that identifies it.
R7 A Opera must have an Artist.
R8 An Artista must be the author of at least 1 Work.
R9 A Raccomandazione must reference another Storia characterized by a relationship between the first and second Storia (similar, equal, opposite).
R10 A Ranking to a Storia can exist only if the Storia exists.
R11 A Gruppo must have only 1 Supervisor.
R12 Users must register by providing email, name, gender, date of birth.

Contributing

Contribution to budget-app is welcome! If you have an idea for a new feature or bug fix, please open an issue or a pull request.