look
This commit is contained in:
15
banque.md
15
banque.md
@@ -45,6 +45,12 @@ Cela évite les **colonnes inutiles** et permet des **contraintes spécifiques**
|
||||
La clé étrangère `references holder(id)` dans `person`.
|
||||
|
||||
```mermaid
|
||||
---
|
||||
config:
|
||||
layout: elk
|
||||
look: handDrawn
|
||||
theme: dark
|
||||
---
|
||||
erDiagram
|
||||
person {
|
||||
bigint id PK
|
||||
@@ -403,10 +409,10 @@ erDiagram
|
||||
|
||||
# Séance 2 : Implémentation du modèle
|
||||
|
||||
Voir la syntaxe de [postgreSQL](syntaxe.md)
|
||||
|
||||
Voir les adresses des serveurs [postgreSQL](https://sources.neotech.fr/Universite/tp/src/branch/main/geii3_2025.md)
|
||||
|
||||
Voir la syntaxe de [postgreSQL](syntaxe.md)
|
||||
|
||||
### 1. Titulaires
|
||||
|
||||
- Créer un compte individuel pour _Françoise Zanetti_, née le 12 avril 1995.
|
||||
@@ -417,6 +423,7 @@ Voir les adresses des serveurs [postgreSQL](https://sources.neotech.fr/Universit
|
||||
|
||||
- Chaque `person` ou `company` doit correspondre à exactement un seul `holder`.
|
||||
- La suppression d’un `holder` doit supprimer automatiquement la ligne correspondante dans `person` ou `company`.
|
||||
- La banque souhaite désormais que toute personne titulaire d’un compte ait au moins 15 ans à la date de création de sa fiche. Il n'y a pas de restriction sur l'âge de la société.
|
||||
- Le type doit être contraint à `'PERSON'` ou `'COMPANY'`.
|
||||
|
||||
Il existe deux méthodes pour gérer le type.
|
||||
@@ -431,10 +438,6 @@ Il existe deux méthodes pour gérer le type.
|
||||
- Lister tous les titulaires. Pour réutiliser rapidement la requête enregistrer la dans une vue.
|
||||
- Supprimer un titulaire, vérifier que cela supprime l'individu ou la société correspondante.
|
||||
|
||||
#### 1.3 Pour aller plus loin
|
||||
|
||||
La banque souhaite désormais que toute personne titulaire d’un compte ait au moins 15 ans à la date de création de sa fiche. Il n'y a pas de restriction sur l'âge de la société.
|
||||
|
||||
#### 1.4 L'intégrité des données
|
||||
|
||||
Lorsque l’on tente d'insèrer une nouvelle personne qui n'a pas l'âge requis. La ligne dans `holder` est d'abord créée, puis l'insertion dans `person` échoue à cause de la vérification d'âge. Mais la ligne du titulaire est toujours présente **sans être rattachée** à une personne. On parle alors d'enregistrement **orphelin**.
|
||||
|
||||
@@ -8,7 +8,7 @@ as $$
|
||||
declare
|
||||
v_holder_id bigint;
|
||||
begin
|
||||
|
||||
|
||||
insert into holder(type) values ('PERSON')
|
||||
returning id into v_holder_id;
|
||||
|
||||
@@ -16,7 +16,7 @@ begin
|
||||
values (v_holder_id, p_firstname, p_lastname, p_birthdate);
|
||||
|
||||
raise notice 'Titulaire créé : % = % %',
|
||||
v_holder_id, p_firstname, p_lastname;
|
||||
v_holder_id, p_firstname, p_lastname;
|
||||
end;
|
||||
$$;
|
||||
|
||||
@@ -28,7 +28,7 @@ as $$
|
||||
declare
|
||||
v_holder_id bigint;
|
||||
begin
|
||||
|
||||
|
||||
insert into holder(type) values ('BANK')
|
||||
returning id into v_holder_id;
|
||||
|
||||
@@ -36,13 +36,13 @@ begin
|
||||
values (v_holder_id, p_name);
|
||||
|
||||
raise notice 'Titulaire créé : % = %',
|
||||
v_holder_id, p_name;
|
||||
v_holder_id, p_name;
|
||||
end;
|
||||
$$;
|
||||
|
||||
create or replace procedure add_company (
|
||||
p_name text,
|
||||
p_registration_number text,
|
||||
p_name text,
|
||||
p_registration_number text,
|
||||
p_created_at date
|
||||
)
|
||||
language plpgsql
|
||||
@@ -50,7 +50,7 @@ as $$
|
||||
declare
|
||||
v_holder_id bigint;
|
||||
begin
|
||||
|
||||
|
||||
insert into holder(type) values ('COMPANY')
|
||||
returning id into v_holder_id;
|
||||
|
||||
@@ -58,6 +58,6 @@ begin
|
||||
values (v_holder_id, p_name, p_registration_number, p_created_at);
|
||||
|
||||
raise notice 'Titulaire créé : % = % %',
|
||||
v_holder_id, p_name, p_registration_number;
|
||||
v_holder_id, p_name, p_registration_number;
|
||||
end;
|
||||
$$;
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
global:
|
||||
scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
|
||||
evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
|
||||
scrape_timeout: 10s # scrape_timeout is set to the global default (10s).
|
||||
|
||||
scrape_configs:
|
||||
- job_name: docker
|
||||
static_configs:
|
||||
- targets:
|
||||
- 'host.docker.internal:9323'
|
||||
|
||||
- job_name: prometheus
|
||||
static_configs:
|
||||
- targets:
|
||||
- '127.0.0.1:9090'
|
||||
|
||||
- job_name: minio
|
||||
metrics_path: /minio/v2/metrics/bucket
|
||||
scheme: http
|
||||
static_configs:
|
||||
- targets:
|
||||
- 'minio:9000'
|
||||
Reference in New Issue
Block a user