Modèle de données relationnel. Informations de base sur la base de données. Concepts : base de données, domaine thématique, structuration des données, systèmes de gestion de bases de données

Dans ce chapitre nous mettrons en évidence et caractériserons les principales classes du SGBD.

La classification principale des SGBD est basée sur le modèle de base de données utilisé. Sur la base de ce critère, on distingue plusieurs classes de SGBD : hiérarchique, réseau, relationnel, objet et autres. Certains SGBD peuvent prendre en charge simultanément plusieurs modèles de données.

Les SGBD antérieurs, tels que ceux hiérarchiques et en réseau, ont une structure arborescente et sont construits sur le principe « Ancêtre - Descendant ». Mais de tels systèmes sont déjà devenus obsolètes et sont de moins en moins utilisés.

Les SGBD relationnels ont remplacé les SGBD hiérarchiques et réseau.

Caractéristiques du SGBD relationnel

Les premiers développements théoriques dans le domaine des SGBD relationnels ont été obtenus dans les années 70, parallèlement à l'apparition des premiers prototypes de SGBD relationnels. Pendant longtemps, il a été considéré comme impossible de parvenir à une mise en œuvre efficace de tels systèmes. Cependant, l'accumulation progressive de méthodes et d'algorithmes pour organiser et gérer des bases de données relationnelles a conduit au fait que déjà au milieu des années 80, les systèmes relationnels ont pratiquement remplacé les premiers SGBD du marché mondial.

L'approche relationnelle de l'organisation d'un SGBD suppose la présence d'un ensemble de relations (tableaux bidimensionnels) interconnectées. Une relation dans ce cas est l'association de deux ou plusieurs relations (tables). Une base de données qui n'a pas de connexions entre les relations a une structure très limitée et ne peut pas être qualifiée de relationnelle. Les requêtes vers de telles bases de données renvoient une table qui peut être réutilisée dans la requête suivante. Les données de certains tableaux, comme nous l'avons dit, sont liées aux données d'autres tableaux, d'où le nom « relationnel ».

L'approche relationnelle de la construction d'un SGBD présente un certain nombre d'avantages. Baydak A.Ya., Boulgakov A.A. Les SGBD modernes et leur application dans le secteur de l'énergie [ Ressource électronique]. - Mode d'accès : http://masters. donntu.edu.ua/2010/etf/baydak/library/article2. htm. - Casquette. depuis l'écran :

Disponibilité petit ensemble des abstractions qui permettent de modéliser les domaines problématiques les plus courants de manière relativement simple et permettent des définitions formelles précises tout en restant intuitives ;

La présence d'un appareil mathématique simple et en même temps puissant, basé principalement sur la théorie des ensembles et la logique mathématique et fournissant la base théorique de l'approche relationnelle de l'organisation des bases de données ;

Possibilité de manipulation de données non liées à la navigation sans avoir besoin de connaître l'organisation physique spécifique des bases de données en mémoire externe.

Le modèle relationnel a une base théorique stricte. Cette théorie a contribué à la création du langage déclaratif SQL, devenu aujourd'hui le langage standard pour définir et manipuler des bases de données relationnelles. Les autres atouts du modèle relationnel sont sa simplicité, son adéquation aux systèmes de traitement des transactions en ligne (OLTP) et son indépendance des données. Cependant, le modèle de données relationnel et le SGBD relationnel, en particulier, présentent certains inconvénients.

Le principal inconvénient des SGBD relationnels est l'utilisation limitée inhérente de ces systèmes dans des domaines nécessitant des structures de données assez complexes. L'un des principaux aspects du modèle de données relationnel traditionnel est l'atomicité (unicité et indivisibilité) des données, qui sont stockées à l'intersection des lignes et des colonnes du tableau. Cette règle était à la base de l’algèbre relationnelle lorsqu’elle a été développée comme modèle de données mathématiques. De plus, la mise en œuvre spécifique du modèle relationnel ne permet pas de refléter adéquatement de vraies connexions entre les objets du domaine décrit. Ces limitations entravent considérablement la mise en œuvre efficace d’applications modernes, qui nécessitent des approches légèrement différentes en matière d’organisation des données.

Le principe de base du modèle relationnel est d'éliminer les champs et les groupes en double grâce à un processus appelé normalisation. Les tableaux plats normalisés sont universels, faciles à comprendre et théoriquement suffisants pour présenter des données dans n'importe quel domaine. Ils sont bien adaptés aux applications de stockage et d'affichage de données dans les secteurs traditionnels tels que la banque ou systèmes comptables, mais leur application dans des systèmes basés sur des structures de données plus complexes est souvent difficile. Cela est principalement dû au caractère primitif des mécanismes de stockage de données qui sous-tendent le modèle relationnel Nikitin M. L'ère des SGBD relationnels est-elle terminée ? [Ressource électronique]. - Mode d'accès : http://www.cnews.ru/reviews/free/marketBD/articles/articles2. shtml. - Casquette. depuis l'écran.

Aujourd'hui, les fabricants bien connus de SGBD relationnels sont les suivants - ORACLE, Informix, IBM (DB2), Sybase, Microsoft (MS SQL Server), Progress et autres. Dans leurs produits, les fabricants de SGBD se concentrent sur le travail sur divers types ordinateurs (des ordinateurs centraux aux ordinateurs portables) et sur divers systèmes d'exploitation (OS). De plus, les fabricants de SGBD n'ont pas ignoré les produits qui fonctionnent sur les ordinateurs de bureau, tels que dBase, FoxPro, Access, etc. Les données du SGBD sont conçues pour fonctionner sur un PC et résolvent tâches locales sur un PC ou un petit groupe de PC. Souvent, les données du SGBD sont utilisées comme une image miroir d'une petite partie du SGBD global de l'entreprise, afin de minimiser les coûts en matériel et en ressources nécessaires à la résolution de petits problèmes.

Différents SGBD fonctionnent sous différents systèmes d'exploitation et matériels. Les plus connus parmi ces systèmes d'exploitation sont UNIX, VAX, Solaris, Windows. En fonction du volume de stockage de données, du nombre d'utilisateurs accédant simultanément aux données et de la complexité des tâches, différents SGBD sont utilisés sur différentes plates-formes. Par exemple, le SGBD Oracle sous Unix, installé sur un serveur multiprocesseur, permet de résoudre les problèmes de fourniture de données à des centaines de milliers d'utilisateurs Ponomarev I.S. Systèmes de gestion de bases de données [Ressource électronique]. - Mode d'accès : http://mathmod. aspu.ru/images/File/Ponomareva/TM10_About%20BD. pdf. - P. 2.

Actuellement, les SGBD orientés opérationnels présentent le plus grand intérêt. Système Windows en utilisant la plateforme Intel.

Modèle de données logique, une théorie mathématique rigoureuse qui décrit les aspects structurels, d'intégrité et de traitement des bases de données relationnelles.

  • Aspect structurel (composant) - les données de la base de données sont un ensemble de relations.
  • Un aspect (composant) de l'intégrité - les relations (tables) répondent à certaines conditions d'intégrité. RMD prend en charge les contraintes d'intégrité déclarative au niveau du domaine (type de données), au niveau de la relation et au niveau de la base de données.
  • Aspect (composant) du traitement (manipulation) - RMD prend en charge les opérateurs de manipulation de relations (algèbre relationnelle, calcul relationnel).

De plus, la théorie de la normalisation est généralement incluse dans le modèle de données relationnelles.

Le modèle de données relationnelles est une application aux problèmes de traitement de données dans des branches mathématiques telles que la théorie des ensembles et la logique formelle.

Le terme « relationnel » signifie que la théorie est basée sur le concept mathématique de relation. Le mot table est souvent utilisé comme synonyme informel du terme « relation ». Il ne faut pas oublier que « table » est un concept vague et informel et ne signifie souvent pas « relation » en tant que concept abstrait, mais plutôt une représentation visuelle de la relation sur papier ou sur écran.

Pour une meilleure compréhension du RMD, trois circonstances importantes doivent être notées :

  • le modèle est logique, c'est-à-dire les relations sont des structures logiques (abstraites) plutôt que physiques (stockées) ;
  • vrai pour les bases de données relationnelles principe d'information: tout le contenu informationnel de la base de données est représenté d'une et une seule manière, à savoir en spécifiant explicitement les valeurs d'attribut dans les tuples en relation ; en particulier, il n'existe pas de pointeurs (adresses) reliant une valeur à une autre ;
  • La présence de l'algèbre relationnelle permet une programmation déclarative et des descriptions déclaratives des contraintes d'intégrité, en plus de la programmation de navigation (procédurale) et de la vérification des conditions procédurales.

Les principes du modèle relationnel ont été formulés en 1969-1970 par E. F. Codd. Les idées de Codd ont été détaillées pour la première fois dans l'article « Un modèle relationnel de données pour les grandes banques de données partagées », devenu un classique.

Une présentation rigoureuse de la théorie des bases de données relationnelles (modèle de données relationnelles) en compréhension moderne peut être trouvé dans le livre de K. J. Data. "C. J.Date. Une introduction aux systèmes de bases de données » (« Date, K. J. Introduction aux systèmes de bases de données »).

Les alternatives au modèle relationnel sont le modèle hiérarchique et modèle de réseau. Certains systèmes utilisant ces anciennes architectures sont encore utilisés aujourd’hui. De plus, nous pouvons mentionner le modèle de données objet sur lequel sont construits les SGBD dits objets, bien qu'il n'existe pas de définition claire et généralement acceptée d'un tel modèle.

Avantages du modèle relationnel

  • Simplicité et facilité de compréhension par l'utilisateur final - la seule structure d'information est un tableau.
  • Lors de la conception d’une base de données relationnelle, des règles strictes basées sur des appareils mathématiques sont appliquées.
  • Indépendance totale des données. Lors de la modification de la structure relationnelle, les modifications à apporter aux programmes d'application sont minimes.
  • Pour construire des requêtes et écrire des programmes d’application, il n’est pas nécessaire de connaître l’organisation spécifique de la base de données en mémoire externe.

Inconvénients du modèle relationnel

  • Vitesse d'accès relativement faible et grande quantité de mémoire externe.
  • Difficulté à comprendre la structure des données en raison de l'apparition d'un grand nombre de tableaux résultant d'une conception logique.
  • Il n'est pas toujours possible de présenter un domaine sous la forme d'un ensemble de tableaux.

Au début

Bases de données et SGBD

Systèmes d'information

L'une des conditions les plus importantes pour assurer le fonctionnement efficace de toute organisation est la présence d'un système d'information développé. Système d'Information met en œuvre la collecte, le traitement et la manipulation automatisés des données, contient des moyens techniques de traitement des données, des logiciels et du personnel de maintenance.

La forme moderne des systèmes d'information sont les banques de données, qui comprennent un système informatique, une ou plusieurs bases de données (DB), un système de gestion de bases de données (SGBD) et un ensemble de programmes d'application (AP). Les principales fonctions des banques de données sont :

Stockage et protection des données ;

Modification (mise à jour, ajout et suppression) des données stockées ;

Recherche et sélection de données en fonction des demandes des utilisateurs ;

Traitement des données et sortie des résultats.

Base de donnéesfournit le stockage d'informations et constitue une collection nommée de données organisée selon certaines règles, notamment principes généraux description, stockage et manipulation des données.

Système de gestion de base de données est un ensemble de programmes d'application et un ensemble d'outils linguistiques conçus pour créer, maintenir et utiliser des bases de données.

Programmes d'application (applications) faisant partie des banques de données sont utilisées pour le traitement des données, les calculs et la génération de documents de sortie sous une forme donnée.

Applicationest un programme ou un ensemble de programmes qui utilisent une base de données et assurent l'automatisation du traitement des informations dans un certain domaine. Les applications peuvent être créées à la fois dans l'environnement SGBD et en dehors du SGBD - à l'aide d'un système de programmation, par exemple,Delphes ou C++Constructeur, en utilisant des outils d'accès aux bases de données.

Pour travailler avec une base de données, dans de nombreux cas, vous ne pouvez utiliser que des outils SGBD, par exemple pour créer des requêtes et des rapports. Les applications sont développées principalement dans les cas où il est nécessaire d'assurer la commodité de travailler avec la base de données pour les utilisateurs non qualifiés ou où l'interface du SGBD ne convient pas à l'utilisateur.

L'avantage le plus important de l'utilisation de bases de données dans les systèmes d'information est de garantir l'indépendance des données par rapport aux programmes d'application. Il n'est pas nécessaire de traiter les problèmes de placement des données en mémoire, de méthodes d'accès, etc.

Cette indépendance est obtenue grâce à la présentation multi-niveaux des données dans la base de données aux niveaux logique (utilisateur) et physique pris en charge par le SGBD.

En règle générale, le critère principal du fonctionnement optimal d'une base de données réside dans les caractéristiques temporelles de la mise en œuvre des demandes des utilisateurs par les programmes d'application.

Outils de création de base de données

Systèmes de fichiers

Développement des concepts de base de la représentation des données

Tout processus informatique est une cartographie de certaines données d’entrée en données de sortie.

