2.4 KiB
2.4 KiB
Modélisation d'un système bancaire
Objectifs
- Concevoir un modèle relationnel à partir d’un scénario réaliste.
- Utiliser les contraintes d’intégrité pour garantir la cohérence des données.
- Manipuler des jointures et des relations n–n.
- Comprendre la notion d’héritage logique en base de données.
Contexte
Une banque locale souhaite informatiser la gestion de ses comptes et de leurs titulaires. Chaque compte peut appartenir à une ou plusieurs personnes physiques ou morales.
Vous êtes chargé(e) de concevoir et d’implémenter le schéma relationnel de base permettant de gérer :
- Les clients de la banque, appelés titulaires (holders),
- Les comptes bancaires (accounts),
- Le lien entre les titulaires et les comptes.
1. Les titulaires
Un titulaire (holder) peut être une personne physique (person) ou une entreprise (company).
1.1 Exemple de données
- une personne nommée Françoise Zanetti, née le 12 avril 1995.
- une entreprise nommée Boulangerie de Valorgue, créée le 19/08/2014, numéro d’immatriculation FR19803269968.
1.2 Analyse
- Quelles informations faut-il conserver pour tous les titulaires ?
- Quelles informations sont spécifiques à chaque type de titulaire ?
- Comment représenter cette distinction en base relationnelle ?
Tip
Indice : on peut utiliser une table abstraite
holder, puis des tablespersonetcompanyqui héritent logiquement de celle-ci.
1.3 Contraintes à respecter
- Chaque
personoucompanydoit correspondre à exactement un seulholder. - La suppression d’un
holderdoit supprimer automatiquement la ligne correspondante danspersonoucompany. - Le type doit être contraint à
'PERSON'ou'COMPANY'.
1.4 Vérifications
Lister tous les titulaires.
Supprimer un titulaire, vérifier que cela supprime l'individu ou la société correspondante.
1.5 Réflexion
-
- Pourquoi séparer
personetcompany?
- Pourquoi séparer
-
- Pourquoi ne pas tout mettre dans une seule table holder ?
-
- Quelle contrainte empêche d’insérer une person sans holder ?
1.6 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.
2. Les comptes
- Un compte bancaire appartient à un ou plusieurs titulaires (holders).
- Chaque compte dispose d’un numéro de compte (account number) unique et d’un solde.