G. Mecca – – Università della Basilicata Basi di Dati Sistemi per Basi di Dati Relazionali: Modello Logico Concetti Fondamentali versione.

Slides:



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

Algoritmi e Strutture Dati
DB - Modello relazionale dei dati
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità C1 Il linguaggio SQL.
1 Progettazione logica: Il modello relazionale Eugenio Di Sciascio.
G. Mecca – – Università della Basilicata Basi di Dati Progettazione di Basi di Dati: Introduzione versione 2.0 Questo lavoro è concesso.
G. Mecca – – Università della Basilicata Tecnologie di Sviluppo per il Web Valutazione della Qualità del Codice HTML versione 2.0 Questo.
Sistemi per Basi di Dati: Introduzione
DBMS Relazionali a Oggetti: Introduzione
G. Mecca – – Università della Basilicata Basi di Dati Progettazione Logica versione 2.0 Questo lavoro è concesso in uso secondo i termini.
G. Mecca – – Università della Basilicata Tecnologie di Sviluppo per il Web Cascading Style Sheets (CSS): Introduzione versione 2.0 Questo.
G. Mecca – – Università della Basilicata Basi di Dati Sistemi per BD Relazionali: Modello Fisico Concetti Fondamentali versione 2.0 Questo.
Modello Concettuale dei Dati: Concetti Fondamentali
Algebra Relazionale Concetti Fondamentali
SQL-92 Concetti Fondamentali
G. Mecca – – Università della Basilicata Tecnologie di Sviluppo per il Web XHTML Principali Moduli versione 2.0 Questo lavoro è concesso.
Tecnologie di Sviluppo per il Web
Modello Concettuale Dettagli e Approfondimenti
G. Mecca – – Università della Basilicata Basi di Dati SQL-92 Concetti Avanzati versione 2.0 Questo lavoro è concesso in uso secondo i termini.
G. Mecca – – Università della Basilicata Tecnologie di Sviluppo per il Web Cascading Style Sheets (CSS): Concetti Fondamentali versione.
G. Mecca – – Università della Basilicata Tecnologie di Sviluppo per il Web XML: Dettagli e Approfondimenti versione 2.0 Questo lavoro è
Progettazione e Forme Normali
G. Mecca – – Università della Basilicata Basi di Dati Sistemi per BD Relazionali: Modello Fisico Dettagli e Approfondimenti versione 2.0.
G. Mecca – – Università della Basilicata Basi di Dati Tecnologia di un DBMS: Concorrenza e Affidabilità Concetti Avanzati versione 2.0.
Sistemi per BD Relazionali: Modello Fisico Concetti Avanzati
G. Mecca – – Università della Basilicata Basi di Dati SQL-92 Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso in uso secondo.
Algebra Relazionale Dettagli e Approfondimenti
G. Mecca – – Università della Basilicata Basi di Dati Progettazione Fisica e Tuning: Concetti Avanzati versione 2.0 Questo lavoro è concesso.
Semantica delle Informazioni
Il modello relazionale: strutture e vincoli
Programmazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++
Corso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati)
1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) SQL: Data Manipulation Language (DML) Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi,
Corso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati)
1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Relazionale Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone - Basi.
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
1 © Alberto Montresor Algoritmi e Strutture Dati Capitolo 7 - Tabelle hash Alberto Montresor Università di Trento This work is licensed under the Creative.
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
G. Mecca – – Università della Basilicata Basi di Dati Sistemi per Basi di Dati Relazionali: Modello Logico Dettagli e Approfondimenti versione.
Relazioni Relazione : concetto mutuato dalla definizione di relazione matematica della teoria degli insiemi, come sottoinsieme del prodotto cartesiano.
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.
Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL IDENTIFICATORI di tabelle e attributi: stringhe di lunghezza max 18 caratteri, composte da.
TECNOLOGIE DELLINFORMAZIONE E DELLA COMUNICAZIONE PER LE AZIENDE Materiale di supporto alla didattica.
RICERCA DI MERCATO PER NON ADDETTI
Progettare un database
Corso di Basi di Dati Il Linguaggio SQL Home page del corso:
sql: esempi di linguaggio sql nell'implementazione mysql
1 Il Linguaggio SQL Il Linguaggio SQL Prof. Lorenzo Vita, Ing. Luigi Testa.
Riconfigurare il diritto dautore. Lipertesto, una necessità di riconfigurazione. Secondo G. P. Landow, lavvento dellipertesto implica la necessità di.
Basi di Dati e Sistemi Informativi Il Linguaggio SQL Home page del corso:
Lanalisi di settore a cura di Bonucchi & Associati srl Questo documento è di supporto a una presentazione verbale. I contenuti potrebbero non essere correttamente.
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.
Esempi di posizionamento prodotti
Programmazione Procedurale in Linguaggio C++
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.
Progettazione di una base di dati relazionale Terza forma normale.
Il Modello Relazionale. I modelli logici dei dati Tradizionalmente, esistono tre modelli logici: –gerarchico –reticolare –relazionale I modelli gerarchico.
Linguaggio SQL. Linguaggi per database La diffusione del modello relazionale ha favorito l’uso prevalente di linguaggi non procedurali: in questo modo.
Programmazione Procedurale
Transcript della presentazione:

G. Mecca – – Università della Basilicata Basi di Dati Sistemi per Basi di Dati Relazionali: Modello Logico Concetti Fondamentali versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

2 G. Mecca - - Basi di Dati Concetti Fondamentali m Introduzione m Base di dati, tabella, ennupla, attributo Sintassi per la Descrizione delle Tabelle m Valori nulli m Vincoli di chiave, di ennupla, di riferimento m Caratteristiche del modello Rappresentazione di Informazione Nidificata DBMS Relazionali – Modello Logico >> Sommario

3 G. Mecca - - Basi di Dati Introduzione m Modello logico dei DBMS commerciali m Storia: Basato sul Modello Relazionale [E. F. Codd, 1970] Centrato sullindipendenza dei dati Disponibile in DBMS reali dal 1981 ANSI/ISO SQL-92 DBMS Relazionali – Modello Logico >> Concetti Fondamentali

4 G. Mecca - - Basi di Dati Attenzione m Lobiettivo di questa lezione è descrivere le caratteristiche del modello m Non ci occupiamo, per ora: delle tecniche per manipolare i dati >> linguaggio dei metodi per costruire la base di dati (come scegliere le tabelle e valutare la qualità) >> metodologia di progetto DBMS Relazionali – Modello Logico >> Concetti Fondamentali

5 G. Mecca - - Basi di Dati Intuizione m Base di dati insieme di tabelle m Tabella collezione di ennuple m Ennupla: insieme di coppie (attributo, valore) analogo nei linguaggi di programmazione: struttura o record DBMS Relazionali – Modello Logico >> Concetti Fondamentali

6 G. Mecca - - Basi di Dati Esempio: Studenti, Corsi, Esami m Base di dati universitari m Studenti nome, cognome, matricola, data di nascita m Corsi codice, nome del corso, nome del docente m Esami sostenuti corso, studente, voto DBMS Relazionali – Modello Logico >> Concetti Fondamentali

7 G. Mecca - - Basi di Dati Studenti, Corsi, Esami m Studenti nome: stringa cognome: stringa matricola: intero data di nascita: data m Corsi codice: stringa nome: stringa nome del docente: stringa m Esami sostenuti corso: riferimento ad un corso studente: riferimento ad uno studente voto: intero lode: sì/no DBMS Relazionali – Modello Logico >> Concetti Fondamentali

8 G. Mecca - - Basi di Dati DBMS Relazionali – Modello Logico >> Concetti Fondamentali Studenti TABLE Studenti(matricola integer, cognome char(20), nome char(20), dataNascita date); matricolacognomenomedataNascita 333JohnSmith15/06/ PincoPalla01/10/ BrunoPasquale05/07/ PincoPietro01/10/1984 ennupla attributovalore schema (esempio di sintassi) dominio (tipo) tabella (istanza) Studenti

9 G. Mecca - - Basi di Dati Corsi DBMS Relazionali – Modello Logico >> Concetti Fondamentali TABLE Corsi (codice char(3), titolo char(50), docente char(20)); codicetitolodocente PR1Programmazione IF. Totti ASDAlgoritmi e Str. DatiC. Vieri INFTInformatica TeoricaA. Del Piero Corsi

10 G. Mecca - - Basi di Dati matricolacorsovotolode 333PR127false 77777PR121false 77777ASD20false 88888PR130false 88888INFT30true Esami DBMS Relazionali – Modello Logico >> Concetti Fondamentali TABLE Esami (matricola integer, voto integer, corso char(3), lode bool); matricola di uno studente codice di un corso Esami

