Please enable JavaScript.
Coggle requires JavaScript to display documents.
PROGETTAZIONE DI UN DATA BASE, MODELLAZIONE DEI DATI …
PROGETTAZIONE DI UN DATA BASE
Definizione
Progettare un database significa progettare le strutture, prima logiche e quindi fisiche, di un database in modo che possano accogliere nel modo migliore possibile i dati di cui un utente ha bisogno
FASE 1: ANALISI
Tecnica/Strategie di progettazione
BOTTOM - UP
Si suddividono le specifiche in modo da svillupare semplici schemi parziali ma dettagliati, che poi vengono integrati tra loro
INSIDE - OUT
Lo schema si sviluppa a "macchia d'olio", partendo dai concetti più importanti, aggiungendo quelli a essi correlati, e così via
TOP - DOWN
Si parte da uno schema iniziale molto astratto ma completo, che viene successivamente raffinato fino ad arrivare allo 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, o modifica, dello schema logico in funzione dell'organizzazione fisica dei dati e dei meccanismi per operare su di essi(partizioni, puntatori, blocchi fisici, cluster, indici)
FASE 5: REALIZZAZIONE
Progetto e realizzazione delle procedure atte a soddisfare le richieste specificate nel progetto utilizzando gli strumenti informatici di alto livello (linguaggi di programmazione e di interrogazione)
FASE 3: LOGICA
Creazione di uno schema secondo uno dei seguenti modelli:
GERARCHICO
Inizio anni '60
Struttura ad albero
Ogni elemento si chiama segmento
Ogni padre può avere molti figli, ma il figlio può avere solo un padre (1:N)
La radice è il record principale
SVANTAGGI
Tra lo schema logico e la realizzazione fisica esiste una dipendenza stretta e vincolante
Le operazioni di ricerca non sono effcienti in quanto sono viste ad alberi generici e solo nel caso siano di tipo gerarchico sarebbero di semplice realizzazione
RETICOLARE
Fine anni '60
Struttura a grafo
Estensione del modello gerarchico: ogni nodo può essere sia punto di partenza che punto di arrivo
Ogni padre può avere molti figli e ogni figlio può avere molti padri (N:N)
Utilizzo dei puntatori per l'accesso ai dati
SVANTAGGI
I link sono realizzati con i puntatori, quindi esiste uno spreco di spazio per le memorie esterne
Per realizzare due reticolo indipendenti è necessario duplicare i dati introducendo un'inutile ridondanza
Se i dati non sono tra loro direttamente connessi la loro ricerca è difficoltosa
E' estramamente rigido in caso di modifiche successive alla sua creazione
AD OGGETTI
Anni '80
Struttura: Object oriented
OODBMS
Acronimo di "Object Oriented DBMS"
Esempio: Jasmine
ORDBMS
Acronimo di "Object-Relational Database Management System"
Esempio: PostgreSQL
Hanno la possibilità di definire nuovi dati e comportamenti che vengono inglobati nell'oggetto stesso(classe)
XML
Anni'90
Linguaggio simile all'HTML, con il quale condivide il Markup(tag)
E' possibile definire dei tag in base a quello che non ci serve
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
NoSql
ESEMPI di maggior successo
Redis, Memcached, HBase
Neo4j
Mongo DB
Cassandra, Big Table, Simple DB
Firebase
Caratteristiche
Schema fisso delle tabelle: nome, elenco di campi, ognuno con i rispettivi tipi(stringhe di caratteri, numeri, date e dati binari), con una chiave primaria che identifica univocamente, una riga della tabella
Presenza di una relazione tra una o più campi di tabelle, ossia di una condizione che lega tra loro le rispettive righe a cui i campi appartengono
Utilizzo di tabelle e campi per memorizzare i dati
Acesso ai dati(transazione) garantito per le proprietà ACID, cioè Atomicità, Consistenza, Isolamento e Durabilità
MODELLAZIONE DEI DATI FASI 1 - 2 - 3
Definizione
Un modello di dati consiste in una rappresentazione astratta delle strutture dei dati di un database. L'atto di creazione di un modello prende il nome di modellazione dei dati (in inglese data modelling). Serve per tradurre i dati dal punto di vista dell'utente al punto di vista dell'applicazione/database, cioè per trasportarli dal mondo reale al mondo informatico
MODELLAZIONE FUNZIONALE 4 - 5
Aida Krasniqi