Académique Documents
Professionnel Documents
Culture Documents
BD: Base de données. Ensemble de données (Tables) représentant un domaine fonctionnel. Ex: Système de Facturation.
Tuple:
Attribut:
Clefs primaires et clés étrangères
PK (clef primaire): Ensemble d’attributs identifiant de façon unique un tuple.
Une PK peut être composée d’un attribut. Ex: Table personne PK(no_secu) ou id_personne
Une PK peut être composée de plusieurs attributs. Ex: Table commune PK(code_postal, nom)
FK (clef étrangère): Ensemble d’attributs référençant de façon unique le tuple d’une autre table
Contraintes d’integrité
S’expriment par :
Appartenance des valeurs d’attibuts à des domaines définition de clés
Normalisation des relations ensemble d’assertations
Conditions associées aux opérations de mise à jour
Valeur nulle :
absence ou non-pertinence d’information : nul (ou NUL)
Contrainte d’intégrité d’entité : toute relation possède une clé primaire et les valeurs d’attribut de cette clé doivent être
non nulles.
Soit existe comme valeur de la clé primaire d’un n-uplet de la relation que Y réfère
Soit nulle
Définitions
BD
Modèles EA & DC Nom des classes :
Au singulier
Avec des lettres non accentuées
Conventions de nommage Commençant par une majuscule
Camel case
Nom des tables et des attributs
Ex: PierrePrecieuse
Au singulier
Avec des lettres non accentuées Attributs
En minuscules
Les mots étant séparés par des underscores au singulier
avec des lettres non accentuées
Ex: commençant par une minuscule
Camel Case
attribut: couleur_reflet
table : pierre_precieuse Ex: couleurReflet
Normalisation
Problèmes potentiels :
insertion : insertion d’un sommet seulement si une première a eu lieu sur celui-ci
modification : si l’altitude de l’Everest est modifiée il faut la modifier dans toutes
les premières de ce sommet
suppression : si l’unique première sur un sommet est supprimée, l’information sur
son altitude est perdue
Dépendance fonctionnelle
voiture
NUMERO MARQUE TYPE PUISSANCE COULEUR
872RH75 Peugeot P206A 7 BLEUE
975AB80 Peugeot P206A 7 ROUGE
Dépendances fonctionnelles
R
NOM SOMMET FACE ALTITUDE Année
Everest S 8848 1953
Manaslu S 8125 1972
Hidden-Peak NO 8068 1975
Everest SO 8848 1975
Dépendances fonctionnelles :
augmentation : si X → Y alors X ∪ Z → Y ∪ Z
transitivité : si X → Y et Y → Z alors X → Z
Propriétés deduites
union : si X → Y et X → Z alors X → Y ∪ Z
pseudo-transitivité : si X → Y et W ∪ Y → Z alors
W∪X→Z
décomposition : si X → Y ∪ Z alors X → Y et X → Z
Dépendances fonctionnelles
Données
non-normalisation 1 NF 2 NF 3 NF BCNF
5 NF 4 NF
Pourquoi normalisation ?
-Réduire l’espace de stockage
-Eviter la redondance de données
-Eviter le coding (trigger,procédure stocké,…)
-Bien structurer des données
-Optimisation de performance:
.temps d’exécution(‘’thin table’’)
.Maximiser ‘’Clustered indexes’’ (trier,rercherche)
.Nombre d’index par table
1NF
Une relation est dite normalisée ou en première forme normale si :
aucun attribut qui la compose n'est lui-même une relation, c'est-à-dire si tout attribut
est atomique (non décomposable).
Cette forme n'utilise que les structures de base d'une relation, elle ne résout pas le
problème de la redondance.
Exemple :
Cette table ne respecte pas 1NF il y a plusieurs mails dans la meme colonne
Avec cette forme, les problèmes de redondance ne sont pas entièrement résolus.
Mais ne pas respecter la 2FN entraîne des redondances. Cela gaspille de l'espace de stockage, et pose
aussi le problème de la mise à jour des données.
Exemple: 2NF
Dans la table suivante la difficulté de la figure ne dépend que de
la figure et non de la clef primaire entière (skater, figure). 2NF
n’est pas respecté
Exemple: 2NF
La solution est de décomposer la table en deux qui affichent les
deux dépendances:
Nom difficulté
(Skater,Figure)note
3NF
Nous obtenons
Alors qu’il n’y a pas de dépendance entre conférencier et livre
La solution pour supprimer la dépendance est de créer deux
tables Conférencier et Livre
Associations
1-1 (one to one) :
1. Modèle entité-association
a. Définir concept entité et principaux attribut. (Juste ce qui est nécessaire)
b. Echange et affinage des règles
c. Définir les clefs primaires
d. Mettre en oeuvre les relations (heritage, composition, agrégation)
2. Diagramme de classes
a. SQL Power Architect->Génération du script de la base
b. Libre Office draw/Papyrus->Diagramme de classe
i. Une table = une classe
ii. Mise en oeuvre des relations (heritage, composition, agrégation)
Agrégation
Exemples
Classe - Élève : dans l'association Classe/Elève, la classe joue un rôle de regroupement d'élèves.
Équipe - Joueur : une équipe est un ensemble de joueurs.
Contre exemple:
Exemples:
Répertoire - Fichier : un répertoire est composé de fichiers. Un fichier ne peut pas être dans plusieurs répertoires.
Si on supprime le répertoire, les fichiers sont supprimés.
Immeuble - Appartement : un immeuble est composé d'un ensemble d'appartements. Un appartement ne se situe
que dans un seul immeuble et si on détruit l'immeuble, les appartements sont détruits aussi !
Heritage
Association Réflexive
Installation PostGres
summary.installation.directory: C:\Program Files\PostgreSQL\11
summary.server.installation.directory: C:\Program Files\PostgreSQL\11
summary.data.directory: C:\Program Files\PostgreSQL\11\data
summary.database.port: 5432
summary.database.superuser: postgres
summary.serviceaccount: NT AUTHORITY\NetworkService
summary.databaseservice: postgresql-x64-11
summary.clt.installation.directory: C:\Program Files\PostgreSQL\11
summary.pgadmin.installation.directory: C:\Program Files\PostgreSQL\11\pgAdmin 4
summary.sbp.installation.directory: C:\Program Files\PostgreSQL\11
Création du modèle physique de données
1. je crée une table par classe
2. je crée les colonnes dans les tables
3. je définie les clés primaires
4. je crée les relations entre les tables