Implémentation des bases de données solides Flashcards
0 - BDD - Introduction
Retracez succintement l’histoire des SGBD.
- Historiquement, les bases de données étaient des fichiers papier.
- 1970, Edgar F. Codd introduit la notion de modèle relationnel chez IBM.
- 1979, Oracle sort le premier SGBD.
- 1980-2000, De nombreux SGBD sont créés et SQL devient un langage standard.
1 - BDD - Transactions
De quoi est composée une base de données ?
- Un schéma, qui structure les données
- Du contenu, qui remplit la base de données
- Des contraintes d’intégrité qui assurent la cohérence de la BDD.
0 - BDD - Introduction
Quelles sont les qualités des SGBD modernes ?
- Ils sont fiables et très stables.
- Ils sont performants et permettent de gérer de gros volumes de données.
- Ils sont durables car ils assurent la qualité des données.
0 - BDD - Introduction
A quoit sert une contrainte d’intégrité ? Explicitez les différents types de contraintes.
Au moins 2
Les contraintes d’intégrité permettent de définir des limitations sur le contenu de la base de données.
- Contraintes explicites : elles sont stockées dans le SGBD et peuvent être vérifiées automatiquement à chaque modification du contenu.
- Contraintes implicites : elles sont dans la tête de l’administrateur de la base de données.
0 - BDD - Introduction
Qu’est-ce qu’une super-clé ?
Soit K un sous-ensemble de colonnes d’une table T.
K est une super-clé si elle permet d’identifier de manière unique au plus une seule ligne de T. C’est à dire si le nombre de ligne ayant les mêmes valeurs sur les colonnes de K est au plus un.
0 - BDD - Introduction
Qu’est-ce qu’une clé candidate ?
Soit K un sous-ensemble de colonnes d’une table T.
Une clé candidate, K, est une super-clé qui contient un nombre minimal de colonnes.
0 - BDD - Introduction
Qu’est-ce qu’une clé étrangère ?
Une clé étrangère est un ensemble de colonnes K d’une table faisant référence à la clé primaire d’une autre table. La clé étrangère est satisfaite si les tuples de valeurs présents sur les colonnes de K sont aussi présents sur les colonnes de la clé primaire
0 - BDD - Introduction
Qu’est-ce qu’une clé primaire ?
Soit K un sous-ensemble de colonnes d’une table T.
Une clé primaire est une clé candidate choisie pour identifier chaque ligne de T.
0 - BDD - Introduction
Qu’est-ce qu’une base de données cohérente ?
Une base de données est cohérente si son contenu vérifie à la fois les contraintes explicites et implicites.
1 - BDD - Transactions
Qu’est-ce qu’une transaction ?
Une transaction est un exécution d’un programme contenant plusieurs requêtes sur la base de données.
1 - BDD - Transactions
Quel est le principe des transactions ?
Si un transaction s’exécute en l’absence d’autres transactions ou d’erreurs sur une base de données cohérente, alors la base de données à la fin de l’exécution est aussi cohérente.
1 - BDD - Transactions
Qu’est-il nécessaire de mettre en place pour gérer les transactions ?
- Une gestion des interactions entre transactions.
- Une gestion des erreurs systèmes.
1 - BDD - Transactions
Que définissent les transactions ?
Les transactions définissent les transformations valides de la base de données.
1 - BDD - Transactions
Quand les contraintes d’intégrité sont-elles vérifiées ?
Par défaut, elles sont vérifiées à chaque requête à la BDD.
1 - BDD - Transactions
Définissez l’acronyme ACID.
Atomique, Cohérente, Isolée, Durable
1 - BDD - Transactions
Qu’est-ce que le principe d’atomicité d’une transaction ?
Une transaction est une suite d’opérations insécable. Elle ne peut avoir que trois états :
- Active : en cours d’exécution
- Validée (committed) : succès
- Annulée (aborted) : échec
1 - BDD - Transactions
Que se passe-t-il lorsqu’une transaction est annulée ?
Lorsqu’un transaction est annulée, il faut défaire les changements apportés à la base de données et à son contenu, on effectue un rollback
1 - BDD - Transactions
Décrivez le mécanisme de rollback.
Généralement, celui-c fonctionne sur le mécanisme de journalisation.
On journalise les données
1 - BDD - Transactions
Q’est-ce que le principe de cohérence d’une transaction ?
Quelle que soit l’exécution des transactions, la BDD doit rester cohérente.
1 - BDD - Transactions
Qu’est-ce que le principe d’irrévocabillité ?
L’irrévocabilité c’est le fait de ne pas pouvoir révoquer, dans notre cas, les décisions de commit
et de rollback
sont irrévocables. C’est à dire qu’une fois la transaction validée ou annulée, on ne peut plus changer son statut.
1 - BDD - Transactions
Quelles sont les opérations irrévocables au sein d’une transaction SQL ?
Les opérations de commit
et de rollback
sont irrévocables. Elles terminent un transaction.
Aussi, les écritures sont irrévocables une fois une transaction terminée. Elles sont donc révoquables tant que celle-ci est active.
1 - BDD - Transactions
Qu’est-ce que le principe de durabilité d’une transaction ?
Les effets d’une transaction validée sont persistants. Ils sont stockés sur le disque et persistants même en cas de panne 1ms après la validation de la transaction.
Cette propriété est garantie par la journalisation et permet une reprise après panne, sans pertes de données :
- Le journal est un fichier sur le disque.
- Le SGBD stocke toutes les modifications faites par les transactions.
- Les ordres de commit sont journalisées.
1 - BDD - Transactions
Pourquoi différer la validation des contraintes d’intégrité ?
Différer la validation des contraintes d’intégrité à la fin d’une transaction permet d’avoir un état incohérent de la base de données au sein de la transaction, mais cohérent une fois celle-ci validée, ou annulée le cas échéant.