Database suitable for managing a museum's data with various possibilities for user interactions. Languages: SQL Database: PostgreSQL
Various scripts to implement a relational Database, including the part of defining tables, populating and testing queries
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.
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. |
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.