Modèles de bases de données. Systèmes de bases de données hiérarchiques. génération de fichiers exécutables

Envoyer votre bon travail dans la base de connaissances est simple. Utilisez le formulaire ci-dessous

Les étudiants, étudiants diplômés, jeunes scientifiques qui utilisent la base de connaissances dans leurs études et leur travail vous seront très reconnaissants.

Posté sur http://allbest.ru

Modèles de bases de données

Introduction

données du programme d'information

La vie moderne est impensable sans une gestion efficace. Une catégorie importante est celle des systèmes de traitement de l'information, dont dépend en grande partie l'efficacité de toute entreprise ou institution. Un tel système devrait :

assurer la réception des rapports généraux et/ou détaillés sur les résultats des travaux ;

vous permettent de déterminer facilement les tendances des indicateurs les plus importants ;

veiller à ce que les informations urgentes soient reçues sans retards significatifs ;

Effectuez une analyse de données précise et complète.

Les SGBD modernes sont principalement des applications Windows, car cet environnement permet une utilisation plus complète des capacités d'un ordinateur personnel qu'un environnement DOS. La baisse du coût des PC hautes performances n'a pas seulement conduit à une transition généralisée vers un environnement Windows dans lequel le développeur logiciel peut être moins préoccupé par l'allocation des ressources, mais a également rendu les logiciels PC en général et les SGBD en particulier moins critiques à l'égard des ressources matérielles informatiques.

Parmi les représentants les plus éminents des systèmes de gestion de bases de données figurent : Lotus Approach, Microsoft Access, Borland dBase, Borland Paradox, Microsoft Visual FoxPro, Microsoft Visual Basic, ainsi que les bases de données. Données Microsoft SQL Server et Oracle utilisés dans les applications client-serveur. En fait, tout SGBD moderne a un analogue, produit par une autre société, qui a une portée et des capacités similaires ; toute application est capable de travailler avec de nombreux formats de présentation de données, d'exporter et d'importer des données grâce à la présence d'un grand nombre de convertisseurs. Les technologies qui vous permettent d'utiliser les capacités d'autres applications sont également généralement acceptées, par exemple, traitement de texte, des packages de graphiques, etc., ainsi que des versions intégrées de langages de haut niveau (généralement des dialectes SQL et/ou VBA) et des outils de programmation visuelle pour les interfaces des applications développées. Par conséquent, peu importe dans quelle langue et sur quel package une application spécifique est écrite, ni quel format de données y est utilisé. Par ailleurs, le standard « de facto » est devenu le « développement rapide d'applications » ou RAD (de l'anglais Rapid Application Development), basé sur « l'approche ouverte » largement déclarée dans la littérature, c'est-à-dire la nécessité et la possibilité d'utiliser diverses programmes d'application et des technologies pour développer des des systèmes puissants traitement de l'information. Ainsi, à côté des SGBD « classiques », on évoque de plus en plus les langages de programmation Visual Basic 4.0 et Visual C++, qui permettent de créer rapidement les composants nécessaires d'applications critiques en termes de vitesse, difficiles et parfois impossibles. développer à l’aide de SGBD « classiques ». L'approche moderne de la gestion des bases de données implique également l'utilisation généralisée de la technologie client-serveur.

Ainsi, aujourd'hui, le développeur n'est lié par le cadre d'aucun package spécifique et, en fonction de la tâche à accomplir, il peut utiliser le plus différentes applications. Par conséquent, l’orientation générale du développement des SGBD et d’autres outils de développement d’applications semble actuellement plus importante.

1.Bases de données

Dispositions générales

Le but de tout système d’information est de traiter des données sur des objets du monde réel. Au sens large du terme, une base de données est une collection d'informations sur des objets spécifiques du monde réel dans n'importe quel Domaine. Un domaine est généralement compris comme une partie du monde réel qui fait l'objet d'études pour organiser la gestion et finalement l'automatisation, par exemple une entreprise, une université, etc.

Lors de la création d'une base de données, l'utilisateur s'efforce d'organiser les informations selon diverses caractéristiques et de récupérer rapidement un échantillon avec une combinaison arbitraire de caractéristiques. Cela ne peut être fait que si les données sont structurées.

La structuration est l'introduction de conventions sur la manière dont les données doivent être présentées.

Les données non structurées sont des données enregistrées, par exemple, dans un fichier texte.

Les utilisateurs de la base de données peuvent être divers programmes d'application, systèmes logiciels, ainsi que des experts en la matière qui agissent en tant que consommateurs ou sources de données, appelés utilisateurs finaux.

Dans la technologie moderne des bases de données, on suppose que la création d'une base de données, sa prise en charge et la fourniture de l'accès des utilisateurs à celle-ci sont effectuées de manière centralisée à l'aide d'outils logiciels spéciaux - un système de gestion de base de données.

Une base de données (DB) est une collection nommée de données structurées liées à un domaine spécifique.

Un système de gestion de bases de données (SGBD) est un ensemble de logiciels et d'outils linguistiques nécessaires pour créer des bases de données, les maintenir à jour et organiser la recherche des informations nécessaires dans celles-ci.

Le caractère centralisé de la gestion des données dans la base de données nécessite l'existence d'une certaine personne (groupe de personnes) à qui sont confiées les fonctions d'administration des données stockées dans la base de données.

Classement de la base de données

Basées sur la technologie de traitement des données, les bases de données sont divisées en bases de données centralisées et distribuées. données.

Une base de données centralisée est stockée dans la mémoire d'un système informatique. Si ce système informatique fait partie d'un réseau informatique, un accès distribué à une telle base de données est possible. Cette méthode d'utilisation des bases de données est souvent utilisée sur les réseaux PC locaux.

Une base de données distribuée se compose de plusieurs parties, éventuellement superposées ou même dupliquées, stockées sur différents ordinateurs d'un réseau informatique. Le travail avec une telle base de données est effectué à l'aide d'un système de gestion de base de données distribué (SGBDR).

Selon la méthode d'accès aux données, les bases de données sont divisées en bases de données avec accès local et bases de données avec accès (réseau) à distance.

Systèmes de bases de données centralisés avec l'accès au réseau assumer différentes architectures les structures de ces systèmes ;

* serveur de fichiers;

* serveur client.

Serveur de fichiers. L'architecture des systèmes de bases de données avec accès réseau implique l'attribution d'une des machines du réseau en tant que machine centrale (serveur de fichiers). Une base de données centralisée partagée est stockée sur une telle machine. Toutes les autres machines du réseau remplissent les fonctions de postes de travail prenant en charge l'accès système utilisateur vers une base de données centralisée. Les fichiers de la base de données, conformément aux demandes des utilisateurs, sont transférés vers les postes de travail, où s'effectue la majeure partie du traitement. Avec une forte intensité d’accès aux mêmes données, les performances du système d’information diminuent. Les utilisateurs peuvent également créer des bases de données locales sur les postes de travail qu'ils utilisent exclusivement.

Serveur client. Ce concept implique qu'en plus de stocker une base de données centralisée, une machine centrale (serveur de base de données) doit gérer l'essentiel du traitement des données. Une demande de données émise par un client (poste de travail) déclenche une recherche et une récupération de données sur le serveur. Les données récupérées (mais pas les fichiers) sont transportées sur le réseau du serveur vers le client. Une particularité de l'architecture client-serveur est l'utilisation du langage de requête SOL.

Éléments structurels de la base de données

Le concept de base de données est étroitement lié à des concepts d'éléments structurels tels que champ, enregistrement, fichier (table).

Un champ est une unité élémentaire d'organisation logique des données, qui correspond à une unité d'information indivisible - un détail. Les caractéristiques suivantes sont utilisées pour décrire le domaine :

nom, par exemple. Nom, prénom, patronyme, date de naissance ;

tapez, par exemple, un caractère, un chiffre, un calendrier ;

longueur, par exemple, 15 octets, et sera déterminée par le nombre maximum possible de caractères ;

précision pour les données numériques, telles que deux décimales pour afficher la partie fractionnaire d'un nombre.

Un enregistrement est une collection de champs logiquement liés. Une instance d'enregistrement est une implémentation distincte d'un enregistrement contenant des valeurs spécifiques pour ses champs.

Un fichier (table) est une collection d’instances d’enregistrements de même structure.

La structure d'un enregistrement de fichier spécifie des champs dont les valeurs sont des clés primaires (PC), qui identifient une instance d'un enregistrement, et des clés secondaires (VC), qui servent de caractéristiques de recherche ou de regroupement (plusieurs enregistrements peuvent être trouvés par la valeur de la clé secondaire).

2.Types de modèles de données
Dispositions générales

Le cœur de toute base de données est le modèle de données. Un modèle de données est un ensemble de structures de données, de contraintes d'intégrité et d'opérations de manipulation de données. À l'aide d'un modèle de données, les objets de domaine et les relations entre eux peuvent être représentés.

Un modèle de données est un ensemble de structures de données et d'opérations de traitement.

Un SGBD est basé sur l'utilisation d'un modèle hiérarchique, réseau ou relationnel, une combinaison de ces modèles, ou un sous-ensemble d'entre eux [I].

Examinons trois principaux types de modèles de données : hiérarchique, réseau et relationnel.

Modèle de données hiérarchique

Une structure hiérarchique représente un ensemble d'éléments interconnectés par définition ces règles. Les objets reliés par des relations hiérarchiques forment un graphe orienté (arbre inversé).

Les concepts de base d'une structure hiérarchique comprennent : le niveau, l'élément (nœud), la connexion. Un nœud est une collection d'attributs de données qui décrivent un objet. Dans un arbre hiérarchique, les nœuds sont représentés sous forme de sommets dans le graphique. Chaque nœud d'un niveau inférieur est connecté à un seul nœud d'un niveau supérieur. Un arbre hiérarchique n'a qu'un seul sommet (la racine de l'arbre), qui n'est subordonné à aucun autre sommet et est situé au niveau supérieur (premier). Les nœuds dépendants (esclaves) sont situés au deuxième, au troisième, etc. les niveaux. Le nombre d'arbres dans la base de données est déterminé par le nombre d'enregistrements racines.

Chaque enregistrement de base de données n'a qu'un seul chemin (hiérarchique) à partir de l'enregistrement racine.

Modèle de données réseau

Dans une structure de réseau, avec les mêmes concepts de base (niveau, nœud, connexion), chaque élément peut être connecté à n'importe quel autre élément.

Modèle de données relationnel

La notion de relationnel relation - relation) est associée aux développements du célèbre spécialiste américain dans le domaine des systèmes de bases de données E. Codd.

Ces modèles se caractérisent par la simplicité de la structure des données, une représentation tabulaire conviviale et la capacité d'utiliser l'appareil formel de l'algèbre relationnelle et du calcul relationnel pour le traitement des données.

Le modèle relationnel se concentre sur l'organisation des données sous forme de tableaux bidimensionnels. Chaque table relationnelle est tableau bidimensionnel et possède les propriétés suivantes :

· chaque élément de tableau est un élément de données ;

· toutes les colonnes du tableau sont homogènes, c'est-à-dire tous les éléments d'une colonne ont le même type (numérique, caractère, etc.) et la même longueur ;

Chaque colonne a un nom unique ;

· il n'y a pas de lignes identiques dans le tableau ;

· l'ordre des lignes et des colonnes peut être arbitraire.

