Basi di dati e Relazioni Uno schema di relazione R(X) è costituito da un simbolo (nome della relazione) R e da una serie di attributi X={A 1, A 2, …, A.

Slides:



Advertisements
Presentazioni simili
Informatica II – Basi di Dati (08/09) – Parte 1
Advertisements

Corso di Laurea in Biotecnologie Informatica (Basi di Dati)
Il raffinamento dello schema e la normalizzazione nei database relazionali Eugenio Di Sciascio.
Algebra Relazionale 3 Università degli Studi del Sannio
Calcolo Relazionale.
DB - Modello relazionale dei dati
Vincoli sulle basi di dati
Algebra relazionale Presentazione 12.1
DOCUMENTAZIONE DI SCHEMI E/R
1 Progettazione Concettuale: Entity/Relationships (E/R) Esigenza di strumenti efficaci, chiari e sintetici per rappresentare i dati di interesse e le loro.
4 – Progettazione – Introduzione e Modello E-R
Basi di Dati prof. A. Longheu 4 – Progettazione – Introduzione e Modello E-R Cap. 5 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.
Il modello relazionale: strutture e vincoli
Archivio Cé necessità di immagazzinare in modo permanente grandi quantità di dati. Esempio: anagrafe dei cittadini di un comune.
L’uso dei database in azienda
ENTITÀ - RELAZIONE MODELLO ENTITÀ E ATTRIBUTI DOMINI RELAZIONI
Corso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati)
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
Algebra Relazionale Linguaggio procedurale, cioè le operazioni vengono descritte attraverso la descrizione della sequenza di azioni da compiere per ottenere.
Proiezione Dati una relazione r(X) e un sottoinsieme Y di X, la proiezione di r su Y si indica con Y ( r ) o PROJ Y ( r ) ed è linsieme di tuple su Y ottenute.
Relazioni Relazione : concetto mutuato dalla definizione di relazione matematica della teoria degli insiemi, come sottoinsieme del prodotto cartesiano.
Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti.
Partizionamento/accorpamento di concetti
Modello Relazionale Proposto agli inizi degli anni ‘70 da Codd
Informazione incompleta Le tuple che compongono la base di dati devono essere omogenee. Quindi ad ogni attributo deve essere associato un valore in ogni.
Basi di dati Claudia Raibulet
Il modello relazionale (II). Informazione incompleta e valori nulli In una tupla di una relazione un attributo può non avere valore Per esempio: Mario.
PROGETTAZIONE DI UN DATABASE
COMPITO 2 CELESTE BONANNO MATR CDL: SDFA.
1.Progettare il seguente DataBase in relazione ai due esempi presenti in piattaforma, Modulo 4, esempi 1 e 2: Considerare le informazioni per la gestione.
Il modello ER Proposto da Peter Chen nel 1976 rappresenta uno standard per la progettazione concettuale (in particolare per le basi di dati) Ha una rappresentazione.
Progettare un database
Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill.
MODELLO E/R.
Informatica Introduzione alle basi di dati Lezione 6 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
DB- Sistemi Informativi
Il modello relazionale (II). Informazione incompleta e valori nulli In una tupla di una relazione un attributo può non avere valore Per esempio: Mario.
Informatica II – Basi di Dati (07/08) – Parte 2 Gianluca Torta Dipartimento di Informatica dell’Università di Torino
I DBMS BASI DI DATI (DATABASE) Insieme organizzato di dati utilizzati
Il modello relazionale. Modello logico dei dati basato su concetti relazione e tabella Relazione: da teoria degli insiemi Tabella: rappresentazione grafica.
IL MODELLO RELAZIONALE. Modello Relazionale2 Cronologia dei modelli per la rappresentazione dei dati  Modello gerarchico (anni 60)  Modello reticolare.
Algebra relazionale. Accesso ai dati di un DB Aggiornamento di DB: funzione che, data istanza di DB, produce altra istanza di DB, sullo stesso schema.
BASI DI DATI. 2 Sommario Introduzione e obiettivi Introduzione e obiettivi Il modello di dati relazionale Il modello di dati relazionale SQL SQL Software.
Progettazione di una base di dati Ciclo di vita di un sistema informativo Studio di fattibilità definisce le varie alternative possibili, i relativi costi.
Join Proprietà Il join di r 1 e r 2 contiene un numero di tuple compreso fra zero e il prodotto di |r 1 | e |r 2 | se il join di r 1 e r 2 è completo allora.
Progettazione di una base di dati relazionale Vincoli.
Progettazione di una base di dati relazionale Terza forma normale.
Join Se ciascuna tupla di ciascun operando contribuisce ad almeno una tupla del risultato il join si dice completo. Se per alcune tuple non è verificata.
S. Costantini 06/05/2006 (parte del materiale è tratto da slide del 2001 di Ceri-Atzeni) Normalizzazione di Schemi.
Metodologie e modelli per il progetto. 2 Introduzione alla progettazione Il problema: progettare una base di base di dati a partire dai suoi requisiti.
1 Esami Esame scritto: Tra 21 e 25 domande: 20 domande chiuse (20 punti),  5 domande aperte (10 punti) 1½ ore Esame orale/applicativo: Esercizi usando.
Il modello relazionale
Progettazione database a cura di Roberta Mancini – matr CdLM in Marketing.
Cloud informatica V anno.
PROGETTAZIONE DI UN DATABASE SARA A. L. DI GAETANO.
NORMALIZZAZIONE ESERCIZI. INTRODUZIONE La modellazione E-R ci ha consentito di descrivere schemi relazionali Lo strumento base per la modellizzazione.
DB- Sistemi Informativi Insieme di programmi in grado di acquisire, elaborare, trasmettere ed archiviare informazioni in genere ad uso di un’organizzazione.
Linguaggi per basi di dati Linguaggi di definizione dei dati Utilizzati per definire gli schemi e le autorizzazioni per l’accesso Linguaggi di manipolazione.
Basi di Dati e Sistemi Informativi Esempi & Esercizi Il Modello Relazionale Home page del corso:
1. CASO BIBLIOTECA ANALISI DEI REQUISITI Si vuole automatizzare la gestione prestiti dei libri di una biblioteca personale. La progettazione deve tener.
Normalizzazione. Introduzione Nell’organizzazione tradizionale degli archivi, si verificano alcuni problemi, quali: Ridondanza dei dati (gli stessi dati.
Il Modello Relazionale. I modelli logici dei dati Tradizionalmente, esistono tre modelli logici: –gerarchico –reticolare –relazionale I modelli gerarchico.
1 “ Le Basi di Dati ”. 2 Parte 5: Tabelle –Creazione di una tabella –Indici e chiavi primarie –Relazioni e integrità referenziale Basi di Dati Struttura.
Il modello relazionale. Modello Relazionale 2 Dal modello concettuale a quello logico Una volta stabilita la rappresentazione concettuale della realtà.
BASI DATI: modello relazionale BIOINGEGNERIA ELETTRONICA ED INFORMATICA Lezione IIIb - AA 2014/20151.
Universita’ di Milano Bicocca Corso di Basi di Dati 1 in eLearning C
Vincoli di Integrità Non tutte le combinazioni possibili di valori dei domini su cui è definita una relazione sono accettabili. Alcuni attributi possono.
Transcript della presentazione:

Basi di dati e Relazioni Uno schema di relazione R(X) è costituito da un simbolo (nome della relazione) R e da una serie di attributi X={A 1, A 2, …, A n } Corsi ( Codice, NomeCorso, Docente ) Uno schema di base di dati è un insieme di schemi di relazione con nomi diversi R = {R 1 (X 1 ), R 2 (X 2 ), …, R n (X n )} Una relazione su uno schema R(X) è un insieme r di tuple su X. Una base di dati su uno schema R = {R 1 (X 1 ), R 2 (X 2 ), …, R n (X n )} è un insieme di relazioni r = {r 1, r 2, …, r n } dove ogni r i è una relazione sullo schema R i (X i )

Informazione incompleta Le tuple che compongono la base di dati devono essere omogenee. Quindi ad ogni attributo deve essere associato un valore in ogni tupla. Non sempre questo è possibile. Es. Persone ( Cognome, Nome, Indirizzo, Telefono ) Potrebbe esserci una persona che non ha telefono, o di cui non conosciamo l’indirizzo. Oppure: FranklinRooseveltDelano NomeCognomeSecondoNome WinstonChurchill CharlesDe Gaulle JosipStalin

Informazione incompleta: soluzioni? non conviene (anche se spesso si fa) usare valori del dominio (0, stringa nulla, “99”,...): –potrebbero non esistere valori “non utilizzati” –valori “non utilizzati” potrebbero diventare significativi –in fase di utilizzo (nei programmi) sarebbe necessario ogni volta tener conto del “significato” di questi valori

Informazione incompleta Nel modello relazionale è definito un valore convenzionale, detto valore nullo, che indica la non disponibilità dell’informazione. Il valore nullo può rappresentare 3 tipi di informazione: – sconosciuta – inesistente – indeterminata (nei DBMS disponibili si considera in genere questo caso)

Vincoli di Integrità Non tutte le combinazioni possibili di valori dei domini su cui è definita una relazione sono accettabili. Alcuni attributi possono assumere valori in un certo intervallo Alcuni attributi devono essere diversi in ogni tupla della stessa relazione Es. valori dell’attributo Matricola in una relazione del tipo Studenti( Matricola, Cognome, Nome, DataNascita )

Vincoli di Integrità Alcuni valori possono essere incompatibili con altri all’interno della stessa relazione Es. data la relazione Esami( Matricola, Voto, Lode, CodCorso ) –una stessa coppia Matricola,Corso può apparire una sola volta –Il valore Vero per l’attributo Lode è corretto solo se Voto=30 Alcuni valori possono essere incompatibili con i valori di un’altra relazione Es. Data la relazione Esami e la relazione Corsi( CodCorso, Titolo, Docente ) ogni valore di CodCorso in Esami deve essere un valore esistente di CodCorso in Corsi

Vincoli di Integrità Sono condizioni, sotto forma di predicati logici, che sono inserite nella base di dati per garantirne la consistenza. Ogni istanza della base di dati deve soddisfare i vincoli di integrità (il predicato deve assumere valore vero ). Una istanza che soddisfi tutti i vincoli è detta corretta (o lecita o ammissibile)

Vincoli di Integrità Possono essere di vario tipo: Intrarelazionale se coinvolge attributi della stessa relazione – Vincoli di tupla possono essere valutati su ciascuna tupla indipendentemente dalle altre Vincoli di dominio sono definiti su singoli valori Interrelazionale se coinvolge più relazioni

Vincoli di tupla Possono essere definiti attraverso operatori booleani Es. ( Voto >= 18 ) AND ( Voto <= 30 ) ( NOT ( lode=Vero )) OR ( Voto=30 ) oppure, data la relazione Pagamenti( Data, Importo, Ritenute, Netto ) Netto = Importo - Ritenute

Identificazione delle tuple –non ci sono due tuple con lo stesso valore sull’attributo Matricola –non ci sono due tuple uguali su tutti e tre gli attributi Cognome, Nome e Nascita Matricola Nome Mario Piero Mario Mario Cognome Rossi Neri Rossi Piero Corso Ing Inf Ing Mecc Ing Inf Ing Mecc Nascita 5/12/78 10/7/79 3/11/76 5/12/78

Chiavi Una chiave è un insieme minimale di attributi utilizzato per identificare univocamente le tuple di una relazione. Formalmente: Un insieme di attributi K è superchiave per una relazione r se r non contiene due tuple t 1 e t 2 tali che t 1 [K] = t 2 [K] Un insieme di attributi K è chiave per r se è superchiave minimale, cioè se non esiste un’altra superchiave K’ che sia sottoinsieme di K o, comunque, di dimensioni inferiori.

Una chiave Matricola è una chiave: –è superchiave –contiene un solo attributo e quindi è minimale Matricola Nome Mario Piero Mario Mario Cognome Rossi Neri Rossi Piero Corso Ing Inf Ing Mecc Ing Inf Ing Mecc Nascita 5/12/78 10/7/79 3/11/76 5/12/78

Chiavi Una chiave è tale se soddisfa la definizione per tutte le possibili tuple appartenenti alla relazione, e non solo per quelle che effettivamente appaiono come istanze della relazione stessa. Quindi la chiave è legata allo schema della relazione. Ogni relazione, per definizione, possiede una chiave. Infatti l’insieme X su cui è definita è sicuramente superchiave.

Chiavi La presenza di valori nulli in una chiave può vanificare la proprietà di unicità delle tuple identificate da una certa chiave. Si impone quindi che almeno una chiave non contenga valori nulli. Tale chiave è detta chiave primaria. Di solito la chiave primaria è sottolineata nello schema di una relazione. Es. Studenti( Matricola, Cognome, Nome, Nascita, Corso )

Vincoli di Integrità Referenziale In alcuni casi (corrispondenze fra relazioni) è necessario che i valori degli attributi di una relazione R 1 si trovino anche in attributi corrispondenti di un’altra relazione R 2. Un vincolo di integrità referenziale (o foreign key) fra un insieme di attributi X di R 1 e un’altra relazione R 2 è soddisfatto se i valori su X di ciascuna tupla di R 1 compaiono come valori della chiave (primaria) di R 2. Non tutti i DBMS consentono di definire una chiave come primaria, sia quando questa è unica, sia in presenza di più chiavi possibili. Quindi in questi casi sarà necessario (ed è comunque sempre consigliabile farlo) esprimere il vincolo di integrità referenziale per esteso, specificando esplicitamente le corrispondenze fra gli attributi dell’una e dell’altra relazione collegate dal vincolo stesso.