La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Basi di Dati Concetti e Principi Generali Stefania Costantini.

Presentazioni simili


Presentazione sul tema: "Basi di Dati Concetti e Principi Generali Stefania Costantini."— Transcript della presentazione:

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 dallimplementazione 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 dellorganizzazione 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 Lutente 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 allefficacia: 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., IBMs 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 D 1, D 2,…,D n finiti o infiniti, detti domini Prodotto cartesiano P = D 1 x D 2 x … x D n P = (v 1, v 2, …, v n ): i n v i D i 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 D 1 = LAquila, Roma, Pescara D 2 = Maria, Carlo D 1 x D 2 Una colonna per ogni dominio D i Una riga per ogni tupla LAquilaMaria LAquilaCarlo RomaMaria RomaCarlo PescaraMaria PescaraCarlo

25 Tabelle Relazione R Cardinalità 2 Le tuple sono distinte Le tuple non sono ordinate Residenza LAquilaMaria PescaraCarlo

26 Attributi I valori allinterno di una tupla sono ordinati (v 1, v 2, …, v n ) R v 1 D 1, v 2 D 2, …, v n D n Ad ogni valore associamo un Nome, detto Attributo Residenza CITTAPERSONA LAquilaMaria PescaraCarlo

27 Attributi D = D 1,…,D n Domini x = {A 1, A 2, …, A n }Attributi DOM: x D associa Ai a Dj assegna un dominio ad ogni attributo Tupla: (A 1,…,A n ) (v 1,…, v n ) v i D i

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 dallimplementazione Comprensibilità Usabilità Portabilità Indipendenza fisica

30

31 Esempio di tabella Orario InsegnamentoDocenteAulaOra Analisi matem. ILuigi NeriN18:00 Basi di datiPiero RossiN29:45 ChimicaNicola MoriN19:45 Fisica IMario BruniN111:45 Fisica IIMario BruniN39:45 Sistemi inform.Piero RossiN38:00

32 L'istanza della base di dati Lo schema della base di dati Orario InsegnamentoDocenteAulaOra Analisi matem. ILuigi NeriN18:00 Basi di datiPiero RossiN29:45 ChimicaNicola MoriN19:45 Fisica IMario BruniN111:45 Fisica IIMario BruniN39:45 Sistemi inform.Piero RossiN38:00 Basi di dati: schema e istanza

33 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?

34 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 –listanza, i valori attuali, che possono cambiare anche molto rapidamente (aspetto estensionale) es.: il corpo di ciascuna tabella Ex

35 Modello Relazionale Schema di relazione Simbolo R: Nome della relazione Insieme X = A 1,…,A n : Nomi degli attributi (ognuno legato a un dominio D i Notazione: R(X) Schema di base di dati R = R 1 (X 1 ),R 2 (X 2 ),…R k (X k ) R i distinti

36 Modello Relazionale Istanza di Relazione su R(X) Insieme r di tuple su X Istanza di Base di dati su R: Insieme r = r 1,…,r k di relazioni, r i su R i (X i ), i k

37 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 dellinsieme Y

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

39 (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 t 1,t 2 r tali che t1[K] = t2[K] K chiave se è una superchiave minimale non esiste K 1 K superchiave

40 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

41 Chiave Primaria (Primary key) Chiave primaria K P : viene scelta fra le chiavi possibili (dette chiavi candidate) si può (e si deve) definire ununica chiave primaria non sono ammessi valori nulli sugli attributi di K P

42 Keys Keys are a way to associate tuples in different relations Keys are one form of integrity constraint (IC) EnrolledStudents PRIMARY Key FOREIGN Key

43 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

44 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 legal instance 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!

45 Keys Keys are a way to associate tuples in different relations Keys are one form of integrity constraint (IC) EnrolledStudents PRIMARY Key FOREIGN Key

46 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

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

48 Classi diVincoli Classi di vincoli intrarelazionali: di Tupla: verificabili sulla tupla singola di Dominio: restrizione sul dominio dellattributo Globali: occorre considerare lintera istanza

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

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

51 Vincoli di Integrità Referenziale Stesso nome? Non necessariamente Stessi valori? Si, è necessario che i valori che lattributo comune assume nelle relazioni correlate siano consistenti Come assicurarlo? I valori dellattributo comune devono essere significativi e univoci

52 Un esempio di incroci su valori Corso AulaDocente Rossi Basi di dati DS3 Bruni Reti N3 Neri Sistemi N3 Bruni Controlli G Corsi NomePianoEdificio OMIDS1Terra PincherleGPrimo OMIN3TerraAule Aula DS3 non compare fra le Aule: –vincolo intra-relazionale violato

53 MatricolaCognomeNomeData di nascita 6554RossiMario05/12/ NeriPaolo03/11/ RossiMaria01/02/ VerdiLuisa12/11/1979 studentiCodiceTitoloDocente 01AnalisiMario 02ChimicaBruni 04ChimicaVerdi corsi StudenteVotoCorso esami

54 MatricolaCognomeNomeData di nascita 6554RossiMario05/12/ NeriPaolo03/11/ RossiMaria01/02/ VerdiLuisa12/11/1979 studentiCodiceTitoloDocente 01AnalisiMario 02ChimicaBruni 04ChimicaVerdi corsi StudenteVotoCorso esami 26

55 Foreign Keys, Referential Integrity Foreign key : Set of fields in one relation that is used to `refer to a tuple in another relation. –Must correspond to the primary key of the other relation. –Like a `logical pointer. If all foreign key constraints are enforced, referential integrity is achieved (i.e., no dangling references.)

56 Foreign Keys E.g. Only students listed in the Students relation should be allowed to enroll for courses. – sid is a foreign key referring to Students: Enrolled Students English102 A

57 Vincoli di Integrità Referenziale FOREIGN KEY Date le relazioni R 1 ed R 2 Dato un insieme di attributi X di R 1 Date due istanze di R 1 ed R 2 Il vincolo impone che: I valori di X in ciascuna tupla dellistanza data di R 1 Compaiano come valori della chiave primaria di una qualche tupla dellistanza di R 2

58 Vincoli di Integrità Referenziale Caso Base: chiave di R 2 unica, con un solo attributo B X è composto da un solo attributo A tupla t 1 R 1 tupla t 2 R 2 : t 1 [A] = t 2 [B] Caso generale K = A 1,A 2,…,A R ordinati chiave di R 2 X = B 1,B 2,…,B R ordinati tupla t 1 R 1 tupla t 2 R 2 : i r t 1 [Bi] = t 2 [Ai]

59 Chiavi: Sommario Primary key –A unique identifier of a row in a relation –Can be composite Candidate key –An attribute (or set of attributes) that could be a primary key Alternate key –A candidate key that is not selected as the primary key Foreign key –An attribute of a relation that is the primary key of a relation –Can be composite


Scaricare ppt "Basi di Dati Concetti e Principi Generali Stefania Costantini."

Presentazioni simili


Annunci Google