Il Modello Relazionale



Похожие документы
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

Progettazione di Basi di Dati

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

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

Il Modello Relazionale

Definizione di domini

Organizzazione degli archivi

BASE DI DATI: sicurezza. Informatica febbraio ASA

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

Vincoli di integrità

Calcolo Relazionale Basi di dati e sistemi informativi 1. Calcolo Relazionale. Angelo Montanari

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

Corso sul linguaggio SQL

Il modello relazionale

Basi di Dati: Corso di laboratorio

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

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

Il Modello Relazionale

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

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

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

N ORE LEZIONI FRONTALI: STUDIO INDIVIDUALE ( ) N ORE ESERCITAZIONI/LABORATORIO: STUDIO INDIVIDUALE ( )

Elena Baralis 2013 Politecnico di Torino 1

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

(anno accademico )

Archivi e Basi di Dati

Corso di Laboratorio di Basi di Dati

INFORMATICA PER L IMPRESA (Docente Prof. Alfredo Garro) ESERCIZIO 3

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

Modulo 2 Data Base 2

Informatica (Basi di Dati)

Corso di Informatica (Basi di Dati)

Volumi di riferimento

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

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

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

MODELLO RELAZIONALE. cesarini-bdsi mod relazionale 1 MODELLO RELAZIONALE

Linguaggio SQL. Structured Query Language

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

Prefazione Sistemi informativi e basi di dati Il modello relazionale Il modello ER

Data Base Relazionali

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

Esame di Stato Istituto Tecnico Industriale Soluzione della Seconda Prova Indirizzo: INFORMATICA Tema: INFORMATICA Anno Scolastico:

DATABASE RELAZIONALI

DBMS (Data Base Management System)

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

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

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

Basi di Dati Relazionali

Storia. Corso di Basi di Dati Spaziali. Componente DDL. Funzionalità. Esempio. Creazione di schema. Linguaggi: SQL. Storia:

PROGRAMMAZIONE MODULARE. Periodo mensile. Ore previste

Corso di Informatica (Basi di Dati)

BASI DI DATI - : I modelli di database

Identificatori delle entità

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

I livelli di progettazione possono essere così schematizzati: Esistono tre tipi diversi di modelli logici: Modello gerarchico: Esempio SPECIFICHE

Alessandra Raffaetà. Basi di Dati

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

SQL Sintassi Dei Comandi

Laboratorio di Basi di Dati e Web

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

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

PROGRAMMA DI CLASSE 5AI

1. Schema concettuale della base di dati Lo schema concettuale (o statico) è uno dei due schemi del progetto concettuale di un sistema informativo.

SQL. DDL e vincoli. Basi di Dati 1 Esercitazione 4. Matteo Picozzi {picozzi@elet.polimi.it}

Basi di dati 9 febbraio 2010 Compito A

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

Sistemi Informativi e Basi di Dati

Modellazione dei dati in UML

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

Gestione delle tabelle

Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 21 LUGLIO 2015 Tempo: 2h30m

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. SQL - Tipi di dato. SQL - Tipi di dato numerici. SQL - Tipi di dato numerici

MAX, SUM, AVG, COUNT)

SQL - Tipi di dato Il linguaggio SQL

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

database: modello entityrelationship

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

ESAME di INFORMATICA e ARCHIVIAZIONE

Vincoli di Integrità Approccio dichiarativo alla loro implementazione

ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 2

Il linguaggio SQL: DDL di base

Operazioni sui database

Laboratorio di Basi di Dati

Organizzazione delle informazioni: Database

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

SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2011/12

a.a. 2012/13 12 Novembre 2012 Preparazione al Test in itinere, Compito A 1. Modellare tramite uno schema entità- relazione la seguente base di dati:

SQL. Alcune note sulla definizione dei dati

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

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

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

Associazioni. Informatica. Associazioni. Associazioni. Associazioni. Attributi. Possono esistere associazioni diverse che coinvolgono le stesse entità

Транскрипт:

Il Modello Relazionale Basi di dati 1 Il Modello Relazionale Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine

Il Modello Relazionale Basi di dati 2 Introduzione Il modello relazionale è un modello dei dati basato sui record (Prima Forma Normale - 1NF) e sui valori, più astratto dei modelli reticolare e gerarchico, meno astratto del modello Entità/Relazioni. E dotato di un elegante caratterizzazione formale e presenta strutture dati (a livello logico) semplici e uniformi. Linguaggi di definizione, di aggiornamento e di interrogazione dei dati. I linguaggi di interrogazione si suddividono in procedurali (algebra relazionale) e dichiarativi (calcolo relazionale). Il linguaggio SQL.

