Le modèle relationnel est la représentation de la base de données sous la forme. Modèle de données relationnel. Conditions d'intégrité des données

La structure principale des données dans le modèle relationnel (RMD) est attitudepar conséquent, le modèle s'appelait relationnel (relation - attitude).

En rmd les données sont organisées dans des tablesqui doit satisfaire certaines restrictions et peut être considéré comme rapports.

La vue sur la table a été proposée par Mathematicien américain E.f. Code Au début des années 1970 et mis en œuvre par IBM au début des années 80. Un tableau bidimensionnel est l'un des moyens les plus simples de présenter des données pour un utilisateur ou un programmeur.

Tableau Vue de la relation "Employés" lED dans le tableau 1.

Tableau 1. Relation "ouvertures" - la table "Employés"

La RMD utilise des termes relationnels formels pouvant être remplacés par informel. La correspondance des termes formels et informels est présenté dans le tableau 2.

Tableau 2. Conformité des termes informels et formels de la RMD

Le modèle a une base théorique grave - la théorie des ensembles et la logique mathématique.

Les concepts de base du modèle relationnel:

- type de données, valeur;

- domaine;

- attribut;

- consignation;

- clé;

- attitude.

Concept type de donnéesÉquivalent au concept de type de données dans les langues algorithmiques. Signification atomique Les données sont la plus petite unité indivisible de données dans la RMD.

Domaine - Il s'agit d'un ensemble potentiel de valeurs atomiques admissibles du même type. Les données sont considérées comme comparables que lorsqu'elles concernent un domaine. Par exemple, le numéro de groupe et le numéro de billet étudiant ont le même type - l'entier, mais concernent différents domaines, leur comparaison n'a donc pas de sens.

Attribut - Ceci est une colonne nommée de la relation, les valeurs des éléments de colonne doivent provenir d'un domaine.

Laissez la totalité des domaines D 1, D 2, ..., D N (pas nécessairement différent).

Rechercherla relation est un ensemble de n valeurs situées dans un ordre strictement défini (D 1, D 2, ..., DN), telle que d 1 appartient à D 1, d 2 appartient à D 2, et D n appartient à D n. Le nombre d'éléments de la conflit est appelé arité.



Travail total décartienne Domaines D 1 x D 2 x ... X D N Sont un ensemble de toutes sortes de tuples divers de l'ARITY N, où chaque élément du tuple est extrait de son domaine (exemple: D1 (№ GD), D2 (Fam_stud ), D3 (STIP)).

Rdéfinis sur ces n domaines est un sous-ensemble d'un produit cartésien complet des domaines de source.

Schéma de relations Appelez une liste des noms d'attribut des relations avec les domaines ou les types d'attributs. Avec le nombre d'attributs égaux à N, le ratio n-arous dit. Régime de relation - chaîne de titres de table.

