Introduction aux tables et aux bases de données Flashcards
Qu’est-ce qu’une SGBD?
Un système de gestion de base de données (SGBD) est un logiciel permettant à des utilisateurs d’accéder à une base de données. C’est ce logiciel qui gère les accès différenciés (identification, sécurité) et qui interprète les requêtes pour ingérer, modifier, retourner ou supprimer des données.
Quelles sont les deux grandes famille de SGBD?
On distingue deux grandes familles de SGBD : les SGBD relationnels et les SGBD NoSQL.
Les bases de données relationnelles (BDDr) sont utilisées depuis les années 70, elles sont aujourd’hui les plus populaires et, dans une certaine mesure, les plus simples à utiliser. Ces bases de données utilisent des tables pour stocker les données. Ces tables suivent un schéma strict qui impose aux données des contraintes sur leur structure.
Comment intéragit t-on avec une sgbd?
Pour interagir avec ces SGBD, on utilise en général le langage SQL (Structured Query Language) afin de créer des requêtes sur les bases de données. SQL est très répandu et plutôt simple d’utilisation. C’est donc un langage incontournable du monde de la Data.
Qu’est-ce qu’une table?
Les tables utilisées dans les bases de données sont des ensembles d’enregistrements (ou observations) qui forment les lignes de la table. Chacune des valeurs d’un enregistrement correspond à un attribut. Les attributs forment les colonnes de la table.
On peut comparer une table à un tableau excel (ou à un DataFrame), les enregistrements correspondant aux lignes et les attributs aux colonnes du tableau excel.
Qu’est-ce qu’un schéma?
Les tables sont caractérisées par leur schéma. Le schéma d’une table doit contenir ses attributs, leurs types et les contraintes sur ces attributs. On peut dire que le schéma est une définition ou une “empreinte” de la table.
Qu’est-ce qu’une transaction?
Une transaction est une suite d’opérations nécessitant des accès en lecture ou en écriture qui est effectuée via un système de gestion de bases de données.
Comment vérifier qu’une transaction est fiable?
Pour garantir l’intégrité d’une base de données, il est nécessaire que ces transactions soient fiables.
Une des manières de garantir des transactions fiables est de vérifier les propriétés ACID,
Qu’est-ce que les principes ACID?
Atomicité : Une transaction doit pouvoir être effectuée en entier ou sinon elle sera abandonnée. Si une opération de la transaction est refusée, toutes les autres opérations de la transaction le seront également.
Cohérence : L'état initial et l'état final de la base doivent être cohérents, i.e. toutes les contraintes d'intégrité de la base de données doivent être respectées à la suite d'une transaction. Isolation : Une transaction doit s'effectuer indépendamment des transactions qui s'exécutent en même temps. Les états intermédiaires d'une transaction sont cachés aux autres. Durabilité : Lorsqu'une transaction est validée, ses effets doivent être stockés "en dur" et donc persister même dans le cas d'un crash du système ou d'une coupure de courant.
Les bases de données relationnelles vérifient les propriétés ACID au contraire des bases NoSQL. Les transactions ne sont donc pas aussi fiables pour ces dernières, mais elles peuvent être plus performantes sur de grandes bases de données.
Qu’est-ce qu’une clé primaire?
C’est un identifiant qui définit de manière unique chacune des lignes d’une table.
Qu’est-ce qu’une clé étrangère?
Une clé étrangère identifie une colonne (ou un ensemble de colonnes) d’une table comme une référence à une colonne d’une autre table (la référencée
Qu’est-ce qu’une table d’attribution?
C’est une table qui relie d’autres table en une.
Qu’est-ce qu’une clé primaire composite?
Une clé composite est une clé sur plusieurs attributs. Exemple: Casting(#ActorId, #FilmId, Role) la clé primaire composite est ActorId et FilmId
Qu’elles sont les différentes contraintes à respecter pour modifier une table?
Comment appelle t-on les relations entre les tables?
Un schéma relationnel
Quelles sont les types de relations entre les tables?
One to One : 1 ligne correspond à 1 autre ligne de l’autre table.
One to Many : 1 ligne d’une table correspond à plusieurs lignes dans une autre table.
Many to Many : 1 ligne d’une table peut correspondre à plusieurs lignes de l’autre table et inversement