Il Modello Relazionale Basi di dati 3 I costrutti fondamentali dominio (di un attributo) attributo/colonna relazione/tabella tupla/riga

Il Modello Relazionale Basi di dati 4 Dominio, attributo, relazione, tupla (1) Dominio = insieme di valori atomici - la prima forma normale - il valore NULL (non è noto o/e non si applica) - (possibilità di) definizione globale Attributo - dotato vs. privo di nome (se privo di nome, l attributo è identificato dalla sua posizione) - dom(a) = dominio dell attributo A - definizione locale

Il Modello Relazionale Basi di dati 5 Dominio, attributo, relazione, tupla (2) Relazione - nome di una relazione - schema e istanza di una relazione - schema di relazione R(A 1,..., A n ) = insieme di attributi - grado di una relazione (stabile) - istanza di relazione r(r) (o r R) = insieme di tuple, dove una tupla t = v 1,..., v n, con v i dom(a i ) per 1 i n - notazione: porzione di tupla t[a i1,..., A ik ] = v i1,..., v ik, con k < n - cardinalità di una relazione (variabile)

Il Modello Relazionale Basi di dati 6 Caratteristiche delle relazioni Ordinamento delle tuple in una (istanza di) relazione Ordinamento dei valori all interno di una tupla - insieme di valori (attributi con nome) - lista ordinata di valori (attributi senza nome) Valori delle tuple (1NF) - trattamento degli attributi composti del modello ER - trattamento degli attributi multivalore del modello ER

Il Modello Relazionale Basi di dati 7 Schema e istanza di una base di dati Schema di una base di dati relazionale = insieme di schemi di relazione {R 1,..., R n } + insieme di vincoli di integrità. (Istanza di una) base di dati relazionale = insieme di istanze di relazione {r 1,..., r n } che soddisfano i vincoli di integrità. Vincoli di integrità intra-relazionali e inter-relazionali - i vincoli intra-relazionali coinvolgono una o più tuple di una singola relazione - i vincoli inter-relazionali coinvolgono tuple appartenenti a relazioni diverse

Il Modello Relazionale Basi di dati 8 Vincoli intra-relazionali - vincoli relativi ad un singolo valore di una singola tupla - vincolo di dominio - vincolo NOT NULL - vincoli che coinvolgono più valori di una singola tupla - (esempio) nella tabella ESAMI(STUDENTE,MATERIA,DATA,VOTO,LODE) la LODE può essere assegnata solo se il VOTO è 30 - vincoli che coinvolgono più tuple di una singola tabella - vincolo di chiave: specifica delle chiavi candidate (le nozioni di superchiave, di chiave candidata e di chiave primaria) Al vincolo di chiave viene affiancato il vincolo di integrità dell entità: il valore della chiave primaria non può essere NULL

Il Modello Relazionale Basi di dati 9 Vincoli inter-relazionali - vincolo di integrità referenziale (la nozione di chiave esterna) un insieme di attributi F K di uno schema di relazione R 1 è una chiave esterna rispetto ad uno schema di relazione R 2 se - gli attributi in F K hanno lo stesso dominio degli attributi che costituiscono la chiave primaria P K di R 2 (in verità, è sufficiente che soddisfino il vincolo di unicità); - date r 1 R 1 e r 2 R 2, per ogni t 1 r 1 se t 1 [F K] NULL (su nessun attributo di F K t 1 assume il valore NULL), allora esiste t 2 r 2 tale che t 1 [F K] = t 2 [P K].

Il Modello Relazionale Basi di dati 10 Un esempio di schema relazionale IMPIEGATO NOME INIZIALE COGNOME CF DATA NASCITA...... INDIRIZZO SESSO STIPENDIO SUPERVISORE DIP DIPARTIMENTO DNUMERO DNOME MANAGER DATA INIZIO SEDI DIPARTIMENTO DNUMERO DSEDE PROGETTO PNUMERO PNOME DNUM PSEDE LAVORA A IMP PROGETTO ORE SETTIMANA PERSONA A CARICO IMP NOME SESSO DATA NASCITA LEGAME