Les relations sont présentées sous forme de tableaux dont les lignes correspondent à des tuples ou des enregistrements, et les colonnes correspondent à des attributs de relation, des domaines et des champs.

Un champ dont chaque valeur identifie de manière unique l'enregistrement correspondant est appelé avec une simple clé(champ clé). Si les enregistrements sont identifiés de manière unique par les valeurs de plusieurs champs, alors une telle table de base de données possède une clé composite.

Pour lier deux tables relationnelles, vous devez inclure la clé de la première table dans la clé de la deuxième table (les clés peuvent coïncider) ; V sinon doit être entré dans la structure du premier tableau clé externe-- clé de la deuxième table.

3.Par concept d'objet d'information

Un objet d'information est une description d'une entité (objet réel, phénomène, processus sa, événements) sous la forme d'un ensemble de détails logiquement liés (éléments d'information). T UN Quelles entités pour les objets d'information peuvent être : atelier, entrepôt, matériel, université, étudiant, réussite aux examens, etc.

Un objet d'information d'une certaine composition et structure requises forme une classe (type), à ​​laquelle est attribué un nom unique (désignation symbolique), par exemple, Étudiant, Session, St. ipendia.

Un objet d'information a de nombreuses implémentations : des instances, dont chacune est représentée par un ensemble de valeurs d'attribut spécifiques et est identifiée par une valeur clé (simple : un attribut ou composite : plusieurs attributs). Les détails restants de l'objet d'information sont descriptifs. Dans le même temps, les mêmes détails dans certains objets d'information peuvent être essentiels et dans d'autres, descriptifs. Un objet d'information peut avoir plusieurs clés.

4.Le concept de normalisation des relations

Les mêmes données peuvent être regroupées dans des tableaux (relations) de différentes manières, par ex. il est possible d'organiser divers ensembles de relations d'objets d'information interconnectés. Le regroupement des attributs dans des relations doit être rationnel, c'est-à-dire minimiser la duplication des données et simplifier la procédure de traitement et de mise à jour.

Un certain ensemble de relations a de meilleures propriétés d'inclusion, de modification et de suppression de données que tous les autres ensembles de relations possibles s'il répond aux exigences de normalisation des relations.

La normalisation des relations est un appareil formel de restrictions sur la formation de relations (tables), qui élimine la duplication, assure la cohérence de celles stockées dans la base de données et réduit les coûts de main-d'œuvre pour la maintenance (saisie, ajustement) de la base de données.

Trois formes normales de relations sont identifiées et un mécanisme est proposé qui permet de convertir toute relation vers la troisième forme normale (la plus parfaite).

Première forme normale

Une relation est dite normalisée ou réduite à la première forme normale si tous ses attributs sont simples (ci-après indivisibles). La conversion d'une relation en première forme normale peut entraîner une augmentation du nombre d'attributs (champs) de la relation et un changement de clé.

Par exemple, la relation Etudiant = (Numéro, Nom, Prénom, Patronyme, Date, Groupe) est exprimée sous la première forme normale.

Deuxième forme normale

Pour considérer la question de la réduction des relations à la seconde forme normale, il faut donner n explications de concepts tels que la dépendance fonctionnelle et la dépendance fonctionnelle complète.

Les détails descriptifs d'un objet d'information sont logiquement liés à une clé commune ; cette connexion est de la nature d'une dépendance fonctionnelle des détails.

La dépendance fonctionnelle des détails est une dépendance dans laquelle une instance d'un objet d'information correspond à une certaine valeur d'un attribut clé avec une seule valeur d'un attribut descriptif.

Cette définition de la dépendance fonctionnelle permet d'identifier des objets d'information indépendants en analysant toutes les relations entre les détails du domaine.

Dans le cas d'une clé composite, la notion de dépendance fonctionnelle complète est introduite.

La dépendance fonctionnellement complète des attributs non clés signifie que chaque attribut non clé est fonctionnellement dépendant de la clé, mais ne dépend fonctionnellement d'aucune partie de la clé composite.

Une relation sera sous la deuxième forme normale si elle est sous la première forme normale et si chaque attribut non-clé dépend fonctionnellement entièrement de la clé composite.

Troisième forme normale

Le concept de troisième forme normale est basé sur le concept de dépendance intransitive.

Une dépendance transitive se produit lorsque l'un des deux attributs descriptifs dépend d'une clé et que l'autre attribut descriptif dépend du premier attribut descriptif.

Une relation sera en troisième forme normale si elle est en deuxième forme normale forme finale, et chaque attribut non-clé dépend de manière intransitive de la clé primaire.

Pour éliminer la dépendance transitive des détails descriptifs, il est nécessaire de « diviser » l'objet d'information d'origine. À la suite du fractionnement, certains détails sont supprimés de l'objet d'information d'origine et inclus dans d'autres objets d'information (éventuellement nouvellement créés).

TYPES DE CONNEXIONS

Tous les objets d'information du domaine sont interconnectés. Les connexions sont différentes Il existe plusieurs types pour lesquels les désignations suivantes ont été introduites :

un à un (1:1) ;

un à plusieurs (1 : M) ;

plusieurs à plusieurs (M : M).

Une relation un-à-un (1:1) suppose qu'à un instant donné, une instance de l'objet d'information A ne correspond pas à plus d'une instance de l'objet d'information B et vice versa.

Dans une relation un-à-plusieurs (1:M), une instance de l'objet d'information A correspond à 0, 1 ou plusieurs instances de l'objet B, mais chaque instance de l'objet B n'est associée qu'à 1 instance de l'objet A. Graphiquement, cette correspondance ressemble à

Une relation plusieurs-à-plusieurs (M:M) suppose qu'à un instant donné, une instance de l'objet d'information A correspond à 0, 1 ou plusieurs instances de l'objet B et vice versa.

Architecture du SGBD

Les bases de données et les logiciels pour leur création et leur maintenance (SGBD) ont une architecture multi-niveaux.

Il existe des niveaux conceptuels, internes et externes de représentation des données des bases de données, qui correspondent à des modèles ayant un objectif similaire,

Le niveau conceptuel correspond à l'aspect logique de présentation des données du domaine sous une forme intégrée. Le modèle conceptuel se compose de nombreuses instances de différents types de données, structurées conformément aux exigences du SGBD pour la structure logique de la base de données.

La couche interne représente l'organisation requise des données dans l'environnement de stockage et correspond à l'aspect physique de la présentation des données. Le modèle interne se compose d'instances d'enregistrement individuelles physiquement stockées sur des supports externes.

La couche externe prend en charge les vues privées des données requises par des utilisateurs spécifiques. Le modèle externe est un sous-ensemble du modèle conceptuel. Il est possible de croiser des modèles externes basés sur des données. La structure de données logique privée pour une application (tâche) ou un utilisateur particulier correspond à un modèle ou sous-schéma de base de données externe. A l'aide de modèles externes, l'accès autorisé aux données de la base de données de l'application est pris en charge (la composition et la structure des données du modèle conceptuel de base de données disponible dans l'application sont limitées, et les modes acceptables de traitement de ces données sont précisés : saisie, édition, suppression, recherche).

L'émergence de nouveaux besoins ou de changements dans les besoins d'information des applications existantes nécessitent la définition de modèles externes corrects pour celles-ci, alors qu'aucun changement ne se produit au niveau du modèle de données conceptuel et interne. Les changements dans le modèle conceptuel, provoqués par l'émergence de nouveaux types de données ou des changements dans les structures, peuvent ne pas affecter toutes les applications, c'est-à-dire une certaine indépendance des programmes par rapport aux données est assurée. Les changements dans le modèle conceptuel doivent être reflétés dans le modèle interne, et si le modèle conceptuel reste inchangé, il est possible de modifier indépendamment le modèle de base de données interne afin d'améliorer ses caractéristiques (temps d'accès aux données, consommation de mémoire des appareils externes, etc. ). Ainsi, la base de données met en œuvre le principe d'indépendance relative de l'organisation logique et physique des données.

Le concept d'un modèle informationnel-logique

La conception de bases de données consiste à construire un ensemble de modèles de données interconnectés.

L'étape la plus importante de la conception d'une base de données est le développement d'un modèle infologique (logique de l'information) du domaine qui n'est pas orienté vers un SGBD. Dans le modèle d'information, la composition et la structure des données, ainsi que les besoins en informations de l'application (tâches et requêtes), sont reflétés sous une forme intégrée au moyen de structures de données.

Le modèle informationnel (mythologique) du domaine reflète le domaine sous la forme d'un ensemble d'objets d'information et de leurs connexions structurelles.

Le modèle d'information du domaine est construit en premier. Un modèle d'information préliminaire est construit au stade de l'avant-projet puis affiné aux étapes ultérieures du projet. création de base de données. Ensuite, sur cette base, des modèles conceptuels (logiques), internes (physiques) et externes sont construits.

5. Fonctionnalité du SGBD

Présentation du SGBD

Un système de gestion de base de données est un système logiciel conçu pour créer une base de données générale sur un ordinateur utilisée pour résoudre de nombreux problèmes. De tels systèmes servent à maintenir la base de données à jour et à garantir un accès effectif des utilisateurs aux données qu'elle contient dans les limites des droits accordés aux utilisateurs.

Le SGBD est conçu pour la gestion centralisée des bases de données au profit de toutes les personnes travaillant dans ce système.

Selon le degré d'universalité, on distingue deux classes de SGBD :

systèmes usage général;

systèmes spécialisés.

Les SGBD à usage général ne se concentrent sur aucun domaine ni sur les besoins d’information d’un groupe d’utilisateurs. Chaque système de ce type est mis en œuvre en tant que produit logiciel capable de fonctionner sur un certain modèle d'ordinateur dans un système d'exploitation spécifique et est fourni à de nombreux utilisateurs en tant que produit commercial. De tels SGBD ont les moyens de les configurer pour fonctionner avec une base de données spécifique. L'utilisation d'un SGBD à usage général comme outil de création de systèmes d'information automatisés basés sur la technologie des bases de données peut réduire considérablement le temps de développement et économiser les ressources en main-d'œuvre. Ces SGBD ont développé des fonctionnalités et même une certaine redondance fonctionnelle.

Des SGBD spécialisés sont créés dans de rares cas où il est impossible ou inapproprié d'utiliser un SGBD à usage général.

Les SGBD à usage général sont des systèmes logiciels complexes conçus pour exécuter l'ensemble des fonctions associées à la création et à l'exploitation d'une base de données de système d'information.

Le marché des logiciels PC a un grand nombre des systèmes commerciaux de gestion de bases de données à usage général, diversifiés dans leurs fonctionnalités, ainsi que leurs outils d'environnement pour presque tous les modèles de machines produits en série et pour divers systèmes d'exploitation.

Les SGBD actuellement utilisés disposent de fonctionnalités garantissant l'intégrité des données et une sécurité robuste, permettant aux développeurs d'assurer une plus grande sécurité des données avec moins d'efforts de programmation de bas niveau. Produits opérant dans Environnement WINDOWS, se compare avantageusement à la commodité interface utilisateur et des outils de productivité intégrés.

Considérons les principales caractéristiques de certains SGBD - leaders sur le marché des programmes destinés aussi bien aux développeurs de systèmes d'information qu'aux utilisateurs finaux,

Le groupe de produits logiciels considéré comprend :

dBASE IV 2.0, Borland International ;

MicrosoftAccès 2.0 ;

Microsoft FoxPro 2.6 pour DOS ;

