Please enable JavaScript.
Coggle requires JavaScript to display documents.
PROGETTAZIONE di un DATABASE, MODELLAZIONE DEI DATI FASI 1 - 2 - 3 -…
PROGETTAZIONE
di un DATABASE
DEFINIZIONE
Progettare le strutture, prima logiche e poi fisiche in modo da raccogliere i dati che un utente ha bisogno.
FASE 2:
CONCETTUALE
COMPLETEZZA
Tutti gli aspetti rilevanti della realtà devono essere modellati
CHIAREZZA
Il modello deve essere leggibile e rappresentare le informazioni in maniera comprensibile
CORRETTEZA
Uso corretto degli strumenti
INDIPENDENZA
Dallo strumento informatico che verrà utilizzato
FASE 1: ANALISI
tecnica/strategie
di progettazione
BOTTON/UP
Si parte da suddivisioni specifiche (semplici schemi) per arrivare ad uno schema lintegrato
INSIDE/OUT
Lo schema si sviluppa a macchia d'olio partendo dai concetti più importanti aggiungendo quelli a essi correlati
TOP/DOWN
Si parte da uno schema molto astratto ma completo che viene successivamente raffinato fino ad arrivare a uno schema finale
FASE 4:
FISICA - IMPRENDITORIALE
Completamento dello schema logico in funzione dell'organizzazione fisica.
FASE 5:
REALIZZAZIONE
Progetto e realizzazione delle procedure atte a soddisfare le richieste specifiche del programma.
FASE 3:
LOGICA
creazione di uno schema secondo
uno dei seguenti modelli:
RELAZIONALE
sviluppato da Edgar Frank Codd
all'inizio degli anni 70
pubblica l'articolo "modello per l'archiviazione di grandi banche di dati" dove struttura attraverso
TABELLE e RELAZIONI
AD OGGETTI
rappresentabile utilizzando il paradigma "Object-Oriented"
anni 80
OODBMS
Jasmine sviluppato dalla Fujitsu nei anni 90' o PostgreSQL realizzato nell'università della California Berkeley completamente opensorce
nuova frontiera nella ricerca sui database, hanno la possibilità di definire nuovi tipi di dati e comportamenti che vengono inglobati nello stesso oggetto classe
RETICOLARE
rappresentabile tramite un grafo
fine anni 60
Estensione del
modello gerarchico
dove non esiste alcuna radice ma ogni nodo può essere il punto di partenza per raggiungere un determinato campo.
Ogni padre può avere molti figli, e ogni figlio può avere molti padri Relazione: molti a-molti (N:N)
Record connettori
: puntatori (freccia) che permettono di accedere ai dati più facilmente
SVANTAGGI
Se i dati non sono direttamente connessi la loro ricerca è difficoltosa.
Estremamente rigido in caso di modifiche successive alla sua creazione.
Per realizzare due reticoli indipendenti è necessario duplicare i dati (ridondanza).
I link sono realizzati con i puntatori, quindi esiste uno spreco di spazio di memoria.
XML
rappresentabile attraverso tag
primi anni 90
non è proprio un database ma condivide i markup del HTML, i tag sono liberi e descrivono quanto racchiuso tra parentesi angolari
GERARCHICO
rappresentabile tramite un albero
primi anni 60
Frase
è soggetta al modello -> Ogni padre può avere molti figli, ma ogni figlio può avere un solo padre
Relazione: 1 a-molti (1:N)
SVANTAGGI
Tra lo schema logico e la realizzazione fisica esiste una dipendenza stretta e vincolante
Le operazioni di ricerca non sono efficienti in quanto sono viste ad alberi generici e solo nel caso siano di tipo gerarchico sarebbero di semplice realizzazione
Segmento
è l'elemento del sottoalbero
Radice
è il record principale da cui partono uno o più sottoalberi
NoSql
rappresentabile tramite approcci ibridi
fine anni 60
schema fisso delle tabelle (elenco di nome e campi, tipologia e con chiave primaria che identifica univocamente la riga della tabella
ESEMPI
MongoDb è orientato ai documenti senza schema rigido
Neo4j utilizza graffi (come il reticolare)
Firebase costruisce un albero JSON
Redis, Memcached, HBase realizzano un database basato sull modello array associativo
Cassandra, Big Table, SimplDB immagazzina dati in sezioni di colonne (utilizzato da facebook, google e amazon)
presenza di una relazione tra 2 o più campi di tabelle collegate mediante una chiave esterna per garantire l'integrità referenziale
utilizzo di tabelle e campi per memorizzare i dati
accesso ai dati con la proprietà ACID
non individua un linguaggio specifico ma raggruppa un'insieme di tecnologia per la persistenza dei dati
MODELLAZIONE DEI DATI
FASI 1 - 2 - 3