Basi di Dati. Modello dei Dati



Documenti analoghi
Elena Baralis 2013 Politecnico di Torino 1

Vincoli di integrità

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica.

MODELLO RELAZIONALE. Introduzione

BASE DI DATI: sicurezza. Informatica febbraio ASA

Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli

Partite string string int int. Perché studiare il Modello Relazionale? Capitolo 2. Relazione: tre accezioni. Basi di dati relazionali: definizioni

Informatica. Il modello relazionale: Relazioni e tabelle. Relazioni con attributi

Modulo 2 Data Base 2

Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro

Progettazione di Basi di Dati

Il modello relazionale

Modello Relazionale. Modello Relazionale. Relazioni - Prodotto Cartesiano. Relazione: tre accezioni. Es. Dati gli insiemi

Data Base Relazionali

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

DB - Modello relazionale dei dati. DB - Modello Relazionale 1

Organizzazione degli archivi

Il modello relazionale dei dati e stato introdotto da Codd. nel 1970 (E.F. Codd, \A relational model of data for large

Il Modello Relazionale

Cardinalità e identificatori. Informatica. Generalizzazioni. Generalizzazioni. Generalizzazioni. Generalizzazioni

Il Modello Relazionale

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:

SQL: concetti base SQL. Definizione dei dati in SQL. SQL: "storia"

Basi di Dati e Sistemi Informativi. Progettazione logica: Il modello relazionale

DBMS (Data Base Management System)

2.2b: RELAZIONI E BASI DI DATI. Atzeni, cap

Basi di Dati: Corso di laboratorio

MODELLO RELAZIONALE. cesarini-bdsi mod relazionale 1 MODELLO RELAZIONALE

Lezione V. Aula Multimediale - sabato 29/03/2008

BASI DI DATI - : I modelli di database

Definizione di domini

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

Il Modello Relazionale

Archivi e Basi di Dati

Corso di Informatica (Basi di Dati)

SQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari:

IL MODELLO RELAZIONALE

Domini elementari, 2. Basi di dati. Domini elementari, 4. Domini elementari, 3. Domini definiti dagli utenti. Domini elementari, 5

Attributi e domini. A per {A}; XY per X Y (pertanto A 1 A 2 A 3 denota

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 5

Informatica (Basi di Dati)

SQL Laboratorio di Basi di Dati a.a. 2002/2003

Il modello relazionale

Informatica (Basi di Dati)

IL MODELLO RELAZIONALE

Basi di dati. Concetti Introduttivi ESEMPIO. Fisica, Analisi, Informatica. Entità Relazioni Interrogazioni. Database 2

Basi di Dati. Programmazione e gestione di sistemi telematici

Capitolo 2. Esercizio 2.1. Esercizio 2.2

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Corso di Laboratorio di Basi di Dati

I Sistemi Informativi

SQL. Linguaggio di interrogazione per basi di dati relazionali. Relazione = tabella con attributi (a 1, a 2,, a n ): Funzionalità principali di SQL:

Basi di dati 9 febbraio 2010 Compito A

Linguaggio SQL. Structured Query Language

MAX, SUM, AVG, COUNT)

MODELLO E/R. Modellazione dei dati

Basi di dati SQL. Standardizzazione di SQL. Linguaggi di Interrogazione: SQL. Prof.Angela Bonifati

Corso di Informatica (Basi di Dati)

Giovanna Rosone 04/03/ /03/2010 SQL, Istruzioni per la modifica dello schema

Database. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014

Laboratorio di Basi di Dati

Basi di Dati e Sistemi Informativi. Structured Query Language

Gestione delle tabelle

Laboratorio di Basi di Dati e Web

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione

SQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS)

Introduzione. Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Corso sul linguaggio SQL

Sistemi Informativi e Basi di Dati

Informatica Documentale

Cardinalità. Informatica. Cardinalità. Cardinalità. Cardinalità. Cardinalità. Cardinalità delle associazioni:

Linguaggio SQL: fondamenti D B M G. Gestione delle tabelle

INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. INFORMATICA GENERALE Prof. Alberto Postiglione

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

Informatica 2 Basi di dati

Algebra e calcolo relazionale. Ripasso. Le 7 Virtù del DBMS persistenza affidabilità volume condivisione riservatezza efficienza efficacia

Basi di dati. Le funzionalità del sistema non vanno però ignorate

Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Dati. Facoltà di Lingue e Letterature Straniere

Progettazione di Database. Un Esempio

database: modello entityrelationship

Basi di Dati prof. Letizia Tanca

Query. Query (Interrogazioni) SQL SQL. Significato dell interrogazione. Sintassi

Normalizzazione. Normalizzazione. Normalizzazione e modello ER. Esempio. Normalizzazione

Informatica per le discipline umanistiche 2 lezione 10

Corso sul linguaggio SQL

Basi di Dati e Microsoft Access

Il linguaggio SQL: DDL di base

Basi di Dati. Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio. Corso di Laurea in Informatica. a.a

TEORIA sulle BASI DI DATI

Il modello relazionale dei dati

Corso di Informatica Generale 1 IN1. Linguaggio SQL

Sistema di Gestione di Basi di Dati DataBase Management System DBMS

