mirror of
https://github.com/Steffo99/alexandria.git
synced 2024-11-29 00:44:18 +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.
|
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).
|
The specification for the project is available [in the `spec.pdf` file](/spec.pdf).
|
||||||
|
|
||||||
## Progress
|
## Tasks
|
||||||
|
|
||||||
- [x] [Descrizione](/descrizione.md)
|
- [x] [Descrizione](/descrizione.md)
|
||||||
- [x] [Glossario](/glossario.md)
|
- [x] [Glossario](/glossario.md)
|
||||||
- [x] Utenti
|
- [x] [Schema scheletro](/schema-scheletro.drawio)
|
||||||
- [x] Elementi
|
- [x] [Identificazione delle autoassociazioni](/autoassociazione.md)
|
||||||
- [x] Recensioni
|
- [x] [Identificazione delle chiavi esterne](/chiaviesterne.md)
|
||||||
- [x] Libri
|
- [ ] ...?
|
||||||
- [x] Film
|
- [x] [Schema finale](/schema-finale.drawio)
|
||||||
- [x] Giochi
|
|
||||||
- [ ] Progettazione concettuale
|
## Compiling
|
||||||
- [x] [Schema scheletro](/schema-scheletro.drawio)
|
|
||||||
- [ ] Diagrammi ER
|
### Requirements
|
||||||
- [ ] Schema ER finale
|
|
||||||
- [ ] Progettazione logica
|
- [Pandoc](https://pandoc.org/)
|
||||||
- [ ] Eliminazione delle gerarchie
|
- [MiKTeX](https://miktex.org/)
|
||||||
- [ ] Selezioni chiavi primarie
|
|
||||||
- [ ] Trasformazione degli attributi composti o multipli
|
### Instructions
|
||||||
- [ ] Traduzione di entità e associazione in schemi di relazioni
|
|
||||||
- [ ] Verifica di normalizzazione
|
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:
|
||||||
- [ ] Operazioni previste dalla base di dati
|
|
||||||
- [ ] Creazione
|
```bash
|
||||||
- [ ] Inserimento
|
pandoc -o filename.pdf filename.md
|
||||||
- [ ] Interrogazione
|
```
|
||||||
- [ ] Modifica
|
|
||||||
- [ ] Eliminazione
|
|
||||||
- [ ] Extra
|
|
||||||
- [x] Dare un nome al progetto
|
|
||||||
- [ ] Unire i file markdown in un unico .pdf <!--Magari usando pandoc?-->
|
|
||||||
|
|
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