Modele baze de date

La base de données relationnelle a été définie pour la première fois en juin 1970 par Edgar Codd, du laboratoire de recherche de San Jose d`IBM. [1] la vue de Codd sur ce qui est qualifié de SGBD est résumée dans les 12 règles de Codd. Une base de données relationnelle est devenue le type prédominant de base de données. D`autres modèles, outre le modèle relationnel, incluent le modèle de base de données hiérarchique et le modèle de réseau. La normalisation a d`abord été proposée par Codd comme partie intégrante du modèle relationnel. Il englobe un ensemble de procédures conçues pour éliminer les domaines non simples (valeurs non atomiques) et la redondance (duplication) des données, ce qui empêche à leur tour les anomalies de manipulation des données et la perte d`intégrité des données. Les formes les plus courantes de normalisation appliquées aux bases de données sont appelées les formes normales. Les contraintes permettent de restreindre davantage le domaine d`un attribut. Par exemple, une contrainte peut restreindre un attribut Integer donné aux valeurs comprises entre 1 et 10. Les contraintes fournissent une méthode d`implémentation des règles métier dans la base de données et prennent en charge l`utilisation des données ultérieures dans la couche d`application. SQL implémente la fonctionnalité de contrainte sous la forme de contraintes de contrôle. Les contraintes limitent les données qui peuvent être stockées dans les relations.

Elles sont généralement définies à l`aide d`expressions qui entraînent une valeur booléenne, indiquant si les données satisfont ou non à la contrainte. Les contraintes peuvent s`appliquer à des attributs uniques, à un tuple (restriction des combinaisons d`attributs) ou à une relation entière. Étant donné que chaque attribut a un domaine associé, il existe des contraintes (contraintes de domaine). Les deux règles principales pour le modèle relationnel sont appelées intégrité de l`entité et intégrité référentielle. Ce modèle organise des données dans une ou plusieurs tables (ou «relations») de colonnes et de lignes, avec une clé unique identifiant chaque ligne. Les lignes sont également appelées enregistrements ou tuples. [3] les colonnes sont également appelées attributs. En général, chaque table/relation représente un «type d`entité» (tel que client ou produit). Les lignes représentent des instances de ce type d`entité (telles que «Lee» ou «chair») et les colonnes représentant les valeurs attribuées à cette instance (telles que l`adresse ou le prix). Une procédure stockée est un code exécutable associé à la base de données et généralement stocké dans celle-ci.

Les procédures stockées collectent et personnalisent généralement des opérations courantes, telles que l`insertion d`un tuple dans une relation, la collecte d`informations statistiques sur les modèles d`utilisation ou l`encapsulation d`une logique métier complexe et de calculs. Souvent, ils sont utilisés comme une interface de programmation d`application (API) pour la sécurité ou la simplicité. Les implémentations de procédures stockées sur les SGBD SQL permettent souvent aux développeurs de tirer parti des extensions procédurales (souvent spécifiques au fournisseur) à la syntaxe SQL déclarative standard. Les procédures stockées ne font pas partie du modèle de base de données relationnelle, mais toutes les implémentations commerciales les incluent. Le modèle relationnel spécifie que les tuples d`une relation n`ont pas d`ordre spécifique et que les tuples, à leur tour, n`imposent aucun ordre sur les attributs. Les applications accèdent aux données en spécifiant des requêtes, qui utilisent des opérations telles que sélectionner pour identifier les tuples, projeter pour identifier les attributs et joindre pour combiner les relations. Les relations peuvent être modifiées à l`aide des opérateurs d`insertion, de suppression et de mise à jour. Les nouveaux tuples peuvent fournir des valeurs explicites ou être dérivés d`une requête.

De même, les requêtes identifient les tuples pour la mise à jour ou la suppression. Une base de données relationnelle est une base de données numérique basée sur le modèle relationnel des données, comme proposé par E.