Le rapport entre la complexité de la représentation des données traitées et l'algorithme de calcul détermine deux classes de problèmes :

- tâches de calcul - une présentation assez simple des données et un processus de calcul complexe ;

- tâches de traitement de données (tâches non informatiques) – un algorithme de traitement de données simple et complexeprésentation des données traitées.

Conformément à cela, il est nécessaire de prêter attention à la fois au développement d'un algorithme pour résoudre le problème et aux méthodes de présentation des données traitées.

Depuis la fin des années 60, les ordinateurs ont été intensivement utilisés pour résoudre des problèmes dits non informatiques associés au traitement de divers types de documents. Lors de l'utilisation de systèmes de fichiers, les données sont stockées dans un fichier conçu uniquement pour cette tâche. Dans ce cas, une description des données est incluse dans le programme d'application. La modification du format d'enregistrement du fichier nécessite la modification du programme d'application. Ainsi, le système logiciel qui résout le problème définit et gère ses propres données.

Inconvénients des systèmes de fichiers

1. La structure d'enregistrement d'un fichier n'est connue que du programme dans lequel il a été créé. Changer la structure nécessite de changer les programmes qui utilisent ce fichier de données. Ainsi, les programmes dépendent des données .

2. Problèmes d'autorisation d'accès. Vous pouvez utiliser les outils du système d'exploitation pour restreindre l'accès. Cette solution est possible, mais peu pratique. Nous avons besoin de méthodes centralisées pour accéder à l’information.

3. Problèmes d'organisation de l'accès multi-utilisateurs. Les systèmes de gestion de fichiers proposent un mode multi-utilisateurs, mais possèdent des fonctionnalités qui les rendent difficiles à utiliser pour les bases de données. Il n'y a aucun problème lors de la lecture des données de plusieurs utilisateurs. Apporter des modifications nécessite de synchroniser les actions des utilisateurs. Généralement, lors de l'ouverture d'un fichier, le mode (lecture/écriture) est indiqué. Si à ce stade le fichier est ouvert par un autre processus en mode modification, le système d'exploitation signale que le fichier ne peut pas être ouvert ou que l'action est bloquée jusqu'à la fermeture de l'autre processus. Dans tous les cas, soit plusieurs utilisateurs ne peuvent pas modifier la base de données en même temps, soit le processus est lent.

Dans un programme d'application qui utilise un ou plusieurs fichiers séparés, le programmeur travaillant sur cette tâche était responsable de la sécurité et de la fiabilité des données. Utiliser une base de données implique de travailler avec elle dans plusieurs programmes d'application, résolveurs de problèmes différents utilisateurs.

Naturellement, un programmeur résolvant l'un des problèmes appliqués ne peut plus être responsable de la sécurité et de la fiabilité des données intégrées. De plus, l'élargissement de l'éventail des tâches résolues à l'aide d'une base de données peut conduire à l'émergence de nouveaux types d'enregistrements et de relations entre eux. Un tel changement dans la structure de la base de données ne devrait pas entraîner de modifications dans la multitude de systèmes logiciels d'application précédemment développés et fonctionnant avec succès qui fonctionnent avec la base de données. D’un autre côté, une éventuelle modification de l’un des programmes d’application ne devrait pas entraîner de modification de la structure des données. Tout ce qui précède déterminela nécessité de séparer les données des programmes d'application.

Systèmes de gestion de bases de données

Le rôle d'interface entre les programmes d'application et la base de données, assurant leur indépendance, est joué par un progiciel - un système de gestion de base de données (SGBD).

Un SGBD est un progiciel permettant de prendre en charge un ensemble intégré de données, conçu pour créer, maintenir et utiliser une base de données par de nombreux utilisateurs (programmes d'application).

Fonctions de base d'un système de gestion de base de données.

1. Définition de la structure base créée les données, leur initialisation et leur chargement initial

2. Offrir aux utilisateurs la possibilité de manipuler des données (sélection des données nécessaires, réalisation de calculs, développement d'une interface d'entrée/sortie, visualisation).

3. Assurer l'indépendance des programmes applicatifs et (indépendance logique et physique).

4. Protéger l'intégrité logique de la base de données.

5. Protéger l’intégrité physique.

6. Gestion des autorisations des utilisateurs pour accéder à la base de données.

7. Synchronisation du travail de plusieurs utilisateurs.

8. Gestion des ressources de l'environnement de stockage.

9. Soutenir les activités du personnel du système.

1. Détermination de la structure de la base de données à créer, de son initialisation et de son chargement initial. Dans la plupart des SGBD modernes, la base de données est représentée comme un ensemble de tables.

2. Offrir aux utilisateurs la possibilité de manipuler des données (sélection des données nécessaires, réalisation de calculs, développement d'une interface d'entrée/sortie, visualisation). De telles capacités dans un SGBD sont présentées soit via l'utilisation d'un langage de programmation spécial inclus dans le SGBD, soit à l'aide d'une interface graphique.

3. Assurer l’indépendance des programmes applicatifs et des données (indépendance logique et physique). La propriété la plus importante d'un SGBD est la capacité à prendre en charge deux vues indépendantes de la base de données : la « vue de l'utilisateur », incarnée dans la représentation logique des données, et son reflet dans les programmes d'application ; et « vue système » - la représentation physique des données dans la mémoire de l'ordinateur. Garantir l'indépendance logique des données offre la possibilité de modifier (dans certaines limites) la représentation logique de la base de données sans avoir à modifier les structures physiques de stockage des données. Ainsi, la modification de la représentation logique des données dans les programmes d'application n'entraîne pas de modifications dans les structures de stockage des données. Assurer l'indépendance physique des données permet de modifier (dans certaines limites) les modalités d'organisation d'une base de données en mémoire informatique sans entraîner la nécessité de modifier la représentation « logique » des données. Ainsi, changer l’organisation de la base de données ne change pas les programmes d’application.

4. Protéger l'intégrité logique de la base de données.

L'objectif principal de la mise en œuvre de cette fonction est d'augmenter la fiabilité des données de la base de données. La fiabilité des données peut être compromise lors de leur saisie dans la base de données ou en raison d'actions illégales de procédures de traitement de données qui reçoivent et saisissent des données incorrectes dans la base de données. Pour augmenter la fiabilité des données, des contraintes dites d'intégrité sont déclarées dans le système, qui dans certains cas « détectent » des données incorrectes. Ainsi, dans tous les SGBD modernes, la conformité des données saisies avec leur type décrit lors de la création de la structure est vérifiée. Le système ne vous permettra pas de saisir un caractère dans le champ type numérique, ne vous permettra pas de saisir une date invalide, etc. Dans les systèmes développés, les contraintes d'intégrité sont décrites par le programmeur en fonction de la signification significative du problème, et elles sont vérifiées à chaque fois que les données sont mises à jour. En détails

5. Protéger l'intégrité physique. Lors de l'utilisation d'un ordinateur, des dysfonctionnements (par exemple dus à une panne de courant) et des dommages aux supports de stockage de l'ordinateur sont possibles. Dans ce cas, les connexions entre les données peuvent être rompues, ce qui conduit à l'impossibilité de poursuivre les travaux. Les SGBD développés disposent d'outils de récupération de base de données. Le concept le plus important utilisé est celui de « transaction ». Transaction est une unité d'actions effectuées avec la base de données. Une transaction peut contenir plusieurs instructions de modification de base de données, mais soit toutes sont exécutées, soit aucune n'est exécutée. Le SGBD, en plus de gérer la base de données elle-même, gère également un journal des transactions.

Nous illustrerons la nécessité d'utiliser des transactions dans des bases de données à l'aide d'un exemple simplifié. Supposons que la base de données soit utilisée dans une certaine banque et que l'un des clients souhaite transférer de l'argent sur le compte d'un autre client de la banque. La base de données stocke des informations sur le montant d’argent dont dispose chaque client. Nous devons apporter deux modifications à la base de données : réduire le montant d'argent sur le compte de l'un des clients et, en conséquence, augmenter le montant d'argent sur l'autre compte. Bien entendu, transférer de l’argent dans une banque est un processus beaucoup plus complexe impliquant de nombreuses tables et éventuellement de nombreuses bases de données. Cependant, l'essence reste la même : vous devez soit effectuer toutes les actions (augmenter le compte d'un client et diminuer le compte d'un autre), soit n'effectuer aucune de ces actions. Vous ne pouvez pas réduire le montant d’argent sur un compte mais ne pas augmenter le montant d’argent sur un autre.

Supposons également qu'après avoir effectué la première action (diminuer le montant d'argent sur le compte du premier client), un échec se soit produit. Par exemple, la connexion entre l'ordinateur client et la base de données peut avoir été interrompue ou un problème peut être survenu sur l'ordinateur client. défaillance du système ce qui a conduit à un redémarrage système opérateur. Qu'est-il arrivé à la base de données dans ce cas ? La commande visant à diminuer l'argent sur le compte du premier client a été exécutée, mais la deuxième commande visant à augmenter l'argent sur l'autre compte ne l'a pas été, ce qui entraînerait un état de base de données incohérent et obsolète.

L'utilisation du mécanisme de transaction vous permet de trouver une solution dans ce cas et dans des cas similaires. Avant d'effectuer la première action, une commande de démarrage de transaction est émise. La transaction comprend l'opération consistant à retirer de l'argent d'un compte et à augmenter le montant sur un autre compte. L'instruction de fin de transaction est généralement appelée COMMIT. La transaction n'ayant pas été complétée depuis la première action, aucune modification ne sera apportée à la base de données. Les modifications ne sont apportées (engagées) qu’une fois la transaction terminée. Jusqu'à ce que cette déclaration soit émise, aucune donnée ne sera enregistrée dans la base de données. Dans notre exemple, puisque la déclaration de validation de la transaction n'a pas été émise, la base de données « reviendra » à son état d'origine - en d'autres termes, les montants des comptes clients resteront les mêmes qu'avant le début de la transaction. L'administrateur de la base de données peut surveiller l'état des transactions et, si nécessaire, annuler manuellement les transactions.

De plus, dans des cas évidents, le SGBD décide indépendamment de « annuler » la transaction.

Les transactions ne doivent pas nécessairement être courtes. Il existe des transactions qui durent plusieurs heures voire plusieurs jours. Une augmentation du nombre d'actions au sein d'une transaction nécessite une augmentation du nombre d'actions occupées ressources système. Il est donc conseillé de maintenir les transactions aussi courtes que possible. Toutes les transactions sont enregistrées dans le journal des transactions - à la fois validées et celles terminées par « rollback ». La tenue d'un journal des transactions ainsi que la création de sauvegardes de base de données vous permettent d'obtenir une fiabilité élevée de la base de données.

Supposons que la base de données ait été corrompue à la suite d'une panne matérielle de l'ordinateur sur lequel le serveur SGBD était installé. Dans ce cas, vous devez utiliser la sauvegarde de base de données et le journal des transactions les plus récents. De plus, il vous suffit d'appliquer à la base de données les transactions validées après la création de la sauvegarde. La plupart des SGBD modernes permettent à l'administrateur de recréer la base de données sur la base d'une sauvegarde et d'un journal des transactions. Dans de tels systèmes, à un moment donné, la base de données est copiée sur un support de sauvegarde. Tous les accès à la base de données sont enregistrés par programme dans le journal des modifications. Si la base de données est détruite, une procédure de récupération est lancée, au cours de laquelle toutes les modifications apportées sont apportées à la copie de sauvegarde à partir du journal des modifications.

6. Gestion des autorisations des utilisateurs pour accéder à une base de données.

Différents utilisateurs peuvent avoir des autorisations différentes pour travailler avec les données (certaines données doivent être inaccessibles ; certains utilisateurs ne sont pas autorisés à mettre à jour les données, etc.). Le SGBD propose des mécanismes de délimitation des pouvoirs d'accès, basés soit sur des principes de mots de passe, soit sur une description des pouvoirs.

7. Synchroniser le travail de plusieurs utilisateurs.

Très souvent, il peut arriver que plusieurs utilisateurs effectuent simultanément une opération de mise à jour sur les mêmes données. De telles collisions peuvent conduire à une violation de l'intégrité logique des données, le système doit donc prévoir des mesures qui empêchent les autres utilisateurs de mettre à jour les données jusqu'à ce que l'utilisateur travaillant avec ces données ait complètement fini de travailler avec elles. Le concept principal utilisé ici est celui de « blocage ». Serrures sont nécessaires pour éviter que différents utilisateurs ne travaillent simultanément avec la base de données, car cela pourrait entraîner des erreurs.

Pour mettre en œuvre cette interdiction, le SGBD définit un verrou sur les objets utilisés par la transaction. Il existe différents types de verrous - table, page, ligne et autres, qui diffèrent les uns des autres par le nombre d'enregistrements verrouillés.

Le verrouillage de ligne est utilisé le plus souvent : lorsqu'une transaction accède à une ligne, seule cette ligne est verrouillée, les lignes restantes restent disponibles pour modification.