Le tuple correspondant à ce schéma de relation est une pluralité de paires (nom d'attribut, valeur) contenant une entrée de chaque nom d'attribut appartenant au schéma de relations.

Relation clé principale -cet attribut ou ensemble d'attributs définissent de manière unique chaque tuple de la relation et assurant l'unicité des lignes. La clé peut être simple (d'un attribut) ou complexe (composite de plusieurs attributs).

Propriétés clés - Unicité et minimalité. Pour chaque relation, la propriété de l'unicité a au moins un ensemble complet de ses attributs. La clé doit être minimale, c'est-à-dire Aucun champ n'est redondant pour l'identification sans ambiguïté de la chaîne dans le tableau, la suppression de tout champ de la clé viole l'identification.

De nombreux objets ont des identifiants, puis nous pouvons parler de la clé naturelle contenant des informations sur l'objet, par exemple, des détails du passeport de personnalité. La clé artificielle ou de substitution est créée par le système et ne contient généralement pas d'informations essentielles, par exemple un numéro d'étudiant à l'école, c'est-à-dire En dehors du système n'a pas de sens.

Restrictions de relations(Propriétés de la table):

1. Chaque table est appelée uniquement, représente un objet réel ou détermine la relation entre les objets et consiste en un même type de chaînes correspondant aux constructions de relation et aux colonnes correspondant aux attributs de la relation.

2. Chaque élément de la table doit être atomique. indivisible.

3. Toutes les lignes ont la même structure avec un nombre fixe de champs et de valeurs. La table ne peut pas être deux chaînes identiques (seules de la définition de la relation). Les lignes diffèrent d'au moins une valeur.

4. Chaque colonne est attribuée un nom unique. Les éléments d'une colonne doivent être homogèneextrait d'un domaine.

5. Dans les opérations avec des tables et des colonnes de lignes, vous pouvez visualiser dans n'importe quelle séquence. Il n'y a pas de réglementation du tuple et les domaines sont commandés à l'intérieur de la relation. Mais l'ordre de référence aux colonnes nommées devient également insignifiante.

6. Chaque table doit avoir clé primaire. La clé vous permet de trouver la seule chaîne de la table. Les corgers sont indexés par la clé, ce qui accélère le traitement des données. Les touches sont utilisées pour les tables de liaison logique.

Table d'enregistrement de formulaire plus courte "Employés" ou schéma de relations "Openers" (la principale clé de la relation est soulignée):

Des employés ( Tab_number, Prénom, département, date_nogo, position, salaire)

En général, le schéma de la relation est écrit comme

R (a 1, a 2, ..., A N), où un I est le nom de la I-ème attribut de la relation R.

Rbd - Ceci est beaucoup de relations interdépendantes. Schéma de RBD Ils appellent une variété de schémas de relations nommées utilisées pour présenter des informations et les valeurs actuelles de la relation de base de données. Dans la vue physique, chaque relation correspond au fichier de base de données, l'instance de relation est l'entrée du fichier de base de données, les attributs de la relation - les champs de saisie de fichiers de base de données.

Sentier, étant une projection du schéma DB, ne contient que ces relations, et seuls les attributs de ces relations utilisées par le programmeur d'application pour résoudre une tâche spécifique (requête).

Lorsque vous décrivez le sous-circuit de la base de données, toutes les restrictions nécessaires peuvent être définies, par exemple: l'accès du mot de passe à l'attribut ou aux attributs, le mode de traitement ou ses attributs est "Lecture seule" ou "lecture et écriture" et d'autres.

Dans le sous-circuit de la base de données, des attributs virtuels peuvent également être présents - ceux-ci ne sont pas stockés dans les attributs de base de données des relations, mais des algorithmes calculés pour une tâche particulière (requête). Également dans la sous-vashase de la base de données, les moyens de rationaliser peuvent être modifiés (c'est-à-dire. D'autres clés sont attribuées), Types de données (numérique - remplacé par symbolique et inversement). Dans ce cas, le SGBD fournit une exécution automatique de tous ces processus.

La caractéristique de la RMD est que les objets et les liens entre eux sont présentés sous une forme unique, sous forme de tables.

Contrairement aux modèles hiérarchiques et de réseau la communication Entre les relations sont soutenus imparti. Dans la RMD, des liens binaires du type "1: 1", "1: m", "m: 1" sont pris en charge. Dans chaque connexion, une attitude agit comme principal (du côté 1) et l'autre comme subordonné (de la part de m). Cela signifie qu'un tuple de la relation principale peut être associé à plusieurs cortices d'une relation subordonnée.

La communication est maintenue par l'ensemble de liaison d'attributs, principalement la clé antérieure Clé primairequi devrait être présent dans une relation subordonnée comme clé secondaire. Cet ensemble d'attributs dans un appel subordonné s'appelle une clé externe. Clé étrangère).

Les clés externes sont utilisées pour établir des connexions logiques entre les relations. La principale clé définit le seul tuple principalement et la clé secondaire est une pluralité de tuples dans une attitude subordonnée associée à des tuples de la relation principale.

Considérons un exemple de maintien d'une connexion du type "1: M" entre la relation entre le groupe et les étudiants. L'attitude principale est le rapport "Groupe", la clé primaire de la relation - l'attribut "graphique". L'attitude subordonnée est la relation "étudiants", la principale clé de la relation - "Number_Name_Name". Les "étudiants" doivent être présents à l'attribut "Numéro de groupe", en tant que clé externe pour communiquer avec l'attitude principale. C'est cet attribut qui vous permet de déterminer des informations sur le groupe dans lequel l'étudiant étudie.

Schéma de la relation principale "Groupe":

Grouper ( №_group, Spécialité)

Schéma de la relation subordonnée "Étudiants":

Étudiants ( №_adnaya_knik, Nom de famille, date_nity, №_group)

(Dans les régimes de relations, les clés primaires sont soulignées, le secondaire est en italique).

Exemples de DBMS PMD: DBASE, FoxPro, Clipper, Paradoxe, MS Access, Informix, Oracle, etc.

Toute structure de données peut être réduite à des tables bidimensionnelles. Considérons un exemple de la conversion du MD hiérarchique illustré à la Fig., Dans la base de données relationnelle, c'est-à-dire Une combinaison de relations interdépendantes.

Pour chaque nœud de la structure des arbres, une attitude séparée est créée, c'est-à-dire Relations «Départements», «Employés», «Labor_ysteri», «Enfants», «Travail» sont créés. Dans chaque attitude correspondant au nœud subordonné, l'identifiant du nœud source est ajouté. En conséquence, nous obtenons une base de données relationnelle composée des relations suivantes:

Départements ( Number_teider, Nom)

Des employés ( Tab_number, Nom de famille, salaire, Number_teider)

Laboratoire ( Number_name, Content_name, Tab_number)

Enfants ( Nom de Barenka, Tab_number , Date de naissance)

Travaux ( Cipher_-Travail, Nom, date_timing, Number_teider)

Dignité Modèle relationnel:

- simplicité et clarté du modèle;

- l'uniformité des structures pour présenter des objets et des connexions;

- la capacité de manipuler des données sans la nécessité de connaître l'organisation physique spécifique de la BD dans la mémoire externe;

- Capacité d'utiliser des langues de demande non concédées par les utilisateurs de bases de données à faible disponibilité.

Les modèles de datalogues considérés diffèrent de la manière dont l'utilisateur permet de représenter et de traiter des liens.

Dans le modèle hiérarchique et réseau de la communication, les données sont interconnectées par des signes physiques. C'est la dignité et l'inconvénient. Les connexions physiques prescrites sont bien implémentées et d'autres relations sont difficiles à extraire. Dans le modèle de communication relationnel de logique.

Avec une approche relationnelle, la communication entre objets est également soumise en tant qu'objets eux-mêmes, relations dans les relations. L'uniformité de la présentation de données simplifie le logiciel et les SGBD linguistiques.

Le modèle relationnel des données est proposé par un dirigeant IBM EdGarododod et est basé sur la relation conceptuelle (relation).

Modèle de données relationnelle (RMD) Certains domaine sont un ensemble de relations variant dans le temps. Lors de la création d'un système d'information, l'ensemble des relations vous permet de stocker des données sur des objets du sujet et de simuler des liens entre eux.

Attitudec'est une variété d'éléments appelés tuples. La forme visuelle de la représentation est familière à la perception humaine Tableau bidimensionnelle.

Avec l'aide d'une table, il est pratique de décrire le type de liens le plus simple entre les données, à savoir la division d'un objet (phénomène, entité, système, etc.), des informations sur lesquelles sont stockées dans le tableau, à une pluralité d'incréments, chacun correspond à une chaîne ou à une entrée de table. De plus, chacune des contributions a la même structure ou les mêmes propriétés décrites par les valeurs correspondantes des entrées. Par exemple, le tableau peut contenir des informations sur le groupe d'étudiants, chacune connue des caractéristiques suivantes: nom de famille, nom et patronymique, sexe, âge et éducation. Puisque la même table ne parvient pas à décrire des structures de données logiques plus complexes à partir du sujet, appliquer obligatoireles tables.

Le placement physique des données dans des bases relationnelles sur un support externe est facilement effectué à l'aide de fichiers ordinaires.

Dignitéle modèle de données relationnelle réside dans la simplicité, plus claire et la commodité de la mise en œuvre physique sur un ordinateur. C'est la simplicité que l'utilisateur était la principale raison de leur utilisation large. Les problèmes de l'efficacité du traitement de données de ce type ont été convertis techniquement satisfaisables.

La structure principale des données dans le modèle est la relation, c'est pourquoi le modèle a été nommé relationnel(de l'anglais relationattitude).

