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