Ainsi, le processus de modification de la base de données comprend la séquence d'actions suivante : une instruction de démarrage de transaction est émise, une instruction de modification de données est émise, le SGBD analyse l'instruction et tente d'établir les verrous nécessaires à son exécution, si le le blocage réussit, l'instruction est exécutée, puis le processus est répété pour l'opérateur de transaction suivant. Une fois que toutes les instructions d’une transaction se sont terminées avec succès, l’instruction de validation de transaction est exécutée. Le SGBD valide les modifications apportées par la transaction et libère les verrous. Si l'un des opérateurs échoue, la transaction est « annulée », les données reçoivent leurs valeurs précédentes et les verrous sont libérés.

8. Gestion des ressources de l'environnement de stockage.

La base de données se trouve dans la mémoire externe de l'ordinateur. Lorsque vous travaillez dans la base de données, de nouvelles données sont saisies (la mémoire est occupée) et les données sont supprimées (la mémoire est libérée). Le SGBD alloue des ressources mémoire pour les nouvelles données, redistribue la mémoire libérée, organise une file d'attente de requêtes vers la mémoire externe, etc.

9. Soutenir les activités du personnel du système.

Lors de l'exploitation d'une base de données, il peut s'avérer nécessaire de modifier les paramètres du SGBD, de sélectionner de nouvelles méthodes d'accès, de modifier (dans certaines limites) la structure des données stockées, ainsi que d'effectuer un certain nombre d'autres actions à l'échelle du système. Le SGBD offre la possibilité d'effectuer ces actions et d'autres pour prendre en charge les activités de la base de données au personnel du système qui dessert la base de données, appelé administrateur de la base de données.

Classement SGBD

Les SGBD sont généralement divisés selon le modèle de données utilisé (comme les bases de données) dans les types suivants : hiérarchique, réseau, relationnel et orienté objet.

En fonction de la nature de leur utilisation, les SGBD sont divisés en personnel(DBDP) et multi-utilisateur(DBDM).

Les SGBD personnels incluentVisuel FoxPro, Paradoxe, Tondeuse, dBase, Accéderetc. Les SGBD multi-utilisateurs incluent, par exemple, les SGBDOracle Et Informix.SGBD multi-utilisateurs inclure un serveur de base de données et une partie client, fonctionner dans un environnement informatique hétérogène - différents types d'ordinateurs et différents systèmes d'exploitation sont autorisés. Ainsi, sur la base d'un SGBD, il est possible de créer un système d'information fonctionnant selon la technologie client-serveur. La polyvalence des SGBD multi-utilisateurs se reflète donc dans le prix élevé et les ressources informatiques nécessaires à leur prise en charge.

Un SGBD est un ensemble d'outils linguistiques et logiciels conçus pour créer, maintenir et utiliser une base de données.

SGBD personnel offrent la possibilité de créer des bases de données personnelles et des applications peu coûteuses qui fonctionnent avec elles et, si nécessaire, de créer des applications qui fonctionnent avec le serveur de base de données.

Le composant de contrôle de nombreux SGBD est le noyau, qui remplit les fonctions suivantes :

- gestion des données dans la mémoire externe ;

- gestion des tampons RAM (zones de travail dans lesquelles les données sont pompées depuis la base de données pour augmenter la vitesse de travail) ;

- gestion des transactions.

Transaction - il s'agit d'une séquence d'opérations sur une base de données, considérée par le SGBD comme un tout. Sous transaction fait référence à l'impact sur la base de données, en la transférant d'un état intégral à un autre. L'impact s'exprime par les modifications apportées aux données dans les tables de la base de données.

Si l'une des modifications apportées à la base de données dans le cadre d'une transaction échoue, une restauration doit être effectuée à l'état de la base de données qui s'est produit avant le début de la transaction. Par conséquent, toutes les modifications apportées à la base de données dans le cadre d'une transaction sont soit confirmées simultanément, soit aucune d'entre elles n'est confirmée.

Une fois exécutée, la transaction peut être terminée avec succès et le SGBD enregistrera les modifications apportées dans la mémoire externe. Si le matériel du PC tombe en panne, aucune des modifications ne sera reflétée dans la base de données. Le concept de transaction est nécessaire pour maintenir l'intégrité logique de la base de données.

Assurer l'intégrité de la base de données - une condition nécessaire au bon fonctionnement de la base de données. Intégrité de la base de données- une propriété d'une base de données, signifiant que la base de données contient des informations complètes et cohérentes nécessaires et suffisantes au bon fonctionnement des applications. Pour garantir l'intégrité de la base de données, des contraintes d'intégrité sont imposées sous la forme de certaines conditions qui doivent être remplies par les données stockées dans la base de données. Un exemple de telles conditions est la restriction des plages de valeurs possibles pour les attributs des objets dont les informations sont stockées dans la base de données, ou l'absence d'enregistrements en double dans les tables d'une base de données relationnelle.

Sécurité Ceci est réalisé dans un SGBD en cryptant les programmes d'application, les données, la protection par mot de passe et en prenant en charge les niveaux d'accès à la base de données et à une table séparée.

L'extension des capacités de l'utilisateur du SGBD est obtenue en connectant des systèmes pour construire des graphiques et des diagrammes, ainsi qu'en connectant des modules écrits dans des langages. la programmation.

Le support réseau est assuré par :

des moyens de contrôler l'accès des utilisateurs aux données partagées, c'est-à-dire des moyens de bloquer des fichiers (tables), des enregistrements, des champs, qui sont implémentés à des degrés divers dans différents SGBD ;

au moyen d'un mécanisme de transaction qui garantit l'intégrité de la base de données lors de son fonctionnement sur le réseau.

Prise en charge de l'interaction avec Applications Windows permet au SGBD d'intégrer des informations dans un rapport stocké dans des fichiers créés à l'aide d'autres applications, par exemple dans un documentMotou dans un classeurExceller, y compris les graphiques et le son. A cet effet, le SGBD prend en charge les mécanismes développés pour l'environnementles fenêtres, tel que: DDE { Dynamique Données Échange - échange de données dynamique) etOLE { Objet Mise en relation et Intégration - liaison et intégration d'objets).

Niveaux de présentation des données

Les approches modernes de création de bases de données impliquent leur organisation à trois niveaux. Cette méthode d'organisation d'une base de données a été proposée Institut national américain de normalisation (ANSI) ) et est utilisé partout.

Au niveau le plus élevé (extérieur), il peut y avoir de nombreux modèles. Ce niveau définit le point de vue des utilisateurs individuels (applications) sur la base de données. Chaque application voit et traite uniquement les données dont elle a besoin.

Au niveau conceptuel, la base de données est présentée sous la forme la plus générale, qui regroupe toutes les représentations externes du domaine. Au niveau conceptuel, nous disposons d'un modèle généralisé du domaine pour lequel la base de données a été créée. Il n'existe qu'une seule représentation conceptuelle. Lors du développement d'un modèle conceptuel, les efforts visent à structurer les données et à identifier les relations, sans tenir compte des spécificités de la mise en œuvre et de l'efficacité du développement.

Le niveau interne (physique) correspond aux données réelles situées sur un support de stockage externe. Le modèle interne détermine l'emplacement des données, les méthodes d'accès et les techniques d'indexation.

L'organisation à trois niveaux de la base de données permet une indépendance logique et physique lors du travail avec les données. L'indépendance logique implique la possibilité de modifier une application sans ajuster les autres applications fonctionnant avec la même base de données.

L'indépendance physique implique la capacité de transférer les informations stockées d'un support à un autre tout en conservant les fonctionnalités de toutes les applications qui utilisent cette base de données.

Classification des modèles de données

Un modèle de données est un ensemble de règles selon lesquelles les données sont organisées.

Cette définition très simple peut être affinée. Un modèle de données est une abstraction qui, lorsqu'elle est appliquée à des données spécifiques, permet aux utilisateurs et aux développeurs de les traiter comme des informations, c'est-à-dire des informations contenant non seulement des données, mais également les relations entre elles.

Il est d'usage de distinguer trois groupes de modèles de données : infologiques, datalogiques et physiques.

Fig.1 Modèles de données

InfologiqueLe modèle (sémantique) est une description généralisée du domaine qui n’est liée à aucun ordinateur ou SGBD. Cette description, utilisant le langage naturel, des formules mathématiques, des tableaux, des graphiques et d'autres outils, combine la compréhension personnelle de l'utilisateur du contenu de la base de données avec la compréhension des développeurs des données qui pourraient être nécessaires dans les applications futures.

Ce modèle centré sur l’humain est totalement indépendant des paramètres physiques de l’environnement de stockage des données. Par conséquent, le modèle d'information ne doit pas être modifié tant qu'il reflète de manière adéquate le domaine, c'est-à-dire jusqu'à ce que des changements se soient produits dans le domaine.

Datalogiqueles modèles sont orientés ordinateur et sont pris en charge par des SGBD spécifiques. Avec leur aide, le SGBD permet aux utilisateurs d'accéder aux données stockées sans se soucier de leur emplacement physique. L'accès aux données s'effectuant à l'aide d'un SGBD spécifique, les modèles datalogiques sont décrits dans langage de description des données le SGBD utilisé.

Les données nécessaires sont trouvées par le SGBD sur des périphériques de stockage externes à l'aide de physique modèles de données. Le modèle physique fonctionne dans des catégories liées à l'organisation de la mémoire externe et des structures de stockage de données utilisées dans un environnement d'exploitation donné.

Modèles datalogiques

Ce groupe comprend des modèles bien connus tels que hiérarchique, réseau, relationnel et orienté objet.

La classification des modèles et leur description sont apparues après le développement du modèle relationnel. Avant cela, les bases de données étaient développées à l’aide des technologies existantes. Et bien plus tard, ils ont analysé les bases de données existantes et complété leur description théorique.

Les modèles théoriques des graphes reflètent une collection d’objets du monde réel sous la forme d’un graphique. Selon le type de graphe, on distingue les modèles hiérarchiques et en réseau. Les modèles de données hiérarchiques et réseau ont commencé à être utilisés dans les SGBD au début des années 60 du 20e siècle. Actuellement, ils sont utilisés moins fréquemment que le modèle de données relationnelles.

Pour travailler avec des ensembles de données complexes, les mathématiciens ont développé modèle hiérarchique données. Ce modèle est apparu plus tôt que les autres modèles datalogiques. C'est ce modèle de données qui a été utilisé dans le premier SGBD industriel officiellement reconnu d'IBM.

Le modèle hiérarchique implique le stockage des données sous une forme similaire à l'organisation des répertoires dans MS DOS : tous les répertoires partent de la racine et se ramifient comme une arborescence. Il n'y a qu'un seul chemin vers chaque fichier, c'est-à-dire qu'un seul nom de répertoire correspond au fichier.

Dans le monde réel, certains objets sont des structures intrinsèquement hiérarchiques : certains objets sont des parents, d’autres sont des enfants. La hiérarchie est simple et naturelle pour montrer les relations entre les objets. Il suffit de rappeler les nombreuses classifications utilisées dans différents domaines de la connaissance, par exemple la classification ci-dessus des modèles de données. Un autre exemple est la structure des données d’une entreprise.

Dans une base de données hiérarchique, tous les enregistrements partent d’une seule racine. Un enregistrement n'a toujours qu'un seul parent et peut lui-même être le parent d'un autre enregistrement.

Le principal avantage du modèle hiérarchique est la rapidité. Étant donné que toutes les relations entre les tables sont prédéfinies et statiques, les recherches et autres opérations sur l'ensemble de données sont effectuées très rapidement.

L’inconvénient le plus important est le manque de flexibilité. Étant donné que les relations sont stockées dans chaque enregistrement, les données n'ont de sens que dans un contexte spécifique. Un autre inconvénient est la difficulté de transférer des données d’un ordinateur à l’autre. Le troisième inconvénient est que les modifications globales des données sont quasiment impossibles. Un changement nécessite que chaque enregistrement, y compris les enregistrements parent et enfant, soit modifié individuellement.

Travailler avec ce modèle de données nécessite une quantité importante de connaissances. La plupart des bases de données utilisant un modèle hiérarchique nécessitent un personnel spécialement formé pour garantir leur bon fonctionnement.

Un modèle de réseau est proposé pour offrir une flexibilité dans la gestion des données. Le développement de ce modèle a été grandement influencé par le scientifique américain Charles Bachman.

Les principes de base du modèle de données réseau ont été formulés au milieu des années 60. La version de référence du modèle de données réseau a été décrite dans les rapports du groupe de travail CODASYL (CONference on DAta SYstem Languages) au milieu des années 70.

Le modèle de réseau diffère du modèle hiérarchique dans la mesure où il permet de définir plusieurs relations de groupe pour un enregistrement. Ce modèle se compose de nombreux enregistrements qui peuvent être propriétaires ou membres de relations de groupe. Le modèle de réseau vous permet de rechercher dans diverses structures et prend en charge une relation un-à-plusieurs pour les enregistrements.

Comme dans une base de données hiérarchique, les informations sur les relations sont stockées dans des enregistrements et doivent être prédéfinies. Par conséquent, le modèle de données réseau présente les mêmes limites que le modèle hiérarchique.

