-- ================================================================================
--   postgres SQL DDL Script File
-- ================================================================================


-- ===============================================================================
-- 
--   Generated by:      tedia2sql -- v1.2.12
--                      See http://tedia2sql.tigris.org/AUTHORS.html for tedia2sql author information
-- 
--   Target Database:   postgres
--   Generated at:      Sun Nov  5 12:54:38 2006
--   Input Files:       /home/wilane/Desktop/base_utilisateurs_campus_uml.dia
-- 
-- ================================================================================



-- Generated SQL Constraints Drop statements
-- --------------------------------------------------------------------
--     Target Database:   postgres
--     SQL Generator:     tedia2sql -- v1.2.12
--     Generated at:      Sun Nov  5 12:54:38 2006
--     Input Files:       /home/wilane/Desktop/base_utilisateurs_campus_uml.dia

drop index idx_abonnement;
-- alter table utilisateurs_extra drop constraint utilisateurs_extra_fk_Id_utilisateur-- (is implicitly done)
-- alter table utilisateurs drop constraint utilisateurs_fk_Id_organisme-- (is implicitly done)
-- alter table utilisateurs drop constraint utilisateurs_fk_Id_fonction-- (is implicitly done)
-- alter table abonnements drop constraint abonnements_fk_Id_utilisateur-- (is implicitly done)
-- alter table abonnements drop constraint abonnements_fk_Id_groupe-- (is implicitly done)


-- Generated Permissions Drops
-- --------------------------------------------------------------------
--     Target Database:   postgres
--     SQL Generator:     tedia2sql -- v1.2.12
--     Generated at:      Sun Nov  5 12:54:38 2006
--     Input Files:       /home/wilane/Desktop/base_utilisateurs_campus_uml.dia




-- Generated SQL View Drop Statements
-- --------------------------------------------------------------------
--     Target Database:   postgres
--     SQL Generator:     tedia2sql -- v1.2.12
--     Generated at:      Sun Nov  5 12:54:38 2006
--     Input Files:       /home/wilane/Desktop/base_utilisateurs_campus_uml.dia



-- Generated SQL Schema Drop statements
-- --------------------------------------------------------------------
--     Target Database:   postgres
--     SQL Generator:     tedia2sql -- v1.2.12
--     Generated at:      Sun Nov  5 12:54:38 2006
--     Input Files:       /home/wilane/Desktop/base_utilisateurs_campus_uml.dia

drop table utilisateurs cascade ;
drop table utilisateurs_extra cascade ;
drop table abonnements cascade ;
drop table groupes cascade ;
drop table organismes cascade ;
drop table fonctions cascade ;


-- Generated SQL Schema
-- --------------------------------------------------------------------
--     Target Database:   postgres
--     SQL Generator:     tedia2sql -- v1.2.12
--     Generated at:      Sun Nov  5 12:54:38 2006
--     Input Files:       /home/wilane/Desktop/base_utilisateurs_campus_uml.dia


-- utilisateurs
create table utilisateurs (
  id                        integer not null,	-- Id pardi
  login                     varchar(16),	-- Enfin le login quoi
  mot_de_passe              varchar(64),	-- Mais ouais c'est ça
  courriel                  varchar(64),	-- Son adresse courriel
  nom_complet               varchar(128),	-- Le nom complet quoi
  nom                       varchar(32),	-- Mais enfin le nom!
  prenom                    varchar(32),	-- Oui les prénoms svp!
  genre                     char(1),	-- Ouais ouais ouais
  date_naissance            timestamp default NO NULL,	-- Euh!
  commentaires              text,	-- Laissez-vous aller
  id_fonction               integer,
  id_organisme              integer,
  constraint pk_Utilisateurs primary key (id)
) ;

-- utilisateurs_extra
create table utilisateurs_extra (
  id                        integer not null,
  id_utilisateur            integer not null,
  variable                  varchar(32),
  valeur                    varchar(32),
  constraint pk_Utilisateurs_extra primary key (id,id_utilisateur)
) ;

