1 / 59

Basi di Dati

Basi di Dati. Concetti e Principi Generali Stefania Costantini. Organizzazione dei Dati. Archivi o file Procedure di accesso in qualunque linguaggio di programmazione Duplicazione dati: ridondanza incoerenza formati diversi dei dati. Organizzazione dei Dati.

Download Presentation

Basi di Dati

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Basi di Dati Concetti e Principi Generali Stefania Costantini

  2. Organizzazione dei Dati • Archivi o file • Procedure di accesso in qualunque linguaggio di programmazione • Duplicazione dati: • ridondanza • incoerenza • formati diversi dei dati

  3. Organizzazione dei Dati • Sistema di gestione di Basi di Dati • Data Base Management System (DBMS) • Ha un proprio linguaggio basato su un proprio Modello di dati • Evita ridondanza e incoerenza • Base di Dati = Insieme di dati gestiti da un DBMS

  4. DBMS Basi di Dati: • Grandi • Condivise (no ridondanza) • DBMS garantisce: • Persistenza (e fault-tolerance) • Affidabilità • Privatezza • Efficienza • Efficacia = migliore produttività

  5. Modello dei Dati • Insieme di concetti • Descrizione dei Dati • Organizzazione dei Dati • Modello dei dati  meccanismi di strutturazione

  6. Modello dei Dati • Modello concettuale dei dati: contenuti struttura significato collegamenti, indipendentemente dall’implementazione • Modello logico: rappresentazione formale dei dati implementabile da un DBMS • Modello fisico: allocazione sui dispositivi

  7. Modello dei Dati • Modelli principali: (Logici) • Gerarchico  alberi • Reticolare  grafi • Relazionale  relazioni • A oggetti  relazioni più oggetti • Modelli concettuali: descrizione di alto livello dei dati indipendente dal modello logico E – R  Entity – Relationship

  8. Schema BD Descrizione dell’organizzazione dei dati • Invariante nel tempo (salvo riorganizzazione) • Livelli di astrazione • Schema logico: descrizione • Schema fisico: implementazione schema logico • Schema esterno (Vista): astrazione da schema logico

  9. Istanza BD • Definita su un dato schema • Insieme dei valori effettivi dei dati • Cambia nel tempo • Inserzione • Cancellazione • Modifica

  10. Indipendenza dei dati L’utente interagisce con il DB • A un certo livello di astrazione • Senza bisogno di conoscere i livelli sottostanti • Che possono essere modificati

  11. Indipendenza dei dati • Indipendenza logica • Interazione con il livello esterno • Senza conoscere schema logico • Indipendenza fisica • Interazione con il livello logico • Senza conoscere schema fisico (allocazione dei dati su )

  12. Linguaggi per Basi di Dati Data Definition Language (DDL) • Definizione schemi • Definizione autorizzazioni di accesso

  13. Linguaggi per Basi di Dati Data Manipulation Language (DML) • Aggiornamento istanze DB • Inserzione • Cancellazione • Modifica • Estrazione informazioni da DB Interrogazione  Query DML  Query Language SQL  DDL + DML

  14. Linguaggi per Basi di Dati • Classi di Linguaggi: • Interattivi testuali • Interattivi grafici • Immersi in altri linguaggi di programmazione

  15. Linguaggi per Basi di Dati • Interazione con Basi di Dati • Progettisti e programmatori • Amministratore DB Administrator (DBA) • Progetto • Controllo • Amministrazione • Utenti • finali: utilizzano frequentemente la BD con query predefinite • casuali: query non predefinite

  16. Linguaggi per basi di dati • Un altro contributo all’efficacia: disponibilità di vari linguaggi e interfacce linguaggi testuali interattivi (SQL)  comandi (SQL) immersi in un linguaggio ospite (Pascal, Java, C ...)  comandi (SQL) immersi in un linguaggio ad hoc, con anche altre funzionalità (p.es. per grafici o stampe strutturate) con interfacce amichevoli (senza linguaggio testuale)

  17. Basi di Dati Il Modello Relazionale Concetti Generali

  18. Modello dei Dati • Schema di rappresentazione dati: visione dei dati secondo un certo formalismo (ad es. alberi, grafi, tabelle) • Modello dei dati: costrutti e linguaggi per descrivere e manipolare lo schema

  19. Modello dei Dati • Costrutti e linguaggi per descrivere: • Conceptual and external schema • Data definition language (DDL) • Integrity constraints, domains (DDL) • Operations on data • Data manipulation language (DML) • Directives that influence the physical schema (affects performance, not semantics) • Storage definition language (SDL)

  20. Modello Relazionale • Introdotto nel 1970 • Si è affermato negli anni ’80 • Si basa sul concetto matematico di relazione (teoria degli insiemi) • Descrive in modo efficace il livello logico • Senza riferimenti al livello fisico (struttura realizzativa)

  21. Why Study the Relational Model? • Most widely used model. • “Legacy systems” in older models • e.g., IBM’s IMS • Object-oriented concepts have recently merged in • object-relational model • Informix, IBM DB2, Oracle 8i • Early work done in POSTGRES research project at Berkeley

  22. Relazioni • Insiemi D1, D2,…,Dn • finiti o infiniti, detti domini • Prodotto cartesiano P = D1 x D2 x … x Dn P = (v1, v2, …, vn): i  n vi  Di n – upla o tupla

  23. Relazioni • Relazione R  P • n  grado o arità della relazione • m  numero delle tuple di R  cardinalità della relazione • Nelle Basi di Dati: cardinalità finita

  24. Tabelle • Rappresentazione grafica delle relazioni • D1 = L’Aquila, Roma, Pescara • D2 = Maria, Carlo • D1 x D2 • Una colonna per ogni dominio Di • Una riga per ogni tupla

  25. Tabelle • Relazione R • Cardinalità 2 • Le tuple sono distinte • Le tuple non sono ordinate Residenza

  26. Attributi • I valori all’interno di una tupla sono ordinati • (v1, v2, …, vn)R • v1  D1, v2 D2, …, vn Dn • Ad ogni valore associamo un Nome, detto Attributo Residenza

  27. Attributi • D = D1,…,Dn Domini • x = {A1, A2, …, An} Attributi • DOM: xD associa Ai a Dj • assegna un dominio ad ogni attributo • Tupla: (A1,…,An)  (v1,…, vn) vi  Di

  28. Basi di Dati Relazionali • Composte da varie relazioni • Sotto forma di tabelle • Collegate fra loro mediante Attributi comuni • non necessariamente con lo stesso nome • ma con lo stesso valore

  29. Basi di Dati Relazionali • Vantaggi: schema logico indipendente dall’implementazione • Comprensibilità • Usabilità • Portabilità • Indipendenza fisica

  30. Orario Chimica Fisica I Basi di dati Sistemi inform. Analisi matem. I Fisica II Insegnamento Piero Rossi Mario Bruni Nicola Mori Piero Rossi Docente Luigi Neri Mario Bruni N1 N1 N3 N3 Aula N1 N2 11:45 9:45 8:00 9:45 9:45 8:00 Ora Esempio di tabella

  31. Orario Chimica Insegnamento Fisica II Fisica I Analisi matem. I Sistemi inform. Basi di dati Docente Luigi Neri Piero Rossi Mario Bruni Nicola Mori Mario Bruni Piero Rossi N3 N3 N1 N2 N1 N1 Aula 8:00 9:45 Ora 11:45 9:45 8:00 9:45 Basi di dati: schema e istanza Lo schema della base di dati L'istanza della base di dati

  32. Instance of Students Relation • Cardinality = 3, arity = 5 , all rows distinct • Do all values in each column of a relation instance have to be distinct?

  33. Schema e istanza • In ogni base di dati esistono: • lo schema, sostanzialmente invariante nel tempo, che ne descrive la struttura (aspetto intensionale) • es.: le intestazioni delle tabelle • l’istanza, i valori attuali, che possono cambiare anche molto rapidamente (aspetto estensionale) • es.: il “corpo” di ciascuna tabella Ex

  34. Modello Relazionale • Schema di relazione • Simbolo R: Nome della relazione • Insieme X = A1,…,An: Nomi degli attributi (ognuno legato a un dominio Di • Notazione: R(X) • Schema di base di dati R = R1(X1),R2(X2),…Rk(Xk) Ri distinti

  35. Modello Relazionale • Istanza di Relazione su R(X) • Insieme r di tuple su X • Istanza di Base di dati su R: • Insieme r = r1,…,rk di relazioni, • ri su Ri(Xi), i  k

  36. Modello Relazionale • Terminologia Attributi: • lettere finali alfabeto X, Y, Z Insiemi • lettere iniziali alfabeto A, B, C attributi singoli X = A B C  X = A, B, C Relazioni: R, S t[Y]: tupla t ristretta agli attributi dell’insieme Y

  37. Modello Relazionale • Valore nullo: • Valore distinto, aggiuntivo rispetto ai domini • NULL = assenza di informazioni • Valore non noto • Valore inesistente (non definito) • Valore non significativo

  38. (super) chiave • Insieme di attributi che identifica univocamente una tupla • In generale, esistono varie superchiavi • Insieme K di attributi di una relazione R: • K superchiave se non esiste t1,t2 r tali che t1[K] = t2[K] • K chiave se è una superchiave minimale • non esiste K1 K superchiave

  39. Chiavi • Notare che: • Nota1: per relazione R(X), X è sempre superchiave • Nota2: una superchiave perde di significato se le tuple contengono valori nulli sui suoi attributi

  40. Chiave Primaria (Primary key) • Chiave primaria KP: viene scelta fra le chiavi possibili (dette “chiavi candidate”) • si può (e si deve) definire un’unica chiave primaria • non sono ammessi valori nulli sugli attributi di KP

  41. Keys • Keys are a way to associate tuples in different relations • Keys are one form of integrity constraint (IC) Enrolled Students PRIMARY Key FOREIGN Key

  42. Vincoli di Integrità • Proprietà che devono essere soddisfatte dalle istanze • Predicati (valore vero/falso) • Selezionano istanze ammissibili • Introducono • Limitazione sui domini • Collegamenti obbligatori fra tabelle • Proibizione di valori nulli • Limitazioni sui valori degli attributi

  43. Integrity Constraints (ICs) • IC: condition that must be true for any instance of the database; e.g., domain constraints. • ICs are specified when schema is defined. • ICs are checked when relations are modified. • A legalinstance of a relation is one that satisfies all specified ICs. • DBMS should not allow illegal instances. • If the DBMS checks ICs, stored data is more faithful to real-world meaning. • Avoids data entry errors, too!

  44. Keys • Keys are a way to associate tuples in different relations • Keys are one form of integrity constraint (IC) Enrolled Students PRIMARY Key FOREIGN Key

  45. Vincoli di Integrità • Esempio: vincolo di chiave •  relazione deve esistere una chiave primaria • No valori coincidenti per tuple diverse • No valori nulli su attributi componenti le chiavi

  46. Classi diVincoli • I vincoli di integrità possono essere • Intrarelazionali (su singole relazioni) • Interrelazionali (coinvolgono varie relazioni)

  47. Classi diVincoli • Classi di vincoli intrarelazionali: • di Tupla: verificabili sulla tupla singola • di Dominio: restrizione sul dominio dell’attributo • Globali: occorre considerare l’intera istanza

  48. Vincoli di Integrità Referenziale • Vincolo interrelazionale: relazioni in correlazione fra loro • Mediante attributi comuni • Modello relazionale: basato su valori

  49. Il modello è basato su valori • i riferimenti fra dati in relazioni diverse sono rappresentati per mezzo di valori dei domini che compaiono nelle ennuple

More Related