Attitude- Il s'agit d'un ensemble, représenté par un tableau bidimensionnel constitué de lignes et de colonnes de données. Des rangées de la table, dont la relation consiste, s'appelle cortays.

Relation de domaine - Beaucoup de valeurs possibles d'un certain attribut de la relation.

Mathématiquement, l'attitude peut être décrite comme suit. Soit N se définit D1, D2, D3, ... DN, puis le ratio r est beaucoup de tuples commandés où DKDK, DK - Attribut et DK - Relations de domaine R.

L'attitude a une interprétation graphique simple, elle peut être représentée comme une table (tableau 2.1), dont les colonnes correspondent à l'entrée de domaines par rapport à et des lignes - Set de n. Les valeurs extraites des domaines source sont situées dans un ordre strictement défini conformément au titre.

Tableau 2.1.

Un exemple de relation sous la forme d'une table (R)

Cette table présente un certain nombre de propriétés spécifiques:

1. Le tableau n'a pas deux lignes identiques.

2. La table a des colonnes correspondant aux attributs de la relation.

3. Chaque attribut par rapport à un nom unique.

4. Ordre des lignes dans la table arbitraire.

L'entrée du domaine est liée à l'appel attribut.Les rangées de la relation sont appelées constructions.

Le nombre d'attributs est appelé diplôme ou grade, relation.

Il convient de noter que, par rapport à ne peut pas être les mêmes tuples, il résulte du modèle mathématique: la relation est un sous-ensemble du travail décartienne et dans le cartésien tout ouvre tout n.-Tu es different. Conformément aux propriétés des relations, deux relations, ne diffèrent que par l'ordre des lignes ou de l'ordre des colonnes, seront interprétées dans le modèle de relation, c'est-à-dire le rapport R (voir tableau 2.1) et le ratio R1 montré Ci-dessous (tableau 2.2), la même chose avec le point de vue du modèle de données relationnelles.

Tableau 2.2.

Exemple d'une relation sous forme d'une table (ratio R1)

La discipline

