classDiagram class Joueuse { identifiant nom prenom elo identifiant du club }
Structurer une base de données pour qu’elle soit :
Définition
Une dépendance fonctionnelle indique qu’une colonne (ou un ensemble de colonnes) détermine de manière unique une autre colonne :
Nom | Description |
---|---|
Réflexivité | (X, Y) → X |
Augmentation | Si X → Y, alors XZ → YZ |
Transitivité | Si X → Y et Y → Z alors, X → Z |
Nom | Description |
---|---|
Union | Si X → Y et X → Z, alors X → YZ |
Décomposition | Si X → YZ, alors X → Z et X → Y |
Pseudo-transitivité | Si X → Y et WY → Z alors WX → Z |
Dépendance Fonctionnelle Élémentaire
X → Y est élémentaire s’il n’existe aucun sous-ensemble strict Z inclus dans X tel que Z → Y
Dépendance Fonctionnelle Directe
X → Y est directe s’il n’existe pas de Z tel que X → Z et Z → Y
Définition
La normalisation vise à organiser les données :
Définition
Une relation est 1NF si tous ses attributs sont atomiques.
Définition
Une relation est 2NF si :
Autrement dit, tous les attributs sont déterminés par la clé complète.
Exemple de relation non 2NF :
Définition
Une relation est 3NF si :
Autrement dit, un attribut ne peut pas dépendre fonctionnellement d’un autre attribut non clé.
Exemple de relation non 3NF :
Passer en 3NF
Créer une table pays
Définition
UML est un langage de modélisation graphique standardisé utilisé pour spécifier, visualiser, concevoir et documenter différents aspects des systèmes logiciels.
Il offre une série de diagrammes pour représenter différents aspects d’un système.
Modèle conceptuel
classDiagram class Joueuse { identifiant nom prenom elo identifiant du club }
Modèle physique
classDiagram class joueuse { id_joueuse SERIAL PK nom VARCHAR50 prenom VARCHAR50 elo INT #id_club INT }
classDiagram direction LR class joueuse { id_joueuse SERIAL PK nom VARCHAR50 prenom VARCHAR50 elo INT #id_club INT } class club { id_club SERIAL PK nom VARCHAR50 ville VARCHAR50 } joueuse "*" -- "0..1" club
classDiagram direction LR class joueuse { id_joueuse SERIAL PK nom VARCHAR50 prenom VARCHAR50 elo INT #id_club INT } class partie { #id_blanc INT #id_noir INT #id_resultat INT } partie "*" --> "1" joueuse : jouée avec les blancs par ▶ partie "*" --> "1" joueuse : jouée avec les noirs par ▶
classDiagram direction LR class joueuse { id_joueuse SERIAL PK nom VARCHAR50 prenom VARCHAR50 elo INT #id_club INT } class participe { #id_joueuse INT #id_tournoi INT } class tournoi { #id_tournoi INT nom INT } joueuse "1" -- "*" participe participe "*" -- "1" tournoi
De nombreux outils existent pour faire des diagrammes UML, soit en mode graphique ou code, par exemple :