Base_dati_seconda

Views:
 
Category: Entertainment
     
 

Presentation Description

No description available.

Comments

Presentation Transcript

Sistema informativo: 

Sistema informativo Un sistema informativo (information system, IS) è un componente di una organizzazione (azienda, ente, …) il cui scopo è gestire le informazioni utili per gli scopi dell’organizzazione stessa GESTIRE = acquisire, elaborare, conservare, produrre, distribuire La parte automatizzata di un IS viene più propriamente denominata Sistema Informatico

Dati: 

Dati Il modo più comune con cui un sistema informatico gestisce le informazioni è attraverso la rappresentazione codificata dei dati di interesse Intuitivamente, una Base di Dati (DB-Data Base o Database) può pensarsi come una collezione di dati che rappresentano le informazioni relative ad un particolare scopo In termini più precisi, un DB è una collezione di dati gestita da un DBMS

DBMS: caratteristiche di base: 

DBMS: caratteristiche di base Un DBMS è un sistema software in grado di gestire collezioni di dati che sono condivise da più applicazioni e utenti Un DBMS deve essere in grado : di gestire grandi quantità di dati di garantirne la persistenza,anche a fronte di guasti (integrità e ripristino dati) di offrire una “visione strutturata” dei dati stessi, che dipende dal modello (logico) dei dati supportato

Modello Dati: 

Modello Dati L’astrazione logica con cui i dati vengono resi disponibili all’utente definisce un modello dei dati. Più precisamente: un modello dei dati è un insieme di concetti che vengono utilizzati per descrivere i dati, le loro associazioni, e i vincoli che questi devono rispettare Un ruolo di primaria importanza nella definizione di un modello dei dati è svolto dai meccanismi che possono essere usati per strutturare i dati (i linguaggi di programmazione) Esistono modelli in cui i dati sono descritti (solo) sotto forma di alberi (modello gerarchico), di grafi (modello reticolare) di oggetti complessi (modello relazionale)

Relazionale, Gerarchico e Reticolare: 

Relazionale, Gerarchico e Reticolare ll modello relazionale è stato introdotto nel 1970 da E.F.Codd (un ricercatore dell’IBM) allo scopo di favorire l’indipendenza dei dati I modelli preesistenti (gerarchico e reticolare) erano fortemente influenzati da considerazioni di natura fisica, che enfatizzavano quindi aspetti di efficienza rispetto a quelli di semplicità d’uso: VELOCI MA COMPLICATI!! Rispetto agli altri modelli, quello relazionale si caratterizza per: Semplicità concettuale Precisione formale

Progettazione di una base dati: 

Progettazione di una base dati Consta di tre distinte attività: Progettazione concettuale (Analisi dei dati): costruire una rappresentazione corretta della realtà in un certo contesto temporale, indipendentemente dal DBMS usato (i dati sono rappresentati in modo astratto) Progettazione logica (Disegno del Database): trasformare lo schema concettuale in schema logico in base al DBMS usato (gerarchico, relazionale…) Progettazione fisica : definire gli aspetti fisici di memorizzazione e rappresentazione dei dati in base al DBMS scelto

Modello Concettuale : 

Modello Concettuale Deve essere in grado di rappresentare gli elementi essenziali della realtà e del problema Deve essere semplice, maneggevole, comprensibile, comunicabile, coerente Particolare successo ha avuto il linguaggio grafico Entità/Relazioni o diagrammi ER

Modello E - R: 

Modello E - R E ’ un modello concettuale di dati che contiene alcuni costrutti atti a descrivere la realtà in maniera semplice, indipendente dalla organizzazione dei dati nel computer. Modello Entità/relazioni introdotto nel 1976 da Chen, per rappresentare lo schema concettuale Gli elementi che caratterizzano il modello sono: Le entità Le relazioni Gli attributi Sono stati introdotti dei simboli elementare per rappresentare tali elementi

Entità: 

Entità Entità : un oggetto concreto o astratto distinguibile dagli altri Occorrenza di una entità: è un esemplare della classe di oggetti che soddisfano la definizione data per l’entità Entità Occorrenze Libro Divina Commedia Pinocchio Autore Dante Alighieri Collodi Premi Nobel Strega

Entità: 

Entità Come individuare le entità in una frase: sono sempre dei sostantivi , ma non tutti i sostantivi sono entità Sono da ignora i sostantivi che: identificano specifiche occorrenze Sono fuori dal contesto A ciascuna entità è associato un nome mnemonico che serve per riferirsi ad essa per chi effettua l’analisi Nel formalismo E.R è rappresentato da un rettangolo all’interno del quale è scritto il nome mnemonico attribuito all’entità

Notazioni E-R: entità: 

Notazioni E-R: entità nome dell’entità studenti esempi : materie

Relazione o associazione: 

