From 9523ee4da9e805dacf61574ea64ddb14da2833f9 Mon Sep 17 00:00:00 2001 From: medina5 Date: Sat, 8 Nov 2025 05:51:25 +0100 Subject: [PATCH] look --- banque.md | 15 +++++++++------ banque/banque.proc.sql | 16 ++++++++-------- prometheus.yml | 22 ---------------------- 3 files changed, 17 insertions(+), 36 deletions(-) delete mode 100644 prometheus.yml diff --git a/banque.md b/banque.md index 0a9e973..41b3a88 100644 --- a/banque.md +++ b/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**. diff --git a/banque/banque.proc.sql b/banque/banque.proc.sql index 60a9b27..8413b11 100644 --- a/banque/banque.proc.sql +++ b/banque/banque.proc.sql @@ -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; $$; diff --git a/prometheus.yml b/prometheus.yml deleted file mode 100644 index cdd59f0..0000000 --- a/prometheus.yml +++ /dev/null @@ -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'