Please enable JavaScript.
Coggle requires JavaScript to display documents.
Progettazione di un DATABASE (SOLO PARTE LOGICA), MODELLAZIONE DEI DATI …
Progettazione di un DATABASE
(SOLO PARTE LOGICA)
DEFINIZIONE
Progettare un DB significa in dettaglio progettare le strutture prima logiche poi fisiche di un DB in modo che possano accogliere nel modo migliore possibile i dati di cui l'utente ha bisogno
Fase 1
ANALISI
Tecniche/strategie di progettazione
BOTTOM-UP
Parto da sviluppi semplici (Schemi) ma dettagliati che poi vengono integrati tra loro per ottenere il risultato finale
INSIDE-OUT
A spirale/macchia d'olio, partendo da concetti più importanti, aggiungendo sempre elementi correlati.
Ogni volta che si INCONTRA un concetto che non si conosce si aggiungono specificità
TOP-DOWN
Si parte da uno schema iniziale astratto (non facile da comprendere) ma completo, che viene raffinato
Fase 2
CONCETTUALE
Correttezza
Chiarezza
Il modello deve essere leggibile
Completezza
Tutti gli aspetti rilevanti della realtà devono essere modellati
Indipendenza
Lo strumento informativo deve essere indipendente dallo strumento informatico che verrà utilizzato, compatibile con tutto
Fase 3
LOGICA
Ad Oggetti
Anni 80
Struttura: Estensione del paradigma object oriented
Si definiscono nuovi tipi di dati e comportamenti che vengono inglobati nell'oggetto stesso (CLASSE)
Object Oriendetd OODBMS
Jasmine (Fujitsu) anni 90
ORDBMS
object rational database management system
PostgreSQL (Linux/Unix)
XML
Anni 90
Linguaggio simile all'HTML
EXTENSIBLE MARKUP LANGUAGE
Caratteristiche
Non è un vero e proprio database ma viene effettuato per lo scambio di informazioni tra DBMS diversi
Relazionale
Sviluppato da Edgar Frank Codd inizio anni 70
Pubblica un articolo "Modello per l'archiviazione di grandi banche dati" dove struttura attraverso TABELLE e RELAZIONI
NOSql
N ONLY SQL
CARATTERISTICHE
Schema fisso delle tabelle
Relazioni tra 2 o più campi di tabelle
Utilizzo di tabelle e cambi per memorizzare i dati
Scheme-Less: Raggruppamenti di approcci ibridi, non un singolo modello ma un insieme di modelli simili per superare la rigidità del modello relazionale
Proprietà ACID (Atomicità Consistenza Isolamento Durabilità)
ESEMPI
Mongo DB
Redis, Memcached, HBase
Neo4j
Cassandra, Big Table, Simple DB
Firebase
Reticolare
Fine anni 60
Modello a grafo (?)
Caratteristiche
Un record può connettersi con altri n record, relazione multipla di tipo n:n
Estensione del modello gerarchico mediante l'uso dei puntatori
Per realizzare un grafo occorre un record connettore
Svantaggi
Per realizzare 2 reticoli è necessario duplicare i dati, Ridondanza
Se i dati non sono direttamente connessi la ricerca è difficoltosa
Rigidità nelle modifiche successive
I link realizzati con i puntatori utilizzano spazio di memoria
Gerarchico
Inizio anni 60
Modello/Struttura ad Albero
Caratteristiche
La radice è il record principale, da cui partono tutti i sotto-alberi (che chiameremo foglie)
è Semplice recuperare le informazioni quando anche i dati sono in natura gerarchica, è facile risalirli
Ha una relazione (1 a molti )1:n
Svantaggi
Tra lo schema logico e quello fisico esiste una dipendenza stretta e vincolante, lo schema non si può più modificare
Le ricerche non sono efficenti
FASE 5:
REALIZZAZIONE:
Viene fisicamente realizzato il database attraverso strumenti informatici di alto livello (linguaggio di progamazzione)
FASE 4:
Fisica-Implementazione
Completamento dello schema logico in funzione dell'organizzazione fisica dei dati
MODELLAZIONE DEI DATI
1-2-3
Serve a passare dal mondo reale a quello informatico, serve per produrre i dati dal pov utente a quello dell'applicazione
MODELLAZIONE FUNZIONALE
FASI 4+5