Relazione o associazione Relazione (associazione) : esprime un legame tra le occorrenze di una o più attività. Il legame è definito da una proposizione predicativa che descrive come occorrenze di diverse entità si collegano fra loro Come individuare le relazioni all’interno di una frase: sono verbi , ma non tutti i verbi sono relazioni Sono da ignorare i verbi che: Descrivono processi fra i dati (es.il capo di sevizio deve definire i budget) Sono fuori dal contesto

Notazioni E-R: associazioni: 

Notazioni E-R: associazioni nome della associazione esempio: supera esame studente

Molteplicità di una relazione: 

Molteplicità di una relazione Relazione 1 - 1 : relazione univoca, ogni occorenza di un’entità è in relazione con al massimo una occorenza dell’altra e viceversa Relazione 1 – N : ad ogni occorrenza di un’entità possono corrispondere più occorrenze dell’altra entità ma non viceversa Relazione N – M: ad ogni occorrenza di un’entità possono corrispondere più occorrenze dell’altra e viceversa

Associazioni 1:1: 

Associazioni 1:1 direttore reparto direzione n_rep matr 1 1 Con doppio vincolo: un reparto deve avere un direttore ed il direttore è uno solo un direttore deve dirigere uno ed un solo reparto)

Associazioni 1:N: 

Associazioni 1:N oggetto ripiano posizione n_rip cod_o 1 N Con vincolo : un oggetto può stare su un ripiano, ma su un solo ripiano Senza vincolo : su un ripiano possono stare n oggetti

Associazioni N:M: 

Associazioni N:M ingegneri progetti sviluppo prj matr N M Un ingegnere deve partecipare ad almeno un progetto

Esempi di relazioni: 