Il Modello Relazionale Basi di dati 11 Chiavi primarie e chiavi esterne IMPIEGATO NOME INIZIALE COGNOME CF DATA NASCITA...... INDIRIZZO SESSO STIPENDIO SUPERVISORE DIP DIPARTIMENTO DNUMERO DNOME MANAGER DATA INIZIO SEDI DIPARTIMENTO DNUMERO DSEDE PROGETTO PNUMERO PNOME DNUM PSEDE LAVORA A IMP PROGETTO ORE SETTIMANA PERSONA A CARICO IMP NOME SESSO DATA NASCITA LEGAME Legenda: le CHIAVI PRIMARIE sono sottolineate; le CHIAVI ESTERNE sono in corsivo

Il Modello Relazionale Basi di dati 12 Chiavi esterne SUPERVISORE è chiave esterna di IMPIEGATO rispetto a IMPIEGATO DIP è chiave esterna di IMPIEGATO rispetto a DIPARTIMENTO MANAGER è chiave esterna di DIPARTIMENTO rispetto a IMPIEGATO DNUMERO è chiave esterna di SEDI DIPARTIMENTO rispetto a DIPARTIMENTO DNUM è chiave esterna di PROGETTO rispetto a DIPARTIMENTO IMP è chiave esterna di LAVORA A rispetto a IMPIEGATO PROGETTO è chiave esterna di LAVORA A rispetto a PROGETTO IMP è chiave esterna di PERSONA A CARICO rispetto a IMPIEGATO

Il Modello Relazionale Basi di dati 13 (Linguaggio di) definizione dei dati - 1 DECLARE SCHEMA AZIENDA; DECLARE DOMAIN CF PERSONA TYPE FIXED CHAR(16); DECLARE DOMAIN NOMI PERSONA TYPE VARIABLE CHAR(15); DECLARE DOMAIN INIZIALI PERSONA TYPE ALPHABETIC CHAR(1); DECLARE DOMAIN DATA TYPE DATE; DECLARE DOMAIN INDIRIZZI TYPE VARIABLE CHAR(35); DECLARE DOMAIN SESSO PERSONA TYPE ENUMERATED {M, F }; DECLARE DOMAIN STIPENDI PERSONA TYPE MONEY; DECLARE DOMAIN NUMERI DIPARTIMENTO TYPE INTEGER RANGE[1,10]; DECLARE DOMAIN NOMI DIPARTIMENTO TYPE VARIABLE CHAR(20);

Il Modello Relazionale Basi di dati 14 (Linguaggio di) definizione dei dati - 2 DECLARE RELATION IMPIEGATO; FOR SCHEMA AZIENDA ATTRIBUTES NOME DOMAIN NOMI PERSONA, INIZIALE DOMAIN INIZIALI PERSONA, COGNOME DOMAIN NOMI PERSONA, CF DOMAIN CF PERSONA, DATA NASCITA DOMAIN DATA, INDIRIZZO DOMAIN INDIRIZZI, SESSO DOMAIN SESSO PERSONA, STIPENDIO DOMAIN STIPENDI PERSONA, SUPERVISORE DOMAIN CF PERSONA, DIP DOMAIN NUMERI DIPARTIMENTO, CONSTRAINTS PRIMARY KEY (CF), FOREIGN KEY (SUPERVISORE) REFERENCES IMPIEGATO, FOREIGN KEY (DIP) REFERENCES DIPARTIMENTO; DECLARE RELATION DIPARTIMENTO; FOR SCHEMA AZIENDA ATTRIBUTES DNOME DOMAIN NOMI DIPARTIMENTO, DNUMERO DOMAIN NUMERI DIPARTIMENTO, MANAGER DOMAIN CF PERSONA, DATA INIZIO DOMAIN DATA, CONSTRAINTS PRIMARY KEY (DNUMERO), KEY (DNOME), FOREIGN KEY (MANAGER) REFERENCES IMPIEGATO;

Il Modello Relazionale Basi di dati 15 Operazioni di aggiornamento delle relazioni Operazioni di inserimento: - violazione dei vincoli intra-relazionali - violazione dell integrità referenziale (rifiuto vs. propagazione a cascata) Operazioni di cancellazione: - violazione dell integrità referenziale (rifiuto vs. propagazione a cascata vs. modifica del valore della chiave esterna il cui valore diventa privo di riferimento: come scegliere? SET N U LL oppure SET DEF AULT ) Operazioni di modifica: - modifica = cancellazione + inserimento