Modèle de données relationnel

Concepts de base et définitions du modèle relationnel

Modèle relationnel

En 1970, E.F. Morue ( E. F. morue ) a introduit le modèle de base de données relationnelle. Le concept de ce modèle repose sur le fait que l’organisation des données dans la base de données doit être flexible, dynamique et facile à utiliser. L'utilisateur doit travailler uniquement avec la représentation logique des données et le système de gestion de base de données s'occupera de la structure physique des données. Codd a formulé les principes de base des bases de données relationnelles.

Le modèle relationnel utilise des tableaux et repose sur deux instructions :

· la base de données doit être composée de tables et uniquement de tables. Seul le contenu des tables détermine les opérations de la base de données ;

· la description des données et leur manipulation doivent être indépendantes de la méthode de stockage des données au niveau inférieur. En d’autres termes, les systèmes de gestion de bases de données relationnelles (SGBDR) doivent fournir leur propre système de gestion basé uniquement sur la représentation logique des données.

Dans son article, Codd décrit un langage permettant d'opérer avec des structures relationnelles. Au fil du temps, ce langage a évolué vers ce que l'on appelle aujourd'hui Structured Query Language. SQL (langage de requête structuré).

Codd a dérivé un ensemble de règles de base auxquelles un SGBD modèle relationnel doit se conformer. Il y en a au total 12. Les bases de données réellement existantes ne satisfont pas pleinement à toutes les règles de Codd. Chaque développeur implémente le modèle relationnel différemment. En conséquence, les propriétés des bases de données relationnelles varient considérablement.

Les règles de Codd peuvent être divisées en 4 catégories :

1) capacités de base – description des données et langage de programmation ;

2) accès aux données – règles d’accès, de stockage et de recherche,

3) flexibilité – règles de changement (modification) des données ;

4) intégrité – règles visant à garantir la qualité et la sécurité des données.

Lorsqu'il utilise un modèle de SGBD relationnel, l'utilisateur travaille avec une structure de données logique. Pour passer au niveau inférieur (physique), Codd a proposé le concept de dictionnaire de données.

Un dictionnaire de données est une table centrale et un référentiel d'informations sur une base de données ; il contient des informations sur l'emplacement des données, les noms de champs, les types de données et les cartes de relations. Le dictionnaire de données fonctionne avec le système d'exploitation et relie les tables (données logiques) aux fichiers (données physiques).

Mathématicien de formation, E. Codd propose d'utiliser les appareils de la théorie des ensembles (union, intersection, différence, produit cartésien) pour le traitement des données. Il a montré que toute représentation de données se réduit à un ensemble de tableaux bidimensionnels d'un type spécial, appelés en mathématiques attitude– relation (anglais) La plus petite unité de données dans le modèle relationnel est une unité distincte atomique valeur de données (indécomposable) pour un modèle donné. Ainsi, dans un domaine, le nom, le prénom et le patronyme peuvent être considérés comme un seul sens, et dans un autre - comme trois sens différents.

Domaine est un ensemble de valeurs atomiques du même type. La signification des domaines est la suivante. Si les valeurs de deux attributs proviennent du même domaine, alors les comparaisons utilisant ces deux attributs sont probablement significatives. Si les valeurs de deux attributs proviennent de domaines différents, alors les comparaisons entre eux n'ont probablement aucun sens.

Une relation sur les domaines D1, D2, ..., Dn (pas nécessairement tous différents) est constitué d'un en-tête et d'un corps.

Titre consiste en un ensemble fixe d'attributs A1, A2, ..., An qu'il existe une correspondance biunivoque entre ces attributs Ai et les domaines Di (i=1,2,...,n) qui définissent eux.

Corps se compose d'un ensemble variable dans le temps tuples, où chaque tuple se compose à son tour d'un ensemble de paires attribut-valeur (Ai:Vi), (i=1,2,...,n), une de ces paires pour chaque attribut Ai dans l'en-tête. Pour toute paire attribut-valeur donnée (Ai:Vi), Vi est la valeur du domaine unique Di associé à l'attribut Ai.

Degré de relation est le nombre de ses attributs. Une relation de degré un est appelée unaire, le degré deux est appelé binaire, le degré trois est appelé ternaire, ... et le degré n est appelé n-aire. Degré de relation

nombre cardinal ou rapport de puissance est le nombre de ses tuples. Le nombre cardinal d’un rapport change avec le temps, contrairement à son degré.

Puisqu'une relation est un ensemble et que les ensembles, par définition, ne contiennent pas d'éléments correspondants, deux tuples d'une relation ne peuvent pas être des doublons l'un de l'autre à un moment donné. Soit R une relation d'attributs A1, A2, ..., An. L'ensemble des attributs K=(Ai, Aj, ..., Ak) d'une relation R est dit être une clé possible de R si et seulement si deux conditions indépendantes du temps sont satisfaites :

  1. Unicité : à un instant donné, aucun tuple R différent n'a la même valeur pour Ai, Aj, ..., Ak.
  2. Minimalité : aucun des attributs Ai, Aj, ..., Ak ne peut être exclu de K sans violer l'unicité.

Chaque relation a au moins une clé possible car au moins la combinaison de tous ses attributs satisfait à la condition d'unicité. L'une des clés possibles (choisie au hasard) est prise comme clé primaire. Les clés possibles restantes, le cas échéant, sont appelées clés alternatives.

Les concepts mathématiques ci-dessus et quelques autres ont fourni la base théorique pour la création de SGBD relationnels, le développement d'outils linguistiques et de systèmes logiciels appropriés qui garantissent leurs hautes performances et la création des fondements de la théorie de la conception de bases de données. Cependant, pour l'utilisateur massif de SGBD relationnels, des équivalents informels de ces concepts peuvent être utilisés avec succès :

Relation – Table (parfois Fichier),
Tuple – Chaîne (parfois Enregistrement),
Attribut – Colonne, Champ.

On suppose que « enregistrement » signifie « une instance d'un enregistrement » et « champ » signifie « le nom et le type du champ ».

1. Chaque table est constituée de lignes du même type et possède un nom unique.

2. Les lignes ont un nombre fixe de champs (colonnes) et de valeurs (plusieurs champs et groupes répétitifs ne sont pas autorisés). En d’autres termes, à chaque position du tableau à l’intersection d’une ligne et d’une colonne, il y a toujours exactement une valeur ou rien.

3. Les lignes du tableau doivent différer les unes des autres d'au moins une valeur, ce qui permet d'identifier de manière unique n'importe quelle ligne d'un tel tableau.

4. Les colonnes du tableau reçoivent des noms attribués de manière unique et chacune d'elles contient des valeurs de données homogènes (dates, noms de famille, nombres entiers ou montants monétaires).

5. Le contenu informatif complet de la base de données est représenté sous forme de valeurs de données explicites et cette méthode de présentation est la seule. En particulier, il n’existe pas de « liens » ou de pointeurs spéciaux reliant une table à une autre.

6. Lors de l'exécution d'opérations sur une table, ses lignes et colonnes peuvent être traitées dans n'importe quel ordre, quel que soit leur contenu informatif. Ceci est facilité par la présence de noms de tables et de leurs colonnes, ainsi que par la possibilité de sélectionner n'importe laquelle de leurs lignes ou n'importe quel ensemble de lignes avec les caractéristiques spécifiées.

Clés

La théorie relationnelle exige que les données soient unifiées de manière unique selon trois critères :

· la table où est stocké cet élément de données ;

· le nom du champ dans cette table ;

· la valeur de clé primaire de l'enregistrement.

Une clé primaire est un champ ou un groupe de champs qui garantit l'unicité d'un enregistrement.

Lors de la conception d'une table, vous devez sélectionner autant de champs que de clé primaire pour garantir que chaque ligne de la table est unique. Certaines tables contiennent un champ qui identifie de manière unique chaque enregistrement. D'autres tables peuvent nécessiter une clé composite ( clé composite ), c'est-à-dire une clé primaire constituée d'une combinaison de champs. Même si une table possède une clé primaire composite, il ne peut y en avoir qu’une.

Construire une clé primaire est obligatoire. Les données ont souvent clé naturelle ( clé naturelle ). Par exemple, un numéro de sécurité sociale identifie tout contribuable américain ; les banques délivrent des numéros de compte à leurs clients ; les hôpitaux attribuent des numéros aux patients inscrits dans leurs dossiers. Tout élément comme un numéro de sécurité sociale, un compte bancaire ou un numéro de dossier sont des candidats privilégiés pour une clé primaire, car ils identifient respectivement de manière unique les contribuables, les clients et les patients.

Lorsque vous choisissez une clé, vous devez être prudent, car certaines données semblent uniques. Par exemple, nom et prénom, nom de l’entreprise et date de commande.

Si les données ne contiennent pas de clé primaire naturelle, il faut en créer une. Il existe deux écoles de pensée qui proposent différentes manières de créer une clé artificielle ( clé artificielle).

La première école soutient que la clé doit être aussi proche que possible des données. Par exemple, les entrées dans les tableaux Paradoxe par défaut, ils sont automatiquement triés et affichés dans l'ordre déterminé par la clé primaire. Si vous créez une clé en utilisant quatre lettres du nom de famille plus deux lettres du prénom, plus un numéro attribué séquentiellement, le tri affichera les enregistrements par ordre alphabétique. Mais une telle clé présente aussi des inconvénients, par exemple, si vous changez votre nom de famille, vous devrez mettre à jour les liens.

La deuxième école estime que la clé ne devrait rien avoir à voir avec les données, ce qu'on appelle la clé de substitution ( Clé de substitution).

La clé primaire doit être aussi courte que possible. Une touche longue entraîne davantage d'erreurs de saisie de données. Puisqu’une base de données relationnelle utilise des clés primaires pour organiser les relations entre les tables, l’apparition de relations erronées aggrave la sécurité des données. Si la clé primaire naturelle s'avère trop longue, il est alors recommandé d'utiliser une clé de substitution. Cette approche est souvent utilisée dans la pratique et est connue sous le nom de génération d'identifiants uniques.

Clé élément les données sont un élément à partir duquel les valeurs d'autres éléments de données peuvent être déterminées. Deux ou plusieurs éléments de données peuvent identifier de manière unique un objet. Les éléments de données clés doivent être sélectionnés avec soin, car une sélection correcte contribue à la création d'un modèle de données conceptuel valide.

Clé primaireest un attribut ou un groupe d'attributs qui identifie de manière unique chaque ligne d'un tableau.

Alternative(secondaire) clé est un attribut ou un groupe d'attributs qui ne correspondent pas à la clé primaire et identifient de manière unique une instance d'un objet.

Index

Les indices sont partie intégrante structures de base de données et sont conçus pour accélérer la recherche d'informations dans le tableau.

Un index est une structure associée à une table ou une vue et conçue pour accélérer la recherche d'informations dans celles-ci. Un index est défini sur une ou plusieurs colonnes, appelées colonnes indexées. Il contient les valeurs triées d'une ou plusieurs colonnes indexées avec des références à la ligne correspondante dans la table ou la vue source. Des performances améliorées sont obtenues en triant les données. L'utilisation d'index peut améliorer considérablement les performances de recherche, mais le stockage des index nécessite un espace de base de données supplémentaire.

À titre d'exemple de recherche dans un tableau, imaginez un annuaire téléphonique dans lequel tous les abonnés sont classés par ordre alphabétique. Évidemment, il est très facile de retrouver un numéro de téléphone dans un tel annuaire si le nom de famille de l'abonné est connu. En revanche, il est extrêmement difficile de retrouver le nom d’un abonné grâce à son numéro de téléphone, car L'annuaire n'est pas organisé par numéro de téléphone, vous devrez rechercher le numéro de téléphone souhaité à l'aide d'une méthode de recherche simple. Ainsi, le classement des informations facilite grandement la recherche. Ce principe constitue la base du système d'indexation.

La figure montre un annuaire téléphonique avec des entrées non classées par numéro de téléphone et un index généré pour cet annuaire. La figure montre que l'index est un tableau d'entiers dans lequel les numéros d'entrée du répertoire sont placés par ordre croissant du numéro de téléphone. Grâce à cela, les enregistrements sont organisés par numéro de téléphone et au lieu d'effectuer une recherche par force brute, vous pouvez utiliser la méthode de bissection ou la méthode de l'arbre binaire.


Riz. 3. Un exemple d'index sur le champ « numéro de téléphone ».

Connexions

Connexionest une relation fonctionnelle entre entités. S'il existe une relation entre certaines entités, alors les faits d'une entité font référence ou sont d'une manière ou d'une autre liés aux faits d'une autre entité. Le maintien de la cohérence des dépendances fonctionnelles entre les entités est appelé intégrité référentielle. Puisque les relations sont « à l’intérieur » du modèle relationnel, la mise en œuvre de l’intégrité référentielle peut être effectuée soit par l’application, soit par le SGBD lui-même (en utilisant des mécanismes et des déclencheurs d’intégrité référentielle déclarative).

