Please enable JavaScript.
Coggle requires JavaScript to display documents.
PROGETTAZIONE di un DATABASE, MODELLAZIONE FUNZIONALE FASI 4 - 5,…
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 1: ANALISI
tecnica/strategie di progettazione
TOP - DOWN
Si parte da uno schema molto astratto ma completo che viene successivamente raffinato fino ad arrivare uno schema finale
BOTTOM - 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 dai concetti più importanti aggiungendo quelli a essi correlati
FASE 5: REALIZZAZIONE
Progetto e realizzazione delle procedure atte a soddisfare le richieste specifiche del programma
FASE 4: FISICA - IMPLEMENTAZIONE
Completamento dello schema logico in funzione dell’organizzazione fisica
FASE 3: LOGICA
creazione di uno schema secondo uno dei seguenti modelli:
GERARCHICO
primi anni 60
rappresentabile tramite un albero
SEGMENTO
: il segmento è l'elemento del sottoalbero
Ogni padre può avere molti figli, ma ogni figlio può avere un solo padre
Relazione uno-a-molti (1:N)
RADICE
: record principale da cui partono uno o più sottoalberi
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 visite ad alberi generici e solo nel caso siano di tipo gerarchico sarebbero di semplice realizzazione
RETICOLARE
fine anni 60
rappresentabile tramite un grafo
SVANTAGGI
estremamente rigido in caso di modifiche successive alla sua creazione
I link sono realizzati con i puntatori, quindi esiste uno spreco di spazio di memoria
se i dati non sono direttamente connessi la loro ricerca è difficoltosa
per realizzare due reticoli indipendenti occore duplicare i dati (ridondanza)
Ogni padre può avere molti figli, e ogni figlio può avere tanti padri
Relazione molti-a-molti (N:N)
Estensione del modello gerarchico
: dove non esiste alcuna radice ma ogni nodo può essere il punto di partenza per raggiungere un determinato campo
Record connettori
: sono dei puntatori (frecce) che permette di far accedere ai dati più facilmente
RELAZIONALE
sviluppato da Edgar Frank Codd
all'inizio degli anni 70
pubblica l'articolo "modello per
l'archiviazione di grandi banche
di dati" dove la struttura attraverso
TABELLE e RELAZIONI
AD OGGETTI
anni 80
rappresentabile utilizzando il paradigma
"Object - Oriented"
OODBMS -> acronimo di
Object Oriented DBMS
Jasmine sviluppato dalla Fujitsu alla fine degli anni 90'
ORDBMS -> acronimo di *Object Relational Database Management System
PostgreSQL realizzato dall'università di California a Berkeley completamente Opensource
Nuova frontiera nella ricerca
: sui database hanno la possibilità di definire nuovi tipi di dati e comportamenti che vengono inglobati nello stesso oggetto (classe)
XML
anni 90
rapppresentabile attraverso tag
Non è proprio un modello di database ma condivide i markup dell' HTML, i tag sono liberi e descrivono in quanto racchiuso tra parentesi angolari (<>)
NoSql
Not Only Structure Query Language
rappresentabile tramite approcci
ibridi fine anni 90
caratteristiche
Schema fisso delle tabelle ( elenco di nome, elenco di campi e di tipologia con chiave primaria che identifica univocamente la riga della tabella)
Utilizzo di tabelle e campi per memorizzare i dati
Non individua un linguaggio specifico ma raggruppa un insieme di tecnologie per la persistenza dei dati
Presenza di una relazione tra due o più campi di tabelle collegate mediante chiavi esterne per garantire l'integrità referenziale
Accesso ai dati con la proprietà ACID
ESEMPI di maggior successo
Mongo DB
: è orientato ai documenti senza schema rigido
Redis , Memcached, HBase
: basato sulla RAY associativo
Neo4j
: utilizza graffi (come reticolare)
Cassandra, Big Table, Simple DB
: immagazzina dati in sezione di colonne (utilizzato da Facebook, Google, Amazon)
Firebase
: costruisce un albero JSON (Javascript Object Notation)
FASE 2: CONCETTUALE
CORRETEZZA
Uso corretto degli strumenti
COMPLETEZZA
tutti gli aspetti rilevanti della realtà devono essere modellati
CHIAREZZA
il modello deve essere leggibile e rappresentare le informazioni in maniera comprensibile
INDIPENDENZA
dallo strumento informatico che verrà utilizzato
MODELLAZIONE FUNZIONALE FASI 4 - 5
MODELLAZIONE DEI DATI FASI 1- 2 - 3
Data Modelling: consiste in una rappresentazione astratta delle strutture dei dati di un database
Wu Hui Ya