Cas immotif

Tout ce qui tourne autour de Postgresql.
Avatar de l’utilisateur
fabio
Gourou
Gourou
Messages : 1291
Inscription : 11 sept. 2011, 16:32

Cas immotif

Messagepar fabio » 13 sept. 2017, 18:25

Réalisé à l'aide de Visual Paradigm

Script pour l'administrateur

Code : Tout sélectionner

create role immotif_admin password 'toto' login;
create database immotif;
grant all on database immotif to immotif_admin;


Script pour le propriétaire de la base

Code : Tout sélectionner

begin transaction;

-- Partie métier

create table copropriete
   (
   id_cop   integer primary key,
   nom      varchar(50),
   adresse   varchar(100),
   cp         char(5),
   ville      varchar(100),
   date_debut_exercice    date
   );

create table personne
   (
   id_personne integer primary key,
   nom         varchar(50),
   prenom      varchar(50)
   );

create table gardien
   (
   id_personne   integer    primary key references personne (id_personne),
   date_entree_service    date,
   id_cop   integer not null references copropriete(id_cop)
   );

create table proprietaire
   (
   id_personne integer references personne (id_personne) primary key,
   adresse      varchar(100),
   cp            char(5),
   ville         varchar(50)
   );

create table type_lot
   (
   id_type_lot integer primary key,
   libelle       varchar(30)
   );

create table lot
   (
   id_cop   integer not null references copropriete (id_cop),
   numero_lot    integer not null,
   id_type_lot   integer not null references type_lot (id_type_lot),
   id_personne   integer not null references proprietaire (id_personne),
   localisation varchar(100),
   primary key (id_cop,   numero_lot)
   );

-- Partie comptabilité

create table chapitre
   (
   id_cha   integer primary key,
   libelle varchar(200)
   );
   
create table compte
   (
   id_compte   integer primary key,
   libelle      varchar(200),
   id_cha      integer not null references chapitre (id_cha)
   );
      
create table fournisseur
   (
   id_four   integer primary key,
   nom      varchar(50),
   adresse   varchar(100),
   cp         char(5),
   ville      varchar(50),
   telephone   varchar(15),
   telecopie    varchar(15)
   );

create table depense
   (
   id_depense    integer primary key,
   libelle      varchar(200),
   date         date,
   montant      numeric(9, 2),
   id_compte   integer not null references compte (id_compte),
   id_four      integer references fournisseur (id_four),
   id_cop      integer not null  references copropriete(id_cop)
   );

create table cle_repartition
   (
   id_cop      integer not null,
   numero_lot    integer not null,
   id_cha      integer not null references chapitre (id_cha),
   tantiemes   integer not null,
   primary key (id_cop, numero_lot, id_cha),
   foreign key (id_cop, numero_lot) references lot (id_cop, numero_lot)
   );

commit;


:ugeek:

Revenir vers « Postgresql »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 3 invités