Lors de la description des relations, la connexion entre les enregistrements de différentes tables est implicite. Par exemple, si une relation un-à-plusieurs est mentionnée, cela signifie qu'un enregistrement d'une table est lié à plusieurs enregistrements d'une autre table. En aucun cas, cela ne signifie la connexion d'une table avec plusieurs tables.

La relation la plus simple entre les enregistrements de table est la relation un-à-un. Ce type de relation se produit lorsque les tables liées ont la même clé primaire. Le plus souvent, ce type de relation est utilisé lorsqu'il existe une table avec un grand nombre de champs, dont certains sont secondaires (peu significatifs). Par exemple, un dossier concernant une personne du service du personnel peut comprendre le nom, le prénom, le patronyme, les détails du passeport, l'autobiographie, etc. L'autobiographie peut être classée comme information secondaire et placée dans un tableau supplémentaire avec un type de connexion un à un.

Le type de connexion le plus courant un à plusieurs. Par exemple, client et commandes : un client peut passer plusieurs commandes. Les champs à travers lesquels les connexions sont établies ne sont pas libres, c'est-à-dire qu'ils ne peuvent pas avoir de valeurs arbitraires. Par exemple, la commande doit mentionner un client qui se trouve dans le tableau « Clients ». Du point de vue de la table « Clients », le champ « Nom complet du client » peut être arbitraire, puisqu'il ne dépend pas des champs des autres tables.

Si tous les champs clés d'une table et une partie des champs clés d'une autre table sont liés, alors le type de relation ne peut être que de un à plusieurs.

Le type de relation plusieurs-à-plusieurs se produit lorsque des champs partiellement inclus dans la clé primaire d'une table et d'une autre sont liés. Par exemple, le champ « Nom du produit » dans la table « Commandes » et le champ « Nom du produit » dans la table « Déductions ». Un produit peut être commandé par plusieurs clients, et les déductions pour le produit vont à différents spécialistes pour chaque vente du produit (si la table « Déductions » a deux champs dans la clé primaire - nom du produit et spécialiste ou nom du produit et responsable).

Les méthodes de liaison des tables à l'aide des champs inclus dans la clé primaire sont décrites ci-dessus. Cependant, il existe une autre façon de lier des tables : d'une part, les champs qui ne sont pas inclus dans la clé primaire peuvent être impliqués, et d'autre part, les champs qui sont inclus dans la clé primaire peuvent être impliqués. Cela se fait à l'aide de clés secondaires ou étrangères ( clé étrangère ). La clé secondaire est construite à l'aide de champs qui ne sont pas inclus dans la clé primaire.

Ainsi, lors de la définition d'une relation, une table réalise la relation en utilisant les champs inclus dans la clé primaire, et l'autre table peut utiliser tous les champs de la clé primaire, une partie d'entre eux, ou des champs non inclus dans la clé primaire.

Contrairement aux relations basées uniquement sur une clé primaire, les relations construites à l’aide d’une clé secondaire sont appelées relations potentielles. Le développeur de la base de données décide lui-même d'utiliser ou non une telle liaison.

Une relation plusieurs-à-un est essentiellement une relation un-à-plusieurs inversée. Les valeurs des champs de relation doivent être définies par une table dans laquelle les champs utilisés sont uniques, c'est-à-dire qu'un seul enregistrement peut en définir plusieurs autres.

Intégrité référentielle – est de s’assurer que la valeur correspond clé étrangère instance de l'entité enfant aux valeurs de clé primaire de l'entité parent. L'intégrité référentielle peut être vérifiée pour toutes les opérations qui modifient les données.

Procédure stockée est un programme qui combine des requêtes, une logique procédurale (opérateurs d'affectation, branchement, etc.) et des données stockées dans la base de données. Ce mécanisme vous permet de contenir des programmes assez complexes ainsi que des données qui effectuent une grande quantité de travail de traitement de données sans transférer de données sur le réseau et sans interagir avec le client. Dans ce cas, la base de données peut être une couche d'application fonctionnellement indépendante qui interagit avec d'autres couches pour recevoir des requêtes et mettre à jour les données.

Règlesvous permettent de déclencher des actions spécifiées lors de la modification ou de l'ajout de données à la base de données et ainsi de contrôler la véracité des données qui y sont placées. Généralement, une action est un appel à une procédure ou une fonction spécifique. Les règles peuvent être associées à un champ ou à un enregistrement et, par conséquent, sont déclenchées lorsque les données d'un champ ou d'un enregistrement de table spécifique changent. Vous ne pouvez pas utiliser de règles lors de la suppression de données. Contrairement aux restrictions, qui ne sont qu'un moyen de contrôler des conditions relativement simples pour l'exactitude de la saisie des données, les règles vous permettent de vérifier et de maintenir des relations arbitrairement complexes entre les éléments de données de la base de données.

Déclenchementest une action prédéfinie ou une séquence d'actions qui est automatiquement effectuée lors de la mise à jour, de l'ajout ou de la suppression d'opérations de données. Un déclencheur est un outil puissant pour contrôler les modifications des données dans la base de données et aide le programmeur à automatiser les opérations qui doivent être effectuées dans ce cas. Le déclencheur est exécuté après vérification des règles de mise à jour des données. Ni l'utilisateur ni l'application ne peuvent activer le déclencheur ; il s'exécute automatiquement lorsque l'utilisateur ou l'application effectue certaines actions avec la base de données. Le déclencheur comprend les composants suivants :

* des restrictions pour la mise en œuvre desquelles un déclencheur sera créé ;

* un événement qui caractérisera la survenance d’une situation nécessitant une vérification des restrictions. Les événements sont le plus souvent associés à un changement d'état de la base de données (par exemple, ajout d'un enregistrement à une table), mais des conditions supplémentaires peuvent également être prises en compte (par exemple, ajout d'un enregistrement uniquement avec une valeur négative) ;

L'utilisation de déclencheurs lors de la conception d'une base de données offre les avantages suivants :

* les déclencheurs sont toujours exécutés lorsque les actions correspondantes sont effectuées. Un développeur pense à utiliser des déclencheurs lors de la conception d'une base de données et peut ne plus y penser lors du développement d'une application d'accès aux données ;

* si nécessaire, les déclencheurs peuvent être modifiés de manière centralisée, directement dans la base de données. Programmes utilisateur, travailler avec cette base de données ne nécessitera pas de modernisation ;

* un système de traitement de données qui utilise des déclencheurs a une meilleure portabilité vers une architecture client-serveur en raison de moins de modifications nécessaires.

Normalisation des relations est le processus de construction d'une structure optimale de tables et de relations dans une base de données relationnelle. Le processus de normalisation regroupe les éléments de données dans des tableaux qui représentent les objets et leurs relations. La théorie de la normalisation est basée sur l'idée qu'un ensemble particulier de tables possède de meilleures propriétés pour inclure, modifier et supprimer des données que tous les autres ensembles de tables pouvant être utilisés pour représenter les mêmes données.

Principales fonctions d'un SGBD Logiciel d'application Logiciel, utilisateurs Système de gestion de base de données Système d'exploitation Base de données Fourniture d'un accès logiciel à la base de données Gestion matérielle de la base de données

Les composants logiciels d'un SGBD comprennent un noyau et des outils de service (utilitaires). ØLe noyau du SGBD est un ensemble de modules logiciels nécessaires et suffisants pour créer et maintenir une base de données, c'est-à-dire une partie universelle qui résout les problèmes standards des services d'information pour les utilisateurs. Ø Programmes de services offrir aux utilisateurs une gamme de caractéristiques supplémentaires et des services en fonction du domaine décrit et des besoins d'un utilisateur particulier. Un système de gestion de base de données est un système logiciel conçu pour être créé sur un ordinateur. base commune données pour plusieurs applications, en les gardant à jour et en garantissant que les utilisateurs peuvent accéder efficacement aux données qu'elles contiennent dans le cadre de leurs autorisations.

Classification des SGBD En fonction du degré d'universalité, les SGBD sont divisés en deux classes : 1. SGBD usage général(ON SGBD) 2. SGBD spécialisés (Sp. DBMS). Des SGBD spécialisés sont créés dans les cas où aucun des SGBD à usage général existants ne peut résoudre de manière satisfaisante les problèmes auxquels sont confrontés les développeurs. Il peut y avoir plusieurs raisons : la vitesse de traitement des données requise n'est pas atteinte ; il est nécessaire de faire fonctionner le SGBD dans des conditions de limitations matérielles sévères ; la prise en charge de fonctions de traitement de données spécifiques est requise. Sp. Les SGBD sont conçus pour résoudre un problème spécifique, et les paramètres acceptables pour cette solution sont obtenus comme suit : 1. grâce à la connaissance des caractéristiques d'un domaine spécifique, 2. en réduisant l'exhaustivité fonctionnelle du système.

Classification des SGBD Sur la base des méthodes d'organisation du stockage et du traitement des données, les SGBD sont divisés en Ø Centralisé Ø Distribué. Les premiers fonctionnent avec une base de données physiquement stockée au même endroit (sur un ordinateur). Cela ne signifie pas que l'utilisateur peut travailler avec la base de données uniquement sur le même ordinateur : l'accès peut être distant (en mode client-serveur). La plupart des SGBD centralisés délèguent la tâche à l'organisation accès à distance aux données sur support réseau, en exécutant uniquement ses fonctions standard, qui deviennent plus compliquées en raison de l'accès simultané de nombreux utilisateurs aux données. Sur la base du modèle de données, il existe des SGBD hiérarchiques, réseau, relationnels, relationnels objet et orientés objet.

Exigences pour le SGBD relationnel (selon Codd) 1. 2. 3. Présentation explicite des données (The Information Rule). Les informations doivent être présentées sous forme de données stockées dans des cellules. Les données stockées dans les cellules doivent être atomiques. L'ordre des lignes dans une table relationnelle ne doit pas affecter la signification des données. Règle d'accès garanti. Chaque élément de données doit être garanti accessible à l'aide d'une combinaison du nom de la table, de la clé primaire de la ligne et du nom de la colonne. Traitement systématique des valeurs nulles. Les valeurs inconnues (NULL) autres que toute valeur connue doivent être prises en charge pour tous les types de données dans toutes les opérations.

Conditions requises pour le SGBD relationnel (selon Codd) 4. 5. Accès au dictionnaire de données en termes de modèle relationnel (Catalogue dynamique en ligne basé sur le modèle relationnel). Le dictionnaire de données doit être stocké sous forme de tables relationnelles et le SGBD doit permettre d'y accéder à l'aide d'outils de langage standards. Complétude d'un sous-ensemble de langue (Comprehensive Data Sublingual Rule). Un système de gestion de base de données relationnelle doit prendre en charge un langage de requête unique qui vous permet d'effectuer toutes les opérations sur les données : opérations de définition de données, opérations de manipulation de données, contrôle d'accès aux données, gestion des transactions.

Exigences pour le SGBD relationnel (selon Codd) 6. 7. Prise en charge des vues mises à jour (View Updating Rule). La vue en cours de mise à jour doit prendre en charge toutes les opérations de manipulation de données prises en charge par les tables relationnelles : sélection, insertion, modification et suppression de données. Disponibilité d'opérations de gestion de données de haut niveau (insertion, mise à jour et suppression de haut niveau). Les opérations d'insertion, de modification et de suppression de données doivent être prises en charge non seulement par rapport à une ligne de la table relationnelle, mais par rapport à tout ensemble de lignes.

Exigences pour le SGBD relationnel (selon Codd) 8. Indépendance des données physiques. Les applications ne doivent pas dépendre des méthodes utilisées pour stocker les données sur les supports, ni des matériel ordinateurs sur lesquels se trouve la base de données relationnelle. 9. Indépendance des données logiques. La présentation des données dans une application ne doit pas dépendre de la structure des tables relationnelles.

Exigences pour le SGBD relationnel (selon Codd) 10. Indépendance en matière d'intégrité. Toutes les informations nécessaires au maintien de l'intégrité doivent être contenues dans le dictionnaire de données. Le SGBD doit vérifier les contraintes d'intégrité spécifiées et maintenir automatiquement l'intégrité des données. 11. Indépendance de la distribution. La base de données peut être distribuée, être localisée sur plusieurs ordinateurs, et cela ne devrait pas avoir d'impact sur les applications. 12. Coordination des niveaux de langue (règle de non-subversion). Il ne devrait y avoir aucun moyen d'accéder aux données autre que le langage standard pour travailler avec les données. Si un langage d'accès aux données de bas niveau est utilisé, il ne doit pas ignorer les règles de sécurité et d'intégrité prises en charge par le langage de niveau supérieur.

Exigences relatives à la composition et aux fonctions du SGBD 1. Stockage, récupération et mise à jour des données. 2. Catalogue (SSD) disponible les utilisateurs finaux. En règle générale, le catalogue système stocke les informations suivantes : noms, types et tailles des éléments de données ; noms de connexion ; les restrictions de prise en charge de l'intégrité imposées aux données ; les noms des utilisateurs bénéficiant de droits d'accès aux données ; les schémas externes, conceptuels et internes et les correspondances entre eux ; Statistiques telles que les taux de transactions et le nombre d'accès aux objets de base de données.

Avantages d'avoir un DSS ØLes informations sur les données peuvent être collectées et stockées de manière centralisée, ce qui vous permettra de contrôler l'accès à ces données. ØVous pouvez définir la signification des données, ce qui aidera les autres utilisateurs à comprendre leur finalité. ØLa communication est simplifiée car il existe des définitions précises de la signification des données. ØLe catalogue du système peut également indiquer un ou plusieurs utilisateurs qui sont propriétaires des données ou ont le droit d'y accéder. ØGrâce au stockage centralisé, les redondances et les incohérences dans la description des éléments de données individuels peuvent être facilement détectées. ØLes modifications apportées à la base de données peuvent être enregistrées. ØLes conséquences de toute modification peuvent être déterminées avant qu'elle ne soit effectuée, puisque le catalogue du système enregistre tous les éléments de données existants, les relations établies entre eux, ainsi que tous leurs utilisateurs. ØLes mesures de sécurité peuvent être encore renforcées. ØDe nouvelles possibilités d'organisation du support de l'intégrité des données émergent. ØUn audit des informations stockées peut être effectué.

Dictionnaire de données système Oracle Stocke toutes les informations sur la structure, les objets d'information et les relations dans une base de données particulière. Un dictionnaire de données est un ensemble de tables et d'objets auxiliaires (index, clusters, synonymes, vues, séquences), dont les informations sont également stockées dans des tables de dictionnaire. Logiquement, le dictionnaire de données est divisé en : tables de base ; ürreprésentations de tables de base ; Tableaux dynamiques et leurs représentations. Au total, le dictionnaire de données comprend plus de 100 tables de base, situées dans l'espace table SYSTEM et nulle part ailleurs. Leurs noms incluent le caractère « $ » (il n'est donc pas recommandé de l'utiliser dans les noms d'objets non basiques), par exemple : AUD$ – table d'informations d'audit ; FILE$ – table de fichiers ; USER$ – table utilisateur ; IND$ – table d'indexation ; OBJ$ – table d'objets ; SEG$ – table de segments ; SYN$ – tableau des synonymes ; TAB$ – tableau des tableaux ; TS$ – tableau des zones de tableau ; VIEW$ – tableau des vues.

