Caso di studio e Definizione di dati

Come caso di studio per il laboratorio sarà usato un database di testate giornalistiche.

Eseguire i seguenti punti:

La tabella testate è composta dai seguenti attributi: La tabella redattori è composta dai seguenti attributi: La tabella redazioni è composta dai seguenti attributi: La tabella redazRedat è composta dai seguenti attributi: La tabella categorie è composta dai seguenti attributi: La tabella inserzioni è composta dai seguenti attributi: La tabella instest è composta dai seguenti attributi: La tabella aziende è composta dai seguenti attributi:

La tabella insaz è composta dai seguenti attributi:

La tabella privati è composta dai seguenti attributi:

La tabella inspriv è composta dai seguenti attributi:

n.b. le parole sottolineate sono chiave primaria per la tabella, le parole in corsivo sono chiave esterna per la tabella

durante la dichiarazione delle tabelle implementare anche i vincoli di integrità tra i dati.

Ecco una soluzione data da uno studente nell'esercitazione di oggi, 10 novembre 2004, la soluzione NON è stata validata:


create database testate_giornalistiche; use testate_giornalistiche; create table testate ( Idtestata char(4) primary key, nome char(20) not null, redazione char(4)not null, foreign key(redazione) references redazioni(idredazione) ); create table redattori ( idredattori char(3) primary key, cognome char(10)not null, nome char(8)not null, via char(15) not null, città char(15) not null, provincia char(2) not null, cap char(5) not null, email char(20) ); create table redazioni ( idredazione char(4)primary key, nomecomitato char(10), città char(8), indirizzoweb char(40) ); create table redazRedat ( idredazione char(4) , idredattori char(3), primary key(idredazione,idredattori) ); create table categorie ( nomecategoria char(10) primary key, categoriapadre char(10), foreign key (categoriapadre) references categorie(nomecategoria) ); create table inserzioni ( codice char(6) primary key, testo char(40), categoria char(10), foreign key (categoria) references categorie(nomecategoria) ); create table instest ( idinserzione char(6), idtestata char(6), primary key(idinserzione,idtestata) ); create table aziende ( idazienda char(6) primary key, nomeazienda char(40), referente char(40), telefono numeric(11) ); create table insaz ( idazienda char(6), idinserzione char(6), primary key(idazienda,idinserzione), foreign key(idazienda) references aziende(idaziende), foreign key (idinserzione) references inserzioni(codice) ); create table privati ( idprivato char(3) primary key, cognome char(10) not null, nome char(8) not null, via char(15) not null, città char(15), provincia char(2), cap char(5), email char(100) ); create table inspriv ( idprivato char(6), idinserzione char(6), primary key(idprivato,idinserzione), foreign key(idprivato) references privati(idprivato), foreign key(idinserzione) references inserzioni(codice) );