Upload
alfonso-roberto
View
222
Download
1
Embed Size (px)
Citation preview
base di dati
DBMS
linguaggio SQL
il modello E-R
il modello relazionale
sistema informativo
sistema informatico
Indice delle note teoriche
modelli di dati
chiave primaria
•
•
•
•
•
•
•
•
•
Esercizio: si realizzi una base di dati, mediante il DBMS
Microsoft Access, relativa a tutti i calciatori del campionato
italiano di serie A e B 2007/08, per rispondere alle seguenti
interrogazioni (query) in linguaggio SQL:
1. Data una squadra, visualizzare cognome, nome, data di nascita,
nazionalità e ruolo dei calciatori che militano in essa.
2. Visualizzare i cognomi e la squadra dei calciatori di serie A che
svolgono un particolare ruolo immesso dall’esterno.
Della stessa base di dati si forniscano:• il modello E-R• il modello relazionale• la definizione delle relazioni in linguaggio SQL
modelli di dati
Indice
1° passo: costruzione del modello E-R
Traccia esercizio
1 N
cod_squadra (p.k.) (carattere)
nome_squadra (carattere)
serie (carattere)
cod_calciatore (p.k.) (carattere)
cognome (carattere)
nome (carattere)
data_nascità (data)
nazionalità (carattere)
ruolo (carattere)
Squadre Calciatori
Indice
2° passo: costruzione del mod. relazionale
Traccia esercizio
Squadre Calciatori
cod_squadra
nome_squadra
serie
cod_calciatore
cognome
nome
data_nascita
nazionalità
ruolo
cod_squadra
Squadre[cod_squadra(p.k.),nome_squadra,serie]
Calciatori[cod_calciatore(p.k.),cognome,nome,data_nascita,nazionalità,ruolo,cod_squadra(f.k.)]
Indice
Chiave primaria Chiave secondaria
3° passo: query di definizione delle relazioni
Traccia esercizio
CREATE TABLE Squadre(cod_squadra CHAR(5),nome_squadra CHAR(20),serie CHAR(1),PRIMARY KEY(cod_squadra));
Codice SQL per la creazione della Tabella Squadre
Indice
3° passo: query di definizione delle relazioni
Traccia esercizio
CREATE TABLE Squadre(cod_squadra CHAR(5),nome_squadra CHAR(20),serie CHAR(1), PRIMARY KEY(cod_squadra));
Codice SQL per la creazione della Tabella Squadre
Tabella Squadre
Indice
3° passo: query di definizione delle relazioni
Traccia esercizio
CREATE TABLE Calciatori(cod_calciatore CHAR(5),cognome CHAR(20),nome CHAR(20),data_nascita DATE,nazionalità CHAR(20),ruolo CHAR(20),cod_squadra CHAR(5),PRIMARY KEY(cod_calciatore),FOREIGN KEY(cod_squadra) REFERENCES Squadre);
Codice SQL per la creazione della Tabella Calciatori
Indice
3° passo: query di definizione delle relazioni
Traccia esercizio
CREATE TABLE Calciatori(cod_calciatore CHAR(5),cognome CHAR(20),nome CHAR(20),data_nascita DATE,nazionalità CHAR(20),ruolo CHAR(20),cod_squadra CHAR(5),PRIMARY KEY(cod_calciatore),FOREIGN KEY(cod_squadra) REFERENCES Squadre);
Codice SQL per la creazione della Tabella Calciatori
Tabella Calciatori
Indice
4° passo: query di selezione 1 e 2
Traccia esercizio
SELECT cognome, nome, data_nascita, nazionalità, ruoloFROM Calciatori, SquadreWHERE Calciatori.cod_squadra=Squadre.cod_squadra And nome_squadra=[immetti il nome della squadra]ORDER BY cognome;
Codice SQL per la selezione dei dati relativa alla seguente interrogazione:
1. Data una squadra, visualizzare cognome, nome, data di nascita,
nazionalità e ruolo dei calciatori che militano in essa.
Indice
Traccia esercizio
SELECT cognome, nome, data_nascita, nazionalità, ruoloFROM Calciatori, SquadreWHERE Calciatori.cod_squadra=Squadre.cod_squadra And nome_squadra=[immetti il nome della squadra]ORDER BY cognome;
Risultato della selezione dei dati relativa alla seguente interrogazione:
1. Data una squadra, visualizzare cognome, nome, data di nascita,
nazionalità e ruolo dei calciatori che militano in essa.
4° passo: query di selezione 1 e 2
Indice
4° passo: query di selezione 1 e 2
Traccia esercizio
SELECT cognome, nome_squadraFROM Calciatori, SquadreWHERE Calciatori.cod_squadra=Squadre.cod_squadra And ruolo=[immetti il ruolo del calciatore]ORDER BY cognome;
Codice SQL per la selezione dei dati relativa alla seguente interrogazione:
2. Visualizzare i cognomi e la squadra dei calciatori di serie A che
svolgono un particolare ruolo immesso dall’esterno.
Indice
4° passo: query di selezione 1 e 2
Traccia esercizio
SELECT cognome, nome_squadraFROM Calciatori, SquadreWHERE Calciatori.cod_squadra=Squadre.cod_squadra And ruolo=[immetti il ruolo del calciatore]ORDER BY cognome;
Risultato della selezione dei dati relativa alla seguente interrogazione:
2. Visualizzare i cognomi e la squadra dei calciatori di serie A che
svolgono un particolare ruolo immesso dall’esterno.
Indice
5° passo: creazione di una maschera
Traccia esercizio
Nella sezione MASCHERE è possibile creare dei
collegamenti ipertestuali alle query di selezione
precedentemente definite
Indice
5° passo: creazione di una maschera
Traccia esercizio
Una semplice MASCHERA costituita da due tasti …
Indice
Traccia esercizio
Indice
Base di Dati
Una base di dati (database) è una collezione di
dati che
- rappresentano alcuni aspetti del mondo reale
- sono logicamente correlati tra loro
- vengono utilizzati per produrre informazioni di
interesse in un sistema informativo.
Traccia esercizio
Indice
Sistema Informativo
Un sistema informativo è un sottosistema di
una qualsiasi organizzazione che gestisce
• acquisisce, elabora, conserva, produce, …
informazioni di interesse. L’esistenza di un
sistema informativo è indipendente dalla sua
automazione (sistema informatico).
Traccia esercizio
Indice
Sistema Informatico
Un sistema informatico …
- gestisce un sistema informativo in modo automatizzato
- garantisce che i dati siano memorizzati in modo
permanente sui dispositivi di memorizzazione
- Permette un veloce aggiornamento dei dati per riflettere
rapidamente le loro variazioni
- Rende i dati accessibili alle interrogazioni degli utenti
Traccia esercizio
Indice
DBMS
Un Data Base Management System (DBMS) è
una collezione di programmi che permette di
specificare i tipi, le strutture ed i
vincoli dei dati da memorizzare
memorizzare i dati su memoria
di massa controllata dal
DBMS
aggiornare e interrogare la base
di dati e creare reports dai dati
Traccia esercizio
Definire un database
Costruire il database
Manipolare il database
Indice
Modelli di dati
Per rappresentare simbolicamente e logicamente i concetti del mondo reale si utilizzano i Modelli di dati:
Modelli Concettuali: schemi grafici (simboli), utili nelle fasi preliminari di progettazione, impiegati per la descrizione di concetti astratti, in modo indipendente da qualsiasi sistema di elaborazione.
Modelli Logici: schemi grafici che servono a tradurrei modelli concettuali in strutture logiche processabili da un DBMS, in modo indipendente da come di fatto vengono elaborati e memorizzati i dati.
Traccia esercizio
Indice
Modello E-R (Entità-Relazione)
Il più comune modello concettuale è il Modello
E-R (Entità-Relazione), che utilizza le nozioni di
Entità, Attributi e Relazioni.
- Un’entità rappresenta un oggetto o un concetto del mondo reale
- Un attributo rappresenta qualche proprietà importante che descrive e caratterizza un’entità
- Una relazione rappresenta un’interazione tra le entità
Traccia esercizio
Indice
Modello Relazionale
Il più comune modello logico è il Modello
Relazionale, che permette di organizzare i dati
in insiemi di record a struttura fissa (Relazione)
Traccia esercizio
Codice ID Nome Cognome Indirizzo Telefono
CS/0001 Mario Rossi Via Verdi 5 02333…
CS/0002 Anna Barile Via Righi 7 85452…
CS/0003 Marco De Carolis Via Righi 2 15435…
Relazione(=Tabella)
Campo
Indice
Record
Chiave primaria
Linguaggi per Basi di Dati
Esistono linguaggi per la definizione dei dati Data Definition Languages – DDL
definizione dei modelli logici
Esistono linguaggi di manipolazione dei dati Data Manipulation Languages – DML
interrogazione e aggiornamento dei database
Traccia esercizio
SQL (Structured Query Language) SQL come DDL: creazione tabelle
SQL come DML: interrogazioni
Indice
Chiave
Le corrispondenze fra i dati di relazioni distinte
si realizzano per mezzo di chiavi primarie e
secondarie. Una chiave è un insieme di attributi
utilizzato per identificare univocamente i record
di una relazione
Traccia esercizio
Indice
Matricola Nome Cognome Indirizzo Telefono
ST/0001 Mario Rossi Via Verdi 5 02333…
ST/0002 Anna Barile Via Righi 7 85452…
ST/0003 Marco De Carolis Via Righi 2 15435…
Relazione(=Tabella)
Chiave primaria
Traccia esercizio
Indice
Chiave primaria Chiave secondaria
Chiave
Chiave
Una chiave primaria
• non può assumere valore nullo (vincolo)
• può non avere un valore di tipo informativo
• può essere generato in modo automatico all’atto
dell’inserimento (es. codice progressivo)
Traccia esercizio
Indice