Théorie automatique

Théorie automatique

Stepanov

Théorie automatique

Base de données

Base de données

Stepanov

Toute attitude est un modèle dynamique d'un certain objet réel du monde extérieur. Par conséquent, le concept d'une instance d'une relation est introduit, qui reflète l'état de cet objet à l'heure actuelle et le concept du régime de relations, qui détermine la structure de la relation. Schéma de relationsR s'appelle la liste des noms d'attribut de cette relation indiquant le domaine auquel ils racontent:

Si les attributs prennent des valeurs du même domaine, ils sont appelés t -Fravenimyoù T est un ensemble d'opérations de comparaison autorisées spécifiées pour ce domaine. Par exemple, si le domaine contient des données numériques, toutes les opérations de comparaison sont autorisées pour cela, puis

Comme mentionné précédemment, le modèle relationnel représente une base de données sous la forme d'une pluralité de relations interdépendantes. Contrairement aux modèles théoriques et graphiques dans le modèle relationnel de communication entre les relations est supporté de manière implicite. Dans le modèle relationnel, ainsi que dans le reste, les relations hiérarchiques sont soutenues entre les relations. À chaque connexion, une attitude peut agir en tant que principale, et l'autre attitude agit comme un subordonné. Cela signifie qu'un tuple de la relation principale peut être associé à plusieurs cortices d'une relation subordonnée. Pour prendre en charge ces connexions, les deux relations doivent contenir des ensembles d'attributs pour lesquels ils sont connectés. Fondamentalement, il s'agit de la principale clé de la relation (clé primaire), qui détermine sans ambiguïté la relation fondamentale. Un ensemble d'attributs doit être présent dans une attitude subordonnée à la communication modèle, ce qui correspond à la clé primaire de la relation principale. Cependant, ici, cet ensemble d'attributs est déjà une clé secondaire, c'est-à-dire qu'il définit de nombreux utilles de la relation subordonnée, associée à la seule relation de fond. Cet ensemble d'attributs d'attribut s'appelle une clé externe (clé étrangère).

Par exemple, examinez la situation lorsque vous devez décrire une carrière de certains individu. Chaque personne dans sa main-d'œuvre remplace plusieurs lieux de travail dans différentes organisations, où il travaille dans différentes positions. Ensuite, nous devons créer deux relations: une pour la modélisation de tous les travailleurs et l'autre pour la modélisation des enregistrements dans leurs livres d'emploi, s'il est important pour nous non seulement de suivre la transition d'un employé d'une organisation à une autre, mais aussi la transmettre sur l'escalier de service dans une organisation (Fig. 2.6).

Figure. 2.6. Communication entre relations de base et subordonnée

Employé de la relation clé principale - Attribut - Le passeport est une clé étrangère pour la relation "carrière".

Le modèle relationnel est basé sur l'attitude théorique de la relation. Dans les disciplines mathématiques, il y a un concept " attitude "(Relation), dont la représentation physique est tableau . D'ici et le nom du modèle est arrivé - relationnel .

En ce qui concerne la base de données, le concept de "base de données relationnelle" et "table BD" sont synonymes. Les bases relationnelles ont obtenu la plus grande répartition dans le monde. Presque tous les produits de base de données, créés depuis la fin des années 70, sont relationnels.

En 1970, des travaux sont apparus dans lesquels les possibilités d'application de divers modèles de données tabulaires ont été discutées. Le plus important d'entre eux était un article d'IBM Employee Dr. E. Codda (CODD EF, un modèle relationnel de données pour les grandes banques de données partagées (modèle de données relationnelle pour les grandes banques de données partagées). CACM 13: 6, juin 1970), où a été appliqué pour la première fois terme "Modèle de données relationnelle" . Le projet System R a été développé dans le laboratoire de recherche IBM. Ce projet a été conçu pour prouver la pratique du modèle relationnel. Les SGBD relationnels appartiennent à la SGBM deuxième génération.

Objectifs de créer un modèle de données relationnel:

1. Assurer un degré plus élevé d'indépendance des données.

2. Créer une base solide pour résoudre les problèmes de cohérence et de redondance des données.

3. Élargir les langages de gestion des données en incorporant plusieurs opérations.

Les systèmes commerciaux basés sur un modèle de données relationnel ont commencé à apparaître à la fin des années 70 - au début des années 80. Actuellement, il y a plusieurs centaines de types de DBMS relationnel.

Le modèle relationnel est une forme de représentation de données pratique et la plus familière sous la forme de les tables (rapports ). Tout a une attitude nom et se compose du nommé les attributs (colonnes) données. L'un des principaux avantages du modèle relationnel est son homogénéité. Toutes les données sont stockées dans des tables dans lesquelles chaque ligne a le même format. Chaque ligne du tableau représente un objet du monde réel ou du rapport entre les objets.

Les principaux concepts avec lesquels le modèle relationnel est déterminé sont les suivants:

- base de données relationnelle - un ensemble de relations normalisées;

- attitude - Fichier, table plate composée de colonnes et de lignes; une table dans laquelle chaque champ est atomique;

- domaine- un ensemble de valeurs admissibles à partir de laquelle la valeur de l'attribut correspondant d'une relation donnée est prise. En termes de programmation, domaine - Ceci est un type de données;

- universome- un ensemble de valeurs de tous les champs ou une totalité de domaines;


- rechercher- record, rangée de table;

- cardinalité -nombre de lignes dans la table;

- les attributs - Polonais rénovés, colonnes de table;

- degré de relation - nombre de champs (colonnes);

- schéma de relations- une liste ordonnée de noms d'attribut;

- schéma de base de données relationnelle- un ensemble de schémas de relation;

- clé primaire- un identifiant unique avec des enregistrements de non-raffinage - une colonne ou un sous-ensemble de colonnes qui définissent des cordes.

La clé principale qui comprend plus d'une colonne est appelée plusieurs , ou alors combiné , ou alors composé , ou alors surveillance .

La règle d'intégrité des objets Il prétend que la clé primaire ne peut pas être complètement ou partiellement vide.

Le rapport de ces concepts est illustré à la Fig. 4.5.

Nom et prénom An. Positionner département
1. Ivanov I. I. Diriger café. 22
2. Sidorov S. S. Prof. 22
3. Andreeva G. G. Prof. 22
4. Tsvetkov S. S. Maître assistant
5. Kozlov K. K. Maître assistant 22
6. Petrov P. P. De l'art. préparation. 22
Les attributs

figure. 4.5. Les concepts de base du modèle de données relationnelles.

Parfois, différentes colonnes peuvent être sélectionnées comme clé primaire dans la table. La clé sélectionnée est la clé explicitement énumérée avec le schéma relationnel. Sinon, ils disent une clé implicite ou une clé possible ou un candidat clé.

- externe clé - Il s'agit d'une colonne ou d'un sous-ensemble des colonnes d'une table, qui peut servir de clé primaire pour une autre table. La clé externe du tableau est une référence à la clé primaire d'une autre table. Étant donné que le but de la construction de la base de données est de stocker toutes les données, si possible, dans une seule instance, alors si un certain attribut est présent de plusieurs manières, sa présence reflète généralement une certaine relation entre les rangées de ces relations.

Les touches externes implémentent des liens entre les tables de base de données.

La clé externe, ainsi que la clé primaire, peut être une combinaison de colonnes. En pratique, la clé externe sera toujours composite s'il s'agit de la clé primaire composite d'une autre table. Le nombre de colonnes et leurs types de données dans les clés primaire et externe doivent coïncider.

Si la table est associée à plusieurs autres tables, il peut avoir plusieurs clés externes.

Chaque table rationnelle Il a ce qui suit propriétés:

A un nom qui diffère des noms de toutes les autres tables;

Les données des cellules cellulaires doivent être structurellement indivisibles. Il est inacceptable que le tableau contienne plus d'une partie des informations. Par exemple, le nombre et la série de passeports doivent être situés dans différentes colonnes de la table;

Toutes les colonnes de la table sont homogènes, c'est-à-dire Tous les éléments de la colonne ont le même type (numérique, symbole, etc.) et de la longueur;

Chaque colonne a un nom unique;

Les mêmes lignes de la table sont manquantes;

L'ordre des rangées et des colonnes peut être arbitraire, peu importe leur réorganisation de l'attitude restera la même, et c'est pourquoi c'est la même signification.

Modèle de donnéesen général, décrit un ensemble de signes de base que tous les DBMS et BD contrôlés spécifiques sur ce modèle doivent avoir.

Éléments de modèle relationnel

Modèle relationneldata (RMD) Certains sujets sont un ensemble de relations variant dans le temps. Lors de la création d'un système d'information, l'ensemble des relations vous permet de stocker des données sur des objets du sujet et de simuler des liens entre eux. Les éléments de la RMD et la forme de leur présentation sont présentés dans le tableau. 19.1.

Tableau 19.1.

Éléments de modèle relationnel

Le plus important est le concept rapports, qui est une table bidimensionnelle contenant certaines données.

Essence il y a un objet de nature, les données sur lesquelles sont stockées dans la base de données. Les données d'entité sont stockées en relation.

Les attributs représenter des propriétés caractérisant l'essence.

Mathématiquement, l'attitude peut être décrite comme suit. Soit N n Se définit D1, D2, D3, ... DN, puis le rapport R est beaucoup commandé tuple ,Où dk.DK, A D1, D2, D3, ... DN - Domaines r

En figue. 19.2 montre un exemple de relation d'un employé.