Basi di dati. Gabriella Trucco

Basi di Dati. Programmazione e gestione di sistemi telematici

70555 Informatica Sicurezza Mario Rossi Anna Bianchi. Esempio istanza:

UN PROGRAMMA APPLICATIVO: ACCESS Access è un programma del pacchetto Office che permette di realizzare database

Data Base. Prof. Filippo TROTTA

Transcript:

Basi di Dati Il Modello Relazionale Concetti Generali 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 1

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) 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) 2

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 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 3

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 Tabelle Rappresentazione grafica delle relazioni D 1 = {L Aquila, Roma, Pescara} D 2 = {Maria, Carlo} D 1 x D 2 Una colonna per ogni dominio D i Una riga per ogni tupla L Aquila L Aquila Roma Maria Carlo Maria Roma Pescara Pescara Carlo Maria Carlo 4

Tabelle Relazione R Cardinalità 2 Le tuple sono distinte Le tuple non sono ordinate Residenza L Aquila Pescara Maria Carlo Attributi I valori all interno 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 CITTA L Aquila Pescara PERSONA Maria Carlo 5

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 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 6

Basi di Dati Relazionali Vantaggi: schema logico indipendente dall implementazione Comprensibilità Usabilità Portabilità Indipendenza fisica 7

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

Instance of Students Relation sid name login age gpa 53666 Jones jones@cs 18 3.4 53688 Smith smith@eecs 18 3.2 53650 Smith smith@math 19 3.8 Cardinality = 3, arity = 5, all rows distinct Do all values in each column of a relation instance have to be distinct? 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 9

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 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 10

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 Modello Relazionale Valore nullo: Valore distinto, aggiuntivo rispetto ai domini NULL = assenza di informazioni Valore non noto Valore inesistente (non definito) Valore non significativo 11

(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 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 12

Chiave Primaria (Primary key) Chiave primaria K P : 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 K P Keys Keys are a way to associate tuples in different relations Keys are one form of integrity constraint (IC) Enrolled Students sid cid grade 53666 Carnatic101 C 53666 Reggae203 B 53650 Topology112 A 53666 History105 B sid name login age gpa 53666 Jones jones@cs 18 3.4 53688 Smith smith@eecs 18 3.2 53650 Smith smith@math 19 3.8 FOREIGN Key PRIMARY Key 13

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 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! 14

Keys Keys are a way to associate tuples in different relations Keys are one form of integrity constraint (IC) Enrolled Students sid cid grade 53666 Carnatic101 C 53666 Reggae203 B 53650 Topology112 A 53666 History105 B sid name login age gpa 53666 Jones jones@cs 18 3.4 53688 Smith smith@eecs 18 3.2 53650 Smith smith@math 19 3.8 FOREIGN Key PRIMARY Key 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 15

Classi divincoli I vincoli di integrità possono essere Intrarelazionali (su singole relazioni) Interrelazionali (coinvolgono varie relazioni) 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 16

Vincoli di Integrità Referenziale Vincolo interrelazionale: relazioni in correlazione fra loro Mediante attributi comuni Modello relazionale: basato su valori Il modello è basato su valori i riferimenti fra dati in relazioni diverse sono rappresentati per mezzo di valori dei domini che compaiono nelle ennuple 17

Vincoli di Integrità Referenziale Stesso nome? Non necessariamente Stessi valori? Si, è necessario che i valori che l attributo comune assume nelle relazioni correlate siano consistenti Come assicurarlo? I valori dell attributo comune devono essere significativi e univoci Corsi Un esempio di incroci su valori Corso Docente Aula Basi di dati Rossi DS3 Sistemi Neri N3 Reti Bruni N3 Controlli Bruni G Aule Nome Edificio DS1 OMI N3 OMI G Pincherle Piano Terra Terra Primo Aula DS3 non compare fra le Aule: vincolo intra-relazionale violato 18

studenti Matricola Cognome Nome Data di nascita 6554 Rossi Mario 05/12/1978 8765 Neri Paolo 03/11/1976 9283 Verdi Luisa 12/11/1979 3456 Rossi Maria 01/02/1978 esami Studente Voto Corso 3456 30 04 3456 24 02 9283 28 01 6554 26 01 corsi Codice Titolo Docente 01 Analisi Mario 02 Chimica Bruni 04 Chimica Verdi studenti Matricola Cognome Nome Data di nascita 6554 Rossi Mario 05/12/1978 8765 Neri Paolo 03/11/1976 9283 Verdi Luisa 12/11/1979 3456 Rossi Maria 01/02/1978 esami Studente Voto Corso 30 24 28 26 corsi Codice Titolo Docente 01 Analisi Mario 02 Chimica Bruni 04 Chimica Verdi 19

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.) 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 sid cid grade 53666 Carnatic101 C 53666 Reggae203 B 53650 Topology112 A 53666 History105 B 11111 English102 A Students sid name login age gpa 53666 Jones jones@cs 18 3.4 53688 Smith smith@eecs 18 3.2 53650 Smith smith@math 19 3.8 20

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 dell istanza data di R 1 Compaiano come valori della chiave primaria di una qualche tupla dell istanza di R 2 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] 21

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 22