Microsoft FoxPro 2.6 pour Windows, Microsoft Corp. ;

Paradoxe pour DOS 4.5 ;

Paradox pour Windows, version 4.5 par Borland.

Performances du SGBD

Les performances du SGBD sont évaluées :

délai d'exécution de la demande ;

rapidité de recherche d'informations dans les champs non indexés ;

temps d'exécution des opérations d'importation de bases de données à partir d'autres formats ;

vitesse de création d'index et d'exécution d'opérations de masse telles que la mise à jour, l'insertion, la suppression de données ;

le nombre maximum d'accès parallèles aux données en mode multi-utilisateurs ;

temps de génération du rapport.

Les performances d'un SGBD sont influencées par deux facteurs :

Les SGBD qui surveillent l’intégrité des données supportent une charge supplémentaire que les autres programmes ne subissent pas ;

Les performances des programmes d'application natifs dépendent fortement de la conception et de la construction appropriées de la base de données.

Les produits logiciels les plus rapides n'ont pas les fonctionnalités les plus avancées au niveau du processeur SGBD.

Le SGBD le plus rapide est FoxPro 2.6, mais il ne possède pas les capacités d'intégrité des données du SGBD Access 2.0, plus lent.

Assurer l’intégrité des données au niveau de la base de données

Cette caractéristique implique la présence de moyens permettant de garantir que les informations contenues dans la base de données restent à tout moment exactes et complètes. Des règles d'intégrité doivent être établies et celles-ci doivent être stockées avec la base de données et appliquées à l'échelle mondiale. L'intégrité des données doit être assurée quelle que soit la manière dont les données sont entrées en mémoire (int. en mode actif, par importation ou à l'aide d'un programme spécial).

Les moyens permettant de garantir l'intégrité des données au niveau du SGBD comprennent :

* des outils intégrés pour attribuer une clé primaire, y compris des outils pour travailler avec des types de champs avec incrémentation automatique, lorsque le SGBD attribue indépendamment une nouvelle valeur unique ;

* des moyens de maintien de l'intégrité référentielle, qui permettent d'enregistrer des informations sur les relations entre les tables et d'arrêter automatiquement toute opération conduisant à une violation de l'intégrité référentielle.

Certains SGBD disposent d'un processeur SGBD bien conçu pour implémenter des fonctionnalités telles que l'unicité des clés primaires, la restriction (prévention) des opérations et même des mises à jour et des suppressions d'informations en cascade. Dans de tels systèmes, un contrôle de validité affecté à un champ ou à une table sera toujours effectué après une modification des données, et pas seulement lors de la saisie d'informations à l'aide d'un masque. Cette propriété peut être configurée pour chaque champ et pour l'enregistrement dans son ensemble, ce qui permet de contrôler non seulement les valeurs des champs individuels, mais également les relations entre plusieurs champs d'un enregistrement donné.

Access et Paradox pour Windows se rapprochent beaucoup plus que les autres SGBD du modèle relationnel en termes de fiabilité du maintien de l'intégrité des données au niveau de la base de données ; les règles sont stockées avec la base de données et sont automatiquement appliquées.

Les SGBD dBASE IV et FoxPro 2.6 (DOS et WINDOWS) ne disposent pas du tout de ce type d'outils, et la saisie dans le programme des procédures garantissant le respect des règles d'intégrité relève de la responsabilité du programmeur.

Sécurité

Certains SGBD offrent des fonctionnalités de sécurité des données. De tels outils assurent les opérations suivantes :

* cryptage des programmes d'application ;

* cryptage des données ;

* mot de passe de protection;

* restriction du niveau d'accès (à la base de données, à la table, au dictionnaire, pour l'utilisateur).

Le plus haut niveau de sécurité des données est implémenté dans le SGBD dBASE IV. L'administrateur peut attribuer divers droits d'accès au système au niveau des fichiers et des champs, et également organiser le cryptage automatique des données.

Access 2.0 possède de bonnes fonctionnalités de sécurité. Cela implique l'attribution de mots de passe à des utilisateurs individuels ou à des groupes d'utilisateurs et l'attribution de différents droits d'accès à des tables individuelles, des requêtes, des rapports, des macros ou de nouveaux objets au niveau de l'utilisateur ou du groupe.

Travailler dans des environnements multi-utilisateurs

Presque tous les SGBD évoqués sont conçus pour fonctionner dans des environnements multi-utilisateurs, mais ont des capacités différentes pour cela.

Le traitement des données dans des environnements multi-utilisateurs implique que le produit logiciel remplisse les fonctions suivantes :

* verrouiller une base de données, un fichier, un enregistrement, un champ ;

* identification de la station qui a déclenché le blocage ;

* mise à jour des informations après modification ;

* contrôle du temps et répétition des appels ;

* le traitement des transactions (une transaction est une séquence d'opérations utilisateur sur une base de données qui préserve son intégrité logique) ;

* Travailler avec des systèmes réseau (LAN Manager, NetWare, Unix).

Le SGBD Paradox pour DOS 4.5, Access 2.0 et dBASE IV offrent les meilleures capacités pour travailler dans des environnements multi-utilisateurs.

Importer / Exporter

Cette caractéristique reflète :

* la capacité de traiter les informations du SGBD préparées par d'autres logiciels ;

* la possibilité pour d'autres programmes d'utiliser les données générées au moyen du SGBD en question.

Les formats de fichiers suivants sont particulièrement intéressants : fichiers ASCII, .DBF,WK*, .XLS.

Tous les SGBD discutés ici ont bonnes opportunités import-export de données.

Accéder aux données via Langage SQL

Langue Requêtes SQL(Structured Query Language) est implémenté dans un certain nombre de SGBD populaires pour divers types Un ordinateur est soit basique, soit alternatif. En raison de son utilisation répandue, il s’agit d’un langage de requête standard international. Le langage SQL offre des fonctionnalités avancées aux utilisateurs finaux et aux data scientists.

La compatibilité avec les systèmes SQL joue un rôle important lorsqu'on s'attend à travailler avec des données d'entreprise. Les SGBD bien préparés pour fonctionner comme principaux outils de traitement de l'information pour les systèmes SQL peuvent ouvrir la porte à des systèmes dotés d'une architecture client-serveur.

Les SGBD ont accès aux données SQL dans les cas suivants :

les bases de données sont compatibles avec ODBC (Open Database Connectivity) ;

la prise en charge native des bases de données SQL a été implémentée ;

il est possible d'implémenter des requêtes SQL sur des données locales.

De nombreux SGBD peuvent se connecter de manière transparente aux systèmes d'entrée SQL à l'aide d'ODBC ou des pilotes qui en font partie, il est donc possible de créer des programmes d'application pour eux. Certains produits logiciels utilisent également SQL lors du traitement de demandes interactives de données situées sur un serveur ou un ordinateur de bureau.

Access 2.0 et Paradox pour Windows fonctionnent avec des sources de données SQL compatibles ODBC.

FoxPro (pour DOS et pour Windows) est livré avec des bibliothèques supplémentaires qui donnent accès aux bases de données SQL pouvant fonctionner avec ODBC, mais cette fonctionnalité est moins intégrée que les outils de capture de données frontaux dans Access et Paradox pour Windows.

Vous pouvez gérer directement les bases de données Access à l'aide de SQL et transmettre des requêtes SQL de bout en bout à des bases de données SQL compatibles ODBC telles que MS SQL Server et Oracle, afin qu'Access puisse servir d'outil de développement pour les systèmes client-serveur évolutifs.

Capacités de requête et outils de développement d'applications

Les SGBD orientés développeurs disposent d'outils avancés pour créer des applications. Les éléments des outils de développement d'applications comprennent :

* langages de programmation puissants ;

* moyens de mise en œuvre de menus, de formulaires d'écran pour la saisie/sortie de données et la génération de rapports ;

* outils de génération d'applications (programmes d'application) ;

* génération de fichiers exécutables.

La fonctionnalité des modèles de données est accessible à l'utilisateur du SGBD grâce à ses outils linguistiques.

