mirror of
https://github.com/Steffo99/alexandria.git
synced 2024-11-22 05:44:19 +00:00
Aggiorna... un po' di tutto
This commit is contained in:
parent
d5a647c989
commit
6b2567a50e
8 changed files with 53 additions and 32 deletions
|
@ -1,13 +1,13 @@
|
|||
# Esempio di autoassociazione
|
||||
# Identificazione delle autoassociazioni
|
||||
|
||||
Nel progetto alexandria, ogni elemento (libro, film o videogioco che sia) è collegato ad una sua pagina in cui vengono visualizzate alcune informazioni salienti quali l'autore, la casa produttrice o simili.
|
||||
Nel progetto `alexandria`, ogni libro, film o videogioco è collegato ad una sua pagina in cui vengono visualizzate alcune informazioni salienti su di esso quali l'autore, la casa produttrice o simili.
|
||||
|
||||
Oltre alle informazioni già presenti in ciascuna pagina, sarebbe stato utile all'utente avere, per ogni libro, film o videogioco, anche una lista di elementi ad esso correlati, come ad esempio il sequel di un film, o un libro ambientato nello stesso universo narrativo.
|
||||
Oltre alle informazioni già presenti in ciascuna pagina, si è pensato che sarebbe stato utile all'utente avere, per ogni libro, film o videogioco, anche una lista di elementi ad esso correlati, come ad esempio i sequel di un film, o altri libri ambientati nello stesso universo narrativo.
|
||||
|
||||
Perciò è stato deciso di inserire, per ognuna di queste tre categorie, una autoassociazione come quella in figura:
|
||||
Pertanto si è deciso di inserire, per ognuna di queste tre categorie, una autoassociazione come quella in figura:
|
||||
|
||||
![](https://raw.githubusercontent.com/Steffo99/alexandria/master/Images/Autoassociazione.png)
|
||||
![](/img/autoassociazione.png)
|
||||
|
||||
Un altra opzione precedentemente presa in considerazione fu quella di inserire un'unica autoassociazione, in corrispondenza dell'entità Elemento.
|
||||
|
||||
Questa opzione venne però scartata per ragioni di logica. L'entità Elemento, infatti, rappresenta una singola _istanza_ di un libro, film o videogioco, e sarebbe stato insensato collegare ciascuna istanza a tutte le altre, servivano entità più generali.
|
||||
Questa opzione venne però scartata per ragioni di logica. L'entità Elemento, infatti, rappresenta una singola _istanza_ di un libro, film o videogioco, e sarebbe stato insensato collegare ciascuna istanza a tutte le altre, in quanto ciò avrebbe portato a un numero elevatissimo di collegamenti.
|
||||
|
|
Binary file not shown.
Binary file not shown.
13
Makefile
Normal file
13
Makefile
Normal file
|
@ -0,0 +1,13 @@
|
|||
all: descrizione.pdf glossario.pdf autoassociazione.pdf chiaviesterne.pdf
|
||||
|
||||
descrizione.pdf: descrizione.md
|
||||
pandoc -o descrizione.pdf descrizione.md
|
||||
|
||||
glossario.pdf: glossario.md
|
||||
pandoc -o glossario.pdf glossario.md
|
||||
|
||||
autoassociazione.pdf: autoassociazione.md
|
||||
pandoc -o autoassociazione.pdf autoassociazione.md
|
||||
|
||||
chiaviesterne.pdf: chiaviesterne.md
|
||||
pandoc -o chiaviesterne.pdf chiaviesterne.md
|
47
README.md
47
README.md
|
@ -12,32 +12,27 @@ Made as a collaboration between [@Steffo99](https://github.com/Steffo99/) and [@
|
|||
|
||||
The specification for the project is available [in the `spec.pdf` file](/spec.pdf).
|
||||
|
||||
## Progress
|
||||
## Tasks
|
||||
|
||||
- [x] [Descrizione](/descrizione.md)
|
||||
- [x] [Glossario](/glossario.md)
|
||||
- [x] Utenti
|
||||
- [x] Elementi
|
||||
- [x] Recensioni
|
||||
- [x] Libri
|
||||
- [x] Film
|
||||
- [x] Giochi
|
||||
- [ ] Progettazione concettuale
|
||||
- [x] [Schema scheletro](/schema-scheletro.drawio)
|
||||
- [ ] Diagrammi ER
|
||||
- [ ] Schema ER finale
|
||||
- [ ] Progettazione logica
|
||||
- [ ] Eliminazione delle gerarchie
|
||||
- [ ] Selezioni chiavi primarie
|
||||
- [ ] Trasformazione degli attributi composti o multipli
|
||||
- [ ] Traduzione di entità e associazione in schemi di relazioni
|
||||
- [ ] Verifica di normalizzazione
|
||||
- [ ] Operazioni previste dalla base di dati
|
||||
- [ ] Creazione
|
||||
- [ ] Inserimento
|
||||
- [ ] Interrogazione
|
||||
- [ ] Modifica
|
||||
- [ ] Eliminazione
|
||||
- [ ] Extra
|
||||
- [x] Dare un nome al progetto
|
||||
- [ ] Unire i file markdown in un unico .pdf <!--Magari usando pandoc?-->
|
||||
- [x] [Schema scheletro](/schema-scheletro.drawio)
|
||||
- [x] [Identificazione delle autoassociazioni](/autoassociazione.md)
|
||||
- [x] [Identificazione delle chiavi esterne](/chiaviesterne.md)
|
||||
- [ ] ...?
|
||||
- [x] [Schema finale](/schema-finale.drawio)
|
||||
|
||||
## Compiling
|
||||
|
||||
### Requirements
|
||||
|
||||
- [Pandoc](https://pandoc.org/)
|
||||
- [MiKTeX](https://miktex.org/)
|
||||
|
||||
### Instructions
|
||||
|
||||
To create PDF files from the Markdown sources in this project, you can run the Makefile with the `make` command, or compile them manually with the following command:
|
||||
|
||||
```bash
|
||||
pandoc -o filename.pdf filename.md
|
||||
```
|
||||
|
|
13
chiaviesterne.md
Normal file
13
chiaviesterne.md
Normal file
|
@ -0,0 +1,13 @@
|
|||
# Identificazione delle chiavi esterne
|
||||
|
||||
In `alexandria`, ogni utente potrà pubblicare una recensione riguardante un qualsiasi elemento della sua libreria (libro, film, videogioco...), con un testo e una valutazione da 0 a 100.
|
||||
|
||||
Le recensioni di ogni utente saranno visualizzate nella pagina del libro, film o videogioco che esse riguardano, e nella pagina del profilo dell'utente che le ha pubblicate.
|
||||
|
||||
Si è pensato sarebbe stato appropriato permettere alle recensioni di essere associate agli elementi della libreria di ogni utente.
|
||||
|
||||
![](/img/chiaviesterne.png)
|
||||
|
||||
Essendo la relazione `riguardante` tra `Elemento` e `Recensione` una relazione opzionale 1 a 1, si è deciso di utilizzare come chiave dell'entità `Recensione` l'ID dell'`Elemento` che riguarda.
|
||||
|
||||
Questa scelta rende semplici e veloci le interrogazioni per trovare recensioni create da uno specifico utente e recensioni riguardanti un dato libro, film o videogioco: in entrambi i casi, è richiesto l'uso di un solo `JOIN`.
|
Before Width: | Height: | Size: 8.1 KiB After Width: | Height: | Size: 8.1 KiB |
BIN
img/chiaviesterne.png
Normal file
BIN
img/chiaviesterne.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 14 KiB |
Loading…
Reference in a new issue