Estratto del documento

Appunti basi di dati

Linguaggi di modelli

Vi sono due tipi di linguaggi di modelli:

  • Per definire i dati;
  • Per manipolare i dati.

Vicino ad ogni attributo c'è bisogno di mettere la cardinalità minima e massima: Min {0,1} e max {1, n}. (0, n) → Primo numero è cardinalità minima. Secondo numero è cardinalità massima.

Nel caso della minima (min = 0) viene chiamato attributo opzionale, caratterizzato da un solo valore. Nel caso della max (max = 1) l'elemento può avere più valori contemporaneamente.

Biglietto → Se viene rappresentato così significa che è un entità debole. Se è un entità debole la sua cardinalità è sempre (1, 1). Il tratteggio è un attributo particolare sarebbe un attributo derivabile o calcolabile, serve per calcolare la sua istanza tramite altri valori di attributi.

Il modello EER

Il modello EER (Enhanced Entity Relationship) include tutti i concetti di modellazioni propri dell'ER. In più aggiunge i concetti di:

  • Sottoclassi e Superclassi;
  • Specializzazione e Generalizzazione, la generalizzazione mette in relazione una o più entità;
  • Categorie;
  • Ereditarietà degli attributi, ovvero tutte le proprietà dell'entità genitore vengono ereditate dall'entità figlie e non vengono rappresentate esplicitamente.

È in pratica un modello ER con l'aggiunta di concetti di Object-Orientation. Se viene disegnato con la freccia piena (colorata all'interno) viene considerata specializzazione totale, ovvero l'insieme di tutte le istanze del figlio forma le istanze del padre. Se è una freccia vuota è una specializzazione parziale.

Indipendentemente dalla specializzazione parziale o totale, se appartiene solo ad un padre allora apparterrà solo ad un figlio, questa copertura si chiama Esclusiva. Mentre la copertura Overlapping, indipendentemente dalla specializzazione parziale o totale, se vi è un padre vi sono più figli che si sovrappongono. Nel momento in cui ci troviamo in una generalizzazione overlapping dobbiamo modificarla in una copertura esclusiva.

Possono esistere gerarchie a più livelli e multiple generalizzazioni allo stesso livello. Un'entità può essere inclusa in più gerarchie, come genitore e/o come figlia. Se una generalizzazione ha una sola figlia si parla di sottoinsieme. Quando parliamo di relationship "uno a uno" o "molti a molti", si riferisce solo alle cardinalità massime.

Occorrenza di residenza

Gli elementi che appartengono all'entità quindi le istanze vengono indicate tramite l'insiemistica.

  • S1 S4 C1 Gli archi vengono chiamati archi delle istanze.
  • C2 C1 ha due studenti, quindi due istanze.
  • Mentre C2 non ha nessun studente quindi non ha istanze.

Studenti città

Documentazione di schemi E-R: la documentazione riassume lo schema. Vi è la documentazione di supporto caratterizzata da:

  • L'interpretazione dello schema, ci aiuta a comprendere e interpretare meglio le proprietà che vi sono all'interno dello schema.
  • Descrizione della proprietà dei dati rappresentati.

Business rules: regole aziendali

Sono regole del particolare dominio applicativo e sono divise in tre parti:

  • Descrizione di un concetto (tipo descrittivo);
  • Vincolo di integrità (tipo non descrittivo);
  • Derivazione (tipo non descrittivo).

I vincoli di integrità sono paletti, vengono usati per un approccio schematico. Sono asserzioni atomiche dichiarative. Formula: Un concetto DEVE/NON DEVE "espressione su concetti". Esempio: Il direttore di un dipartimento DEVE "afferire a tale dipartimento."

Le derivazioni servono per gli attributi derivabili. Formula: Concetto SI OTTIENE "operazione su concetti". La tipologia descrittiva delle Business Rules è in maniera formale, serve per la descrizione di concetti e viene effettuata tramite un dizionario di dati, ovvero una struttura caratterizzata da tabelle:

  • Una tabella delle entità;
  • Una tabella delle relazioni.

La tipologia non descrittiva delle Business Rules bisogna spiegare lo schema tramite le regole. Anch'esso ha un dizionario di dati:

  • Una tabella delle regole dei vincoli;
  • Una tabella delle regole delle derivazioni.

Dizionario dei dati: entità

Entità Descrizione Attributi Identificatori:

  • Elencare Elenco gli
  • Le entità Spiega cosa serve, attributi Elenco degli attributi cosa indica, che rappresentano l'identificatore.

Dizionario dei dati: relazioni

Dizionario dei dati: relazioni entità:

  • Relazioni Descrizione Coinvolte Attributi.

Dopo aver effettuato i due dizionari, e possibilmente anche il terzo per gli attributi, si passa alla parte non descrittiva. Regole di vincolo e di derivazione:

  • RVi Descrizione → Tabella delle regole del vincolo
  • RDi Descrizione → Tabella delle regole della derivazione