La mise en œuvre d’interfaces linguistiques peut se faire de différentes manières. Pour les utilisateurs hautement qualifiés (développeurs de systèmes d'application complexes), les outils du langage sont le plus souvent présentés sous leur forme syntaxique explicite. Dans d'autres cas, les fonctions du langage sont accessibles indirectement, lorsqu'elles sont implémentées sous la forme de divers types de menus, de scripts de dialogue. , ou des tables remplies par l'utilisateur. Sur la base de ces données d'entrée, les outils d'interface forment des structures syntaxiques adéquates du langage d'interface et les transmettent pour exécution ou les incluent dans le code du programme d'application généré. Les interfaces avec utilisation de langage implicite sont largement utilisées dans les SGBD pour ordinateurs personnels. Un exemple d'un tel langage est le langage QBE (Query-By-Example).

Les outils linguistiques sont utilisés pour remplir deux fonctions principales :

descriptions de la vue de la base de données ;

effectuer des opérations de manipulation de données.

La première de ces fonctions est assurée par le langage de description (définition) de données (DDL). La description d'une base de données utilisant LDB est appelée schéma de base de données. Il comprend une description de la structure de la base de données et des contraintes d'intégrité qui lui sont imposées dans le cadre des règles régulées par le modèle de données du SGBD utilisé. Le DML de certains SGBD offre également la possibilité de définir des restrictions sur l'accès aux données ou les autorisations des utilisateurs.

LDL n'est pas toujours syntaxiquement formalisé en tant que langage indépendant. Il peut faire partie d’un langage de données unique combinant des capacités de définition et de manipulation de données.

Le Data Manipulation Language (DML) permet d'interroger les opérations fournies dans le système sur les données de la base de données.

Il existe de nombreux exemples de langages SGBD qui combinent des capacités de description et de manipulation de données dans un cadre syntaxique unique. Un langage populaire de ce type est le langage relationnel SQL.

Les SGBD dBASE IV et FoxPro prennent en charge le langage de programmation xBASE, qui reste un standard important pour les bases de données.

FoxPro 2.6 offre aux programmes xBASE des qualités fenêtrées et basées sur les événements. Lors de la composition d'un programme d'application, FoxPro utilise un chef de projet qui contrôle divers fichiers texte et données sources. Ce composant suit les éléments individuels : programmes, ensembles de formulaires d'écran, rapports et fichiers de base de données et vous permet de compiler le programme d'application dans un fichier exécutable.

Le langage de programmation Access Basic contient des fonctionnalités de communication OLE 2.0 qui vous permettent de manipuler des objets provenant d'autres applications compatibles OLE 2.0. De plus, ce langage permet de créer des objets de base de données (requêtes, tables), de modifier la structure de la base de données et de créer des index directement depuis le programme d'application.

Tous les logiciels considérés disposent d'outils automatisés pour créer des formulaires d'écran, des requêtes, des rapports, des menus, des autocollants et des lettres standard. Pour créer ces objets visuels et structurels, un certain nombre de SGBD utilisent des outils spéciaux appelés « assistants » ou « assistants ».

6. Commandes pour effectuer des opérations typiques
Structure d'interface typique

Lorsque vous travaillez avec le SGBD, le champ de travail et le panneau de commande sont affichés à l'écran. Le panneau de commande comprend alors un menu zone auxiliaire des commandes et une ligne d’indication. L'emplacement de ces zones sur l'écran peut être arbitraire et dépend des fonctionnalités d'un programme particulier. Certains SGBD permettent d'afficher une fenêtre de directive (fenêtre de commande) ou une ligne de commande. Vous pouvez vous familiariser avec la vue d'écran d'un tel logiciel en utilisant l'exemple de la fenêtre du SGBD Access 2.0.

La barre de menu contient les principaux modes du programme. En sélectionnant l'une d'entre elles, l'utilisateur accède à un sous-menu déroulant contenant une liste des commandes qui y sont incluses. La sélection de certaines commandes du menu déroulant entraînera l'apparition de sous-menus supplémentaires.
La zone de contrôle auxiliaire comprend :
* barre d'état ;
* barres d'outils ;
* barres de défilement verticales et horizontales.

Dans la barre d'état (ligne d'état), l'utilisateur trouvera des informations sur le mode de fonctionnement actuel du programme, le nom de fichier de la base de données actuelle, etc. La barre d'outils (menu d'icônes) contient une certaine quantité de boutons (pictogrammes) conçus pour activer rapidement l'exécution de certaines commandes de menu et fonctions du programme. Pour afficher les zones d'une table, d'un formulaire ou d'un rapport de base de données qui ne sont pas actuellement affichés à l'écran, utilisez les barres de défilement verticales et horizontales.

La ligne d'indices est destinée à fournir des messages à l'utilisateur concernant ses actions possibles pour le moment.

Une caractéristique importante d'un SGBD est l'utilisation d'un tampon de stockage intermédiaire lors de l'exécution d'un certain nombre d'opérations. Un tampon est utilisé lors des commandes de copie et de déplacement pour stocker temporairement les données copiées ou déplacées avant qu'elles ne soient dirigées vers une nouvelle adresse. Lorsque les données sont supprimées, elles sont également mises en mémoire tampon. Le contenu du tampon est stocké jusqu'à ce qu'une nouvelle donnée y soit écrite.

Les programmes SGBD disposent d'un nombre suffisant de commandes, chacune ayant des paramètres (options) différents. Ce système de commande, ainsi que options additionelles forme un menu avec ses propres caractéristiques pour chaque type de SGBD - La sélection d'une commande spécifique dans le menu se fait de l'une des deux manières suivantes ;

passer le curseur sur la commande sélectionnée dans le menu à l'aide des touches curseur et appuyer sur la touche entrée ;

en saisissant la première lettre de la commande sélectionnée à partir du clavier.

Vous pouvez obtenir des informations complémentaires sur les commandes qui composent le menu SGBD et leur utilisation en entrant dans le mode aide.

Malgré les particularités du SGBD, l'ensemble des commandes fournies à l'utilisateur par un système de gestion de base de données moyen peut être divisé dans les groupes typiques suivants :

commandes pour travailler avec des fichiers ;

commandes d'édition ;

commandes de formatage ;

commandes pour travailler avec Windows ;

commandes pour travailler dans les principaux modes du SGBD (table, formulaire, requête, rapport) ;

obtenir des informations de référence.

Commandes pour travailler avec des fichiers

Lorsqu'il travaille avec des fichiers, le programme permet à l'utilisateur de :

* créer de nouveaux objets de base de données ;

* enregistrer et renommer les objets précédemment créés ;

* ouvrir les bases de données existantes ;

* fermer les objets précédemment ouverts ;

* imprimer les objets de la base de données sur l'imprimante.

Le processus d'impression commence par la sélection d'un pilote d'imprimante. Chaque type d'imprimante nécessite son propre pilote. L'étape suivante consiste à définir les paramètres de la page, à créer des en-têtes et des pieds de page et à sélectionner le type et la taille de la police. Ensuite, vous devez définir le nombre de copies, la qualité d'impression et le ou les nombres de pages du document à imprimer.

La commande aperçu permet de se faire une idée de l'aspect général des informations sorties vers l'imprimante avant impression. Le placement des informations sur une page peut être ajusté de manière optimale aux paramètres sélectionnés par mise à l'échelle et centrage.

Dans certains SGBD, le groupe de commandes considéré comprend des commandes qui offrent la possibilité d'exporter-importer et de joindre des tables créées par d'autres logiciels.

Commandes d'édition

La saisie de données et la modification du contenu de tous les champs des tables de base de données, des composants des formulaires d'écran et des rapports s'effectuent à l'aide d'un groupe de commandes d'édition, dont les principales sont le déplacement, la copie et la suppression.

Parallèlement aux opérations ci-dessus, un grand groupe de programmes SGBD a la capacité d'insérer des diagrammes, des images, etc., y compris des objets créés dans d'autres environnements logiciels, et d'établir des connexions entre les objets.

Parmi les commandes d'édition, une place particulière est occupée par les commandes permettant de rechercher et de remplacer un contexte défini par l'utilisateur dans l'ensemble du document ou une partie sélectionnée de celui-ci, ainsi que d'annuler la dernière commande saisie (rollback).

Commandes de formatage

La présentation visuelle des données lors de la sortie est importante. La plupart des SGBD fournissent mettre à la disposition de l’utilisateur un grand nombre de commandes liées à la conception des informations affichées. À l'aide de ces commandes, l'utilisateur peut faire varier la direction de l'alignement des données, les types de polices, l'épaisseur et l'emplacement des lignes, la hauteur des lettres, la couleur d'arrière-plan, etc. Lors de l'exécution d'une commande de formatage, sélectionnez

la zone à laquelle la commande s’applique. Si cela n'est pas fait, les nouvelles options de formatage seront définies uniquement pour le composant actif.

Le format et le sens d'alignement sont sélectionnés automatiquement en fonction de la nature des données d'entrée. Les données interprétées par le programme comme du texte sont alignées à gauche et les nombres sont alignés à droite. Sélection automatique le format et la méthode d'alignement ne sont effectués que si l'utilisateur n'a pas préalablement spécifié d'autres paramètres pour les cellules à remplir.

Commandes pour travailler avec Windows

La plupart des SGBD permettent d'ouvrir plusieurs fenêtres simultanément, organisant ainsi un « mode de fonctionnement multi-fenêtres » ; Dans ce cas, certaines fenêtres seront visibles à l'écran, d'autres seront en dessous. En ouvrant plusieurs fenêtres, vous pouvez travailler avec plusieurs tables à la fois, transférer rapidement passer de l'un à l'autre. Exister équipes spéciales, vous permettant d'ouvrir une nouvelle fenêtre, de passer à une autre fenêtre, de modifier la position relative et la taille des fenêtres sur l'écran. De plus, l'utilisateur a la possibilité de diviser la fenêtre en deux parties pour visualiser simultanément différentes parties d'un grand tableau, ou de fixer une partie du tableau, qui ne disparaîtra pas de l'écran lorsque le curseur est déplacé vers des parties distantes de la table.

Système d'obtention d'informations de référence

Les systèmes de gestion de bases de données comprennent des répertoires électroniques, fournissant Fournit à l'utilisateur des instructions sur la façon d'effectuer des opérations de base, des informations sur des commandes de menu spécifiques et d'autres données de référence. La particularité de l'obtention d'informations de référence à l'aide d'un annuaire électronique est qu'il fournit des informations en fonction de la situation dans laquelle se trouve l'utilisateur. Ainsi, si l'utilisateur a sélectionné une certaine commande dans le menu, alors après avoir accédé au système d'aide (généralement lancé par la touche ) l'écran affichera une page de référence contenant des informations sur la commande sélectionnée. Dans certains SGBD, il est possible de retrouver les informations recherchées dans l'annuaire en précisant un thème de recherche.

Idée générale des étapes technologiques

Chaque SGBD spécifique possède ses propres caractéristiques dont il faut tenir compte.

Cependant, ayant une idée des fonctionnalités de n'importe quel SGBD, il est possible d'imaginer une technologie généralisée permettant à l'utilisateur de travailler dans cet environnement.

Les principales étapes de la technologie généralisée pour travailler avec un SGBD sont les suivantes :

créer une structure de table de base de données ;

saisir et modifier des données dans des tableaux ;

traiter les données contenues dans les tableaux ;

sortir des informations de la base de données.

Création d'une structure de table de base de données

Lors de la création d'une nouvelle table de base de données, le travail avec le SGBD commence par la création de la structure des blitz. Ce processus implique de déterminer la liste des champs qui composent chaque enregistrement de table, ainsi que les types et tailles des champs.

Presque tous les SGBD utilisés stockent des données des types suivants : texte (caractère), numérique, calendrier, logique, note. Certains SGBD génèrent des types spéciaux de champs contenant des numéros d'enregistrement uniques et des définitions de clés utilisées.

Les SGBD conçus pour fonctionner sous Windows peuvent générer des champs de type objet OLE, qui sont utilisés pour stocker des images, des graphiques et des tableaux.

Si la base de données en cours de traitement comprend plusieurs tables interdépendantes, alors il est nécessaire de déterminer le champ clé de chaque table, ainsi que les champs qui serviront à organiser la relation entre les tables.

La création d'une structure de table n'est pas associée au remplissage des tables avec des données, les deux opérations peuvent donc être séparées dans le temps.

Saisie et édition des données

Le remplissage des tableaux avec des données est possible à la fois par saisie directe de données et grâce à exécution de programmes et de requêtes.

Presque tous les SGBD permettent de saisir et de corriger des données dans des tableaux de deux manières :

* en utilisant le formulaire de tableau standard fourni par défaut ;

* à l'aide de formulaires écran spécialement créés à cet effet par l'utilisateur,

Les SGBD fonctionnant avec Windows vous permettent de saisir des images, des motifs et des boutons dans les formulaires d'écran créés. Il est possible de créer les formulaires les plus pratiques pour l'utilisateur, comprenant des enregistrements de diverses tables de base de données associées.

Traitement des données contenues dans les tableaux

Vous pouvez traiter les informations contenues dans les tables de base de données en utilisant demandes ou lors de l’exécution d’un programme spécialement conçu.

Lorsqu'il travaille avec un SGBD, l'utilisateur final reçoit un moyen de traitement des informations aussi pratique que les requêtes. Une requête est une instruction pour sélectionner des enregistrements.

La plupart des SGBD autorisent les types de requêtes suivants :

* une requête de sélection conçue pour sélectionner les données stockées dans les tables et ne pas modifier ces données ;

* demande de modification, destinée à modifier ou déplacer des données ; Ce type de requêtes comprend : une requête pour ajouter des enregistrements, une requête pour supprimer des enregistrements, une requête pour créer une table, une requête pour mettre à jour ;

* une requête avec un paramètre permettant de définir une ou plusieurs conditions de sélection lors de l'exécution de la requête,

Le type de requête le plus courant est une requête de sélection. Le résultat de la requête est une table avec un ensemble temporaire de données (ensemble dynamique). Les enregistrements d'ensemble dynamique peuvent inclure des champs provenant d'une ou plusieurs tables de base de données. Sur la base de la demande, vous pouvez créer un rapport ou un formulaire.

Sortie des informations de la base de données

Presque tous les SGBD vous permettent d'afficher les informations contenues dans la base de données sur l'écran et l'imprimante à partir des modes tableau ou formulaire. Cet ordre de sortie des données ne peut être utilisé qu'à titre de brouillon, car il vous permet de sortir les données uniquement sous la même forme que celle contenue dans le tableau ou le formulaire.

Chaque utilisateur travaillant avec un SGBD a la possibilité d'utiliser des outils de reporting spéciaux pour afficher les données. En utilisant moyens spéciaux créant des rapports, l'utilisateur reçoit ce qui suit caractéristiques supplémentaires sortie de données:

* inclure des informations sélectionnées dans les tables de la base de données dans le rapport ;

* ajouter des informations non contenues dans la base de données ;

* si nécessaire, afficher des données récapitulatives basées sur les informations de la base de données ;

* organiser les informations affichées dans le rapport sous n'importe quelle forme pratique pour l'utilisateur (disposition verticale ou horizontale des champs) ;

* inclure des informations provenant de différents tableaux associés Base de données.

7. Modèle d'information du SGBD

Planification préliminaire, préparation des données, séquence de création d'un modèle d'information.

Lors de la conception d’un système informatique, ce qui nous intéresse le plus est l’organisation des données. Un modèle d'information est conçu pour vous aider à comprendre l'organisation des données.

Le processus de création d'un modèle d'information commence par la définition des exigences conceptuelles d'un certain nombre d'utilisateurs. Des exigences conceptuelles peuvent également être déterminées pour certaines tâches (applications) dont la mise en œuvre n'est pas prévue dans un avenir proche. Cela peut légèrement augmenter la complexité du travail, mais contribuera à prendre en compte au mieux toutes les nuances des fonctionnalités requises pour le système en cours de développement et réduira la probabilité de retouches à l'avenir. Les besoins individuels des utilisateurs doivent être présentés dans une seule « vue récapitulative ». Ce dernier est appelé modèle conceptuel.

Un objet est une abstraction de nombreux objets du monde réel qui ont les mêmes caractéristiques et lois de comportement. Un objet est une instance indéterminée typique d’un tel ensemble.

Les objets sont regroupés en classes basées sur des caractéristiques communes. Par exemple, dans la phrase " La maison Blanche est un bâtiment", "Maison Blanche" représente un objet et "bâtiment" représente une classe. Les classes sont désignées par des noms abstraits.

Une classe est un ensemble d’objets du monde réel reliés par une structure et un comportement communs.

Un modèle conceptuel représente les objets et leurs relations sans préciser comment ils sont physiquement stockés. Ainsi, un modèle conceptuel est essentiellement un modèle de domaine. Lors de la conception d'un modèle conceptuel, tous les efforts du développeur doivent viser principalement à structurer les données et à identifier les relations entre elles sans tenir compte des caractéristiques de mise en œuvre et des problèmes d'efficacité du traitement. La conception d'un modèle conceptuel est basée sur une analyse des tâches de traitement des données résolues dans cette entreprise. Le modèle conceptuel comprend des descriptions d'objets et de leurs relations qui présentent un intérêt pour le domaine considéré et identifiés à la suite de l'analyse des données. Il s'agit de données utilisées aussi bien dans les programmes d'application déjà développés que dans ceux qui seront seulement mis en œuvre.

Conception d'un modèle conceptuel de base de données :

Analyse des données : collecte de données de base (par exemple, objets, relations entre objets).

Définissons les données initiales :

Candidatures - reçues des magasins pendant une certaine période.

Des accords sont conclus avec des fournisseurs pour un certain type de produit.

Les fournisseurs sont des organisations ou des individus avec lesquels des contrats de fourniture de biens sont conclus.

Les clients sont principalement des magasins, ainsi que des entreprises et des organisations qui passent des commandes pour l'achat d'un produit particulier.

Les comptes sont tenus au stade de la conclusion des accords avec les fournisseurs, ainsi qu'avec les clients.

Les factures sont créées sur la base de la réception d'une commande du client pour expédition.

Certificats - réception/délivrance de divers certificats au client et au fournisseur.

Les marchandises sont disponibles sur la base d'une demande et d'un accord avec le fournisseur.

Déterminer les relations.

Une relation exprime une cartographie ou une connexion entre deux ensembles vos données. Il existe des relations un-à-un, un-à-plusieurs et plusieurs-à-plusieurs.

Par exemple, si un client passe une commande pour acheter un produit pour la première fois, le premier enregistrement de ses données et informations sur la commande passée est effectué. Si le client passe à nouveau une commande, seule cette commande est enregistrée. Quel que soit le nombre de fois qu'un client donné a passé des commandes, il dispose d'un un numéro d'identification(clé de commande unique). Les informations relatives à chaque client comprennent le nom, l'adresse, le téléphone, le fax, le nom, le prénom, le patronyme, la personne morale et la mention du client. Ainsi, les propriétés de l’objet Client sont « la clé unique du client », « le nom du client ».

Le prochain objet qui nous intéresse est le produit. Cet objet a les propriétés « clé de produit unique », « nom du produit ».

Le deuxième objet considéré est le Fournisseur. Ses propriétés sont « clé unique du fournisseur », « nom du fournisseur ».

Le troisième objet considéré est le Client. Ses propriétés sont « la clé unique du client », « le nom du client ».

Relation biunivoque (entre deux types d'objets)

Disons qu'à un moment donné, un client peut Passez une seule commande. Dans ce cas, une relation biunivoque est établie entre les objets Client et Produit.

Relation un-à-plusieurs (entre deux types d'objets)

À un moment donné, un client peut devenir propriétaire le propriétaire de plusieurs biens, tandis que plusieurs clients ne peuvent pas être propriétaires d'un même produit (à condition que le client ne réclame pas une partie des biens). Une relation un-à-plusieurs peut être indiquée en utilisant une simple flèche dans le sens de "un" et une double flèche dans le sens de "plusieurs". Dans ce cas, un enregistrement de données du premier objet (souvent appelé le parent ou principal) correspondra à plusieurs enregistrements du deuxième objet (enfant ou subordonné). Les relations un-à-plusieurs sont très courantes dans le développement de bases de données relationnelles. L'objet parent est souvent un répertoire et l'objet enfant stocke des clés uniques pour accéder aux entrées du répertoire. Dans notre exemple, comme tel répertoire, nous pouvons imaginer l'objet Customer, qui stocke des informations sur tous les clients. Lors de l'accès à un enregistrement pour un client spécifique, nous avons accès à une liste de tous les achats qu'il a effectués, dont les informations sont stockées dans l'objet Produit.

...

Documents similaires

    Concept et structure d'une banque de données. Éléments structurels de base de la base de données. Système de gestion de base de données. Avantages de la centralisation de la gestion des données. Le concept d'objet d'information. Technologies modernes, utilisé pour travailler avec des données.

    travail de cours, ajouté le 02/07/2011

    Revue et caractéristiques comparatives des logiciels de création d'un SGBD. Principes d'organisation des données. Fonctionnalités de base de MS Access. Développement de la structure et mise en place en SQL d'une base de données d'enregistrement des commandes, de disponibilité et de vente de pièces automobiles.

    travail de cours, ajouté le 27/05/2013

    Systèmes de gestion de bases de données modernes (SGBD). Analyse d'un modèle de données hiérarchique. Modèle de données relationnel. Le modèle de données post-relationnel est un modèle relationnel étendu qui supprime la restriction d'indivisibilité des données stockées dans les enregistrements de table.

    travail scientifique, ajouté le 08/06/2010

    Bases de données de fichiers bidimensionnels et systèmes de gestion de bases de données relationnelles (SGBD). Création d'une base de données et traitement des requêtes à l'aide d'un SGBD. Principaux types de bases de données. Concepts de base bases de données relationnelles. Propriétés fondamentales des relations.

    résumé, ajouté le 20/12/2010

    Une technologie permettant de mapper un modèle de base de données conceptuel sur un modèle de données relationnelles. Description des connexions entre les attributs d'une relation utilisant la dépendance fonctionnelle. La normalisation est le processus de remplacement séquentiel d'une table avec ses décompositions complètes.

    présentation, ajouté le 19/08/2013

    Aspects théoriques du SGBD. Concepts de base. Fonctionnalité SGBD. Architecture des systèmes de contrôle. Développement de base de données. De grandes quantités de données sont généralement placées séparément du programme exécutable et organisées sous la forme d'une base de données.

    travail de cours, ajouté le 23/02/2006

    Modèle conceptuel de la base de données du Bureau de l'emploi. Développement d'informations et de logiciels pour les objets d'automatisation. Implémentation d'une base de données dans le SGBD MsAccess. Requêtes de base de données. Tableaux, rapports et macros. Interface utilisateur.

    travail de cours, ajouté le 30/05/2016

    La procédure de conception et de développement d'une base de données et d'un logiciel. Informations sur la structure de la base de données, les tables créées, les formulaires, les rapports, les requêtes, les informations stockées. Modèles de données logiques et conceptuels ; sélection de logiciels.

    travail de cours, ajouté le 20/01/2010

    Un système d'information automatisé développé comme condition pour assurer le fonctionnement efficace de l'organisation. Conception et construction d'un modèle logique d'information d'une base de données. Brève description de l'accès. Développement de la structure des tableaux.

    travail de cours, ajouté le 27/02/2009

    Classification des modèles de construction de bases de données. Travailler avec bases de données relationnelles données : normalisation des tables, transformation des relations de terrain, transformation d'un modèle fonctionnel en un modèle relationnel. Le concept de langage de définition de données et de langage de manipulation de données.

Base de données (BD) est un ensemble de systèmes interconnectés, caractérisés par la possibilité d'être utilisés pour grande quantité applications, la capacité d'obtenir et de modifier rapidement les informations nécessaires, une redondance minimale des informations, l'indépendance des programmes d'application, une méthode de recherche générale contrôlée

La possibilité d'utiliser des bases de données pour de nombreuses applications utilisateur simplifie la mise en œuvre de requêtes complexes, réduit la redondance des données stockées et augmente l'efficacité de l'utilisation des technologies de l'information. La principale propriété des bases de données est l’indépendance des données et des programmes qui les utilisent. L'indépendance des données signifie que la modification des données ne modifie pas les programmes d'application et vice versa.

Le cœur de toute base de données est le modèle de données. Modèle de données est un ensemble de structures de données et de leurs opérations de traitement.

Les modèles de bases de données sont basés sur l’approche moderne du traitement de l’information, selon laquelle les structures de données sont relativement stables. La structure de la base d'informations, qui affiche le modèle d'information du domaine sous une forme structurée, vous permet de créer des enregistrements logiques, leurs éléments et les relations entre eux. Les relations peuvent être classées dans les types principaux suivants :

– « one to one », lorsqu'un enregistrement peut être lié
avec une seule entrée ;

– « un à plusieurs », lorsqu'un enregistrement est interconnecté avec plusieurs autres ;

– « plusieurs à plusieurs », lorsqu'un même enregistrement peut entrer en relation avec de nombreux autres enregistrements de différentes manières.

L'utilisation d'un type ou d'un autre de relations a déterminé trois principaux modèles de bases de données : hiérarchique, réseau et relationnelle.

Pour expliquer la structure logique des principaux modèles de bases de données, considérons cette tâche simple : il est nécessaire de développer une structure de base de données logique pour stocker des données sur trois fournisseurs : P 1, P 2, P 3, qui peuvent fournir les biens T 1, T 2. , T 3 dans les combinaisons suivantes : fournisseur P 1 - les trois types de marchandises, fournisseur P 2 - marchandises T 1 et T 3, fournisseur P 3 - marchandises T 2 et T 3.

Modèle hiérarchique se présente sous la forme d'un arbre dans lequel les objets sont distingués par des niveaux de subordination (hiérarchie) des objets (Fig. 4.1.)

Riz. 4.1. Modèle de base de données hiérarchique

Au premier niveau supérieur, il y a des informations sur l'objet « fournisseurs » (P), au deuxième - sur des fournisseurs spécifiques P 1, P 2, P 3, au troisième niveau inférieur - sur les biens qui peuvent être fournis par des fournisseurs spécifiques. Fournisseurs. Dans un modèle hiérarchique, la règle suivante doit être respectée : chaque nœud enfant ne peut pas avoir plus d'un nœud parent (une seule flèche entrante) ; il ne peut y avoir qu'un seul nœud non généré dans la structure (sans flèche entrante) - la racine. Les nœuds qui n'ont pas de flèches d'entrée sont appelés feuilles. Le nœud est intégré en tant qu'enregistrement. Pour trouver l'enregistrement recherché, vous devez vous déplacer de la racine aux feuilles, c'est-à-dire de haut en bas, ce qui simplifie grandement l'accès.

L'avantage d'un modèle de données hiérarchique est qu'il permet de décrire leur structure, à la fois logique et niveau physique. Les inconvénients de ce modèle sont les relations rigidement fixées entre les éléments de données, de sorte que tout changement dans les connexions nécessite des changements dans la structure, ainsi que la stricte dépendance de l'organisation physique et logique des données. La rapidité d'accès dans le modèle hiérarchique est obtenue au prix d'une perte de flexibilité de l'information (en un seul passage dans l'arborescence, il est impossible d'obtenir des informations sur les fournisseurs qui fournissent, par exemple, le produit Ti).

Le modèle hiérarchique utilise un type de relation un-à-plusieurs entre les éléments de données. Si une relation plusieurs-à-plusieurs est utilisée, on arrive alors à un modèle de données réseau.

Modèle de réseau La base de données de la tâche est présentée sous la forme d'un schéma de connexion (Fig. 5.2.). Le diagramme montre les types de données indépendants (principaux) P 1, P 2, P 3, c'est-à-dire informations sur les fournisseurs et personnes à charge - informations sur les marchandises T 1, T 2 et T 3. Dans le modèle de réseau, tous les types de connexions entre enregistrements sont autorisés et il n'y a aucune limite sur le nombre de connexions de retour. Mais une règle doit être respectée : la relation comprend un enregistrement principal et un enregistrement dépendant

Riz. 4.2. Modèle de base de données réseau

L'avantage du modèle de base de données en réseau est une plus grande flexibilité des informations par rapport au modèle hiérarchique. Cependant, un inconvénient commun aux deux modèles demeure : une structure plutôt rigide, qui entrave le développement de la base d'informations du système de gestion. S'il est nécessaire de réorganiser fréquemment la base d'informations (par exemple, lors de l'utilisation d'une base personnalisée technologies de l'information) utilisent le modèle de base de données le plus avancé - relationnel, dans lequel il n'y a aucune différence entre les objets et les relations.

DANS modèle relationnel Dans les bases de données, les relations entre les éléments de données sont représentées dans des tableaux bidimensionnels appelés relations. Les relations ont les propriétés suivantes : chaque élément du tableau représente un élément de données (il n'y a pas de groupes répétitifs) ; les éléments d'une colonne sont de même nature, et les colonnes portent un nom unique ; il n'y a pas deux lignes identiques dans le tableau ; les lignes et les colonnes peuvent être visualisées dans n'importe quel ordre, quel que soit leur contenu informatif.

Les avantages du modèle de base de données relationnelle sont la simplicité du modèle logique (les tableaux sont familiers pour présenter des informations) ; flexibilité du système de sécurité (pour chaque relation la légalité de l'accès peut être précisée) ; indépendance des données ; la capacité de construire un langage simple de manipulation de données en utilisant la théorie mathématiquement rigoureuse de l'algèbre relationnelle (algèbre des relations).

Pour le problème ci-dessus concernant les fournisseurs et les marchandises, la structure logique de la base de données relationnelle contiendra trois tables (relations) : R 1, R 2, R 3, constituées respectivement d'enregistrements sur les livraisons, sur les marchandises et sur la fourniture de marchandises par les fournisseurs. (Fig. 4.3.)



Riz. 4.3. Modèle de base de données relationnelle

SGBD et ses fonctions

Un système de gestion de base de données (SGBD) est un système logiciel conçu pour créer une base de données générale sur un ordinateur utilisée pour résoudre de nombreux problèmes. De tels systèmes servent à maintenir la base de données à jour et à garantir un accès effectif des utilisateurs aux données qu'elle contient dans les limites des droits accordés aux utilisateurs.

Le SGBD est conçu pour la gestion centralisée des bases de données au profit de toutes les personnes travaillant dans ce système.

Selon le degré d'universalité, on distingue deux classes de SGBD :

– les systèmes à usage général ;

– les systèmes spécialisés.

Les SGBD à usage général ne se concentrent sur aucun domaine ni sur les besoins d’information d’un groupe d’utilisateurs. Chaque système de ce type est mis en œuvre en tant que produit logiciel capable de fonctionner sur un certain modèle d'ordinateur dans un système d'exploitation spécifique et est fourni à de nombreux utilisateurs en tant que produit commercial. De tels SGBD ont les moyens de les configurer pour fonctionner avec une base de données spécifique. L'utilisation d'un SGBD à usage général comme outil de création de systèmes d'information automatisés basés sur la technologie des bases de données peut réduire considérablement le temps de développement et économiser les ressources en main-d'œuvre. Ces SGBD ont développé des fonctionnalités.

Des SGBD spécialisés sont créés dans de rares cas où il est impossible ou inapproprié d'utiliser un SGBD à usage général.

Les SGBD à usage général sont des systèmes logiciels complexes conçus pour exécuter l'ensemble des fonctions associées à la création et à l'exploitation d'une base de données de système d'information.

Les SGBD actuellement utilisés disposent de fonctionnalités garantissant l'intégrité des données et une sécurité robuste, permettant aux développeurs d'assurer une plus grande sécurité des données avec moins d'efforts de programmation de bas niveau. Les produits fonctionnant dans l'environnement WINDOWS se distinguent par leur convivialité et leurs outils de productivité intégrés.

Les performances du SGBD sont évaluées :

– délai d'exécution de la demande ;

– rapidité de recherche d’informations dans les champs non indexés ;

– temps d'exécution des opérations d'importation de bases de données à partir d'autres formats ;

– la rapidité de création d’index et d’exécution d’opérations en masse telles que la mise à jour, l’insertion, la suppression de données ;

– le nombre maximum d'accès parallèles aux données en mode multi-utilisateurs ;

– l'heure de génération du rapport.

Les performances d'un SGBD sont influencées par deux facteurs :

– Les SGBD qui surveillent l’intégrité des données supportent une charge supplémentaire que les autres programmes ne subissent pas ;

– Les performances des programmes d'application propriétaires dépendent fortement d'une conception et d'une construction appropriées de la base de données.


Informations connexes.


Comme indiqué, le modèle infologique cartographie le monde réel en certains concepts compréhensibles par l'homme et totalement indépendants des paramètres de l'environnement de stockage des données. Il existe de nombreuses approches pour construire de tels modèles : modèles de graphes, réseaux sémantiques, modèle entité-relation, etc. Le plus populaire d’entre eux s’est avéré être le modèle entité-relation, qui sera abordé au chapitre 2.

Le modèle d'information doit être mappé dans un modèle datalogique orienté ordinateur qui est « compréhensible » par le SGBD. En train de développer la théorie et utilisation pratique bases de données, ainsi que des outils la technologie informatique Des SGBD ont été créés pour prendre en charge divers modèles datalogiques.

Premièrement, des modèles datalogiques hiérarchiques ont commencé à être utilisés. La simplicité d'organisation, la présence de connexions prédéterminées entre les entités et la similitude avec des modèles de données physiques ont permis d'obtenir des performances acceptables de SGBD hiérarchiques sur des ordinateurs lents avec des quantités de mémoire très limitées. Mais si les données n'avaient pas de structure arborescente, de nombreuses difficultés surgissaient lors de la construction d'un modèle hiérarchique et du désir d'atteindre les performances souhaitées.

Des modèles de réseau ont également été créés pour les ordinateurs à faibles ressources. Il s'agit de structures assez complexes constituées d'« ensembles », appelés arbres à deux niveaux. Les « ensembles » sont connectés à l'aide de « enregistrements de liens », formant des chaînes, etc. Lors du développement de modèles de réseau, de nombreuses « petites astuces » ont été inventées qui ont permis d'augmenter les performances du SGBD, mais ont considérablement compliqué ce dernier. Un programmeur d'applications doit connaître de nombreux termes, étudier plusieurs langages de SGBD internes et avoir une compréhension détaillée de la structure logique de la base de données pour naviguer parmi les différentes instances, ensembles, enregistrements, etc. L'un des développeurs du système d'exploitation UNIX a déclaré : « La base réseau est le moyen le plus sûr de perdre des données. »

La complexité de l'utilisation pratique des SGBD hiérarchiques et réseau nous a obligés à rechercher d'autres moyens de présenter les données. A la fin des années 60 apparaissent les SGBD basés sur des fichiers inversés, caractérisés par une facilité d'organisation et la présence de langages de manipulation de données très pratiques. Cependant, ces SGBD comportent un certain nombre de restrictions concernant le nombre de fichiers destinés à stocker les données, le nombre de connexions entre eux, la longueur de l'enregistrement et le nombre de ses champs.

Les modèles les plus courants aujourd’hui sont les modèles relationnels, qui seront abordés en détail au chapitre 3.

L'organisation physique des données a un impact majeur sur les caractéristiques opérationnelles de la base de données. Les développeurs de SGBD tentent de créer les modèles de données physiques les plus productifs, offrant aux utilisateurs l'un ou l'autre outil permettant de personnaliser le modèle pour une base de données spécifique. La variété des manières d'ajuster les modèles physiques des SGBD industriels modernes ne nous permet pas de les considérer dans cette section.

Modèles d'organisation de bases de données

1. Approche hiérarchique de l'organisation des bases de données. Les bases de données hiérarchiques se présentent sous la forme d'arbres avec des liens d'arc et des éléments de données de nœuds. La structure hiérarchique impliquait une inégalité entre les données – certaines étaient strictement subordonnées aux autres. Bien entendu, de telles structures satisfont clairement aux exigences de nombreux problèmes réels, mais pas de tous.

2. Modèle de données réseau. Dans les bases de données réseau, outre les bases verticales, il existe également connexions horizontales. Cependant, de nombreux inconvénients du système hiérarchique ont été hérités, le principal étant la nécessité de définir clairement les connexions de données au niveau physique et de suivre tout aussi clairement cette structure de connexions lors de l'interrogation de la base de données.

3. Modèle relationnel. Le modèle relationnel est né de la volonté de rendre la base de données la plus flexible possible. Ce modèle fourni un mécanisme simple et efficace pour maintenir les liaisons de données.

Premièrement, toutes les données du modèle sont présentées sous forme de tableaux et uniquement de tableaux. Le modèle relationnel est le seul qui assure l'uniformité de la présentation des données. Les deux entités et les connexions de ces mêmes entités sont représentées dans le modèle exactement de la même manière : les tables . Certes, cette approche complique la compréhension de la signification des informations stockées dans la base de données et, par conséquent, la manipulation de ces informations.

Permet d'éviter les difficultés de manipulation deuxième élément modèles – un langage relationnellement complet (notez que le langage fait partie intégrante de tout modèle de données, sans lui le modèle n'existe pas). L'exhaustivité d'un langage lorsqu'il est appliqué à un modèle relationnel signifie qu'il doit effectuer toute opération d'algèbre relationnelle ou de calcul relationnel (l'exhaustivité de ce dernier a été prouvée mathématiquement par E.F. Codd). De plus, le langage doit décrire toute requête en termes d'opérations sur les tables, et non sur leurs lignes. L'un de ces langages est SQL.

Troisième élément Le modèle relationnel nécessite que le modèle relationnel maintienne certaines contraintes d'intégrité. L'une de ces contraintes stipule que chaque ligne d'une table doit avoir un identifiant unique appelé clé primaire . La deuxième limitation est imposée sur l'intégrité des liens entre les tables. Il indique que les attributs de table qui font référence aux clés primaires d'autres tables doivent avoir l'une de ces valeurs de clé primaire.

4. Modèle orienté objet. De nouveaux domaines de la technologie informatique, tels que la recherche scientifique, la conception assistée par ordinateur et l'automatisation institutionnelle, ont nécessité des bases de données capables de stocker et de traiter de nouveaux objets : texte, audio, vidéo et documents. Les principales difficultés de la modélisation de données orientées objet proviennent du fait qu’il n’existe pas d’appareil mathématique aussi développé sur lequel un modèle général de données orienté objet pourrait être basé. C’est en grande partie la raison pour laquelle il n’existe toujours pas de modèle de base orienté objet. D’un autre côté, certains auteurs soutiennent qu’un modèle de données général orienté objet au sens classique ne peut pas être défini parce que le concept classique de modèle de données n’est pas adapté au paradigme orienté objet. Malgré les avantages des systèmes orientés objet - mise en œuvre de types de données complexes, communication avec des langages de programmation, etc. – dans un futur proche, la supériorité des SGBD relationnels est garantie.

5.3.3 Modèles de données et modélisation conceptuelle

Il a déjà été mentionné ci-dessus qu'un schéma est créé à l'aide d'un langage de définition de données. En fait, il est créé sur la base du langage de définition de données d'un SGBD cible spécifique, ce qui est relativement niveau faible; avec son aide, il est difficile de décrire les exigences en matière de données afin que le diagramme créé soit compréhensible pour les utilisateurs de différentes catégories. Pour parvenir à une telle compréhension, il est nécessaire de créer une description du schéma à un niveau supérieur, que nous appellerons un modèle de données. Dans ce cas, par modèle de données, nous comprendrons un ensemble intégré de concepts pour décrire les données, les connexions entre elles et les restrictions imposées aux données dans un certain domaine.

Un modèle est une représentation d'objets et d'événements dans un domaine, ainsi que des relations qui existent entre eux. Un modèle de données peut être considéré comme une combinaison des trois composants suivants.

· Partie structurelle, c'est-à-dire un ensemble de règles par lesquelles une base de données peut être construite.

· La partie contrôle, qui détermine les types d'opérations autorisées avec les données (cela inclut les opérations de mise à jour et de récupération des données, ainsi que les opérations de modification de la structure de la base de données).

· Un ensemble de contraintes d'intégrité des données qui garantissent l'exactitude des données utilisées.

Le but de la création d’un modèle de données est de présenter les données de manière compréhensible. Si une telle représentation est possible, le modèle de données peut alors être facilement appliqué lors de la conception d'une base de données. Pour représenter l'architecture ANSI-SPARC, les trois modèles de données associés suivants peuvent être définis :

· un modèle de données externe qui affiche des vues de chaque type d'utilisateur existant dans l'organisation ;

· un modèle de données conceptuel qui affiche une vue logique (ou généralisée) des données, indépendamment du type de SGBD sélectionné ;

· un modèle de données interne qui affiche le schéma conceptuel d'une manière spécifique et compréhensible pour le SGBD cible sélectionné.

De nombreux modèles de données ont été proposés et publiés dans la littérature. Ils sont divisés en trois catégories : les modèles de données basés sur des objets, les modèles de données basés sur des enregistrements et les modèles de données physiques. Les deux premiers sont utilisés pour décrire les données aux niveaux conceptuel et externe, et le dernier au niveau interne.

Modèles de données objet. Lors de la création de modèles de données objet, des concepts tels que les entités, les attributs et les relations sont utilisés. L'essence est élément séparé(employé, produit, concept ou événement) du domaine qui doit être représenté dans la base de données. Un attribut est une propriété qui décrit un aspect d'un objet et dont la valeur doit être capturée, et une relation est une relation associative entre entités. Voici quelques-uns des plus types communs modèles de données objets.

    • Modèle Entité-Relation ou modèle ER.
    • Modèle sémantique.
    • Modèle fonctionnel.
    • Modèle orienté objet.

Actuellement, le modèle ER est devenu l'une des principales méthodes de conception de bases de données conceptuelles. Le modèle orienté objet étend la définition d'une entité pour inclure non seulement les attributs qui décrivent l'état de l'objet, mais également les actions qui lui sont associées, c'est-à-dire son comportement. Dans ce cas, l’objet est censé encapsuler l’état et le comportement.

Modèles de données basés sur des enregistrements. Dans un modèle basé sur les enregistrements, la base de données se compose de plusieurs enregistrements de format fixe qui peuvent être différents types. Chaque type d'enregistrement définit un nombre fixe de champs, chacun ayant une longueur fixe. Il existe trois types principaux modèles logiques données basées sur des enregistrements : modèle de données relationnelles, modèle de données réseau et modèle de données hiérarchique.

Bases de données hiérarchiques ont la forme d'arbres avec des arcs-connexions et des nœuds-éléments de données. La structure hiérarchique impliquait une inégalité entre les données – certaines étaient strictement subordonnées aux autres. Bien entendu, de telles structures satisfont clairement aux exigences de nombreux problèmes réels, mais pas de tous.

2. Modèle de données réseau. Dans les bases de données réseau, outre les connexions verticales, des connexions horizontales sont également implémentées. Cependant, de nombreux inconvénients du système hiérarchique ont été hérités, le principal étant la nécessité de définir clairement les connexions de données au niveau physique et de suivre tout aussi clairement cette structure de connexions lors de l'interrogation de la base de données.

3. Modèle relationnel. Le modèle relationnel est né de la volonté de rendre la base de données la plus flexible possible. Ce modèle fournissait un modèle simple et mécanisme efficace maintenir les liaisons de données.

Premièrement, toutes les données du modèle sont présentées sous forme de tableaux et uniquement de tableaux. Le modèle relationnel est le seul qui assure l'uniformité de la présentation des données. Les entités et les connexions entre ces mêmes entités sont représentées dans le modèle exactement de la même manière : les tables. Certes, cette approche complique la compréhension de la signification des informations stockées dans la base de données et, par conséquent, la manipulation de ces informations.

Permet d'éviter les difficultés de manipulation deuxième élément les modèles sont un langage relationnellement complet (notez que le langage fait partie intégrante de tout modèle de données, sans lui le modèle n'existe pas). L'exhaustivité du langage lorsqu'il est appliqué au modèle relationnel signifie qu'il doit effectuer n'importe quel opération d'algèbre relationnelle ou calcul relationnel(l'exhaustivité de ce dernier a été prouvée mathématiquement par E.F. Codd). De plus, le langage doit décrire toute requête en termes d'opérations sur les tables, et non sur leurs lignes. L'un de ces langages est SQL.

Troisième élément Le modèle relationnel nécessite que le modèle relationnel maintienne certaines contraintes d'intégrité. L'une de ces contraintes stipule que chaque ligne d'une table doit avoir un identifiant unique appelé clé primaire. La deuxième limitation est imposée sur l'intégrité des liens entre les tables. Il indique que les attributs de table qui font référence aux clés primaires d'autres tables doivent avoir l'une de ces valeurs de clé primaire.

4. Modèle orienté objet. De nouveaux domaines de la technologie informatique, tels que la recherche scientifique, la conception assistée par ordinateur et l'automatisation institutionnelle, ont nécessité des bases de données capables de stocker et de traiter de nouveaux objets : texte, audio, vidéo et documents. Principales difficultés modélisation orientée objet Les données proviennent du fait qu’il n’existe pas d’appareil mathématique aussi développé sur lequel le système général pourrait être basé. C’est dans une large mesure la raison pour laquelle il n’existe toujours pas de modèle de base orienté objet. D’un autre côté, certains auteurs affirment que la situation générale modèle de données orienté objet au sens classique et ne peut être défini en raison de l'inadéquation du concept classique de modèle de données au paradigme de l'orientation objet. Malgré les avantages des systèmes orientés objet - mise en œuvre types de données complexes, connexion avec les langages de programmation, etc. - dans un futur proche, la supériorité des SGBD relationnels est garantie.

Examinons ces modèles de données plus en détail ci-dessous.

Modèle de base de données hiérarchique

Bases de données hiérarchiques- le premier modèle pour représenter une structure de données complexe. Les informations de la base de données hiérarchique sont organisées selon le principe d'une arborescence, sous forme de relations « ancêtres-descendants ». Chaque enregistrement peut avoir au plus un enregistrement parent et plusieurs enfants. Les relations entre enregistrements sont implémentées sous forme de pointeurs physiques d'un enregistrement à un autre. Principal inconvénient structure de base de données hiérarchique- incapacité à établir des relations" plusieurs à plusieurs", ainsi que les situations où un enregistrement a plusieurs ancêtres.

Bases de données hiérarchiques. Bases de données hiérarchiques peut être représenté graphiquement comme un arbre inversé composé d'objets différents niveaux. Le niveau supérieur (la racine de l'arbre) est occupé par un objet, le second par des objets du deuxième niveau, et ainsi de suite.

Il existe des connexions entre les objets ; chaque objet peut inclure plusieurs objets de niveau inférieur. De tels objets sont dans la relation d'un ancêtre (un objet plus proche de la racine) à un enfant (un objet d'un niveau inférieur), et un objet ancêtre peut n'avoir aucun enfant ou en avoir plusieurs, alors qu'un objet enfant n'a nécessairement que un ancêtre. Les objets ayant un ancêtre commun sont appelés jumeaux.