L'ensemble de toutes les valeurs de chaque attribut de la relation forme un domaine. L'attitude de l'employé comprend 4 domaines. Domaine 1.contient les noms de tous les employés, domaine 2 -chambres de tous les départements de l'entreprise domaine 3 -nom de tous les messages domaine 4 -dates de la naissance de tous les employés. Chaque domaine forme les valeurs du même type, par exemple numériques ou symboliques.

L'attitude de l'employé contient 3 constructions. Le tuple de la relation considérée est composé de 4 éléments, dont chacun est choisi dans le domaine correspondant. Chaque étagère correspond à la rangée de table.

Schéma de relations c'est une liste de noms d'attribut. Par exemple, pour l'exemple ci-dessus, le schéma de la relation a une forme d'employé (nom complet, service, position, d_nost).

Figure. 19.2. Représentation de l'employé

La relation clé ou alors clé primaire l'attribut de la relation est appelé, identifie sans ambiguïté chacun de ses tuples. Par exemple, par rapport à un employé (nom complet, division, position, d_nost) clé est le nom complet de l'attribut. Clépeut être composite ceux. Considérez plusieurs attributs.

Il y a aussi un concept clé externe. Avec l'aide de clés externes, des connexions sont établies entre les relations. Par exemple, il y a deux relations d'élève (nom complet. Groupe, spécialité) et sujet (nom. Pr. Horloge), qui sont associés à une relation d'étudiant (nom complet. Nov. Évaluation) (Fig. 19.3). Dans les attributs d'attributs, les attributs du nom et du nom. PR former une clé composite. Ces attributs sont clés externes Être des clés primaires d'autres relations.

Figure. 19.3. Relation relationnelle

Le modèle relationnel impose une restriction sur les touches externes pour assurer l'intégrité des données appelées intégrité de référence.Cela signifie que chaque valeur de la clé externe doit correspondre à la ligne de la relation associée.

Le plus souvent, la table avec attitude est placée dans un fichier séparé. Dans certains SGBD, par exemple, Microsoft Access,dans une éminence, il s'agit d'une base de données complète.

Restrictions et opérations sur les relations

Nous présentons les conditions et les limites imposées à la relation, dont l'exécution permet de considérer la table à considérer une relation.

    Toutes les lignes de table doivent être uniques, c'est-à-dire Il ne peut y avoir de rangées avec les mêmes clés primaires.

    La table ne doit pas avoir de colonnes avec des noms répétés.

    Toutes les lignes d'une table doivent avoir une structure correspondant aux noms et aux types de colonnes.

    Les noms de colonne de table doivent être différents et leurs valeurs sont simples, c'est-à-dire Groupe de valeurs non valides dans une colonne d'une ligne.

    La procédure de placement des rangées dans la table peut être arbitraire.

La relation peut être appliquée à la relation d'opérations qui vous permet de recevoir des relations des autres. Par exemple, le résultat d'une demande à la base de données relationnelle peut être un ratio pertinent calculé sur la base de la relation stockée dans la base de données. De là, il semble diviser les données traitées sur les pièces stockées et calculées.

L'unité principale du traitement des données dans la base de données relationnelle est la relation et non séparément ses cortices (enregistrements), comme cela est habituel dans les langages de programmation traditionnels.

Les opérations effectuées sur les relations peuvent être divisées en deux groupes.

Le premier groupe effectue des opérations sur les ensembles auxquels les opérations comprennent: une association, une intersection, des différences, une division et des œuvres décartiales.

Le deuxième groupe consiste en des opérations spéciales sur les relations auxquelles les opérations comprennent: des projections, des composés, une sélection.

Dans divers SGBD, certaines de ces opérations sont mises en œuvre, qui est déterminée dans une certaine mesure la possibilité de ce SGBD et de la complexité de la mise en œuvre des demandes de la base de données.

Dans des bases de données relationnelles, deux groupes de langues sont utilisés pour effectuer des opérations sur les relations, ayant comme mathématique. basics algèbre relationnelleet calcul relationnelrespectivement.

Dans l'algèbre relationnelle de l'opérande et les résultats de toutes les actions sont des relations. Les langues de l'algèbre relationnelle sont de procédureÉtant donné que le ratio résulte d'une demande à une base de données relationnelle est calculé lorsque la séquence d'opérations sur les relations stockées en elle est effectuée. Fondamentalement, les langues de la DBMS sont de la procédure.

Les langues linguistiques relationnelles sont non-preuve.La demande à la base de données, faite à l'aide d'un langage similaire, ne contient que des informations sur le résultat souhaité. Pour ces langues, la présence d'ensembles de règles pour les demandes d'enregistrement. En particulier, SQL fait référence aux langues de ce groupe.

Entre algèbre relationnelle et calcul relationnel, il existe une connexion avec l'aide de la soi-disant procédures de réduction,qui réduit toute expression de calcul relationnel à l'ensemble des opérations standard d'algèbre relationnelle et inversement.

Bases de données s'ils sont basés sur ce modèle. La présence d'un modèle de données vous permet de comparer des implémentations spécifiques en utilisant une langue commune.