11 G. Mecca - - Basi di Dati DBMS Relazionali – Modello Logico >> Concetti Fondamentali matricolacognomenomedataNascita 333JohnSmith15/06/ PincoPalla01/10/ BrunoPasquale05/07/ PincoPietro01/10/1984 Studenti codicetitolodocente PR1Programmazione IF. Totti ASDAlgoritmi e Str. DatiC. Vieri INFTInformatica TeoricaA. Del Piero Corsi matricolacorsovotolode 333PR127false 77777PR121false 77777ASD20false 88888PR130false 88888INFT30true Esami Base di Dati

12 G. Mecca - - Basi di Dati DBMS Relazionali – Modello Logico >> Concetti Fondamentali Schema della Base di Dati TABLE Studenti(matricola integer, cognome char(20), nome char(20), dataNascita date); TABLE Corsi (codice char(3), titolo char(50), docente char(20)); TABLE Esami (matricola integer, voto integer, corso char(3), lode bool);

13 G. Mecca - - Basi di Dati Valori Nulli DBMS Relazionali – Modello Logico >> Concetti Fondamentali matricolacognomenomedataNascita 333JohnSmith15/06/ PincoPalla01/10/ BrunoPasquale05/07/ PincoPietro01/10/ PaoloRossiNULL Studenti codicetitolodocente PR1Programmazione IF. Totti ASDAlgoritmi e Str. DatiC. Vieri INFTInformatica TeoricaA. Del Piero POOProg. a OggettiNULL Corsi valore nullo

14 G. Mecca - - Basi di Dati Vincoli sui Dati m Regole della realtà di interesse m Unicità di codici di corso e matricole identificatori m Voti degli studenti da 18 a 30 lode solo se il voto è 30 m Correttezza dei riferimenti DBMS Relazionali – Modello Logico >> Concetti Fondamentali

15 G. Mecca - - Basi di Dati matricolacorsovotolode 333PR127false 77777PR135false 77777ASD20true 88888PR130false 9999INFT30true matricolacognomenomedataNascita 333JohnSmith15/06/ PincoPalla01/10/ BrunoPasquale05/07/ PincoPietro01/10/1984 Una Base di Dati Scorretta DBMS Relazionali – Modello Logico >> Concetti Fondamentali unicità della matricola voti scorretti riferimento scorretto Studenti Esami

16 G. Mecca - - Basi di Dati Vincoli di Integrità m Regole imposte sui valori della base di dati m Vincoli sulle singole tabelle vincoli di chiave vincoli di ennupla m Vincoli tra tabelle diverse vincoli di riferimento o di integrità referenziale DBMS Relazionali – Modello Logico >> Concetti Fondamentali

17 G. Mecca - - Basi di Dati Vincoli di Integrità m Vincoli di chiave chiave: identificatore per le ennuple es: matricola è una chiave per Studenti m Vincoli di ennupla predicati sui valori delle ennuple es: (voto>=18 and voto<=30) m Vincoli di Riferimento assenza di riferimenti inesistenti es: esistono esami solo per gli studenti della bd DBMS Relazionali – Modello Logico >> Concetti Fondamentali

18 G. Mecca - - Basi di Dati Vincoli di Chiave TABLE Studenti(matricola integer, cognome char(20), nome char(20), dataNascita date, UNIQUE(matricola)); DBMS Relazionali – Modello Logico >> Concetti Fondamentali matricolacognomenomedataNascita 333JohnSmith15/06/ PincoPalla01/10/ BrunoPasquale05/07/ PincoPietro01/10/1984 Studenti

19 G. Mecca - - Basi di Dati Vincoli di Ennupla DBMS Relazionali – Modello Logico >> Concetti Fondamentali TABLE Esami (matricola integer, voto integer, corso char(3), lode bool, CHECK (voto>=18 and voto<=30), CHECK (not lode or voto=30)); matricolacorsovotolode 333PR127false 77777PR121false 77777ASD20false 88888PR130false 88888INFT30true Esami

20 G. Mecca - - Basi di Dati Vincoli di Riferimento DBMS Relazionali – Modello Logico >> Concetti Fondamentali TABLE Esami (matricola integer corso char(3) voto integer, lode bool, CHECK (voto>=18 and voto<=30), CHECK (not lode or voto=30), FOREIGN KEY(matricola) REFERENCES Studenti(matricola), FOREIGN KEY(corso) REFERENCES Corsi(codice)); matricolacorsovotolode 333PR127false 77777PR121false 77777ASD20false 88888PR130false 88888INFT30true Esami

