Database Flashcards
Qu’est ce qu’une requête préparée ?
Les requêtes préparées sont des queries SQL sans les données.
Pourquoi les requêtes préparées empêchent l’injection SQL ?
Les données injectées ne sont plus considérés comme du code SQL, mais véritablement comme des données
Comment créer une relation many to many en database ?
Il faut une table pivot, qui contient les clés primaires qui associe les 2 tables.
A quoi sert Group By en SQL?
A quoi sert Having en SQL ?
Appliquer des conditions avec des fonctions (sum, avg…)
Quelle différence entre Desc et Asc ?
Desc ordre décroissant, Asc ordre croissant
Quel est le mode de tri par défaut dans SQL ?
C’est ASC (croissant)
Comment donner un alias à un champ, table.. en SQL ?
Avec AS, ou juste après le nom du champ/table
Comment limiter le nombre de résultat en SQL ?
LIMIT n
A quoi sert le switch case en SQL ?
Afficher dynamiquement un output en fonction d’un champ de la ligne
Quelle est la condition pour faire un UNION ?
le même type de colonne, et le même ordre.
Est-ce que LIMIT réduit le temps d’exécution ?
Non, on récupère toutes les lignes, et ensuite on tronque
A quoi sert l’INNER JOIN ?
Obtenir l’intersection de 2 tables
A quoi sert le CROSS JOIN ?
Faire le produit cartésien des tables (donc chaque ligne de la table A possède chaque autres lignes B )
A quoi sert LEFT JOIN ?
Récupérer toutes les lignes de la table A + celles qui match avec la table B. Associe null si aucune ligne trouvée dans B
A quoi sert RIGHT JOIN ?
Comme Left Join, mais en inversant A et B
A quoi sert le FULL JOIN ?
Comme un UNION, mais pas besoin d’avoir le même schéma, on réuni tout simplement les 2 tables
A quoi sert le NATUAL JOIN ?
Faire une jointure sur les champs avec le même nom (pratique pour éviter le ON)
A quoi sert TRUNCATE TABLE en SQL ?
Delete toutes les lignes + réinitialiser l’auto incrémente
A quoi sert un index en SQL ?
Accélerer les recherches sur ce champs
Comment fonctionne les index en SQL ?
Les index trient les colonnes indexées, et donc on va pouvoir faire une recherche par dichotomie ensuite .
Qu’est ce qu’une procédure stockée ?
C’est une fonction SQL, stockée dans le SGBD
Qu’est ce qu’un trigger en SQL ?
C’est une procédure stockée mais appelable uniquement par un événement particulié, pas par un utilisateur
Qu’est ce que le TPH ?
Table - per - Hierarchy, c’est essayer de récréer le système d’héritage avec un champ, qui va désigner le type de l’object (système Application dans control)
Quels sont les inconvénients du TPH ? (Database)
Il peut créer beaucoup de champs vides si on ne sépare pas correctement les données liées à chaque type d’object
Que veut dire ACID ?
Atomicité, Cohérence, Isolation, Durabilité
Que veut dire atomicité dans ACID ?
Empêche les transactions partiellement terminées. Tout changement effectué doit être accompli jusqu’au bout, sans interruption. Sinon, changement doit être annulé et la BD doit revenir comme avant
Que veut dire cohérence dans ACID ?
Les données respectent les contraintes de la database