Utilisation du dictionnaire système Pour obtenir des informations à partir du dictionnaire de données, les utilisateurs disposent de vues de table de base. Ils sont divisés en trois groupes : DBA - vues destinées aux utilisateurs qui sont des DBA, c'est-à-dire auxquels le rôle DBA est attribué. Ces vues fournissent les informations les plus complètes du dictionnaire de données ; UTILISATEUR – vues à travers lesquelles chaque utilisateur reçoit des informations sur les objets qu'il possède ; TOUS – vues qui donnent à chaque utilisateur toutes les informations sur les objets auxquels il a accès. Par exemple : DBA/ALL/USER_INDEXES – tous/disponibles/index utilisateur ; DBA/ALL/USER_IND_COLUMNS – colonnes d'index toutes/disponibles/utilisateur ; DBA/ALL/USER_OBJECTS – tous les objets disponibles/utilisateur ; DBA/ALL/USER_SYNONYMS – tous/disponibles/synonymes utilisateur ; DBA/ALL/USER_TABLES – toutes les tables/disponibles/utilisateurs ; DBA/ALL/USER_TAB_COLUMNS – toutes les colonnes de tables/disponibles/utilisateur ; DBA/ALL/USER_TAB_PRIVS – privilèges tous/disponibles/utilisateur sur les tables ; DBA/ALL/USER_VIEWS – toutes/disponibles/vues utilisateur.

Travailler avec le dictionnaire système Certaines représentations (selon le sens de leur application) ne sont présentes que dans un ou deux groupes. C'est le plus typique pour les vues DBA, par exemple : DBA_DATA_FILES – données sur les fichiers physiques de la base de données et les journaux ; DBA/USER_FREE_SPACE – mémoire libre dans les espaces table (tous et accessibles à un utilisateur spécifique) ; DBA_PROFILES – liste d'options pour le « coût » des ressources système ; DBA_ROLES – liste des rôles définis dans la base de données. Exemples de récupération de données depuis le SSD : sélectionnez table_name dans user_tables ; sélectionnez * dans all_views ; sélectionnez view_name dans dba_views ;

Travailler avec le dictionnaire système Le synonyme DICT pour la représentation DICTIONARY est important. Il est utilisé pour sélectionner les noms des tables, des vues, les synonymes du dictionnaire de données avec les descriptions, le cas échéant dans la base de données. Voici un petit fragment : select * from dict; ALL_CATALOG Toutes les tables, vues, synonymes et séquences disponibles pour l'utilisateur ALL_DB_LINKS Liens de base de données disponibles pour l'utilisateur DBA_OBJECTS Tous les objets de la base de données DBA_ROLES Tous les rôles qui existent dans la base de données USER_EXTENTS Extensions appartenant à l'utilisateur USER_VIEWS Définitions des vues appartenant à l'utilisateur DUAL A table spéciale contenant une colonne DUMMY et une ligne DICT Synonyme de DICTIONARY TABS Synonyme de USER_TABLES

En travaillant avec le dictionnaire système DBA, l'accès à ces tables est ouvert, mais travailler à ce niveau, sauf en cas d'URGENCE, n'est JAMAIS recommandé : toutes les informations du dictionnaire de données sont disponibles via les vues des tables de base ; les données des tables de base sont présentées sans duplication selon les règles de l'ordre du système, sans décodage ; le nombre, les noms, les tailles des colonnes du tableau sont faits sans tenir compte d'une clarté suffisante ; accidentelle, intentionnelle ou pour toute autre raison, la CORRECTION du contenu des tables de base (même dans des cas évidents, par exemple le stockage de données sur des espaces de table supprimés depuis longtemps), entraîne en règle générale un ENDOMMAGEMENT du dictionnaire de données, c'est-à-dire , à la PERTE de la base de données entière. L'exception la plus rare est AUD$ (table d'informations d'audit), à partir de laquelle les entrées inutiles doivent être périodiquement supprimées, car lorsque le mode audit est activé, cette table se remplit rapidement et peut déborder de l'espace table SYSTEM.

Exigences relatives à la composition et aux fonctions du SGBD 3. 4. 5. 6. 7. 8. 9. Prise en charge des transactions. Service de gestion de travaux parallèles. Services de récupération. Services de contrôle d'accès aux données. Services d’intégrité des données. Services d'assistance à l'indépendance des données. Services de soutien.

Services de support Généralement conçus pour aider l'administrateur de base de données à administrer efficacement la base de données. Quelques exemples de tels utilitaires. Utilitaires d'importation pour charger une base de données à partir de fichiers plats et utilitaires d'exportation pour exporter une base de données vers des fichiers plats. Outils de surveillance conçus pour suivre les performances et l’utilisation de la base de données. Programmes d'analyse statistique qui vous permettent d'évaluer les performances ou l'utilisation d'une base de données. Outils de réorganisation d'index conçus pour reconstruire les index lorsqu'ils sont pleins. Outils de récupération de place et de réallocation de mémoire pour l'élimination physique entrées suppriméesà partir des périphériques de stockage, en consolidant l'espace libéré et en réaffectant la mémoire selon les besoins.

Principaux composants logiciels du processeur de requêtes SGBD. Convertit les requêtes en une séquence de commandes de bas niveau pour le gestionnaire de base de données. Gestionnaire de base de données. Accepte les demandes et examine les schémas externes et conceptuels pour déterminer les enregistrements conceptuels nécessaires pour satisfaire aux exigences de la demande. Ensuite, il appelle le gestionnaire de fichiers pour répondre à la demande entrante. Gestionnaire de fichiers. Manipule les fichiers destinés au stockage des données et est responsable de la distribution des espace disque. Il crée et maintient une liste de structures et d'index définis dans le schéma interne. Si des fichiers hachés sont utilisés, il est alors de sa responsabilité d'appeler des fonctions de hachage pour générer des adresses d'enregistrement.

Composants logiciels de base du préprocesseur du langage DBMS DML. Ce module convertit les instructions DML intégrées dans les programmes d'application en appels aux fonctions standards du langage de base. Pour générer le code approprié, le préprocesseur DML doit communiquer avec le processeur de requêtes. Compilateur de langage DDL. Convertit les commandes DDL en un ensemble de tables contenant des métadonnées. Ces tables sont ensuite stockées dans le répertoire système, et informations de contrôle- dans les en-têtes des fichiers de données. Gestionnaire de dictionnaire. Contrôle l'accès au répertoire système et garantit son utilisation. Le catalogue système est accessible à la plupart des composants du SGBD.

Principaux composants logiciels du module de contrôle des droits d'accès du SGBD. Ce module vérifie si l'utilisateur donné a l'autorité pour effectuer l'opération demandée. Processeur de commandes. Après avoir vérifié l'autorité de l'utilisateur pour effectuer l'opération demandée, le contrôle est transféré au processeur de commandes. Contrôles d'intégrité. Pour les opérations qui modifient le contenu de la base de données, les contrôles d'intégrité vérifient si l'opération demandée satisfait aux contraintes d'intégrité des données établies (par exemple, les exigences définies pour les clés). Optimiseur de requêtes. Ce module détermine la stratégie optimale d'exécution des requêtes.

Composants logiciels de base du SGBD Transaction Manager. Effectue le traitement requis des opérations reçues lors de l'exécution des transactions. Planificateur. Responsable de l'exécution sans conflit des opérations parallèles avec la base de données. Il contrôle l'ordre relatif dans lequel les opérations demandées dans les transactions individuelles sont effectuées. Gestionnaire de récupération. Garantit que la base de données est restaurée dans un état cohérent en cas de pannes. En particulier, il est responsable de la validation et de l’annulation des résultats des transactions. Gestionnaire de tampon. Responsable du transfert des données entre la RAM et un périphérique de stockage secondaire - par exemple, un disque dur ou une bande magnétique. Le gestionnaire de récupération et le gestionnaire de tampon sont parfois (collectivement) appelés gestionnaire de données, et le gestionnaire de tampon lui-même est parfois appelé gestionnaire de cache.

La base de données d'objets Oracle de base (DATABASE) est un objet situé sur le niveau supérieur L'organisation physique de la base de données Oracle est un objet appelé : base de données. La base de données se compose d'un dictionnaire de données, des données elles-mêmes et de divers objets auxiliaires : un fichier de paramètres d'initialisation, un fichier de contrôle, un fichier de segment d'annulation et deux fichiers journaux de transactions. (Cette liste peut être complétée, par exemple, par des copies du fichier de contrôle). La base de données peut être créée automatiquement lors de l'installation du SGBD Oracle ou manuellement à l'aide de la commande CREATE DATABASE. Tablespace (TABLESPACE) est une zone mémoire conçue pour stocker tous les objets de la base de données. Une zone de table porte un nom et occupe un ou plusieurs fichiers du système d'exploitation. Créé par la commande CREATE TABLESPACE. Parfois, une zone table est appelée espace table.