La base de données hiérarchique est le Catalogue Dossiers Windows, avec lequel vous pouvez travailler en lançant Explorer. Le niveau supérieur est occupé par le dossier Bureau. Au deuxième niveau se trouvent les dossiers Poste de travail, Mes documents, Voisinage réseau et Corbeille, qui sont les descendants du dossier Bureau et sont jumeaux entre eux. À son tour, le dossier Poste de travail est un ancêtre par rapport aux dossiers de troisième niveau - dossiers de disque (Disque 3.5 (A :), (C :), (D :), (E :), (F :)) et système dossiers (scanner, Bluetooth, etc.) - sur la Fig. 4.1.


Riz. 4.1.

L'organisation des données dans un SGBD de type hiérarchique est définie en termes de : élément, agrégat, enregistrement (groupe), relation de groupe, base de données.

Attribut(élément de données) - la plus petite unité d'une structure de données. En règle générale, chaque élément d'une description de base de données reçoit un nom unique. Il est désigné par ce nom lors du traitement. Un élément de données est aussi souvent appelé champ.
Enregistrer - une collection nommée d'attributs. L'utilisation d'enregistrements vous permet d'obtenir un ensemble de données logiquement connectés en un seul accès à la base de données. Ce sont les enregistrements qui sont modifiés, ajoutés et supprimés. Le type d'un enregistrement est déterminé par la composition de ses attributs. Instance d'enregistrement- un enregistrement spécifique avec une signification spécifique des éléments.
Attitude de groupe - relation hiérarchique entre des enregistrements de deux types. L'enregistrement parent (le propriétaire de la relation de groupe) est appelé enregistrement source et les enregistrements enfants (membres de la relation de groupe) sont appelés enregistrements subordonnés. Une base de données hiérarchique ne peut stocker que de telles structures arborescentes.

