5.5 KiB
title | date | tags | categories | mathjax | |||||
---|---|---|---|---|---|---|---|---|---|
Base de données avancées : Introduction | 2022-01-11 |
|
|
true |
Base de données : Definitions
D'après Georges Gardarin:
[Une base de données est un] Ensemble de données modélisant les objets d'une partie du monde réel et servant de support à une application informatique
Une base de données est un ensemble de donnée structurées ou non, enregistrées de manière structurée (base de données relationnelle) ou non (NoSQL). Chose importante: les données sont interrogeable par n'importe quel critère.
Concrètement, les bases de données permettent l'indépendance des données et programmes.
Les bases de données relationnelles
C'est un type de base de données définis d'après un modèle introduit par Edgar F. Codd (IBM Research Lab 1969). Les données sont organisées de façon structurées dans un ou plusieurs tableaux appelés tables ou relation.Chaque ligne de la relation est appelée n_uplet ou enregistrement.
Ces bases doivent comporter certaines caractéristiques:
- persistance des données (sauvegarde)
- interrogation des données en SQL (Structured Query Language)
- recherche et mise en forme des données stockées
- partage des données entre plusieurs utilisateurs
- gestion de la concurrence
- optimisation des opérations dans un soucis constant de performance
- sécurité des données (gestion des incidents)
SGBD(R): Système de gestion de base de données (relationnelles) ou DBMS en anglais (DataBase Management System).
Opérations sur relations
On distingue trois type de langages:
- LDD -- langage de définition des données -- création ou suppression des relations.
- LMD -- langage de Manipulation des donnés -- interrogation des données contenue dans la | les relation(s)
- LCO --langage des contrôle des données -- gérer des droits, valider / annuler des transactions
Ces trois langages représentent des sous-ensemble de SQL pour Structured Query Language. Ce langage informatique normalisé sert à exploiter les bases de données relationnelles.
L'implémentation du langage des manipulation des données en SQL
Les principales opérations de ce sous-ensemble sont:
SELECT
pour interrogerINSERT
pour ajouter des lignes (n-uplets)UPDATE
pour mettre à jour des n-upletsDELETE
pour supprimer des n-uplets
Celles-ci sont regroupées en transaction : un regroupement atomique d'un ensemble d'opérations. C'est au SGBDR d'assurer la mise en œuvre des transactions. Régis par le modèle relationnel, les SGBDR fonctionnent d'ailleurs tous quasiment de la même façon, du moins pour ce qui est du LDD et LDM.
Les transactions
Pour revenir aux transactions, les propriété ACID doivent être respectées afin de valider leurs fiabilité:
- Atomicité : la transaction doit se faire en entier ou pas du tout. En cas de problème en cours de route, l'ensemble de la transaction doit être annulée.
- Cohérence : chaque transaction amène le système dans un état valide (contraintes d'intégrités, rollback, déclencheurs etc)
- Isolation : chaque transaction s'exécute indépendamment des autres, comme si elle était seule sur le système, dans dépendre d'une autre.
- Durabilité : une fois confirmée, une transaction doit rester de façon durable sur le système, même après un incident (panne matérielle, électrique etc.)
Définitions importantes
Le domaine
Le domaine est un ensemble de valeur atomique (non décomposable), il est équivalent au typage en programmation
Le produit cartésien
Le produit cartésien de deux domaines A et B noté \(A \times B\) appelé aussi ensemble-produit représente l'ensemble des n_uplets la première composante est A et la seconde est B.
Le produit cartésien \(A \times B\) représente les couples ( x;y ) tel que \(x \in A\) et \(y \in B\).
Relation
Une relation est un sous ensemble r du produit cartésien d'un ensemble de domaine. Elle est caractérisée par un nom. D'un point de vue mathématique, une relation est caractérisée par \( R = ( D_1, D_2, D_3 )\). Pour un exemple du monde réel, prénom l'exemple d'un livre : \( livre = ( titre, année, auteur) \).
Attribut
Un attribut est un identifiant donné à un domaine, pour faire simple c'est le nom donné à une colonne de notre table (relation). Le nombre d'attributs d'une relation définis son degrés d'arité.
L'arité d'une fonction, ou opération, est le nombre d'arguments ou d'opérandes qu'elle requiert.
Schéma de relation
Le schéma de relation R est défini par un ensemble d'attributs U et un ensemble de contraintes. On le note couramment R(U). Ce schéma décrit l'intention de la relation. La relation(le tableau) elle défini une extension
Une relation r est une instance finie d'un schéma de relation, elle est noté r:R(U).
Schéma de Base de données
C'est un ensemble de schémas de relations liées par des dépendances référentielles (attributs communs (attributs communs, dépendance d'inclusion). On peut voir le schéma de base de données comme un plan des relations. Il vise à minimiser la redondance et maximiser la cohérence.
La base de données est alors un ensemble de relations associé au schéma et vérifiant ses contraintes d'intégrités.