-- abonnements
create table abonnements (
  id_utilisateur            integer not null,
  id_groupe                 integer not null,
  date_debut                timestamp default NO NULL,
  date_fin                  timestamp default NO NULL,
  suspendu                  boolean NOT NULL,
  commentaires              text,
  constraint pk_Abonnements primary key (id_utilisateur,id_groupe)
) ;

-- groupes
create table groupes (
  id                        integer not null,
  nom                       varchar(32),
  commentaires              text,
  constraint pk_Groupes primary key (id)
) ;

-- organismes
create table organismes (
  id                        ineteger not null,
  nom                       varchar(32),
  adresses                  varchar(128),
  telephones                varchar(64),
  id_organisme_parent       integer,
  commentaires              text,
  constraint pk_Organismes primary key (id)
) ;

-- fonctions
create table fonctions (
  id                        integer not null,
  nom                       varchar(64),
  commentaires              text,
  constraint pk_Fonctions primary key (id)
) ;
comment on column utilisateurs.id is 'Id pardi';
comment on column utilisateurs.login is 'Enfin le login quoi';
comment on column utilisateurs.mot_de_passe is 'Mais ouais c\'est ça';
comment on column utilisateurs.courriel is 'Son adresse courriel';
comment on column utilisateurs.nom_complet is 'Le nom complet quoi';
comment on column utilisateurs.nom is 'Mais enfin le nom!';
comment on column utilisateurs.prenom is 'Oui les prénoms svp!';
comment on column utilisateurs.genre is 'Ouais ouais ouais';
comment on column utilisateurs.date_naissance is 'Euh!';
comment on column utilisateurs.commentaires is 'Laissez-vous aller';








-- Generated SQL Views
-- --------------------------------------------------------------------
--     Target Database:   postgres
--     SQL Generator:     tedia2sql -- v1.2.12
--     Generated at:      Sun Nov  5 12:54:38 2006
--     Input Files:       /home/wilane/Desktop/base_utilisateurs_campus_uml.dia




-- Generated Permissions
-- --------------------------------------------------------------------
--     Target Database:   postgres
--     SQL Generator:     tedia2sql -- v1.2.12
--     Generated at:      Sun Nov  5 12:54:38 2006
--     Input Files:       /home/wilane/Desktop/base_utilisateurs_campus_uml.dia



-- Generated SQL Insert statements
-- --------------------------------------------------------------------
--     Target Database:   postgres
--     SQL Generator:     tedia2sql -- v1.2.12
--     Generated at:      Sun Nov  5 12:54:38 2006
--     Input Files:       /home/wilane/Desktop/base_utilisateurs_campus_uml.dia



-- Generated SQL Constraints
-- --------------------------------------------------------------------
--     Target Database:   postgres
--     SQL Generator:     tedia2sql -- v1.2.12
--     Generated at:      Sun Nov  5 12:54:38 2006
--     Input Files:       /home/wilane/Desktop/base_utilisateurs_campus_uml.dia

create unique index idx_abonnement on abonnements  (id_utilisateur,id_groupe) ;
alter table utilisateurs_extra add constraint utilisateurs_extra_fk_Id_utilisateur
  foreign key (id_utilisateur,)
  references utilisateurs (id)  ;
alter table utilisateurs add constraint utilisateurs_fk_Id_organisme
  foreign key (id_organisme,)
  references organismes (id)  ;
alter table utilisateurs add constraint utilisateurs_fk_Id_fonction
  foreign key (id_fonction,)
  references fonctions (id)  ;
alter table abonnements add constraint abonnements_fk_Id_utilisateur
  foreign key (id_utilisateur,)
  references utilisateurs (id)  ;
alter table abonnements add constraint abonnements_fk_Id_groupe
  foreign key (id_groupe,)
  references groupes (id)  ;