Entrée racine chaque arbre doit contenir une clé avec une valeur unique. Les clés des enregistrements non racines doivent avoir une valeur unique uniquement au sein de la relation de groupe. Chaque enregistrement est identifié par une clé concaténée complète, c'est-à-dire l'ensemble des clés de tous les enregistrements depuis la racine, le long d'un chemin hiérarchique.

À représentation graphique les relations de groupe sont représentées par des arcs d'un graphe orienté et les types d'enregistrements sont représentés par des sommets (diagramme de Bachman).

Pour les relations de groupe dans modèle hiérarchique un mode d’inclusion automatique et un abonnement fixe sont fournis. Cela signifie que pour qu'un enregistrement non racine soit mémorisé dans la base de données, son enregistrement parent doit exister.

Exemple

Considérons le modèle de données d'entreprise suivant (voir Figure 4.2) : une entreprise se compose de départements dans lesquels travaillent les employés. Chaque service peut avoir plusieurs employés, mais un employé ne peut pas travailler dans plus d'un service.

Par conséquent, pour systeme d'INFORMATION de gestion personnel, il est nécessaire de créer une relation de groupe composée d'un enregistrement parent DÉPARTEMENT (NOM DU DÉPARTEMENT, NOMBRE D'EMPLOYÉS) et d'un enregistrement enfant EMPLOYÉ (NOM, POSTE, SALAIRE). Cette relation est montrée sur la Fig. 4.2(a) (Par souci de simplicité, nous supposons qu'il n'y a que deux enregistrements enfants.)

Pour automatiser la comptabilité des contrats avec les clients, il est nécessaire de créer une autre structure hiérarchique : client - contrats avec lui - salariés impliqués dans l'exécution du contrat. Cette arborescence comprendra les enregistrements CUSTOMER (CUSTOMER_NAME, ADDRESS), CONTRACT(NUMBER, DATE, AMOUNT), CONTRACTOR (SURNAME, POSITION, DEPARTMENT_NAME) (

Il s'agit d'une base de données basée sur une structure arborescente. Selon le principe de construction, il ressemble un peu au système de fichiers d'un ordinateur. L’utilisation d’un tel modèle présente des avantages et des inconvénients, qui seront abordés dans cet article, accompagnés d’exemples détaillés.

Types de bases de données

Comme vous le savez, il existe quatre types de construction de bases de données :

  • Relationnel - SGBD tabulaire, où les informations sont présentées sous forme de lignes et de colonnes. Ce principe est utilisé pour construire des bâtiments dans Access par exemple.
  • Orientés objet - sont étroitement liés à la manière dont on travaille avec les objets), et c'est leur principal avantage, mais étant donné leur faible productivité, leur prévalence reste nettement inférieure aux relations.
  • Hybride - SGBD contenant deux des types ci-dessus à la fois.
  • Les hiérarchies font l’objet de l’attention de cet article. caractérisé par une structure arborescente.

