1
Fork 0
mirror of https://github.com/Steffo99/alexandria.git synced 2024-11-24 06:24:20 +00:00
bdd-2020-alexandria/3-2-gerarchie.md

23 lines
1.3 KiB
Markdown

# Classificazione delle gerarchie
Nello schema scheletro di Alexandria compaiono **due gerarchie IsA**, rappresentate da frecce continue blu.
## Gerarchia degli `Elementi`
![](img/3-2-gerarchie/gerarchia-1.png)
Il tipo di dato alla base di Alexandria è l'`Elemento`.
Un `Elemento` rappresenta una aggiunta da parte di un utente alla propria libreria di un libro, film o videogioco.
Nella [descrizione](1-descrizione.md) si specifica che tutti gli `Elementi` devono avere uno _stato_ e una _provenienza_ specifici al tipo di `Elemento`; è quindi necessaria la distinzione dei vari tipi di `Elemento` e creando così una gerarchia **esclusiva** (un `Elemento` non può essere sia un libro sia un film allo stesso tempo).
Si è deciso di rendere **non totale** la gerarchia in modo da permettere l'introduzione di nuovi tipi di `Elementi` in futuro.
## Gerarchia delle `Edizioni`
![](img/3-2-gerarchie/gerarchia-2.png)
La [descrizione](1-descrizione.md) prevede che le `Edizioni` dei libri e degli audiolibri abbiano attributi diversi: i libri hanno il _numero di pagine_ e l'immagine della loro _copertina_, mentre gli audiolibri hanno la _durata_ e la _cover art_ ad essi associata.
Si viene a creare così una gerarchia **totale** (un'Edizione è o libro o audiolibro) ed **esclusiva** (una edizione non può essere sia libro sia audiolibro).