enum
This commit is contained in:
@@ -412,6 +412,13 @@ erDiagram
|
|||||||
- La suppression d’un `holder` doit supprimer automatiquement la ligne correspondante dans `person` ou `company`.
|
- La suppression d’un `holder` doit supprimer automatiquement la ligne correspondante dans `person` ou `company`.
|
||||||
- Le type doit être contraint à `'PERSON'` ou `'COMPANY'`.
|
- Le type doit être contraint à `'PERSON'` ou `'COMPANY'`.
|
||||||
|
|
||||||
|
Il existe deux méthodes pour gérer le type.
|
||||||
|
|
||||||
|
1. vérifier par la commande `CHECK` la validité de la valeur.
|
||||||
|
|
||||||
|
2. utiliser une énumération `enum`.
|
||||||
|
|
||||||
|
|
||||||
#### 1.2 Vérifications
|
#### 1.2 Vérifications
|
||||||
|
|
||||||
- Lister tous les titulaires. Pour réutiliser rapidement la requête enregistrer la dans une vue.
|
- Lister tous les titulaires. Pour réutiliser rapidement la requête enregistrer la dans une vue.
|
||||||
|
|||||||
@@ -5,9 +5,11 @@ set search_path TO bank;
|
|||||||
/*
|
/*
|
||||||
* Holder : table commune à tous les titulaires
|
* Holder : table commune à tous les titulaires
|
||||||
*/
|
*/
|
||||||
|
create type holder_type as enum ('PERSON', 'COMPANY');
|
||||||
|
|
||||||
create table holder (
|
create table holder (
|
||||||
"id" bigint primary key generated always as identity, -- identifiant unique
|
"id" bigint primary key generated always as identity, -- identifiant unique
|
||||||
"type" text not null check ("type" in ('PERSON', 'COMPANY')),
|
"type" holder_type not null,
|
||||||
"created_at" timestamp not null default now() -- date de création
|
"created_at" timestamp not null default now() -- date de création
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user