Création d'une base de données

BoTTom |
-- 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 )                      ;




©AF400