La codifica delle regole non descrittive sono divise in tre tecniche:

  • Clausole del linguaggio SQL (Sequel);
  • Triggers o regole attive, chiamate anche regole ECA (Evento Condizione Azione), realizzate tramite codice, si azionano, si attivano nel momento in cui succede un evento.
  • Procedura in linguaggio di programmazione, realizza regole non descrittive che ci permette di risolvere le regole di derivazione.

Metodologie per la progettazione concettuale

Il reperimento e l'analisi dei requisiti di un'applicazione sono attività difficilmente standardizzabili perché dipendono molto dall'applicazione con cui si ha a che fare. Per raccolta dei requisiti si intende la completa individuazione dei problemi che l'applicazione da realizzare deve risolvere e le caratteristiche che tale applicazione dovrà avere.

L'analisi dei requisiti consiste nel chiarimento e nell'organizzazione delle specifiche dei requisiti, si tratta di attività interconnesse. I requisiti di un'applicazione provengono da fonti diverse:

  • Gli utenti dell'applicazione, le informazioni si acquisiscono mediante opportune interviste oppure una documentazione scritta;
  • La documentazione esistente è richiesta in un'attività di raccolta e selezione assistita dagli utenti, ma è a carico del progettista;
  • Realizzazioni preesistenti, ovvero applicazioni che si devono rimpiazzare o devono interagire in qualche maniera con il sistema da realizzare;
  • Rendere esplicito il riferimento tra termini;
  • Costruire un glossario dei termini.

Quando il dominio è abbastanza complesso il glossario ti aiuta a schematizzarlo. Se vi sono sinonimi o omonimi conviene inserirli nella prima colonna:

  • Partecipante Partecipante ai corsi. Studenti Corso, Può essere… Datore
  • Docente Docente dei corsi. Insegnante Corso

Criteri generali di rappresentazione

Applicazioni di regole concettuali del modello E.R.:

  • Concetto con proprietà significative, oggetti con esistenza autonome → entità;
  • Concetto con struttura, senza proprietà rilevanti → attributo;
  • Concetto che associa due o più entità → relazione;
  • Uno o più concetti che risultano essere casi particolari di un altro → generalizzazione.

Strategie per il disegno dello schema

Strategie sono necessari che servono per prestare attenzione a prime cose per poi adottarle.

Criteri per scegliere tra i concetti

  • Entità vs attributo semplice
  • Generalizzazione vs attributo
  • Attributo composto vs un insieme di attributo semplici

Schemi di trasformazione

Schema iniziale → schema risultante:

  • Mapping dei nomi
  • Ereditarietà di tutte le connessioni logiche
  • Trasformazioni Primitive

Proprietà delle primitive:

  • Completezza, applicabili senza lasciare nessun aspetto;
  • Minimalità.

Strategia top-down

Consiste nell'avere un'idea iniziale senza raffinarlo nel dettaglio, bloccate qualche aspetto, si scende in un nuovo livello. In questo livello si aggiungono dettagli. Congelato questo aspetto, si ripete di nuovo per poi arrivare all'ultimo livello, dove ci sono tutte le entità, relazioni ecc.

Primitive top-down

Strategia bottom-up

Strategia inversa. Si illustrano tutte le cose che mi servono per il problema. Dobbiamo salire per mettere in ordine le varie cose nei vari tasselli specifici. Produciamo gli elementi elementari, li aggreghiamo e poi li associamo.

Primitive bottom-up

Strategia inside-out

Si fa un zoom del concetto, prendiamo tutto ciò che mi serve, lo congeliamo e passiamo ad un altro concetto.

Strategia mista

Si suddivide il Dominio applicativo in piccole parti per poi formare l'intero schema finale.

Confronto tra strategie

Gli input e gli output del disegno concettuale

Le attività del disegno concettuale: metodologia generale

  • Analisi dei requisiti;
  • Concettualizzazione iniziale: passo base, passo di decomposizione;
  • Concettualizzazione iterativa;
  • Integrazione;
  • Ristrutturazione;
  • Analisi della qualità: correttezza, completezza, minimalità leggibilità.

Progettazione logica

Significa partire dall'output dello schema concettuale. Ci potranno essere delle correzioni nello schema concettuale. Per arrivare alla traduzione dello schema concettuale dobbiamo affrontare un'altra fase. Bisogna individuare dei parametri indipendenti da llama macchina. Questi parametri sono:

  • Spazio, numero di occorrenze previste;
  • Tempo, numero di occorrenze (di entità e di relazioni) visitate durante un'operazione.

Tavola dei volumi

La tavola dei volumi serve per verificare il numero di occorrenze. I dati vengono memorizzati in una memoria permanente, non ha inoltre importanza poiché diventerebbe dipendente dalla tecnologia.

Concetto tipo volume

Dopo eseguito la tavola dei volumi dobbiamo affidarci al tempo. Il parametro è legato dal tempo, viene strutturata una tavola chiamata tavola delle operazioni.

