--- title: "Base de données : définitions" date: 2018-09-17 modify: 2018-09-24 categories: ["Base de données", "Cours"] --- ## Le domaine Il représente l'ensemble des valeurs autorisées pour une information. Cette notion est très proche [de domaine de définition](w_dom-def) en mathématiques. On le décompose en deux grandes familles.: - **élémentaire** : les types de base comme les entiers, réels, chaines de caractères mais aussi les intervales ou les listes de valeurs - **structuré** : des types de valeurs plus structurée comme pas exemple la notion de point définit pat une composant `X` et `Y`. [w_dom-def]:https://fr.wikipedia.org/wiki/Ensemble_de_d%C3%A9finition ## Le produit cartésien Le produit cartésien des domaines $D_{1} D_{2}$ représente l'ensemble des valeurs contenue dans $D_{1}$ et $D_{2}$, il est noté $$ D_{1} \times D_{2} $$ ## La relation Elle représente un sousrensemble r du produit carthésien. Elle est caractérisée par un nom. ## Tuple ou n-tuple Il représente une ligne dans une relation ## Attributs Nom donné à un colonne. Il est composé d'un indentifiant et d'un domaine ## Schéma de relation Il ets définis par un ensemble d'attributs U et un ensenble de contraintes. on le note courrament R(U), R(U) décrit l'intention de la relation. La relation (tableau + valeurs) définit une extention. Une relation `r` est une instance finie d'un schema de relation notée `r:R(U)`, exemple : ``` AlimentsPreferes(nom,type,origine,bio) ``` ## La base de données Un schéma de base de données et un ensemble de schemas de relation liés par des dépendances référencielles (un type de contraines). Une base de données est alors un ensemble de relations (extensions) associées au schéma et verifiamts ses contraines. ## Le modèle relationnel Il est définis en 1970 par *E. F. Codd* (IBM Research Lab) et se veut indépendant de la representation physique des données. Il a une assise mathématique forte ([algèbre relationnelle](w_algebre-r), [formes normales](w_form-norm)). [w_algebre-r]:https://fr.wikipedia.org/wiki/Alg%C3%A8bre_relationnelle [w_form-norm]:https://fr.wikipedia.org/wiki/Forme_normale_(bases_de_donn%C3%A9es_relationnelles) ### Objectifs généraux - Éliminer les comportements anormaux lors des mises à jour des données. - Éliminer les données redondantes. - Meilleures compréhension des relationssémantiques entres les données. ### Buts Éliminer les anomalies de la relation universelle (tous les attributs sur toutes les colonnes) pour faciliter la manipulation des relation. En un mot normaliser les relations. ### Méthode Décomposer la relation universelle en sous-relations qui ne souffre pas des anomalies de la relation universelle. - conserve toutes les données - conserve un minimum de contraintes ### Les types de contraintes - sur les attributs : valeur nulle autorisées (ou non), valeur imposée ... - sur les n-uplets (plusieurs valeurs) : l'exemple d'une bibliothèque, la date de retour d'un livre doit être suppérieure à la date d'emprunt. - sur les relations : clé, cardinalité - sur la base de données : clé étrangères - sur l'évolution temporelle de la base de données : exemple de l'état civil, on passe, dans l'ordre de célibataire à marié puis divorcé. On ne peut pas passer de célibataire à divorcé. # La notion de clé Une clé doit permettre de trouver un tuple dans une relation avec seulement une partie des attributs, dit plus simplement, identifier sans équivoque un enregistrement. Du point de vue mathématique, il ne doit pas avoir deux fois le même éléments dans un ensemble : deux tuples d'une même relation ne peuvent être égaux. Soit un ensemble $U\{A_{1}, A_{2}, ..., A_{n}\}$