L'exemple le plus célèbre de base de données hiérarchique est un produit créé par IBM appelé Information Management System, en abrégé IMS. La première version d’IMS a été publiée au XXe siècle, en l’an soixante-huit. Il est encore utilisé aujourd’hui pour stocker et contrôler les données.

Le principe de construction d'un modèle hiérarchique

Le modèle de données hiérarchique est construit selon le principe suivant :

  • pour chaque nœud de la structure arborescente, un certain segment est attribué ;
  • Un segment fait référence à des champs de données avec un nom attribué à chaque champ et disposés en un tuple linéaire ;
  • une autre correspondance : un segment d'entrée et plusieurs segments de sortie pour chaque champ source ;
  • pour chaque élément structurel il y a une et une seule place dans le système hiérarchique ;
  • la structure arborescente part de l'élément racine ;
  • Chaque nœud esclave n'a qu'un seul ancêtre, mais chaque nœud parent peut avoir plusieurs enfants.

Application d'une structure de données hiérarchique

Une base de données hiérarchique est un stockage applicable aux systèmes qui ont initialement une structure arborescente. Pour eux, le choix d’une telle modélisation est logique.

Un exemple de base de données hiérarchique avec des diplômes initialement systématisés est une unité militaire dans laquelle, comme nous le savons, les grades sont clairement définis. Il peut également s'agir de mécanismes complexes, constitués de particules de plus en plus simples vers le bas de la hiérarchie. Pour modéliser de tels systèmes et les amener sous la forme de la base de données considérée, aucune décomposition n'est nécessaire. Cependant, cette situation ne se produit pas toujours.