Esempi di relazioni Impiegati dirige Uffici 1 1 stipendio codice impiegato nome Studenti ha sostenuto Esami 1 n Ricercatori lavora Progetti n m Relazione Uno a Uno (Parziale dal lato Impiegati, Totale dal lato Uffici Relazione Uno a Molti (Parziale dal lato Studenti, Totale dal lato Esami) Relazione Molti a Molti (Parziale dal lato Ricercatori, Totale dal lato Progetti)

Attributi: 

Attributi Gli schemi scheletro descrivono in generale i collegamenti tra le entità e le associazioni; Le entità e le associazioni devono essere descritte attraverso l’aggregazione di proprietà ; Un attributo è una proprietà descrittiva di una entità o di una relazione Come si individua: è un sostantivo che denota uno specifico tipo di dato (nome, data, quantità…) Gli attributi assumono VALORI Si rappresentano graficamente con un cerchio

Attributi: 

Attributi Si distinguono in attributi: Semplici : sono le proprietà elementari (cioè non scomponibili) sia delle entità che delle relazioni (es. attributi di una bottiglia di vino: nome, produttore, capacità, prezzo..) Composti : sono costituiti dall’aggregazione di altri attributi (es. Indirizzo: composto da via, numero, città, cap) Multipli : sono un elenco di lunghezza variabile di attributi dello stesso tipo (es. l’entità Persona ha come attributo multiplo: numero di telefono, hobby, lauree) È specificato da: Un nome Un formato: che indica il tipo di dato (es. stringa, numerico, booleano…) Un valore: per dominio si intende l’insieme dei possibili valori (es. Maschio e femmina) Una opzionalità: un attributo può essere obbligatorio o facoltativo

Attributi calcolati: 

Attributi calcolati Attributo calcolato (derivato): il valore è calcolato con un algoritmo, in alternativa la proprietà è esplicita. stipendio c.f. dipendente cognome NB: la regola di calcolo va espressa a parte, usando un qualche linguaggio di specifica: stipendio = salario_giornaliero*presenze

Attributo chiave: 

Attributo chiave Una attributo chiave identifica in modo univoco la singola istanza di entità (o di associazione): - obbligatoria - può essere composta Simbolo = c.f. dipendente veicolo targa libro colloc.

Esempio: 

Esempio D I P E N D E N T E c.f. nome cognome data_nascita data_assunzione livello stipendio indirizzo n_tel. qualifica recapito

Chiave composta: 

Chiave composta La chiave di un’entità può essere composta nome loc_id località hotel_id albergo nome provincia stabilimento nome località stab_id località società

Criteri di scelta della chiave: 

Criteri di scelta della chiave Scelta condizionata da fattori esterni es.:per gli studenti: codice fiscale o matricola? velocità di digitazione (matricola) controllo validità (codice fiscale) Spesso si fa uso di valori progressivi assegnati automaticamente dal sistema garantendo l’unicità (AUTO_INCREMENT/SEQUENCE)

Gestione magazzino: 

Gestione magazzino magazzino scaffale ripiano operaio composizione suddivisione lavoro N 1 N 1 N 1

Base dati universitaria: 

Base dati universitaria dipartimento docente corso c. di studio afferenza insegnamento appartenenza N N 1 N M 1

Contabilità: 

Contabilità fattura articolo impiegato cliente gestisce riceve contiene ufficio appartiene N M N 1 N 1 N 1

Fornitura: 

Fornitura prodotti fornitori fornitura prezzo M N cod_f cod_p NOTA : questo modello non consente a un fornitore di fornire più volte lo stesso prodotto a seguito di ordini diversi perché si avrebbe una violazione dell’unicità delle chiave

Progettazione Logica: 

Progettazione Logica Consiste nella traduzione dello schema concettuale in termini di un determinato modello logico (ad esempio il modello relazionale) di dati usato dal DBMS che si intende utilizzare. Il risultato e’ lo schema logico. Include anche l’ ottimizzazione della rappresentazione in funzione delle operazioni eseguite (es. normalizzazione ) .

Scelta delle chiavi primarie: 

Scelta delle chiavi primarie Dato che le chiavi nel modello relazionale vengono usate per stabilire delle corrispondenze fra dati appartenenti a relazioni distinte, è fondamentale stabilire quali siano gli identificatori principali. Infatti questi ultimi corrisponderanno poi alle chiavi primarie sulle quali i DBMS costruiscono delle strutture ausiliarie (indici) per il reperimento efficiente dei dati. Quindi, nel caso vi siano entità con più identificatori, bisogna sceglierne uno principale in base ai seguenti criteri: Vanno scartati gli attributi che ammettono valori nulli. In genere è preferibile scegliere identificatori composti da pochi attributi. Gli identificatori interni con pochi attributi vanno preferiti a quelli esterni. Gli identificatori utilizzati da molte operazioni sono da preferire agli altri. Nel caso non vi siano degli identificatori idonei, è possibile introdurne uno apposito che conterrà come valori dei codici, generati appositamente per distinguere le varie occorrenze dell’entità .

Traduzione verso il modello relazionale: 

Traduzione verso il modello relazionale Dato lo schema E-R ristrutturato si costruisce uno schema logico equivalente, in grado di rappresentare le medesime informazioni equivalente. I casi contemplati sono i seguenti: Entità. Associazioni molti-a-molti. Associazioni uno-a-molti. Associazioni uno-a-uno.

Traduzione: 

Traduzione Regola Generale Per ogni entità si definisce una tabella con lo stesso nome aventi per attributi gli stessi attributi e per chiave l’identificatore Per ogni relazione si definisce una tabella con lo stesso nome avente per attributi gli stessi attributi e per chiave gli identificatori delle entità coinvolte (legate con vincolo di integrità referenziale) Per ogni regola di vincolo si definisce un opportuno vincolo di integrità Nel seguito applicheremo la regola per i tre tipi di relazioni esaminati in precedenza

Traduzione dell’entità: 

Traduzione dell’entità Ogni entità è tradotta con una tabella con gli stessi attributi La chiave primaria coincide con l’identificatore principale dell’entità

Relazione N-M: 

Relazione N-M IMPIEGATO ( Matricola , Nome) PROGETTO ( Codice , Nome) PARTECIPAZIONE ( Matricola , Codice , Data Inizio) FK: Matricola REFERENCES Impiegato FK: Codice REFERENCES Progetto Può essere utile ridenominare gli attributi della chiave della relazione che rappresenta l’associazione PARTECIPAZIONE ( Matricola, progetto , Data Inizio)

Relazione 1- N : 

Relazione 1- N Giocatore ( Cognome , DataNascita , Ruolo, NomeSquadra, Ingaggio) Squadra ( Nome , Città, ColoriSociali) Contratto ( CognGiocatore , DataNascG , Squadra , Ingaggio) FK: (CognGiocatore, DataNascG) REFERENCES Giocatore FK: Squadra REFERENCES Squadra Tuttavia, siccome Giocatore e Contratto hanno la stessa chiave è possibile fonderle, ottenendo lo schema seguente: Giocatore ( Cognome,DataNascita , Ruolo, NomeSquadra, Ingaggio) Squadra ( Nome ,Città,ColoriSociali)

Relazione 1 - 1: 

Relazione 1 - 1 Direttore ( Codice , Nome, Data Inizio, NomeDipartimento ) Dipartimento ( Nome , Telefono) oppure Direttore ( Codice , Nome ,) Dipartimento ( Nome , Telefono, Data Inizio, Direttore ) Quest’ultima è una soluzione privilegiata perché le occorrenze di Dipartimento sono inferiori a quelle di direttore

Progettazione Fisica: 

Progettazione Fisica Si completa lo schema logico con la specifica dei parametri fisici di memorizzazione dei dati. Si produce lo schema fisico che fa riferimento ad un certo modello fisico dei dati che dipende dal DBMS scelto.