Please enable JavaScript.
Coggle requires JavaScript to display documents.
Progettagione di un DATA BASE, Modellazione dei dati fasi 1, 2, 3, Fasi 4…
Progettagione di un DATA BASE
Definizione
Progettare le strutture, prima logiche e poi fisiche, in modo da accogliere i dati di cui un utente ha bisogno
Fase 1
Analisi
Tecniche/Strategie di progettazione
Botton/Up
Si parte da suddivisioni specifiche (semplici schemi) per arrivare ad uno schema integrato
Inside/Out
Lo schema si sviluppa a macchia d’olio, partendo da concetti più importanti aggiungendo quelli ad esso correlati
Top/Down
Si parte da uno schema molto astratto ma completo che viene successivamente raffinato fino ad arrivare ad uno schema finale.
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
Correttezza
uso corretto degli strumenti
Indipendenza
... dallo strumento informatico che verrà utilizzato
Fase 4
Fisica - Implementazione
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
Realizzato da Edgar Frank Codd all' inizio degli anni '70
pubbloca l'articolo "modello per l'archiviazione di grandi banche di dati" dove struttura attraverso TABELLE e RELAZIONI
Ad oggetti
Rappresentabile utilizzando il paradigma
"Objekt-Oriented" (anni '80)
OODBMS (Objekt Oriented DBMS)
es: Jasmine sviluppato dalla Fujisu alla fine degli anni '90
ORDBMS ( Objekt relation DBMS)
es: PostgreSQL, realizzato all università della California a Barkeley completamente open source
Nuova frontiera nella ricerca sui database, hanno la possibilitàdi definire nuovi tipi di dati e comportamenti che vengono inglobati nello stesso progetto (classe)
Reticolare
Rappresentabile tramite un grafo (fine anni '60)
ESTENSIONE DEL MODELLO GERARCHICO
: dove non esiste alcuna radice ma ogni nodo puù esere il punto di partenza per aggiungere un determinato campo
Ogni padre può avere tanti figli e ogni figlio può avere molti padri
Relazione molti-a-molti N a N (si indica N:N)
RECORD CONNETTORI
: punatore (freccia) che permette di accedere ai dati più facilmente
SVANTAGGI
Per realizzare due reticoli indipendenti è necessario duplicare i dati (ridondanza)
Se i dati non sono direttamente connessi la loro ricerca è difficoltosa
I link sono realizzatii con i puntatori, quindi esiste uno spreco di spazio di memoria
Estremamente rigido in caso di modifiche successive alla sua creazione
XML
Rappresentabile attraverso TAG (primi anni '90)
Non è proprio un modello di Database ma condivide i markeup dell'HTML; i TAG sono liberi e descrivono quanto racchiuso tra parentesi angolari <>
Gerarchico
Rappresentabile tramite un albero
(primi anni '60)
Segmento:
elemento del ramo
Ogni padre può avere tanti figli ma ogni figlio ha solo un padre
Relazione uno-a-molti 1 a N (si indica 1:N)
Radice:
recordo principale da cui partono
uno o più sottoalberi (rami)
Svantaggi
tra lo schema logico e la realizzazione fisica esiste una dipendenza stretta e vincolante
le operazioni di ricerca non sono efficienti in quantgo sono viste ad alberi generici e solo nel caso siano di tipo gerarchico sarebbe di semplice realizzazione
NoSql
(Not only Strucrtured Query Language)
rappresentabile tramite
approcci ibrdi (fine anni '90)
Caratteristiche
Utilizzo di tabelle e campi per memorizzare i dati
Presenza di una relazione tra due o più campi di tabelle collegate mediante una chiave esterna, per garantire l'integrità preferenziale
Non individua un linguaggio specifico ma raggruppa un isnieme di tecnologie per la persistenza dei dati
Schema fisso delle tabelle (nome, elenco di campi e tipoligia), con chiave primaria che identifica univocalmente una riga della tabella
Accesso ai dati con la proprietà ACID
Esempi di maggior successo
Mogno DB
Orientato ai documenti senza schema rigido
Firebase
Costruisce un albero json (java script object notation)
Redis, Memcached, HBase
basato sull' aray associativo
Cassandra, Big Table, Simple DB
Immagazzina dati in sezioni di colonne (utilizzato da facebook, google e amazon)
Neo4j
Utilizza graffi (come il reticolare)
Modellazione dei dati fasi 1, 2, 3
Data Modelling: rappresentazione astratta dei dati di un Database
Fasi 4 e 5: Modellazione funzionale
Fabio Bertolani 4B