base di dati DBMS linguaggio SQL il modello E-R il modello relazionale sistema informativo sistema...

27

Transcript of base di dati DBMS linguaggio SQL il modello E-R il modello relazionale sistema informativo sistema...

Page 1: base di dati DBMS linguaggio SQL il modello E-R il modello relazionale sistema informativo sistema informatico Indice delle note teoriche modelli di dati.
Page 2: base di dati DBMS linguaggio SQL il modello E-R il modello relazionale sistema informativo sistema informatico Indice delle note teoriche modelli di dati.

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

Page 3: base di dati DBMS linguaggio SQL il modello E-R il modello relazionale sistema informativo sistema informatico Indice delle note teoriche modelli di dati.

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

Page 4: base di dati DBMS linguaggio SQL il modello E-R il modello relazionale sistema informativo sistema informatico Indice delle note teoriche modelli di dati.

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

Page 5: base di dati DBMS linguaggio SQL il modello E-R il modello relazionale sistema informativo sistema informatico Indice delle note teoriche modelli di dati.

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

Page 6: base di dati DBMS linguaggio SQL il modello E-R il modello relazionale sistema informativo sistema informatico Indice delle note teoriche modelli di dati.

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

Page 7: base di dati DBMS linguaggio SQL il modello E-R il modello relazionale sistema informativo sistema informatico Indice delle note teoriche modelli di dati.

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

Page 8: base di dati DBMS linguaggio SQL il modello E-R il modello relazionale sistema informativo sistema informatico Indice delle note teoriche modelli di dati.

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

Page 9: base di dati DBMS linguaggio SQL il modello E-R il modello relazionale sistema informativo sistema informatico Indice delle note teoriche modelli di dati.

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

Page 10: base di dati DBMS linguaggio SQL il modello E-R il modello relazionale sistema informativo sistema informatico Indice delle note teoriche modelli di dati.

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

Page 11: base di dati DBMS linguaggio SQL il modello E-R il modello relazionale sistema informativo sistema informatico Indice delle note teoriche modelli di dati.

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

Page 12: base di dati DBMS linguaggio SQL il modello E-R il modello relazionale sistema informativo sistema informatico Indice delle note teoriche modelli di dati.

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

Page 13: base di dati DBMS linguaggio SQL il modello E-R il modello relazionale sistema informativo sistema informatico Indice delle note teoriche modelli di dati.

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

Page 14: base di dati DBMS linguaggio SQL il modello E-R il modello relazionale sistema informativo sistema informatico Indice delle note teoriche modelli di dati.

5° passo: creazione di una maschera

Traccia esercizio

Nella sezione MASCHERE è possibile creare dei

collegamenti ipertestuali alle query di selezione

precedentemente definite

Indice

Page 15: base di dati DBMS linguaggio SQL il modello E-R il modello relazionale sistema informativo sistema informatico Indice delle note teoriche modelli di dati.

5° passo: creazione di una maschera

Traccia esercizio

Una semplice MASCHERA costituita da due tasti …

Indice

Page 16: base di dati DBMS linguaggio SQL il modello E-R il modello relazionale sistema informativo sistema informatico Indice delle note teoriche modelli di dati.

Traccia esercizio

Indice

Page 17: base di dati DBMS linguaggio SQL il modello E-R il modello relazionale sistema informativo sistema informatico Indice delle note teoriche modelli di dati.

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

Page 18: base di dati DBMS linguaggio SQL il modello E-R il modello relazionale sistema informativo sistema informatico Indice delle note teoriche modelli di dati.

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

Page 19: base di dati DBMS linguaggio SQL il modello E-R il modello relazionale sistema informativo sistema informatico Indice delle note teoriche modelli di dati.

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

Page 20: base di dati DBMS linguaggio SQL il modello E-R il modello relazionale sistema informativo sistema informatico Indice delle note teoriche modelli di dati.

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

Page 21: base di dati DBMS linguaggio SQL il modello E-R il modello relazionale sistema informativo sistema informatico Indice delle note teoriche modelli di dati.

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

Page 22: base di dati DBMS linguaggio SQL il modello E-R il modello relazionale sistema informativo sistema informatico Indice delle note teoriche modelli di dati.

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

Page 23: base di dati DBMS linguaggio SQL il modello E-R il modello relazionale sistema informativo sistema informatico Indice delle note teoriche modelli di dati.

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

Page 24: base di dati DBMS linguaggio SQL il modello E-R il modello relazionale sistema informativo sistema informatico Indice delle note teoriche modelli di dati.

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

Page 25: 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

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

Page 26: base di dati DBMS linguaggio SQL il modello E-R il modello relazionale sistema informativo sistema informatico Indice delle note teoriche modelli di dati.

Traccia esercizio

Indice

Chiave primaria Chiave secondaria

Chiave

Page 27: 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

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