1 Modello Relazionale : valori nulli Un valore nullo è diverso da ogni altro valore: t4[CODDOC]t5[CODDOC] nullMeccanicaC5 D2Analisi 1C2 D1Fisica 2C3 nullStoriaC6.

Slides:



Advertisements
Presentazioni simili
BASE DI DATI BIBLIOTECA PERSONALE
Advertisements

TRACCIA N. 1.
Creazione di archivi tramite Data Base
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità C1 Il linguaggio SQL.
Sistemi per il recupero delle informazioni
DOCUMENTAZIONE DI SCHEMI E/R
Biglietti e Ritardi: schema 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.
1 Progettazione Concettuale: Entity/Relationships (E/R) Esigenza di strumenti efficaci, chiari e sintetici per rappresentare i dati di interesse e le loro.
Biglietti e Ritardi: schema E/R
Biglietti: schema E/R.
1 Biglietti: schema E/R. 2 Biglietti: albero degli attributi.
1 Biglietti: schema E/R. 2 Biglietti: albero degli attributi.
1 SQL come linguaggio di definizione di dati Eugenio Di Sciascio.
Progettazione ER Un database universitario contiene informazioni riguardanti i professori (identificati dal codice fiscale) e informazioni relative ai.
PROGETTO LOGICO. Progetto logico Lo schema E/R descrive un dominio applicativo ad un dato livello di astrazione Lo schema E/R è molto utile per: –fornire.
1 L 19 Pianificare la gestione: la politica Andrea Castelletti.
Corso di Informatica (Basi di Dati)
Basi di dati. Vantaggi degli archivi digitali Risparmio di spazio: sono facilmente trasferibili e duplicabili Risparmio di tempo: si può accedere ai dati.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999
Basi di dati Università Degli Studi Parthenope di Napoli
SQL: Lezione 7 Nataliya Rassadko
SQL Per la modifica di basi di dati
Esercitazione.
Manipolazione dei dati I comandi SQL che permettono di modificare il contenuto di una base di dati sono insertdeleteupdate insert ha la seguente sintassi:
Basi di dati Claudia Raibulet
21 marzo 22 marzo 23 marzo 24 marzo. TCB TCB TCB marzo
Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL IDENTIFICATORI di tabelle e attributi: stringhe di lunghezza max 18 caratteri, composte da.
Progettazione di un database
PROGETTAZIONE DI UN DATABASE
Secondo Compito Considerare le informazioni per la gestione dei prestiti di una biblioteca personale. Il proprietario presta libri ai suoi amici, che indica.
Progettazione di un Data Base
COMPITO 2 CELESTE BONANNO MATR CDL: SDFA.
Progettazione di un database Angela Zingariello. P UNTO 1 S CHEMA ENTITÀ RELAZIONI Progettazione di una base di dati per la gestione dei prestiti di una.
Schema entità-relazione N:N 1:N1:N 1:N1:N Prestiti Amici Libri.
UTENTE LIBRO N : N PRESTITO 1 : N N : 1 Individuate le seguenti entità: UTENTE LIBRO.
Progettazione di un DataBase. Dominio applicativo: biblioteca personale; Fine ultimo:ricavare le informazioni relative ai prestiti di libri effettuati.
ABILITA INFORMATICHE CORSO AVANZATO Anno accademico 2010/11 Prof. A.Marengo Grazia Maselli Matricola:
STUDENTE: Arianna Carucci matricola
Schema entità-relazioni 1 libro N prestiti 1 amico N prestiti 1 libro N scadenze N prestiti N scadenze.
Corso di Basi di Dati Il Linguaggio SQL Home page del corso:
sql: esempi di linguaggio sql nell'implementazione mysql
Sistemi di Elaborazione delle Informazioni Mod.I.
1 Il Linguaggio SQL Il Linguaggio SQL Prof. Lorenzo Vita, Ing. Luigi Testa.
Basi di Dati e Sistemi Informativi
Basi di Dati e Sistemi Informativi Il Linguaggio SQL Home page del corso:
SQL.
Si vuole automatizzare la gestione di una biblioteca personale. E’ necessario memorizzare le entità: 1. Amici 2. Libri Dominio Applicativo E’ rappresentato.
Gestione Biblioteca Giacomo Di Bartolomeo Matr CdL Economia E Management.
SQL (IV) Data Definition Language/ Data Manipulation Language.
Secondo Compito:Progettazione di un database Pinto Vincenzo.
SQL, esempi 30/10/2014Basi di dati SQL1. 30/10/2014Basi di dati SQL2 CREATE TABLE, esempi CREATE TABLE corsi( codice numeric NOT NULL PRIMARY KEY, titolo.
SQL (III) Data Definition Language/ Data Manipulation Language.
Database: Personal Library 2°Compito Abilità Informatiche Av. Docente: Prof. A.Marengo Studente: Leonardo Ciriello Matr Università Degli Studi.
1 Vincoli Ci sono i vincoli predefiniti ( unique, primary key, not null, foreign key … ) In SQL2 si ha anche check check Condizione Serve per dare condizioni.
PROGETTAZIONE DI UN DATA BASE PERAGINE MARIANTONELLA MATRICOLA
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.
Vincoli interrelazionali
Database Progettazione Logica
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015 UdA 1A Database Progettazione Fisica G IORGIO P ORCU
NORMALIZZAZIONE ESERCIZI. INTRODUZIONE La modellazione E-R ci ha consentito di descrivere schemi relazionali Lo strumento base per la modellizzazione.
Basi di Dati e Sistemi Informativi Esercitazione: Il Linguaggio SQL (DDL+DML) Home page del corso:
Compito n.2 Progettazione di un DataBase Il Compilatore Di Lorenzo Salvatore.
1. CASO BIBLIOTECA ANALISI DEI REQUISITI Si vuole automatizzare la gestione prestiti dei libri di una biblioteca personale. La progettazione deve tener.
Linguaggio SQL prima parte Linguaggio SQL prima parte A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright © Istituto Italiano.
Linguaggio SQL. Linguaggi per database La diffusione del modello relazionale ha favorito l’uso prevalente di linguaggi non procedurali: in questo modo.
Esercizi SQL Group by. CREATE TABLE dipendente (codDip CHAR(8) NOT NULL UNIQUE PRIMARY KEY, cognome CHAR(60) NOT NULL, nome CHAR(60) NOT NULL, stipendio.
PROGETTAZIONE DATABASE SECONDO COMPITO CAROLINA CASIELLO
Creare tabelle in sql Ripasso!.
Transcript della presentazione:

1 Modello Relazionale : valori nulli Un valore nullo è diverso da ogni altro valore: t4[CODDOC]t5[CODDOC] nullMeccanicaC5 D2Analisi 1C2 D1Fisica 2C3 nullStoriaC6 D2Analisi 2C4 D1Fisica 1C1 CODDOCNOMECODCO R CORSO t1 t2 t3 t4 t5 t6 Due valori nulli sono diversi tra di loro: t5[CODDOC]t6[CODDOC] Nei nostri schemi relazionali, come in SQL, se non specificato diversamente, assumeremo che un attributo possa assumere dei valori null vincolo NOT NULL : NOME NOT NULL

2 Modello Relazionale : Vincolo di Entity Integrity t6[CODCOR]t7[CODCOR] : la definizione di chiave è rispettata! nullMeccanicaC5 D2Analisi 1C2 D1Fisica 2C3 nullMusicanull D3Storianull D2Analisi 2C4 D1Fisica 1C1 CODDOCNOMECODCO R CORSO t1 t2 t3 t4 t5 t6 t7 … però non posso identificare t6 e t7 ==> Vincolo di Entity Integrity

3 CORSO CODCORNOMECODDOC C1Fisica 1D1 C2Analisi 1D2 C3Fisica 2D1 C4Analisi 2D2 C5Meccanicanull Modello Relazionale : Key e Foreign Key DOCENTE CODDOCCFCITTA D1CF1MO D2CF2BO D3CF3MO D4CF4Fi Key Foreign Key ==> una foreign key può essere nulla

4 DOCENTE (CODDOC, CF, CITTÀ) AK: CF CODDOC : chiave primaria CF : chiave alternativa CHIAVE PRIMARIA e CHIAVE ALTERNATIVA SQL (In Laboratorio) fornisce Primary Key Foreign Key … References Ma non Alternative Key (AK) Che verrà realizzato tramite NOT NULL + UNIQUE

5 CORSO (CODCOR,NOME,CODDOC) FK: CODDOC REFERENCES DOCENTE(CODDOC) dove: CORSO:relazione/tabella dipendente o correlata DOCENTE: relazione/tabella riferita o primaria Essendo CODDOC la chiave primaria della relazione riferita DOCENTE, si può omettere in DOCENTE(CODDOC) CORSO (CODCOR,NOME,CODDOC) FK: CODDOC REFERENCES DOCENTE NOTAZIONE DEL VINCOLO DI INTEGRITÀ REFERENZIALE

6 DOCENTE (CODDOC, CF, CITTÀ) AK: CF ESEMPI DI SCHEMI RELAZIONALI CORSO (CODCOR,NOME,CODDOCENTEDELMIOCORSO) FK: CODDOCENTEDELMIOCORSO REFERENCES DOCENTE TASSE(ANNO,CFDOCENTE,IMPORTO) FK: CFDOCENTE REFERENCES DOCENTE(CF)

7 DOCENTE (CODDOC, CF, CITTÀ) AK: CF ESEMPI DI SCHEMI RELAZIONALI CORSO (CODCOR,NOME,CODDOC) FK: CODDOC REFERENCES DOCENTE ESAME(MATRSTUD,CORSO,VOTO,DATA) FK: MATRSTUD REFERENCES STUDENTE FK: CORSO REFERENCES CORSO STUDENTE (MATR,NOME) DOMANDEESAME(NUMDOM,MATRSTUD,CORSO,GIUDIZIO) FK: MATRSTUD,CORSO REFERENCES ESAME Lordine è importante: non posso scrivere DOMANDEESAME(NUMDOM,MATRSTUD,CORSO,GIUDIZIO) FK: CORSO,MATRSTUD REFERENCES ESAME

8 ESEMPI DI SCHEMI RELAZIONALI Per riferirmi ad ESAME devo usare la sua chiave: DOMANDEESAME(NUMDOM,MATRSTUD,CORSO,GIUDIZIO) FK: MATRSTUD,CORSO REFERENCES ESAME e non le singole componenti della chiave di ESAME: DOMANDEESAME(NUMDOM,MATRSTUD,CORSO,GIUDIZIO) FK: MATRSTUD REFERENCES STUDENTE FK: CORSO REFERENCES CORSO anche ripeterle è un errore (ridondanza): DOMANDEESAME(NUMDOM,MATRSTUD,CORSO,GIUDIZIO) FK: MATRSTUD,CORSO REFERENCES ESAME FK: MATRSTUD REFERENCES STUDENTE FK: CORSO REFERENCES CORSO

9 ESEMPI DI SCHEMI RELAZIONALI IMPIEGATO(CODIMP,SEDE,CODCAPO) FK: CODCAPO REFERENCES IMPIEGATO IMPIEGATO CODIMPSEDECODCAPO C1Centralenull C2AutoC! C3AutoC! C4MotoriC2 C5MotoriC2 C6MotoriC5

10 ESEMPI DI SCHEMI RELAZIONALI IMPIEGATO(CODIMP,CODREPARTO) FK: CODREPARTO REFERENCES REPARTO REPARTO(CODREP,CODCAPOREPARTO) FK: CODCAPOREPARTO REFERENCES IMPIEGATO Nello schema relazionale lordine delle relazioni è irrilevante. In SQL quando ci si riferisce ad una relazione, tale relazione deve già esistere, ovvero deve essere stata già creata Nei casi ciclici come il precedente: prima si definisce una relazione senza FK, poi laltra con FK e quindi si aggiunge La FK alla prima tramite ALTER TABLE

11 VISTE ESAME(MATR,NOMECORSO,VOTO) VISTA_ESAME(NOMECORSO,VOTO) SELECT NOMECORSO,VOTO FROM ESAME Query VISTA_ESAME ESAME(MATR,DOCENTE,VOTO) DOCENTE(DOCENTE,NOMECORSO) Nuovo Schema SELECT NOMECORSO,VOTO FROM ESAME JOIN DOCENTE ON (ESAME.DOCENTE = DOCENTE.DOCENTE) Query VISTA_ESAME