Bien que le concept du modèle de données soit général et qu'il soit possible de parler de modèles hiérarchiques, de réseau, de sémantique et d'autres modèles de données, il convient de noter que dans la zone de la base de données, ce concept a été introduit par Edgar Coddo en relation avec des systèmes relationnels et est utilisé le plus efficacement dans ce contexte. Tentatives d'utilisation rectiligne de modèles similaires aux organisations duulants montrent que modèle relationnel Trop "super", et pour les organisations de tir, il s'avère "petit".

caractéristiques générales

Bien que le concept modèle de données relationnelle Le premier introduit le fondateur approche relationnelle Edgar Dodd, interprétation la plus courante modèle de données relationnelleApparemment, appartient à un vulgarisateur bien connu des idées de la Codda cristofour, qui la reproduit (avec diverses clarifications) dans presque tous ses livres (voir, par exemple, K. Date. Introduction au système de base de données. 6ème éd., M.; Saint-Pétersbourg: Williams.- 2000). Selon l'interprétation de la date, modèle relationnel se compose de trois parties décrivant différents aspects approche relationnelle: partie structurelle, partie de manipulation et partie holistique.

Dans la partie structurelle du modèle, il est fixé que la seule structure générique 7 Pour la deuxième fois dans cette conférence, il est fait valoir que le rapport N normalisé N -AriC est la seule structure générique des données utilisées dans des bases de données relationnelles. Il est temps de clarifier ce que nous entendons par le terme structure générique. Dans les langages de programmation avec des types de types développés, il y a généralement des constructions appelées types génériques, types paramétrés, concepteurs de types, générateurs de types Etc., permettant de générer un type de données spécifique en fonction de la spécification abstraite (généralement prédéterminée). La particularité de tels types est que les opérations de base d'un type particulier sont déterminées au niveau de cette spécification abstraite. L'un des exemples les plus célèbres est type d'ensemblePar exemple, à Pascal. Lorsque modèle de données relationnelle Nous ne disons pas clairement que la relation est un type générique, mais essentiellement. Opérations d'algèbre relationnelle Défini au niveau de la relation abstraite et s'applique aux valeurs de relations avec des titres spécifiques. Les données utilisées dans la base de données relationnelle sont normalisées n-ratioaric. Les concepts de domaines, attributs, tuples, en-tête, corps et relation variable. En substance, dans les deux sections précédentes de cette conférence, nous avons considéré les concepts et les propriétés de la composante structurelle modèle relationnel.

Dans la manipulation du modèle, deux mécanismes fondamentaux de manipulation de la base de données relatinulantes sont déterminés - algèbre relationnelle et calcul relationnel. Le premier mécanisme repose principalement sur la théorie classique des ensembles (avec des clarifications et des ajouts) et la seconde est sur l'appareil logique classique du calcul des prédicats de premier ordre. Nous examinerons ces mécanismes plus en détail dans les conférences suivantes, mais nous notons uniquement que la fonction principale de la partie de manipulation modèle relationnel est d'assurer la relation de toute langue particulière des bases de données relationnelles: la langue est appelée relation relationnelle, si elle n'a pas moins d'expressive et de pouvoir que l'algèbre relationnelle ou calcul relationnel.

Intégrité de l'entité et des liens