L'utilisateur de base des objets Oracle (USER) est un objet qui a la capacité de créer et d'utiliser d'autres objets Oracle, ainsi que de demander des fonctions de serveur. Ces fonctions incluent l'organisation d'une session, la modification de l'état du serveur et de la base de données, la création d'autres objets de base de données, les demandes d'exécution d'instructions SQL, etc. Dans Oracle DBMS, le nom d'utilisateur est le même que le nom du schéma. Créé par la commande CREATE USER. Chaque objet de base de données appartient à l'utilisateur qui l'a créé et se trouve dans son schéma. Le nom complet de tout objet de base de données (à l'exception de la base de données, des espaces de table et des utilisateurs) se compose du nom du schéma dans lequel il a été créé et du nom réel de l'objet, par exemple : scott. emp Ici, scott est le nom d'utilisateur (schéma), emp est le nom de l'objet (la table « Employés ») et le point est ce qu'on appelle. référence qualifiée séparant les niveaux de définition.

Basic Oracle Objects Cluster (CLUSTER) est un objet qui définit un moyen de stocker conjointement les données de plusieurs tables contenant des informations généralement traitées ensemble. Les tables de clustering vous permettent de réduire le temps d'échantillonnage. Créé par la commande CREATE CLUSTER. Comprend des tableaux de données. Une table (TABLE) est la structure de base du modèle relationnel. Comme vous le savez, toutes les informations d'une base de données sont stockées dans des tableaux. Les tableaux sont constitués de nombreuses colonnes ou attributs nommés. L'ensemble des valeurs d'une colonne est défini à l'aide de contraintes d'intégrité, c'est-à-dire qu'un concept limité de domaine (ensemble de valeurs valides) est pris en charge. Le tableau peut être vide ou être constitué d'une ou plusieurs lignes de valeurs d'attribut. Les lignes de valeurs d'attribut de table sont également appelées enregistrements ou tuples. Créé par la commande CREATE TABLE, peut être créé dans un cluster.

Objets Oracle Basic Un index (INDEX) est un objet de base de données créé pour améliorer les performances de récupération des données. Un index est créé sur une ou plusieurs colonnes de table et fournit plus accès rapide aux données de ce tableau en classant les données dans la ou les colonnes par valeur. Créé par la commande CREATE INDEX. Les clusters, les tables et les index sont appelés objets mémoire car ils stockent des données factuelles. Lors de leur création, ils se voient allouer une certaine quantité de mémoire (une ou plusieurs extensions), qui peut être augmentée en leur ajoutant des données. Une étendue est une zone de mémoire contiguë dans un tablespace. Toutes les étendues appartenant au même objet forment un segment. Index des tables de cluster

Oracle Core Objects A View (VIEW) est une sélection de données nommée et gérée dynamiquement par le serveur à partir d'une ou plusieurs tables. Au cœur d'une vue se trouve une instruction SELECT appelée requête de vue de base. La requête de base définit les données visibles par l'utilisateur. La vue permet de limiter les données que l'utilisateur peut modifier. Les données de la vue ne sont pas stockées : le serveur génère la vue à chaque accès (c'est ce qu'on appelle la matérialisation de la vue). À l'aide de vues, un administrateur de sécurité peut limiter la partie de la base de données à laquelle les utilisateurs peuvent accéder uniquement aux données dont ils ont réellement besoin pour effectuer leur travail. Créé par la commande CREATE VIEW. Une SEQUENCE est un objet qui permet la génération de numéros uniques dans des conditions d'accès asynchrone multi-utilisateurs. Les éléments de séquence sont généralement utilisés pour insérer des numéros d'identification uniques pour les éléments dans les tables de base de données. Créé par la commande CREATE SEQUENCE.

Objets Oracle Core Un synonyme (SYNONYM) est un nom alternatif ou un alias pour un objet Oracle qui permet aux utilisateurs de base de données d'accéder à cet objet. Un synonyme peut être privé ou général. Un synonyme public permet à tous les utilisateurs de la base de données de faire référence à l'objet correspondant par son nom alternatif. Dans ce cas, vous n'avez pas besoin de préciser le nom du schéma pour accéder à l'objet, même si vous vous êtes connecté non pas en tant que propriétaire de l'objet, mais depuis un autre schéma. Créé par la commande CREATE SYNONYM. Un rôle (ROLE) est un ensemble nommé de privilèges qui peuvent être accordés à des utilisateurs ou à d'autres rôles. Utilisé pour gérer efficacement les restrictions d’accès aux données. Oracle supporte plusieurs rôles standards ou prédéfinis (DBA, CONNECT, RESOURCE, etc.). Créé par la commande CREATE ROLE.

Objets Oracle de base spécifiques à systèmes distribués sont des objets Oracle tels qu'un instantané et un lien de base de données. Un instantané (SNAPSHOT) est une copie locale d'une table dans une base de données distante, qui sert soit à répliquer (copier) tout ou partie de la table, soit à répliquer le résultat d'une requête de données à partir de plusieurs tables. Les instantanés peuvent être modifiables ou en lecture seule. Les instantanés en lecture seule peuvent être périodiquement mis à jour pour refléter les modifications apportées à la table sous-jacente. Les modifications apportées à l'instantané en cours de modification sont propagées à la table principale et aux autres copies. Créé par la commande CREATE SNAPSHOT. Un DATABASE LINK est un objet de base de données qui vous permet d'accéder à des objets de base de données distants. Le nom du lien de base de données peut être considéré comme une référence aux paramètres du mécanisme d'accès à la base de données distante (nom d'hôte, protocole, etc.). L'utilisation d'un nom unique facilite le travail avec des objets de base de données distants. Créé par la commande CREATE DATABASE LINK.

Objets Oracle de base Pour programmer des algorithmes de traitement de données et prendre en charge des règles complexes d'intégrité des données, Oracle utilise des objets procéduraux : Une procédure (PROCEDURE) est un sous-programme en PL/SQL conçu pour résoudre une tâche de traitement de données spécifique. Créé par la commande CREATE PROCEDURE. Une FONCTION est un sous-programme PL/SQL conçu pour résoudre un problème spécifique et renvoyer une valeur spécifique. Créé par la commande CREATE FUNCTION. Un PACKAGE est un ensemble nommé et structuré de variables, de procédures et de fonctions liées par une conception fonctionnelle unique. Un package se compose d’une spécification et d’un corps de package. La spécification contient des descriptions de variables externes, de constantes, de types et de sous-programmes, et le corps du package contient l'implémentation de sous-programmes et des descriptions de variables internes, de constantes et de types qui sont disponibles uniquement dans le package. Une spécification de package est créée avec la commande CREATE PACKAGE et le corps du package est créé avec la commande CREATE PACKAGE BODY. Un déclencheur (TRIGGER) est une procédure stockée qui est automatiquement exécutée lorsqu'un événement associé au déclencheur se produit. Généralement, les événements sont associés à l'exécution d'une instruction INSERT, UPDATE ou DELETE sur une table. Créé par la commande CREATE TRIGGER.

Structure physique de la base de données Oracle Paramètres d'environnement : $ORACLE_HOME – nom du répertoire d'accueil Oracle. $ORACLE_SID – Nom de la base de données Oracle. La base de données Oracle comprend : Des fichiers de contrôle (ctrl 1$ORACLE_SID. ctl, ctrl 2$ORACLE_SID. ctl, . .) Un fichier de paramètres de démarrage de l'instance init$ORACLE_SID. ora Fichier de paramètres de configuration de base de données config$ORACLE_SID. ora Fichiers journaux des modifications (log 1$ORACLE_SID. dbf, log 2$ORACLE_SID. dbf, . .) Espace table système (SYSTEM, system$ORACLE_SID. dbf) Espace table temporaire (TEMP, temp$ORACLE_SID. dbf) Espace table pour l'utilisateur données (USER, utilisateur$ORACLE_SID. dbf)

Les structures de mémoire Oracle SGA sont la mémoire partagée par tous les processus d'une instance. Il n'y a qu'un seul SGA par instance. Les modifications apportées aux éléments SGA pour un processus sont immédiatement disponibles pour tous les processus exécutés dans cette instance. Créé au démarrage d'une instance Oracle, le SGA a une taille fixe. Il existe jusqu'à ce que l'instance soit terminée manuellement, ou que le système d'exploitation soit redémarré ou qu'Oracle lui-même plante. Les principales structures internes de SGA sont : le Database Buffer Cache, c'est-à-dire un ensemble de blocs de données libres, lus et modifiés dans lesquels sont stockées les informations de la base de données ; tampon du journal des transactions (Redo Log Buffer) ; pool de tampons partagé (commun) (Shared Buffer Pool).

Structures de RAM Oracle. Le cache de tampons de données SGA contient deux listes : une liste des blocs actuellement les moins utilisés (LRU – lest_recently_used), qui comprend les blocs lus sur le disque mais non encore modifiés, ainsi que les tampons de données libres ; une liste de blocs modifiés (sales) qui n'ont pas encore été écrits sur le disque. Attention : l'échange disque-mémoire s'effectue toujours par blocs, quel que soit leur niveau de remplissage en enregistrements de données et le nombre d'enregistrements modifiés au cours du traitement ; lors de l'accès aux données, Oracle vérifie d'abord si les données requises se trouvent dans le cache tampon, et seulement si ce n'est pas le cas, accède au disque ; Les blocs de données lus sur le disque vont au début de la liste LRU. S'ils sont ensuite modifiés, Oracle les transfère dans la liste des blocs « sales » pour une écriture ultérieure sur le disque ; S'il n'y a pas suffisamment de tampons libres dans le cache pour exécuter la requête suivante, Oracle supprime les blocs de la « queue » de la liste LRU, comme les moins activement utilisés, et lit à leur place les blocs de données requis sur le disque.

Structures de RAM Oracle. SGA Le tampon du journal des modifications est une mémoire cyclique. Ce tampon reçoit toutes les modifications qui se produisent dans la base de données avec les données utilisateur, système et de service. Étant donné que le journal des modifications est destiné à restaurer l'état de la base de données après des situations d'urgence, les entrées du journal contiennent les valeurs « anciennes » et « nouvelles » des éléments modifiés, en particulier des enregistrements de données entiers après les opérations d'insertion dans le base de données ou en les supprimant de la base de données. Si le traitement des données est si intense que le tampon du journal devient plein, c'est-à-dire si le processus LGWR (processus d'écriture du journal) ne peut pas suivre le transfert des données du tampon vers le disque, Oracle commence à retenir les processus utilisateur. Le pool de mémoire tampon partagé (commun) comprend : 1. Cache de dictionnaire : stocke le plus fréquemment (dans travail actuel) informations utilisées à partir du dictionnaire de données du système, à savoir : noms de tables et de vues, noms de colonnes et types de données, privilèges et rôles des utilisateurs, droits d'accès aux objets de la base de données, etc. 2. zone partagée (commune) SQL et PL/SQL (Shared SQL et PL/SQL), également connu sous le nom de « cache de bibliothèque » : comprend un ensemble de curseurs, c'est-à-dire des structures de mémoire dans lesquelles sont stockés les résultats des plans d'analyse et d'exécution des instructions SQL et des blocs PL/SQL.

Structures de RAM Oracle. PGA est une zone de RAM allouée pour prendre en charge le fonctionnement d'un processus distinct. Il existe un et un seul entièrement dédié à un processus et indépendant des autres processus PGA pour chaque instance de processus. La taille du PGA peut augmenter dynamiquement pendant le fonctionnement. La PGA est souvent appelée la zone globale des processus. Lorsque le processus Oracle se termine normalement, toute la mémoire PGA est renvoyée au système d'exploitation. Le PGA du processus serveur Oracle comprend : une zone de pile contenant des variables et des informations de service sur la session ; une zone SQL privée, parfois appelée User Global Area (UGA), dans laquelle les instructions SQL et les blocs PL/SQL sont analysés. Cette zone est physiquement localisée dans la SGA (variante de l'architecture MTS) ou dans la PGA (architecture de serveur dédié). L'important est que les sessions récursives ne reçoivent pas leurs propres UGA, mais partagent les UGA de la session qui les a engendrées ; une zone de tri facultative (de taille sort_area_size), qui est requise comme mémoire temporaire pour stocker les résultats de tri des données intermédiaires. Si la mémoire allouée est insuffisante pour effectuer le tri, le processus utilise un segment temporaire du tablespace correspondant.

Processus d'instance Oracle L'ensemble des processus d'arrière-plan qui interagissent avec la base de données et la SGA (System Global Area) générés au démarrage de l'instance constituent l'instance Oracle. Tous les processus d'une instance fonctionnent sur un seul cœur logiciel ($ORACLE_HOME/bin/oracle) du SGBD. En règle générale, les processus d'instance sont définis comme étant en arrière-plan (service, auxiliaire, supplémentaire) et en serveur (traitement significatif des demandes). Le minimum requis pour qu'Oracle fonctionne est un ensemble des quatre processus d'arrière-plan suivants : ora_pmon_ – le processus de surveillance de l'état interne du système ora_dbwr_ – le processus d'écriture des données dans la base de données Oracle ora_lgwr_ – le processus d'écriture dans le journal des modifications ora_smon_ – le processus de surveillance du système.

Processus de l'instance Oracle 1. pmon – moniteur de processus en arrière-plan. Il surveille : l'état des processus dans le système (en particulier, il surveille l'accès au serveur des utilisateurs (connexion) et démarre les processus du serveur) ; détecte les situations d'urgence et le blocage « mort » des processus du serveur ; libère des ressources, c'est-à-dire supprime les verrous ; termine les transactions, supprime les processus de la liste active ; restaure l'état (rollback) de la base de données après des situations d'arrêt anormales des processus utilisateur. 2. dbwr – processus en arrière-plan d'écriture de blocs de données dans la base de données à partir de la liste des blocs modifiés dans le SGA. dbwr « se réveille » pour fonctionner si : la longueur de la liste des blocs modifiés dépasse une valeur seuil ; la liste des buffers libres n'a pas assez de mémoire pour lire de nouveaux blocs ; un autre intervalle de 3 secondes a expiré ; Le processus de journalisation en arrière-plan lgwr signale le début du prochain point de contrôle.

Processus d'instance Oracle 3. lgwr est un processus en arrière-plan qui écrit dans le journal des modifications de la base de données. La journalisation des transactions fonctionne comme ceci : au fur et à mesure qu'une transaction progresse, de petits enregistrements appelés entrées de rétablissement sont créés et contiennent suffisamment d'informations pour reconstruire les modifications apportées par la transaction. Les éléments de rétablissement de transaction sont temporairement stockés dans le tampon de journalisation. Lorsqu'une transaction doit être terminée, le processus lgwr lit les éléments de restauration requis dans le tampon du journal des transactions et les écrit dans le journal des transactions de la base de données. Une transaction est terminée lorsque le processus lgwr écrit l'élément de rétablissement de transaction dans le journal des transactions et enregistre son achèvement dans le journal des transactions. Les données du tampon SGA sont transférées sur le disque dans les cas suivants : une opération COMMIT a été effectuée pour valider les modifications dans la transaction suivante ; un autre intervalle de 3 secondes a expiré ; Le tampon de journal dans le SGA est rempli au tiers ; Le processus dbwr a écrit une autre partie des tampons modifiés sur le disque.

Processus d'instance Oracle 4. smon – un processus de surveillance du système requis effectue : récupération automatique(roll forward) de la base de données si son lancement précédent s'est terminé anormalement ou anormalement ; libérer les segments temporaires des données inutiles ; combiner des étendues libres contiguës d'espaces table en zones contiguës. 5. arch – un processus d'arrière-plan facultatif pour l'archivage des fichiers journaux opérationnels afin d'enregistrer les modifications dans la base de données. L'emplacement de la copie (disque, bande, ...) est déterminé par le paramètre log_archive_dest dans l'initialisation. ora. Si le processus arch n'a pas eu le temps d'archiver le prochain fichier journal(par exemple, plein système de fichiers et il n'y a pas assez d'espace pour accueillir le fichier d'archive) et un basculement vers celui-ci est nécessaire, Oracle suspend les opérations, effectuant uniquement des transactions sans journalisation.

Processus d'instance Oracle 6. ckpt est un processus auxiliaire facultatif pour écrire un point de contrôle dans le journal des modifications en ligne. Généralement points de contrôleécrit lgwr. Le processus ckpt (checkpoint_process = true dans le fichier init. ora) exempte uniquement lgwr de cette fonction. 7. reco – processus (semi) obligatoire responsable des connexions avec des bases de données distantes. Le processus de reconnaissance peut être omis (le paramètre disributed_transaction = 0 dans init. ora), mais l'instance ne pourra alors utiliser aucune « connexion entre bases de données ». 8.snp. X – de un à dix processus pour mettre à jour automatiquement les instantanés de la base de données locale. La quantité est définie dans init. ora avec le paramètre snapshot_refresh_processes, et le paramètre snapshot_refresh_interval détermine la fréquence à laquelle ils sont activés. processus snp. X peut être classé comme basé sur serveur, car ils, en communiquant avec d'autres bases de données (en particulier les mêmes), fonctionnent avec informations de l'utilisateur dans la base de données.

Processus d'instance Oracle 9. db. XX – processus supplémentaires pour écrire dans la base de données. Si le goulot d'étranglement des performances de la base de données est dû aux E/S et que la base de données est physiquement située sur plusieurs disques, il est recommandé d'exécuter plusieurs processus d'écriture supplémentaires (en moyenne, un pour chaque disque individuel). Nombre de bases de données supplémentaires. XX est déterminé par le paramètre db_writers. 10.d. XXX – processus répartiteurs dans la version de l'architecture MTS avec serveurs partagés. Le nombre de répartiteurs fonctionnant actuellement dépend de la charge de travail d'Oracle, mais ne dépasse pas le nombre spécifié par le paramètre mts_max_dispatchers. Chaque répartiteur dessert uniquement un réseau spécifique ou un protocole interne. Par exemple : mts_dispatchers="tcp, 1" mts_dispatchers="ipc, 1"

Processus d'instance Oracle 11.s. XXX – processus serveur dans la version de l'architecture MTS avec serveurs partagés. Le nombre de serveurs fonctionnant actuellement dépend de l'intensité du travail d'Oracle, mais ne dépasse pas le nombre spécifié par le paramètre mts_max_servers. Au démarrage, Oracle démarre plusieurs processus serveur (mts_servers), puis, à mesure que la charge augmente ou diminue, il démarre ou termine des processus supplémentaires. 12. oracle – un processus serveur dédié qui sert individuellement un processus utilisateur (dans un cas particulier, le processus snp), fonctionnant très probablement sur une autre machine. 13.loc. X – de un à dix processus de verrouillage qui assurent une gestion mutuelle des ressources dans un environnement de serveur parallèle.

Architectures de serveur Oracle La version mono-utilisateur (exemple d'environnement - MS DOS) se caractérise par le fait que : le processus utilisateur, le processus serveur et les processus d'arrière-plan sont combinés en une seule tâche du système d'exploitation ; Vous ne pouvez exécuter qu'une seule base de données et une seule instance Oracle ; dans une base de données distribuée ne peut pas fonctionner comme un serveur. L'option multi-utilisateurs (un exemple d'environnement est UNIX) se caractérise par le fait que : les processus utilisateur, serveur et en arrière-plan sont divisés en tâches distinctes du système d'exploitation ; il est possible d'exécuter plusieurs bases de données et instances Oracle ; Il est possible de fonctionner comme serveur dans une base de données distribuée.

Architectures serveur Oracle L'option monotâche (un exemple d'environnement est Net. Ware) se caractérise par le fait que : le processus utilisateur et le processus serveur forment une seule tâche du système d'exploitation, appelée tâche utilisateur ; Une seule tâche utilisateur peut être exécutée sur le serveur à un moment donné ; Il est possible pour de nombreux utilisateurs d'accéder à la base de données via Net 8 (SQL*Net). L'option dual-tâche (un exemple d'environnement est UNIX) se caractérise par le fait que : le processus utilisateur et le processus serveur serveur sont des processus complètement indépendants du système d'exploitation, au point qu'ils peuvent fonctionner sur des machines et plates-formes différentes (client -architecture du serveur); à tout moment, plusieurs (nombreux) processus utilisateur et serveur peuvent fonctionner sur le serveur ; il est possible pour de nombreux utilisateurs d'accéder via Net 8 (SQL*Net) bases de données locales données et utilisateurs locaux vers des bases de données distantes.

Architectures serveur Oracle Architecture monothread, ou option avec serveurs dédiés (Dedicated) : assigner de manière rigide à chaque processus utilisateur un processus serveur qui l'exécute et uniquement ses requêtes à la base de données. Serveur parallèle (environnement - systèmes de cluster, par exemple, RM-1000) : chaque processeur de cluster exécute sa propre instance Oracle, qui comprend une zone SGA distincte et un ensemble de processus système ; chaque instance gère ses propres journaux de modifications ; la base de données et les fichiers de contrôle sont communs à toutes les instances ; chaque instance peut être connectée à de nombreux utilisateurs ; Chaque instance est adressable individuellement et peut fonctionner indépendamment dans le cadre d'un système distribué.

Architectures de serveurs Oracle L'architecture multithread (MTS - Multi-Tread Server), variante avec des serveurs partagés, se caractérise par : la présence de processus répartiteurs qui reçoivent les requêtes des processus utilisateurs et leur renvoient les résultats des requêtes exécutées par les processus serveur ; la présence dans SGA de : une file d'attente d'entrée pour tous les processus du serveur, dans laquelle les répartiteurs placent les demandes de service des utilisateurs ; plusieurs files d'attente de sortie, une attribuée à chaque processus par le répartiteur, où sont placés les serveurs et à partir desquelles les répartiteurs transmettent aux utilisateurs les résultats de l'exécution des requêtes vers la base de données ; transfert des zones SQL privées préalablement situées dans le PGA des processus serveur vers le SGA de l'instance Oracle ; changement dynamique en fonction de la charge actuelle du système du nombre de répartiteurs fonctionnels et de processus serveur ; ni les répartiteurs ni les serveurs ne sont affectés à des processus utilisateur : les demandes sont traitées au fur et à mesure de leur réception ; possibilité de fonctionnement simultané de serveurs dédiés et partagés.

La structure d'une base de données relationnelle.

Types de bases de données.

Fonctionnalités de base du SGBD.

Le concept de base de données, SGBD.

Plan

TERMES: base de données, système de gestion de base de données (SGBD),

base de données relationnelle, enregistrement de base de données, champ de base de données, champ clé de base de données, table de base de données, requête de base de données, formulaire de base de données, rapport de base de données, macro de base de données, module de base de données.

L'un des principaux domaines d'utilisation de l'informatique dans la société de l'information moderne est le stockage et le traitement de grandes quantités d'informations.

Base de données (Base de données ) est un référentiel systématisé d'informations dans un certain domaine, auquel divers utilisateurs peuvent accéder pour résoudre leurs problèmes.

Vous trouverez ci-dessous un exemple de l'un des systèmes de gestion de bases de données les plus courants : Microsoft Access fait partie du package Microsoft Office populaire - nous nous familiariserons avec les principaux types de données, les méthodes de création de bases de données et les techniques d'utilisation des bases de données.

Base de données- une collection organisée de données destinées à un stockage à long terme dans une mémoire informatique externe et à une utilisation permanente. Pour stocker la base de données, un seul ordinateur ou plusieurs ordinateurs interconnectés peuvent être utilisés.

Si différentes parties d'une base de données sont stockées sur plusieurs ordinateurs interconnectés par un réseau, alors une telle base de données est appelée base de données distribuée.

Système de gestion de base de données(SGBD ) est un logiciel qui vous permet de créer une base de données, de mettre à jour les informations qui y sont stockées et d'y fournir un accès pratique pour la visualisation et la recherche.

Actuellement, les SGBD sont les plus utilisés Microsoft Access, FoxPro, dBase. Les SGBD sont divisés selon manière d'organiser bases de données sur réseau, hiérarchique Et SGBD relationnel.

Principales fonctionnalités du SGBD :

ü Mise à jour, réapprovisionnement et extension de la base de données.

ü Haute fiabilité du stockage des informations.

ü Sortie d'informations complètes et fiables sur les demandes.

ü Outils de sécurité de l'information dans la base de données.

Il existe des bases de données factuel et documentaire.

Les bases de données factuelles contiennent de brèves informations sur les objets décrits, présentées dans un format strictement défini. La base de données de la bibliothèque stocke les informations bibliographiques sur chaque livre : année de publication, auteur, titre, etc. La base de données du service des ressources humaines de l'établissement stocke les données personnelles des salariés : nom complet, e, o, année et lieu de naissance, etc. La base de données des actes législatifs dans le domaine du droit pénal, par exemple, comprendra les textes de lois ; Base de données de musique moderne - tests et notes de chansons, informations générales sur les compositeurs, poètes, interprètes, enregistrements sonores et clips vidéo. Par conséquent, la base de données documentaire contient de nombreuses informations sur les différents types: texte, son, multimédia.

Pour stocker la base de données, un seul ordinateur ou plusieurs ordinateurs interconnectés peuvent être utilisés.

Si différentes parties d'une base de données sont stockées sur plusieurs ordinateurs interconnectés par un réseau, alors une telle base de données est appelée base de données distribuée.

Connu trois types principaux organiser les données dans Base de données et les connexions entre eux:

· hiérarchique (sous forme d'arbre),

· réseau,

· relationnel .

Dans une base de données hiérarchique il y a un ordre des éléments dans l'enregistrement, un élément est considéré comme le principal, les autres sont subordonnés. La recherche de n’importe quel élément de données dans un tel système peut prendre du temps en raison de la nécessité de passer séquentiellement par plusieurs niveaux hiérarchiques.

Exemple: Une base de données hiérarchique est constituée d'un répertoire de fichiers stockés sur disque.

La même base de données est l’arbre généalogique généalogique.

Base de données réseau Il est plus flexible, il est possible d'installer des connexions horizontales en plus des connexions verticales.

Bases de données relationnelles(de l'anglais relation - « relation ») sont appelées bases de données contenant des informations sous forme de tableaux rectangulaires. Selon cette approche, une telle table est appelée une relation. Chaque ligne du tableau contient informationà propos d'une chose objet séparé domaine décrit dans la base de données , et tout le monde colonne – certaines caractéristiques (propriétés, attributs) ces objets . Relationnel la base de données est essentiellement une base de données bidimensionnelle tableau. Il existe quatre principaux types de champs utilisés dans une base de données relationnelle :

· Numérique,

· Symbolique (mots, textes, codes, etc.),

· Date (dates calendaires sous la forme « jour/mois/année »),

· Logique (prend deux valeurs : « oui » - « non » ou « vrai » - « faux »).

La fenêtre de la base de données contient les éléments suivants :

ü Boutons: "CRÉER", "OUVRIR", "CONSTRUCTEUR" etc. Les boutons ouvrent un objet dans une fenêtre ou un mode spécifique.

ü Boutons d'objet. (Épines de sélection d'objets, étiquettes.) "Tableau", "Formulaire" etc. Les boutons d'objet affichent une liste d'objets qui peuvent être ouverts ou fermés.

ü Liste des objets. Affiche une liste d'objets sélectionnés par l'utilisateur. Dans notre version, la liste est encore vide.

Objets principaux de la base de données :

· Tableau est un objet conçu pour stocker des données sous forme d'enregistrements (lignes) et de champs (colonnes). En règle générale, chaque table est utilisée pour stocker des informations sur un problème spécifique.

· Formulaire est un objet Microsoft Access conçu principalement pour la saisie de données. Le formulaire peut contenir des contrôles utilisés pour saisir, afficher et modifier des données dans les champs du tableau.

· Demande – un objet qui permet d’obtenir les données nécessaires à partir d’une ou plusieurs tables.

· Rapport – un objet de base de données Microsoft Access destiné à l'impression de données.

· Macro – automatiser les actions standards.

· Modules – automatiser des opérations complexes qui ne peuvent être décrites par des macros.