Modélisation
Base de données |
Ensemble de données structurées et cohérentes |
SGBD |
Système de Gestion de Base de Données |
Manipuler des données simultanément |
Plusieurs utilisateurs/programmes |
Manipulation des données (logique et physique) |
Intégrité des données |
Sécurité des données (droits d’accès et résistance aux pannes) |
Concurrence des accès (multi-utilisateurs) |
Modélisation des données |
Modèle conceptuel de données (MCD) |
PDV user |
Modèle conceptuel de données (MCD) |
PDV SGBD |
Modèle physique de données |
PDV système |
Entité |
Représente une classe d’objets identifiables manipulé par une application. |
ex : Une personne |
Attributs |
Caractéristique d’une entité |
ex : nom, prénom |
Transactions
Généralités |
L’état d’une bdd doit toujours être cohérent |
Préserver l’intégrité des données |
Une transaction est une suite de modifications ordonnées qui forme une action unique dans le but d’être exécuté en une seule fois. |
Si une des actions de la transaction tombe en erreur, aucune des actions n’est validée, on parle de Rollback |
Chaque mise à jour d’une ligne d’une table provoque le verrouillage de la ligne |
Concept ACID |
Atomicité : une transaction s’effectue entièrement ou pas du tout |
Consistance : une transaction doit conserver la base dans un état cohérent |
Isolation : pas d’interférence avec les autres utilisateurs |
Durabilité : les actions d’une transaction terminée sont prise en compte par la bdd |
|
|
MCD
Définitions |
Une instance d’une entité doit pouvoir être identifiée de manière unique |
On appelle identifiant l’attribut permettant d’identifier de manière unique une instance d’une entité donnée. |
Il est impossible que 2 instances d’entité aient la même valeur d’identifiant |
Representation Graphique |
On souligne la (ou les) attributs constituant l’identifiant |
Dimension d’une Association |
Réflexive entité liée à elle même |
Binaire : lien entre 2 entité |
n-aire : lien entre n entités (n > 2) |
Cardinalité |
Définie le nombre d’occurrences d’une entité qui participe à une association |
0,1 – 0,n – 1,1 – 1,n |
[Min - Max] |
COMPLEMENTS SQL
NULL |
Valeur manquante ou inconnue pour l’instant |
Non applicable : pas de valeur pour le cas donné |
Valeur non autorisée pour les clés primaires |
INDEX |
structure de donnée qui permet d’accélérer l’accès aux données |
Technique : Table de Hachage BTREE |
Avantages : Requêtes portant sur une colonne indexée plus rapides |
Incovenients : Nécessite de recalculer l’index à chaque insertion dans la table |
CREATE INDEX nomIndex ON nomTable(col1 [ASC|DESC], col2, ...);
|
DROP INDEX nomIndex ON nomTable;
|
Gestion des droits |
Création user |
CREATE USER 'test' IDENTIFIED BY 'pwd'; |
Ajout droits |
GRANT privilege ON table TO user [WITH GRANT OPTION]; |
Suppression |
REVOKE privilege ON table FROM user; |
Lister droits |
SHOW GRANTS FOR user; |
Création Rôle |
CREATE ROLE 'nomRole1', 'nomRole2',...; |
|
|
Modèle Relationnel
Définitions |
Domaine |
Ensemble de valeurs possible pour un attribut |
Attributs |
Décrit le contenu d’une colonne d’une table |
Schéma de relation |
Nom d’une table suivie de ses attributs et de leur domaine |
Clé primaire |
Plus petit sous-ensemble d’attributs qui permet d’identifier une ligne de manière unique |
MCD -->MLD |
Objectif : Passer d’un modèle à 2 structures (entité et associations) vers un modèle à une structure (relation) |
Associations |
1-1 |
Clé étrangère dans les deux |
1-N |
Clé étrangère dans l'une des deux |
N/N |
On fais une table intermédiaire Pas de clés étrangères |
Langage de définition des données LDD
SQL : Structured Query Langage |
LDD : langage de définition des données, permet de décrire la structure des objets et leurs relations. |
LMD : langage de manipulation des données, permet d’ajouter, lire, modifier, et supprimer des objets. |
CRUD |
Create |
Créer de nouveaux objets |
Read |
Lire les objets existants |
Update |
Modifier des objets existants |
Delete |
Supprimer des objets existants |
Ordre d'execution |
#1 FROM #2 WHERE #3 GROUP BY |
#4 HAVING #5 ORDER BY |
Procédures et Triggers
Les Procédures stockées |
CREATE PROCEDURE nomProcedure(param1, param2 type,...) actions;
|
- |
Mots clés pour la création de la procédure |
- |
Nom de la procédure |
- |
Parenthèses obligatoires même si pas de paramètres. |
|