Show Menu
Cheatography

SQL Cheat Sheet (DRAFT) by

Partiel SQL 2020-2021

This is a draft cheat sheet. It is a work in progress and is not finished yet.

Modéli­sation

Base de données
Ensemble de données struct­urées et cohérentes
SGBD
Système de Gestion de Base de Données
Manipuler des données simult­anément
Plusieurs utilis­ate­urs­/pr­ogr­ammes
Manipu­lation 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)
Concur­rence des accès (multi­-ut­ili­sat­eurs)
Modéli­sation 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 identi­­fi­ables manipulé par une applic­­ation.
ex : Une personne
Attributs
Caractéristique d’une entité
ex : nom, prénom

Transa­ctions

Généra­lités
L’état d’une bdd doit toujours être cohérent
Préserver l’inté­grité des données
Une transa­ction est une suite de modifi­cations ordonnées qui forme une action unique dans le but d’être exécuté en une seule fois.
Si une des actions de la transa­ction 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 verrou­illage de la ligne
Concept ACID
Atomicité : une transa­ction s’effectue entièr­ement ou pas du tout
Consis­tance : une transa­ction doit conserver la base dans un état cohérent
Isolation : pas d’inte­rfé­rence avec les autres utilis­ateurs
Durabilité : les actions d’une transa­ction terminée sont prise en compte par la bdd
 

MCD

Défini­tions
Une instance d’une entité doit pouvoir être identifiée de manière unique
On appelle identi­fiant l’attribut permettant d’iden­tifier 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’iden­tifiant
Repres­ent­ation Graphique
On souligne la (ou les) attributs consti­tuant l’iden­tifiant
Dimension d’une Associ­ation
Réflexive entité liée à elle même
Binaire : lien entre 2 entité
n-aire : lien entre n entités (n > 2)
Cardin­alité
Définie le nombre d’occu­rrences d’une entité qui participe à une associ­ation
0,1 – 0,n – 1,1 – 1,n
[Min - Max]

COMP­LEMENTS 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
Incove­nients : Nécessite de recalculer l’index à chaque insertion dans la table
CREATE INDEX nomIndex ON nomTab­le(col1 [ASC|D­ESC], 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];
Suppre­ssion
REVOKE privilege ON table FROM user;
Lister droits
SHOW GRANTS FOR user;
Création Rôle
CREATE ROLE 'nomRo­le1', 'nomRo­le2­',...;
 

Modèle Relati­onnel

Défini­tions
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-e­nsemble d’attr­ibuts qui permet d’iden­tifier une ligne de manière unique
MCD -->MLD
Objectif : Passer d’un modèle à 2 structures (entité et associ­ations) vers un modèle à une structure (relation)
Associ­ations
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 manipu­lation 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'exec­ution
#1 FROM #2 WHERE #3 GROUP BY
#4 HAVING #5 ORDER BY

Procédures et Triggers

Les Procédures stockées
CREATE PROCEDURE nomPro­ced­ure­(pa­ram1, param2 type,...) actions;
-
Mots clés pour la création de la procédure
-
Nom de la procédure
-
Parent­hèses obliga­toires même si pas de paramè­tres.