
|
-- table des pays
create table bdvin_00/pays (
pays char(20) ,
pays_code integer primary key ) ;
 
-- table des régions
create table bdvin_00/regions (
region char(30) ,
region_code integer primary key ,
pays_code integer references pays) ;
 
-- table des appellations (Coteau du Layon, Côtes roties ...)
create table bdvin_00/appellations (
appellation char(80) ,
region_code integer references regions ,
appel_code integer primary key ) ;
 
-- table des sous-régions
create table bdvin_00/sousregions (
sregion char(30) ,
region_code integer references regions ,
sregion_code integer primary key ) ;
 
-- table des cartes (fichiers images, associées au producteur)
create table bdvin_00/cartes (
carte_code char(10) primary key ,
carte_titre varchar(40) ) ;
 
-- table des classifications (1er cru, ...)
create table bdvin_00/classification (
classification varchar(60) ,
class_code integer primary key ,
pays_code integer references pays) ;
 
-- table des tableaux de garde (image donnant l'apogée d'un vin)
create table bdvin_00/garde (
millesime varchar(255) ,
garde_code integer primary key ) ;
 
-- table des hotel/restaurants (associés à un producteur)
create table bdvin_00/hotelresto (
hr_code integer primary key ,
hr_type char(15) check (hr_type in ('Restaurant', 'Hôtel')) ,
hr_nom char(50) not null ,
|
hr_cdpst char(12) ,
hr_commune char(50) ,
hr_tel char(20) ,
hr_fax char(20) ,
hr_cote char(10) ,
hr_prix char(15) ) ;
 
-- table des producteurs
create table bdvin_00/producteurs (
pr_code integer primary key ,
pr_nom char(50) not null ,
pr_adresse char(60) ,
pr_cdpst char(12) ,
pr_commune char(50) ,
pr_proprio char(60) ,
pr_responsable char(50) ,
pr_tel char(20) ,
pr_fax char(20) ,
pr_vente char(3) check (pr_vente in ('oui' , 'non')) ,
pr_visite char(3) check (pr_visite in ('oui' , 'non')) ,
hr_code integer references hotelresto ,
pr_avis varchar(255) ,
pr_cote char(10) ,
pr_photo integer ,
pr_carte1 char(10) references cartes ,
pr_carte2 char(10) references cartes ,
pr_carte3 char(10) references cartes ,
cree char(1) check (cree in ('O' , 'N')) ,
mon_avis varchar(50) ,
ma_cote char(10) ,
appel_code integer references appellations) ;
 
-- table des types de vin (blanc, rouge, ...)
create table bdvin_00/typedevin (
typedevin char(50) ,
type_code integer primary key ) ;
 
-- table des vins
create table bdvin_00/vins (
vin_code integer primary key ,
pr_code integer references producteurs ,
vin_nom char(50) not null ,
vin_cepage1 char(25) ,
vin_cepage2 char(25) ,
|
vin_cepage3 char(25) , vin_cepage4 char(25) , vin_etiquette integer , class_code integer references classification , sregion_code integer references sousregions , appel_code integer references appellations , type_code integer references typedevin , garde_code integer references garde) ;   -- table de vins de votre cave create table bdvin_00/ma_cave ( cav_code integer primary key , vin_code integer references vins , cav_millesime integer , cav_lieu char(50) , cav_format char(50) , cav_apogee date , cav_quantite integer , cav_prix dec(7 , 2) , cav_prxactuel dec(7 , 2) , cav_entreele date , cav_sortiele date ) ; |