Bases de données
De Banane Atomic
Aller à la navigationAller à la recherche
Les catégories de données
Catégorie | Exemple | Durée de vie | Note |
---|---|---|---|
Les données de base | clients, produits | très longue | accessible facilement et rapidement |
Les données de mouvement | commandes | limitée | |
Les données de travail | réalisation d'un graphique | très courte | |
Les données d'archive | années comptables passées | très longue | pas directement accessible ou seulement en lecture |
Organisation des données
Type d'organisation | Description | Avantages / inconvénients |
---|---|---|
Directe | Chaque donnée possède une longueur fixe, ce qui permet de la récupérer grâce à sa position | Coûteux en espace disque. Recherche lente car il faut parcourir tous les éléments. Pas de gestion de droits utilisateur. Pas de gestion de l'intégrité des données. |
Séquentielle | Les données sont séparées par un caractère spécial. Exemple: CSV |
Recherche lente car il faut parcourir tous les éléments. Pas de gestion de droits utilisateur. Pas de gestion de l'intégrité des données. |
Séquentielle indexée | Les données sont séparées par un caractère spécial. Des index contenant les données triées peuvent être définis. |
Difficulté: maintenir à jour les index lors des opérations d'ajout, suppression, mise à jour. Pas de gestion de droits utilisateur. Pas de gestion de l'intégrité des données. |
Base de données hiérarchique | Solutions propriétaires (langage, API) | Indexation des données Gestion de droits utilisateur. Gestion de l'intégrité des données. |
Base de données relationnelle | Représentation logique des données en respectant le modèle relationnel. Utilisation du langage SQL |
Indexation des données Gestion de droits utilisateur. Gestion de l'intégrité des données. |
Définitions
Domaine
Ensemble de valeurs. Ex: une table.
Cardinal: nombre d'éléments du domaine
Produit cartésien
Association de plusieurs domaines. Le cardinal du produit cartésien est égal au produit des cardinaux des domaines.
D1 = { 1, 2 } D2 = { A, B } D1 x D2 = { (1,A), (1,B), (2,A), (2,B) }
Relation
Sous ensemble d'un produit cartésien.
Attribut: colonne d'une relation.
Degrès: nombre d'attributs d'une relation.
Clé primaire
Identifiant principal d'une relation. Non NULL.
Clé étrangère
Attribut qui est clé primaire dans une autre relation.
Index
Permet un accès rapide à l'information, mais ralenti les changements de valeurs dans la colonne indexée.
CLUSTERED → ordonné
Normalisation du schéma relationnel
Première forme normale | toutes les colonnes contiennent des valeurs simples. Ex: elt1,elt2 |
Deuxième forme normale | toutes les colonnes non-clé dépendent de la clé primaire. |
Troisième forme normale | pas de dépendance fonctionnelle entre 2 colonnes non-clé. Ex: Civilité et Sexe, la valeur de l'un permet de déduire l'autre. |
Opérateurs de l'algèbre relationnelle
Opérateur | Définition |
---|---|
Union | Ensemble des éléments distincts des 2 relations initiales. |
Intersection | Ensemble des éléments communs aux 2 relations initiales. |
Différence | Ensemble des éléments de la première relation qui ne sont pas dans la seconde. |
Restriction | Condition qui va réduire le nombre de lignes. |
Projection | Choix réduit des colonnes et factorisation des lignes. |
Produit cartésien | Le résultat est une table contenant l'ensemble des colonnes des tables initiales, et comme éléments l'association de chaque ligne de la première avec chaque ligne de la deuxième. |
Jointure | Produit cartésien avec une condition de comparaison entre un attribut de la première table et un attribut de la deuxième table. |
Calcul élémentaire | Projection avec une nouvelle colonne dont la valeur est un calcul effectué pour chaque ligne. |
Calcul d'agrégat | Projection avec une nouvelle colonne dont la valeur est un calcul factorisant plusieurs lignes ou en sélectionnant une.COUNT, SUM, AVG, MIN, MAX |