Tavola delle operazioni

  • Operazioni Tipo Frequenza
  • Operazioni Significative Quante volte l'istanza vuole fare quell'operazione
  • Attività Interattive o Bench

Il tipo interattivo per poter essere eseguita, l'utente deve inserire un input. (Trova un, Dato un) Il tipo Bench è quando non richiede di inserire un input con l'utente. (Per ogni, Per tutti) Analizzando uno schema incominciamo a compilare le due tavole. Avendo queste informazioni voglio capire quanto mi costa un'operazione in base al tempo e allo spazio. Proprio per questo vi è la tavola degli accessi.

Tavola degli accessi

  • Concetto Costrutto Accessi Tipo
  • Relazioni o Scrittura o
  • Entità lettura

Quanti accessi in memoria devo effettuare per avere i dati. Per valutare le prestazioni di un database bisogna calcolare gli accessi in memoria. Lettura: se il dato già esiste Scrittura: devo caricare il dato. Una scrittura corrisponde a due letture.

Il modello relazionale

Progettazione logica di basi di dati

Abbiamo in input uno schema concettuale e in output lo schema logico, vincoli di integrità e documentazione di supporto. Vi sono tre modelli logici tradizionali:

  • Gerarchico;
  • Reticolare, si possono trovare negli schemi che trattano della banca, sono schemi abbastanza veloci;
  • Relazionale;
  • Paradigma ad oggetti (poco diffuso).

Il punto di forza del modello relazionale è sul fatto che è basato su dei valori:

  • Si basa sul concetto matematico e relazionale (con una variante);
  • Le relazioni si possono svolgere tramite tabella.

Le relazioni hanno tre accezioni:

  • Relazione matematica: come teoria degli insiemi;
  • Relazione che rappresenta una classe di fatti nel modello E-R; tradotto anche con associazione o correlazione.
  • Relazione secondo il modello relazionale dei dati.

Relazione matematica

Sono relazioni finite su domini infiniti. Il numero di elementi dell'insieme è detto cardinalità. La relazione matematica è un insieme di n-uple ordinate. Le sue proprietà:

  • Non c'è ordinamento fra le n-uple;
  • Le n-uple sono distinte;
  • Ciascuna n-upla è ordinata: l'i-esimo valore proviene dall'i-esimo dominio,

Relazione matematica posizionale: ciascuno dei domini ha due ruoli diversi, distinguibili attraverso la posizione. Strutture non posizionali: a ciascun dominio si associa un nome (attributo), che ne descrive il "ruolo".

Relazioni con attributi

Corrispondenza tra attributi e domini per mezzo di una funzione. Una t-upla su un insieme di attributi X è una funzione f che associa a ciascun attributo A appartiene ad X un valore del dominio dom (A). Una relazione su X è un insieme di tuple su X: Se t è una tupla su X e A appartiene ad X allora t [A] indica il valore di t su A. Una tabella rappresenta una relazione se e solo se:

  • I valori di ogni colonna sono fra loro omogenei;
  • Le righe sono diverse fra loro;
  • Le intestazioni delle colonne sono diverse tra loro.

Le relazioni possono essere rappresentate da tabelle ma non è detto che le tabelle possono essere rappresentate da relazioni.

Informazione incompleta

Il modello relazionale impone ai dati una struttura rigida:

  • Le informazioni sono rappresentate per mezzo di ennuple;
  • Solo alcuni formati di ennuple sono ammessi quelli che corrispondono agli schemi di relazione.

I dati disponibili possono non corrispondere al formato previsto. Esistono delle tipologie di soluzioni, non conviene usare valori del dominio, poiché:

  • Potrebbero non esistere valori "non utilizzati";
  • Valori "non utilizzati" potrebbero diventare significativi;
  • In fase di utilizzo (nei programmi) sarebbe necessario tener conto ogni volta del "significato" di questi valori;

Valore nullo significa che non andiamo a scriverci nulla, non è un valore del dominio. Vi sono tre casi differenti:

  • Valore sconosciuto;
  • Valore inesistente;
  • Valore senza informazione, non lo posso applicare.

Concetto di chiave

(identificatore nel modello relazionale)

Anteprima
Vedrai una selezione di 6 pagine su 23
Basi di dati Pag. 1 Basi di dati Pag. 2
Anteprima di 6 pagg. su 23.
Scarica il documento per vederlo tutto.
Basi di dati Pag. 6
Anteprima di 6 pagg. su 23.
Scarica il documento per vederlo tutto.
Basi di dati Pag. 11
Anteprima di 6 pagg. su 23.
Scarica il documento per vederlo tutto.
Basi di dati Pag. 16
Anteprima di 6 pagg. su 23.
Scarica il documento per vederlo tutto.
Basi di dati Pag. 21
1 su 23
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher francy_piscitelli di informazioni apprese con la frequenza delle lezioni di Basi di dati e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Salerno o del prof Sebillo Monica Lucia.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community