Sistemi informativi e basi di dati
Modelli di dati e progettazione di database
- Modelli di dati
- Progettazione di DB
- Il modello relazionale, modello ER ed ER avanzato
- Progettazione Logica
- Normalizzazione forme normali
- Algebra relazionale e query
- Viste
- Organizzazione fisica del DB, gestione delle interrogazioni
- Accenni alla gestione delle transazioni
- Introduzione a MySQL e primi passi con l’interfaccia testuale
- Interfaccia grafica di Mysql – phpmyadmin
- Tanti esempi di query
- Trigger
- Accenni a ODBC e JDBC e PHP (il PHP è affrontato molto nel dettaglio negli appunti di programmazione web presenti sempre sul sito. Oltre che tanti esempi di programmi troverete tutto quello che riguarda l’utilizzo di PHP per interrogare i DB, sia con mysqli che con i PDO)
- Tanti esempi completi di progettazione di DB, con progettazione concettuale, ristrutturazione, progettazione logica, e query
Esempi di tabelle SQL
Esercizio competizioni
Schema logico
create table stadi(
codice integer not null primary key,
nome varchar(10) not null,
citta varchar(15) not null,
nazione varchar(15) not null,
maxSpettatori integer,
unique(nome,citta)
);
create table squadre (
nome varchar(15) not null primary key,
citta varchar(15) not null,
nazione varchar(15) not null,
presidente varchar(30),
stadio integer references stadi(codice)
);
create table competizioni (
nome varchar(15) not null,
anno integer not null,
dataInizio date,
dataFine date,
tipo char(1) not null check (tipo IN ('N','U','C')),
-- tipo: N=campionato nazionale, U=coppa uefa, C=champions league ...
vincitrice varchar(15) references squadre(nome),
primary key(nome, anno),
check(dataInizio is null or dataFine is null or dataInizio < dataFine)
);
create table risultati(
dataEOra timestamp,
nomeCompetizione varchar(15) not null,
annoCompetizione integer not null,
stadio integer references stadi(codice),
squadra1 varchar(15) references squadre(nome),
squadra2 varchar(15) references squadre(nome),
punti1 integer,
punti2 integer,
stato char(1) not null default 'P' check (stato IN ('P','A','O', 'T')),
-- tipo: P=prevista, A=attesa omologazione, O=omologata,
-- T= risultato determinato a tavolino
foreign key(nomeCompetizione,annoCompetizione)
references competizioni(nome,anno),
check (not (stato<>'P' and (punti1 is null or punti2 is null)))
);
Esercizio treni
Schema logico
create table citta (
codice integer not null primary key,
nome varchar(50) not null,
regione varchar(50),
popolazione integer
);
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.