21 G. Mecca - - Basi di Dati DBMS Relazionali – Modello Logico >> Concetti Fondamentali Schema con vincoli di integrità TABLE Corsi (codice char(3), titolo char(50), docente char(20), UNIQUE(codice)); TABLE Studenti(matricola integer, cognome char(20), nome char(20), dataNascita date, UNIQUE(matricola)); TABLE Esami (matricola integer, corso char(3), voto integer, lode bool, CHECK (voto>=18 and voto<=30), CHECK (not lode or voto=30), FOREIGN KEY(matricola) REFERENCES studenti(matricola), FOREIGN KEY(corso) REFERENCES corsi(codice), UNIQUE (matricola, corso));

22 G. Mecca - - Basi di Dati Caratteristiche del Modello m Legami tra i dati basati sui valori assenza di puntatori m I valori devono essere semplici valori atomici : numeri, caratteri, stringhe, booleani, date ecc. non sono consentite nidificazioni (base di dati in I forma normale) differenza con altri modelli (es: strutture) DBMS Relazionali – Modello Logico >> Concetti Fondamentali

23 G. Mecca - - Basi di Dati DBMS Relazionali – Modello Logico >> Concetti Fondamentali Un Esempio di Informazione Nidificata Da Gigino – Officina Meccanica via della Fisica – Potenza FATTURA n. 23 del 12/10/2003 Cliente: Pinco Palla (tel. 0971/56789) 1Carburatore57,00 2Pasticche freni120,00 1Manodopera70,57 Totale247,57 Da Gigino – Officina Meccanica via della Fisica – Potenza FATTURA n. 50 del 12/10/2003 Cliente: Pinco Pietro (tel. 0971/23456) 1Testata motore257,00 1Punterie motore150,00 2Semiassi anteriori170,00 1Manodopera300,00 Totale877,00

24 G. Mecca - - Basi di Dati DBMS Relazionali – Modello Logico >> Concetti Fondamentali Una Possibile Rappresentazione numdataclientetelefonototale 2312/10/2003Pinco Palla 0971/ , /10/2003Pinco Pietro 0971/ ,00 Fatture fatturaquantitagenerecostoTot 231Carburatore57,00 232Pasticche freni120,00 231Manodopera70,57 501Testata motore257,00 501Punterie motore150,00 502Semiassi anteriori170,00 501Manodopera300,00 Voci

25 G. Mecca - - Basi di Dati Concetti Fondamentali m Introduzione m Base di dati, tabella, ennupla, attributo Sintassi per la Descrizione delle Tabelle m Valori nulli m Vincoli di chiave, di ennupla, di riferimento m Caratteristiche del modello Rappresentazione di Informazione Nidificata DBMS Relazionali – Modello Logico >> Sommario

26 G. Mecca - - Basi di Dati DBMS Relazionali – Modello Logico >> Concetti Fondamentali matricolacognomenomedataNascita 333JohnSmith15/06/ PincoPalla01/10/ BrunoPasquale05/07/ PincoPietro01/10/1984 Studenti codicetitolodocente PR1Programmazione IF. Totti ASDAlgoritmi e Str. DatiC. Vieri INFTInformatica TeoricaA. Del Piero Corsi matricolacorsovotolode 333PR127false 77777PR121false 77777ASD20false 88888PR130false 88888INFT30true Esami Base di Dati

27 G. Mecca - - Basi di Dati Ringraziamenti m Lesempio Studenti-Corsi-Esami è stato ispirato dal corrispondente esempio utilizzato dal Prof. Paolo Atzeni nel suo materiale didattico per il corso di Basi di Dati. m Lesempio delle Fatture è stato ispirato dallesempio delle Ricevute del Ristorante utilizzato dal Prof. Paolo Atzeni nel suo materiale didattico per il corso di Basi di Dati.

28 G. Mecca - - Basi di Dati Termini della Licenza m This work is licensed under the Creative Commons Attribution- ShareAlike License. To view a copy of this license, visit or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. m Questo lavoro viene concesso in uso secondo i termini della licenza Attribution-ShareAlike di Creative Commons. Per ottenere una copia della licenza, è possibile visitare oppure inviare una lettera allindirizzo Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.