Enfin, dans une partie holistique modèle de données relationnelle Deux exigences d'intégrité de base sont enregistrées qui doivent être appuyées dans tout SGBD relationnel. La première condition est appelée l'obligation d'intégrité de l'essence (intégrité de l'entité). L'objet ou l'essence du monde réel dans des bases de données relationnelles correspondent à la relation de la relation. Plus précisément, l'exigence est que tout lot de valeur est tout relation variable Doit être distingué de toute autre taverne valeurs de la relation Selon les valeurs composites d'un ensemble d'attributs prédéterminé relation variable, c'est-à-dire, en d'autres termes, tout relation variable doit avoir clé primaire. Comme nous l'avons vu dans la section précédente, cette exigence est automatiquement satisfaite si les propriétés de base de la relation ne sont pas violées.

En fait, l'exigence intégrité de l'essence Sonne parfaitement comme suit: relation variable doit exister la clé primaire et aucune importance clé primaire Dans les valeurs de la relation relation variable ne devrait pas contenir valeurs incertaines . De sorte que ce libellé est complètement compris, nous devons au moins discuter brièvement du concept signification incertaine (NUL).

Bien sûr, théoriquement, tout moteur, entré dans l'attitude persistante doit contenir toutes les caractéristiques de l'essence du monde réel que nous voulons enregistrer dans la base de données. Cependant, dans la pratique, toutes ces caractéristiques ne peuvent pas être connues au moment où il est nécessaire de résoudre l'essence de la base de données. Un exemple simple peut être une procédure de fabrication d'une personne dont les salaires ne sont pas encore définis. Dans ce cas, un employé du département du personnel, qui entre dans l'envoi pertinent, décrivant le nouvel employé, ne peut tout simplement pas fournir la valeur de l'attribut de l'interrupteur (aucune valeur du domaine taille_starts caractérise de manière incorrecte le salaire du nouvel employé) .

Edgar Codd a proposé d'utiliser dans de tels cas valeurs incertaines. Valeur incertaine Il n'appartient à aucun type de données et peut être présent parmi les valeurs de tout attribut défini sur tout type de données (s'il n'est clairement pas interdit lors de la détermination de l'attribut). Si A est une valeur d'un certain type de données ou de NULL, OP - toute opération de "arithmétique" bidimensionnelle de ce type de données (par exemple, +), et ÉLAGUER. - Utilisation de la comparaison des valeurs de ce type (par exemple, \u003d), puis par définition:

un op null \u003d null null op a \u003d null a lop null \u003d inconnu null lop a \u003d inconnu

Ici inconnu est la troisième valeur de logique, ou boolean, typeAvec les propriétés suivantes:

Non inconnu \u003d inconnu true et inconnu \u003d vrai faux et inconnu \u003d faux faux ou inconnu \u003d inconnu

(Rappelez-vous que des opérations et ou ou sont commutatives) 8 À mesure que l'expérience de l'auteur montre, pas toujours et tous les élèves ne se souviennent pas des opérations de base de la logique. Pour la garantie, nous donnons la table de vérité des opérations et (& conjonction), ou (- disjonction) et non (- déni):

Et. vrai. faux Ou alors. vrai. faux Pas. vrai. faux
vrai. vrai. faux vrai. vrai. vrai. faux vrai.
faux faux faux faux vrai. faux

. Dans cette conférence, nous avons assez de brève introduction à valeurs incertainesMais dans les conférences suivantes, nous reviendrons à plusieurs reprises sur ce sujet.

Donc, la première des exigences est l'exigence intégrité de l'essence - signifie que la clé primaire doit entièrement identifier chaque entité et donc dans la composition de toute valeur clé primaire Aucune présence n'est autorisée valeurs incertaines . (En classique modèle relationnel Cette exigence s'applique aux touches possibles; Comme on le montrera dans les conférences suivantes, dans le SGBD axé sur SQL si nécessaire pour clés possibles Non supporté.)

Deuxième exigence appelée intégrité référentielle (Intégrité référentielle), est plus complexe. Il est évident que, lorsqu'il est conforme à la normalisation des relations, les complexités du monde réel sont représentées dans la base de données relationnelle sous la forme de plusieurs utilles de plusieurs relations. Par exemple, imaginez ce qui est nécessaire pour soumettre base de données relationnelle L'essence du département des attributs est supprimée (numéro de département), PLA_RAD (nombre d'employés) et séparément (plusieurs employés du département). Pour chaque employé, il est nécessaire de stocker l'auditeur (numéro de service), le cas (nom de l'employé) et le commutateur (salaire de l'employé). Comme nous le verrons dans la conférence 7, avec la bonne conception de la base de données appropriée, il y aura deux relations: Départements (départ, département) (clé primaire - (de_number)) et Employés (SIDS, SIDMI, SIDS, PEID) (Clé primaire - (auditeur)).

Comme on peut le voir, l'attribut du serveur est inscrit aux employés concernés non pas parce que le numéro de département est sa propre propriété de l'employé, mais uniquement pour pouvoir restaurer l'entité complète du département si nécessaire. La valeur de l'attribut de l'audit_nown dans toutes les relations de produit doit être conforme à la valeur de l'attribut de_ dans certaines conditions des départements. L'attribut de ce type (peut-être composite) est appelé touche étrangère (clé étrangère)Parce que ses valeurs caractérisent sans ambiguïté les essences représentées par les constructions d'une autre relation (c'est-à-dire qu'ils spécifient les valeurs d'entre elles clé primaire). Bien entendu, la clé externe peut être composite, c'est-à-dire composé de plusieurs attributs. On dit que la relation dans laquelle la clé externe est définie fait référence à la relation correspondante dans laquelle le même attribut est clé primaire.

Demande intégrité de liaison, ou l'exigence de l'intégrité de la clé externe, est que pour chaque valeur de clé externe figurant dans la valeur du rapport de référence relation variableou en valeur relation variablequi indique le lien, il doit y avoir un tuple avec la même signification clé primaireou la valeur de la clé externe doit être complètement non définie (c'est-à-dire qu'elle n'indique rien) 9 Dans la langue SQL, plusieurs options permettant de déterminer la clé externe sont autorisées, dont seule une seule correspond à l'approche classique. Nous en discuterons plus en détail dans les conférences suivantes. . Pour notre exemple, cela signifie que si le numéro de service est spécifié, ce département doit exister.

Notez que, comme la clé primaire,