De plus, une requête descendante a tendance à être plus simple qu’une requête ascendante.

Opérations de base sur des bases de données construites sur un modèle hiérarchique

La structure de la base de données hiérarchique vous permet d'effectuer avec succès et de manière presque transparente (en fonction des compétences et des capacités) les opérations suivantes (les plus élémentaires sont présentées, la liste peut toujours être élargie avec de petits ajouts) :

  • rechercher dans la base de données un élément particulier ;
  • transition à travers la base de données - d'arbre en arbre ;
  • se déplacer le long d'un arbre - de branche en branche ;
  • En conséquence, la transition le long des branches se fait élément par élément ;
  • travailler avec des enregistrements : en insérer un nouveau et/ou supprimer l'actuel, copier, couper, etc.

Description généralisée de la structure

Le terme « arborescent » pour décrire la structure est mentionné à plusieurs reprises dans cet article. Il est temps de dire d'où il vient. En effet, une base de données hiérarchique est une base de données qui utilise le type de données « arbre ». Regardons de plus près ce que c'est.

Il s'agit d'un type composé : chaque élément (nœud) contient plusieurs éléments suivants (un ou plusieurs). Et tout commence par un élément racine. Le fait est que chacune des pièces de type « arbre » est un sous-type, également un « arbre ». De très nombreuses structures ramifiées et toujours ordonnées.

Les types élémentaires peuvent être simples ou composés, mais il s’agit essentiellement toujours d’enregistrements. Mais en enregistrement simple il y en a un et dans le composite il y en a tout un ensemble.

Le modèle hiérarchique est caractérisé par le principe de descendance, lorsque chaque segment précédent est l'ancêtre du suivant. De plus, un descendant d'un type parent est un type subordonné, tandis que les enregistrements équivalents les uns aux autres sont considérés comme des jumeaux.

Remplir la base de données

Les données principales d'une base de données hiérarchique sont les valeurs (chiffres ou symboles) stockées dans les enregistrements. Une telle base de données est généralement parcourue de bas en haut et de gauche à droite.

Avantages

Une base de données hiérarchique est une base de données qui possède un dossier racine et se ramifie progressivement vers le bas. Étant donné qu'une telle structure est très similaire à un système de fichiers, de telles bases de données sont utilisées avec succès pour effectuer diverses opérations sur des données informatiques. Le résultat : une répartition rationnelle de sa mémoire, ainsi que des indicateurs très corrects du temps passé au travail.

Le modèle hiérarchique est idéal pour l’utiliser pour organiser l’information.

Défauts

Cependant, les mêmes caractéristiques du SGBD considéré, qui sont devenues leurs principaux avantages, déterminent également leurs inconvénients. Par exemple, l'encombrement et la complexité des connexions logiques - il sera difficile à comprendre pour un spécialiste expérimenté lorsqu'il travaillera avec une base de données jusqu'alors inconnue, et un simple utilisateur s'y perdra complètement. Cette complexité de compréhension conduit au fait que peu de SGBD sont réellement construits sur un modèle hiérarchique. Un exemple de base de données hiérarchique est, en plus du produit déjà décrit d'IBM, Oka et MIRIS (fabriqués en Russie), ainsi que Data Edge et Team-UP (provenant de sociétés étrangères).

Exemples

Une base de données hiérarchique est constituée d'une variété de niveaux différents sur lesquels les relations sont construites. Schématiquement, cela ressemble à un graphique inversé. Un exemple de base de données hiérarchique est n’importe quelle agence administrative gouvernementale. Prenons, par exemple, l'école.

Au plus haut niveau se trouvera le « chef » de l’administration – le directeur. Les directeurs lui sont subordonnés et les directeurs ont des enseignants qui gèrent des classes parallèles. Chaque parallèle en compte un certain nombre, et chaque classe compte un certain nombre d'élèves.

Le même principe peut être utilisé pour décrire la gestion d’une société. Le chef d’entreprise ou même le conseil d’administration se trouve tout en haut. Ensuite, un nombre croissant de divisions, chacune ayant sa propre structure. Il existe également des traits communs : le chef de chaque service, son assistant, sa secrétaire, les employés de bureau eux-mêmes, etc.

Application dans les ordinateurs

Il peut y avoir des applications plus sérieuses. Un exemple frappant Une base de données hiérarchique est un système de fichiers. Le familier « Explorateur » est intégré au cœur même du système d'exploitation Windows selon exactement ce schéma, tout comme de nombreux autres gestionnaires de fichiers.

Bases de données réseau

Exister:

  • relationnel;
  • hiérarchique;
  • bases de données réseau.

Pourquoi avons-nous repensé à la classification ? Car contrairement à une base de données relationnelle, une base de données réseau présente des fonctionnalités similaires à une base de données hiérarchique.

Il est temps de se souvenir dans les bases de données. Il existe des relations un-à-un, un-à-plusieurs et plusieurs-à-plusieurs. C'est ce dernier qui nous intéresse. Dans une base de données réseau, cela se manifeste ainsi : un nœud successeur peut avoir plusieurs ancêtres à la fois. La propriété d'avoir plusieurs descendants est également préservée. On peut dire que bases hiérarchiques données, les bases de données réseau elles-mêmes sont déjà un exemple d’un tel héritage. L'ancêtre dans ce cas est précisément la base de données hiérarchique, puisque le principe de construction de la structure dans les bases de données en réseau reste le même.

Hiérarchie et relationnalité

Le nom « relationnel » vient de mot anglais"attitude". Comme mentionné au début de l’article, ils sont souvent exprimés sous forme de tableaux. Mais dans le paragraphe précédent nous avons indiqué qu'une base de données hiérarchique peut aussi organiser des connexions, cela signifie-t-il qu'entre ces deux types il y a une sorte de fil mince qui les unit ?

Oui. Outre le fait que les premier et deuxième types concernent toujours les bases de données, en plus de cette fonctionnalité, il existe une autre propriété commune. Par exemple, une base de données hiérarchique (et une base de données réseau qui l'accompagne) peut être exprimée dans un tableau. Il ne s’agit pas ici de savoir sous quelle forme les informations sont présentées. utilisateur final(c'est déjà une question de convivialité de l'interface), mais sur quel principe l'information a-t-elle été structurée. Ainsi, une division claire en départements avec leurs chefs, divisions, etc. sera toujours exprimée dans la hiérarchie, mais pour plus de commodité, elle est répertoriée dans un tableau.