Maison / Maîtriser l'ordinateur / Notion de base de données. Exigences qu'une organisation de base de données doit satisfaire La principale exigence lors de l'utilisation d'une base de données

Notion de base de données. Exigences qu'une organisation de base de données doit satisfaire La principale exigence lors de l'utilisation d'une base de données

Objectif de la leçon : acquérir des connaissances sur le contenu des étapes de conception de la base de données, les exigences de la base de données.

Plan

    Exigences de la base de données

    Les grandes étapes de la conception d'une base de données.

    Modèle entité-relation.

  1. Exigences de la base de données

Le développement des technologies de base de données est déterminé par un certain nombre de facteurs : la croissance des besoins d'information des utilisateurs, les exigences d'un accès efficace à l'information, l'émergence de nouveaux types de machines à mémoire et une augmentation de sa capacité, de nouveaux moyens et opportunités dans le domaine des télécommunications, etc.

Les exigences de base suivantes sont imposées aux bases de données modernes :

    Haute performance (temps de réponse court à une requête). Temps de réponse - la période de temps entre le moment d'une demande à la base de données et la réception effective des données. Un terme similaire est le temps d'accès - l'intervalle de temps entre l'émission d'une commande d'écriture (lecture) et la réception effective des données. L'accès fait référence à l'opération de recherche, de lecture ou d'écriture de données. Souvent, les opérations d'écriture, de suppression et de modification de données sont appelées opérations de mise à jour.

    Mise à jour facile des données. Ces deux premières exigences contradictoires sont les plus importantes : augmenter les performances nécessite de simplifier la structure de la base de données, ce qui, à son tour, complique la procédure de mise à jour des données, augmente leur redondance

    L'indépendance des données est la capacité de modifier la structure logique et physique de la base de données sans modifier les vues des utilisateurs. L'indépendance des données implique l'invariance à la nature du stockage des données, des logiciels et du matériel. Il fournit des changements minimes dans la structure de la base de données avec des changements dans la stratégie d'accès aux données et la structure des données source elles-mêmes. Ceci est réalisé, comme on le verra ci-dessous, en « déplaçant » tous les changements vers les étapes de conception conceptuelle et logique, avec des changements minimes vers l'étape de conception physique.

    Partage de données entre de nombreux utilisateurs.

    La sécurité des données est la protection des données contre les violations, altérations ou destructions intentionnelles ou non. La sécurité des données comprend leur intégrité et leur protection. Intégrité des données - la résistance des données stockées à la destruction et à la destruction associée à des dysfonctionnements moyens techniques, erreurs système et les actions erronées des utilisateurs. L'intégrité des données implique :

1) l'absence de données saisies de manière inexacte ou de deux enregistrements identiques sur le même fait ;

2) protection contre les erreurs lors de la mise à jour de la base de données ;

3) l'impossibilité de supprimer (ou de supprimer en cascade) les données liées de différentes tables ;

4) non-distorsion des données lors du travail en mode multi-utilisateurs et dans des bases de données distribuées ;

5) la sécurité des données en cas de panne des équipements (récupération des données).

Pour assurer l'intégrité de la base de données, des restrictions 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 (par exemple, la plage de valeurs d'attributs, etc.) :

    intégrité de l'entité- tout tuple de toute relation se distingue de tout autre tuple de cette relation

intégrité référentielle- pour chaque valeur de clé étrangère apparaissant dans la relation de référence, la relation référencée doit avoir un tuple avec la même valeur de clé primaire, ou la valeur de clé étrangère doit être nulle

L'intégrité est assurée par des déclencheurs d'intégrité - des applications-programmes spéciaux qui fonctionnent sous certaines conditions. La protection des données contre les accès non autorisés implique de restreindre l'accès aux données confidentielles et peut être réalisée :

1) l'introduction d'un système de mot de passe ;

2) obtenir les autorisations de l'administrateur de la base de données (DBA) ;

4) formation de types - tableaux dérivés des originaux et destinés à des utilisateurs spécifiques.

Les trois dernières procédures sont facilement exécutées dans le langage SQL.

    Standardisation de la construction et du fonctionnement de la base de données (en fait, le SGBD). La normalisation assure la continuité des générations de SGBD, simplifie l'interaction des bases de données d'une génération de SGBD avec des modèles de données identiques et différents. La normalisation (ANSI/SPARC) a été largement mise en œuvre en termes d'interface utilisateur du SGBD et du langage SQL. Cela a permis de résoudre avec succès le problème d'interaction entre différents SGBD relationnels utilisant à la fois le langage SQL et l'application Open DataBase Connection (ODBC). Dans ce cas, à la fois local et accès à distance aux données (technologie client/serveur ou option réseau).

    Redondance minimale - tout élément de données doit être stocké en une seule copie.

    Réutilisation des données.

    Saisie unique des données.

    Adéquation de l'affichage des données du domaine concerné.

    Interface utilisateur conviviale.

La possibilité de modifier la structure logique et physique de la base de données sans modifier les vues des utilisateurs.

L'indépendance des données implique l'invariance à la nature du stockage des données, logiciel et des moyens techniques. Il fournit des changements minimes dans la structure de la base de données avec des changements dans la stratégie d'accès aux données et la structure des données source elles-mêmes. Ceci est réalisé, comme on le verra ci-dessous, en « déplaçant » tous les changements vers les étapes de conception conceptuelle et logique, avec des changements minimes à l'étape conception physique.

La sécurité des données comprend leur intégrité et leur protection.

La stabilité des données stockées contre la destruction et la destruction associées aux dysfonctionnements des moyens techniques, aux erreurs système et aux actions erronées des utilisateurs.

Elle suggère:

    1) l'absence de données saisies de manière inexacte ou de deux enregistrements identiques sur le même fait ;

    2) protection contre les erreurs lors de la mise à jour de la base de données ;

    3) l'impossibilité de supprimer (ou de supprimer en cascade) les données liées de différentes tables ;

    4) non-distorsion des données lors du travail en mode multi-utilisateurs et dans des bases de données distribuées ;

    5) la sécurité des données en cas de panne des équipements (récupération des données).

L'intégrité est assurée déclencheurs d'intégrité- programmes d'applications spéciaux qui fonctionnent sous certaines conditions. La protection des données contre les accès non autorisés implique de restreindre l'accès aux données confidentielles et peut être réalisée :

    1) l'introduction d'un système de mot de passe ;

    2) obtenir les autorisations de l'administrateur de la base de données (DBA) ;

    4) formation de types - tableaux dérivés des originaux et destinés à des utilisateurs spécifiques.

Les trois dernières procédures sont facilement exécutées dans le langage de requête structuré - SQL, souvent appelé SQL2.

La normalisation assure la continuité des générations de SGBD, simplifie l'interaction des bases de données d'une génération de SGBD avec des modèles de données identiques et différents. La normalisation (ANSI/SPARC) a été largement mise en œuvre en termes d'interface utilisateur du SGBD et du langage SQL. Cela a permis de résoudre avec succès le problème d'interaction entre différents SGBD relationnels utilisant à la fois le langage SQL et l'application Open DataBase Connection (ODBC). Dans ce cas, l'accès aux données aussi bien en local qu'à distance peut être réalisé (technologie client/serveur ou version réseau).

Le concept de construction d'une base de données

L'évolution du concept de bases de données est intéressante.

Initialement (début des années 60) utilisé système de fichiers stockage. Pour résoudre principalement des problèmes d'ingénierie caractérisés par une petite quantité de données et une quantité importante de calculs, les données ont été stockées directement dans le programme. Une méthode cohérente d'organisation des données a été utilisée, il y avait leur forte redondance, l'identité des structures logiques et physiques et la dépendance complète des données. Avec l'avènement des tâches économiques et de gestion (système d'information de gestion - SIG), caractérisées par de grandes quantités de données et une faible proportion de calculs, cette organisation des données s'est avérée inefficace. Un ordonnancement des données s'imposait, qui s'est avéré s'effectuer selon deux critères : l'usage (tableaux d'information) ; stockage (bases de données). Initialement, des tableaux d'informations ont été utilisés, mais la supériorité des bases de données est rapidement devenue évidente. Utilisation de fichiers pour stocker uniquement des données (Fig. 2.1, a) a été proposé par McGrey en 1959. Des méthodes d'accès (y compris arbitraires) à de tels fichiers ont été développées, alors que les structures physiques et logiques étaient déjà différentes, et que l'emplacement physique des données pouvait être modifié sans changer la représentation logique.

En 1963, S. Bachman a construit la première base de données IDS industrielle avec un modèle de données en réseau, qui se caractérisait encore par la redondance des données et son utilisation pour une seule application. L'accès aux données a été effectué à l'aide du logiciel approprié. En 1969, un groupe s'est formé qui a créé l'ensemble de normes CODASYL pour modèle de réseau données.

En fait commencé à être utilisé (Fig. 2.1, b) architecture de base de données moderne. L'architecture est comprise comme une sorte (généralisation) d'une structure dans laquelle tout élément peut être remplacé par un autre élément dont les caractéristiques d'entrées et de sorties sont identiques au premier élément. Un saut significatif dans le développement de la technologie des bases de données a été donné par le paradigme du modèle de données relationnelles proposé par M. Codd en 1970. Un paradigme est compris comme une théorie scientifique incarnée dans un système de concepts qui reflètent les caractéristiques essentielles de la réalité. Désormais, des structures logiques pourraient être obtenues à partir des mêmes données physiques, c'est-à-dire les mêmes données physiques pouvaient être consultées applications diverses le long de différents chemins. Il est devenu possible d'assurer l'intégrité et l'indépendance des données.

À la fin des années 1970, des SGBD modernes sont apparus qui assurent l'indépendance physique et logique, la sécurité des données et ont développé des langages de bases de données. La dernière décennie est caractérisée par l'émergence de bases de données distribuées et orientées objet, dont les caractéristiques sont déterminées par les applications des outils d'automatisation de la conception et l'intellectualisation des bases de données.

Avant d'examiner les procédures de travail avec la base de données, donnons un ensemble de caractéristiques de la base de données (Fig. 2.2)
et ses explications.

Il existe deux approches pour créer une base de données basée sur deux approches pour créer un système de contrôle automatisé (ACS).

Le premier d'entre eux, largement utilisé dans les années 80 et donc appelé le classique (traditionnel), est associé à l'automatisation du workflow (un ensemble de documents se déplaçant dans le processus d'une entreprise). Les coordonnées initiales et de sortie étaient des documents, comme on peut le voir dans l'exemple 2.1.

Exemple 2.1. La tâche se pose comme suit. Il existe un système de documents manuels, dont la forme est indiquée dans le tableau. 2.1.

Tableau 2.1.

Données de livraison

Il est nécessaire, à l'aide de la base de données, d'obtenir - conformément à la réglementation ou sur demande - des informations sous la forme d'un autre système de documents, dont la forme est donnée dans le tableau. 2.2.

Tableau 2.2.

Rapport trimestriel des livraisons

La thèse suivante a été utilisée. Les données sont moins mobiles que les algorithmes, vous devez donc créer une base de données générique qui peut ensuite être utilisée pour n'importe quel algorithme. Cependant, il est vite devenu clair que la création d'une base de données universelle est problématique. Le concept d'intégration de données qui dominait jusqu'à récemment, avec une forte augmentation de leur volume, s'est avéré intenable. De plus, des applications ont commencé à apparaître (par exemple, du texte, éditeur graphique) basé sur des algorithmes standard largement utilisés. Des algorithmes standards ont également émergé en gestion (entreprise), comme il ressort de l'exemple 2.2.

Exemple 2.2. Considérez la procédure standard d'utilisation d'une carte de crédit bancaire. L'acheteur-client choisit un produit au supermarché et, s'approchant de la caisse, présente une carte de crédit pour le paiement. Il est descendu dans un récepteur spécial, et les données en sont lues et transférées à l'ordinateur du supermarché. Cet ordinateur communique avec l'ordinateur de la banque où l'argent du client est stocké. Les données de l'ordinateur de la banque (concernant le client) sont transférées vers l'ordinateur du supermarché. Si le client a plus de fonds sur son compte bancaire que le coût des marchandises qu'il a sélectionnées, l'ordinateur du marché vous permet de libérer les marchandises. En même temps, il recalcule les fonds sur le compte du client, en apportant des modifications aux documents financiers du supermarché, au compte bancaire et à la carte de crédit du client. La carte de crédit avec les données modifiées est retournée au client. Si le client ne dispose pas de suffisamment de fonds, la carte de crédit peut être restituée au client et il ne sera pas servi au supermarché.

Dans les années 1990, une deuxième approche moderne liée à l'automatisation du contrôle a été formée. Il s'agit de l'identification initiale des algorithmes applicatifs standards (algorithmes métier en terminologie étrangère), sous lesquels sont définies les données, et donc la base de données. La programmation orientée objet n'a fait qu'accroître l'importance de cette approche. La composition de la base de données pour différentes approches est illustrée à la fig. 2.3.

Dans le fonctionnement de la base de données, des modes mono-utilisateur et multi-utilisateurs (plusieurs utilisateurs se connectent à un ordinateur via différents ports) sont possibles.

Utilisez une conception de base de données descendante et descendante. Le premier est utilisé dans les bases de données distribuées lors de l'intégration de bases de données locales conçues pouvant être exécutées à l'aide de divers modèles de données. La conception descendante est plus typique pour les bases de données centralisées.

Dans les sections suivantes, nous considérerons d'abord l'approche classique pour les bases de données centralisées, puis l'approche moderne. La troisième partie de cet article est consacrée aux bases de données distribuées.

Le travail avec des bases de données peut être représenté sous la forme d'un diagramme illustré à la fig. 2.4.
Il en ressort qu'il convient de distinguer la méthodologie de création et d'utilisation de la base de données. La méthodologie de la base de données est définie dans la procédure de conception, mais se manifeste également dans la procédure d'utilisation.

Méthodologie de conception de base de données

Il existe de nombreuses variétés de méthodologies pour considérer les bases de données dans l'approche classique, mais le plus souvent, elles adhèrent à la méthodologie ANSI / SPARC, dont le schéma est illustré à la Fig. 2.5.

Sur la fig. 2.5 montre un ensemble de procédures pour concevoir une base de données centralisée, qui peuvent être combinées en quatre étapes.

Au stade de la formulation et de l'analyse des exigences, les objectifs de l'organisation sont définis, les exigences pour la base de données sont déterminées. Ils consistent en Exigences générales défini dans la section 2.1 et des exigences spécifiques. Pour formuler des exigences spécifiques, la technique consistant à interroger le personnel à différents niveaux de gestion est généralement utilisée. Toutes les exigences sont documentées sous une forme accessible à l'utilisateur final et au concepteur de la base de données.

La phase de conception conceptuelle consiste en la description et la synthèse exigences en matière d'informations utilisateurs au projet de base de données d'origine. Les données initiales peuvent être un ensemble de documents utilisateur (Fig. 2.4)
dans l'approche classique ou les algorithmes applicatifs (algorithmes métier) dans l'approche moderne. Le résultat de cette étape est une représentation de haut niveau (sous la forme d'un système de table de base de données) des besoins d'information des utilisateurs basée sur diverses approches.

Tout d'abord, le modèle de base de données est sélectionné. Ensuite, à l'aide de DDL, une structure de base de données est créée, qui est remplie de données à l'aide de commandes DDL, de systèmes de menus, de formulaires d'écran ou en mode d'affichage de table de base de données. Il assure également la protection et l'intégrité (y compris référentielle) des données à l'aide d'un SGBD ou en construisant des triggers.

Dans le processus de conception logique, une représentation de haut niveau des données est transformée dans la structure du SGBD utilisé. L'objectif principal de l'étape est d'éliminer la redondance des données à l'aide de règles de normalisation spéciales (Fig. 2.4).
L'objectif de la normalisation est de minimiser les répétitions de données et les éventuelles modifications structurelles de la base de données lors des procédures de mise à jour. Ceci est réalisé en divisant (décomposant) une table en deux ou plus, suivie par l'utilisation d'opérations de navigation dans les requêtes. Notez que la recherche de navigation ralentit les performances de la base de données, c'est-à-dire augmente le temps de réponse aux requêtes. La structure logique résultante de la base de données peut être quantifiée à l'aide de diverses caractéristiques (le nombre d'accès aux enregistrements logiques, la quantité de données dans chaque application, la quantité totale de données). Sur la base de ces évaluations, le cadre logique peut être amélioré pour atteindre une plus grande efficacité.

La procédure de gestion de la base de données mérite une discussion particulière. C'est plus simple en mode mono-utilisateur. En mode multi-utilisateurs et dans les bases de données distribuées, la procédure devient beaucoup plus compliquée. Si plusieurs utilisateurs accèdent en même temps sans prendre de mesures spéciales, l'intégrité peut être compromise. Pour éliminer ce phénomène, le système de transaction et le mode de verrouillage des tables ou des enregistrements individuels sont utilisés.

Processus de modification d'un fichier, d'un enregistrement ou d'une base de données provoqué par la transmission d'un seul message d'entrée. Les fonctionnalités de blocage et les options de blocage seront discutées séparément ci-dessous.

Au stade de la conception physique, les problèmes liés aux performances du système sont résolus, les structures de stockage des données et les méthodes d'accès sont déterminées.

L'interaction entre les étapes de conception et le système de vocabulaire doit être considérée séparément. Les procédures de conception peuvent être utilisées indépendamment en l'absence d'un système de vocabulaire. Le système de dictionnaire lui-même peut être considéré comme un élément de l'automatisation de la conception.

Les outils de conception et les critères d'évaluation sont utilisés à toutes les étapes du développement. Actuellement, l'incertitude dans le choix des critères est le point le plus faible de la conception des bases de données. Cela est dû à la difficulté de décrire et d'identifier un grand nombre de solutions alternatives.

La situation est plus simple lorsque l'on travaille avec des critères quantitatifs, qui incluent le temps de réponse à une requête, le coût de modification, le coût de mémoire, le temps de création, le coût de réorganisation. La difficulté peut entraîner une contradiction des critères entre eux.

Dans le même temps, il existe de nombreux critères d'optimalité, qui sont des propriétés non mesurables difficiles à exprimer quantitativement ou en tant que fonction objective.

Les critères qualitatifs peuvent inclure la flexibilité, l'adaptabilité, l'accessibilité aux nouveaux utilisateurs, la compatibilité avec d'autres systèmes, la capacité de conversion vers un autre environnement informatique, la capacité de récupération, la capacité de distribution et d'expansion.

Le processus de conception est long et laborieux et dure généralement plusieurs mois. Les principales ressources du concepteur de base de données sont sa propre intuition et son expérience, de sorte que la qualité de la solution dans de nombreux cas peut être faible.

Les principales raisons de la faible efficacité des bases de données conçues peuvent être :

    analyse insuffisamment approfondie des exigences (phases initiales de conception), y compris leur sémantique et l'interconnexion des données ;

    la longue durée du processus de structuration, qui rend ce processus fastidieux et difficile à réaliser manuellement.

Dans ces conditions, les problématiques d'automatisation du développement deviennent importantes.

Méthodologie de la base de données

Les bases de données ne sont généralement pas utilisées indépendamment, mais font partie de divers systèmes d'information: banques de données, recherche documentaire et systèmes experts, systèmes de conception assistée par ordinateur, postes de travail automatisés, systèmes automatisés gestion.

La base de données comporte trois niveaux de présentation des données (Fig. 2.4) :
bases de données conceptuelles, logiques et physiques.

Dans la procédure d'utilisation, ils traitent le plus souvent d'un modèle logique et - beaucoup moins souvent - d'un modèle conceptuel et physique.

Le dictionnaire de données est comme une base de données interne contenant des informations centralisées sur tous les types de données, leurs noms, leur structure et des informations sur leur utilisation. L'avantage du dictionnaire de données réside dans l'accumulation et la gestion efficaces ressources d'information Domaine. Son application permet de réduire la redondance et l'incohérence des données lors de leur saisie, d'effectuer une gestion simple et efficace lors de leur modification, de simplifier la procédure de conception de la base de données en centralisant la gestion des données, et d'établir des relations avec les autres utilisateurs. Ainsi, le dictionnaire de données contient une représentation généralisée des trois niveaux : conceptuel, logique et physique.

Étudier ce problème pendant longtemps divers groupes de personnes étaient engagés dans des institutions utilisant des ordinateurs, dans des commissions gouvernementales, dans des centres informatiques à usage collectif. Le comité CODASYL a publié des rapports à ce sujet (CODASYL est l'organisme qui a développé le langage COBOL). Les organisations d'utilisateurs IBM SHARE et GUIDE ont formulé dans leur rapport des exigences pour un système de gestion de base de données. L'association ACiM (Association for Computing Machinery) s'est également penchée sur cette question.

Voici les exigences de base pour l'organisation d'une base de données.

Établir des liens multilatéraux

Différents programmeurs nécessitent différents fichiers logiques. Ces fichiers sont obtenus à partir du même ensemble de données. Il peut y avoir diverses connexions entre les éléments de données stockées. Certaines bases de données contiendront un réseau complexe de relations. La méthode d'organisation des données doit être telle qu'il soit possible de représenter commodément ces relations et de s'accorder rapidement sur leurs modifications. Le système de gestion de base de données doit permettre d'obtenir les fichiers logiques requis à partir des données disponibles et des relations existant entre elles. Il doit y avoir au moins une légère ressemblance entre la représentation du fichier logique dans le programme d'application et la façon dont les données sont stockées physiquement.

Performance

Des bases de données spécialement conçues pour être utilisées par leur opérateur de terminal offrent des temps de réponse satisfaisants pour un dialogue homme-terminal. De plus, le système de base de données doit fournir un débit adéquat. Dans les systèmes conçus pour un petit flux de demandes, débit impose des restrictions mineures sur la structure de la base de données. Dans les systèmes à fort débit de requêtes, comme dans les systèmes de réservation de billets d'avion, le débit a une influence déterminante sur le choix de l'organisation du stockage physique des données.

Dans les systèmes conçus uniquement pour le traitement par lots, le temps de réponse n'est pas aussi important et la méthode d'organisation physique peut être choisie pour assurer un traitement par lots efficace.

Coûts minimaux

Pour réduire le coût de création et d'exploitation d'une base de données, on choisit de telles méthodes d'organisation qui minimisent les exigences de mémoire externe. Lors de l'utilisation de ces méthodes, la représentation physique des données en mémoire peut être très différente de la représentation utilisée par le programmeur de l'application. La transformation d'une représentation en une autre est réalisée par logiciel ou, si possible, par matériel ou micrologiciel. Dans de tels cas, il faut choisir entre le coût de l'algorithme de conversion et l'économie de mémoire.

Le concept de bases de données utilisé dans AIVS

Section 2

Questions de contrôle

1. Qu'est-ce que les données, les informations, les connaissances ?

2. Définissez une base de données (DB).

3. A quoi sert la base de données ?

4. Définir les concepts "fichier", "enregistrement", "attribut", "domaine", "champ", "clé", "superclé", "architecture", "schéma de données", "modèle de données", "tuple" , "dictionnaire de données".

5. Donner des définitions aux concepts "domaine", "application", "programme", NDL, NMD.

6. Donner une classification des SGBD et des bases de données.

7. Décrivez la composition du SGBD.

8. Affichez le rapport entre le SGBD et le DBA.

9. Répertoriez les procédures d'exploitation de la base de données.

10. Nommez les composantes de la théorie des bases de données.

11. Énumérez les principaux éléments de la structure de la base de données du point de vue de sa mise en œuvre.

12.Quel est le but d'OLTP et d'OLAP ? le rapport de leurs propriétés?

13. Décrivez la composition d'OLAP.

14. Nommez les variétés du modèle multidimensionnel.

Un concept au sens général représente un certain système de vues sur un processus ou un phénomène. Les composantes du concept sont un ensemble de principes et de méthodologie. Une méthodologie est un ensemble de méthodes permettant de résoudre un problème.

Principe - les règles à suivre dans l'activité. Souvent, les principes sont formulés sous la forme de restrictions et d'exigences, en particulier d'exigences pour les bases de données.

À partir des positions modernes, il est nécessaire de considérer séparément les exigences des bases de données transactionnelles (opérationnelles) et des entrepôts de données.

Dans un premier temps, nous listons les principales exigences qui s'appliquent aux bases de données opérationnelles, et, par conséquent, au SGBD sur lequel elles sont construites.

1. Facile à mettre à jour les données. Une opération de mise à jour fait référence à des ajouts, des suppressions et des modifications de données.

2. Haute performance (temps de réponse court à une requête).
Temps de réponse - la période de temps à partir du moment de la demande à la base de données et
obtenir réellement les données. Similaire est le terme temps
accès - l'intervalle de temps entre l'émission d'une commande d'écriture (lecture) et la réception effective des données. accès sous poney
L'opération de recherche, de lecture de données ou de leur écriture est en cours de traitement.

3. Indépendance des données.

4. Partage de données entre de nombreux utilisateurs.

5. Sécurité des données - protéger les données contre les
ou violation involontaire de la confidentialité, fausse déclaration ou
destruction.

6. Standardisation de la construction et du fonctionnement de la base de données (en fait
SGBD).

8. Interface utilisateur conviviale.

Les plus importantes sont les deux premières exigences contradictoires : augmenter la vitesse nécessite de simplifier la structure de la base de données, ce qui, à son tour, complique la procédure de mise à jour des données et augmente leur redondance.

L'indépendance des données est la capacité de modifier la structure logique et physique de la base de données sans modifier les vues des utilisateurs. L'indépendance des données implique l'invariance à la nature du stockage des données, des logiciels et du matériel. Il fournit des changements minimes dans la structure de la base de données avec des changements dans la stratégie d'accès aux données et la structure des données source elles-mêmes. Ceci est réalisé, comme on le verra ci-dessous, en « déplaçant » tous les changements vers les étapes de conception conceptuelle et logique, avec des changements minimes vers l'étape de conception physique.

La sécurité des données comprend leur intégrité et leur protection. L'intégrité des données est la résistance des données stockées à la destruction et à la destruction associées aux dysfonctionnements des moyens techniques, aux erreurs du système et aux actions erronées des utilisateurs.

Elle suggère:

Absence de données mal saisies ou de deux données identiques
les enregistrements du même fait ;

Protection contre les erreurs lors de la mise à jour de la base de données ;

L'impossibilité de supprimer séparément (suppression en cascade) les données liées de différentes tables ;

Non-corruption des données lorsque l'on travaille en mode multi-utilisateurs
presse et dans des bases de données distribuées ;

Sécurité des données en cas de panne des équipements (récupération des données).

L'intégrité est assurée par des déclencheurs d'intégrité - des applications-programmes spéciaux qui fonctionnent sous certaines conditions. Pour certains SGBD (par exemple, Access, Paradox), les déclencheurs sont intégrés.

La protection des données contre les accès non autorisés implique de restreindre l'accès aux données confidentielles et peut être réalisée :

L'introduction d'un système de mot de passe;

Obtenir les autorisations de l'administrateur de la base de données (DBA) ;

Une interdiction d'accès aux données par le DBA ;

Formation de vues - tables dérivées de l'original et
destinés à des utilisateurs spécifiques.

Les trois dernières procédures sont facilement exécutées dans le langage de requête structuré - SQL, souvent appelé SQL2.

La normalisation assure la continuité des générations de SGBD, simplifie l'interaction des bases de données d'une génération de SGBD avec des modèles de données identiques et différents. La normalisation (ANSI/SPARC) a été largement mise en œuvre en termes d'interface utilisateur du SGBD et du langage SQL. Cela a permis de résoudre avec succès le problème d'interaction entre différents SGBD relationnels utilisant à la fois le langage SQL et l'application Open DataBase Connection (ODBC). Dans ce cas, l'accès local et distant aux données peut être réalisé (technologie client-serveur ou version réseau).

Passons aux exigences des entrepôts de données, qui sont structurellement une extension des bases de données opérationnelles.

Laissez la base de données contenir des données sur les progrès des étudiants de troisième année, tandis que les cinquième et sixième semestres sont à jour. Les données des quatre premiers semestres sont (transférées) dans l'entrepôt de données (HD), c'est-à-dire en fait dans une base de données spécifique supplémentaire. Il est nécessaire d'interroger le référentiel pour les noms des étudiants qui n'ont étudié qu'excellentement pendant les quatre premiers semestres.

En d'autres termes, les données de la base de données opérationnelle sont périodiquement transférées vers l'archive électronique (dans l'exemple considéré, les données des quatre premiers semestres), puis peuvent être traitées conformément à la demande de l'utilisateur.

Étant donné que les données dans le stockage ne changent pratiquement pas, mais sont seulement ajoutées, l'exigence de facilité de mise à jour devient sans objet. En premier lieu - en raison de la quantité importante de données dans le stockage - il existe une exigence de performances élevées.

Les exigences supplémentaires suivantes s'appliquent au stockage des données :

Haute performance de chargement des données à partir des bases de données opérationnelles ;

Possibilité de filtrage, reformatage, vérification
intégrité des données sources, indexation des données, mises à jour des métadonnées ;

Exigences accrues sur la qualité des données initiales en termes de
veiller à leur cohérence, car elles peuvent être
obtenu de diverses sources;

Performances de requête élevées ;

Assurer une haute dimensionnalité ;

Accès simultané à l'entrepôt de données ;

Disponibilité des outils administratifs.

Appui à l'analyse des données avec des méthodes appropriées (outils).

E.F. Codd, basé sur son expérience, a présenté les exigences suivantes pour un système OLAP.

1. Représentation conceptuelle multidimensionnelle des données.

2. Transparence des technologies et des sources de données.

3. Accès aux sources de données lors de l'utilisation de différents modèles de données.

4. Performance constante de la préparation des rapports avec une augmentation du volume, du nombre de mesures, des procédures de généralisation des données.

5. Utilisation d'une architecture client-serveur flexible, adaptative et évolutive.

6. Universalité des mesures (formules et outils de création
les rapports ne doivent pas être liés à des types de dimensions spécifiques).

7. Contrôle dynamique de la rareté de la matrice (vide
Les valeurs NULL doivent être stockées de manière efficace).

8. Prise en charge multi-utilisateurs.

9. Liens opérationnels illimités entre les dimensions.

10. Prise en charge de la manipulation intuitive des données.

11. Flexibilité des outils de reporting.

12. Nombre illimité de mesures et niveaux de généralisation.

Les exigences énumérées sont différentes des exigences pour les bases de données opérationnelles, ce qui a conduit à l'émergence de bases de données spécialisées - stockages de données.

1. Exigences de la base de données

BD - un ensemble spécial des données organisées de manière stockée dans la mémoire de l'aéronef, et reflétant l'état des objets et leurs relations.

Exigences de base pour l'organisation de la base de données :

1. Établir des relations multilatérales 2. Productivité

3 min. Coûts 4. Min. Redondance (utilisation minimale de la mémoire)

5. Consultable 6. Intégrité (récupération de données)

7. Sécurité et secret (sans - protection contre l'accès par des tiers, secret - la capacité de gérer sans.)

[Comment assurer la sécurité :

UN. Les données doivent être récupérables b. Capacité à contrôler les données

V Le système n'est pas disponible pour y intervenir

d. Procédure d'identification

e. Les données sont protégées contre le vol, la destruction, l'altération

e. Contrôle des actions des utilisateurs en termes de recevabilité]

8. Connexion avec le passé. Compatibilité des versions

9. Connexion avec le futur. Les données sont séparées de leur représentation

10. Configuration de la base de données 11. Déplacement des données 12. Simplicité

2. Les principaux composants du SGBD

Abstraction" href="/text/category/abstraktciya/" rel="bookmark"> une abstraction qui, lorsqu'elle est appliquée à des données spécifiques, permet aux utilisateurs et aux développeurs de les interpréter comme des informations, c'est-à-dire des informations contenant non seulement des données, mais également communication entre eux.

Contrainte d'intégrité - non contradictoire. les données sont définies. logique limité

Limité zad-tsya non seulement pour les attributs, mais aussi pour les types d'objets et les relations.

Modes de communication: 1:1 1:M M:1 M:M

Modèle de données, supporté par la base de données au niveau logique est déterminé par 3 composants :

1. Structure de données autorisée, variété et nombre de types d'objets pouvant être décrits à l'aide du modèle

2. L'ensemble des opérations admissibles sur les données

3. Contraintes pour le contrôle d'intégrité.

Modèles de données :

0 "style="border-collapse:collapse;border:aucun">

Employé

Essence

Matricule

attribut clé

Les attributs

Date de naissance

Des relations peuvent être établies entre les entités - des associations binaires qui montrent comment les entités sont liées ou interagissent. Les relations peuvent être à la fois entre deux entités et de manière récursive.

https://pandia.ru/text/78/193/images/image004_68.gif" width="17" height="17">La connexion peut être

Entre deux entités. il peut y avoir de nombreuses connexions avec des significations différentes. charges.

Vous pouvez utiliser le principe de la catégorisation des entités, c'est-à-dire hériter des entités les unes des autres (comme en POO). L'entité parent à partir de laquelle les sous-types sont construits est appelée le supertype.

Pour construire un modèle ER, une analyse du système est effectuée.

Pour la bibliothèque ce seront des livres-instances-lecteurs.

6. Modèle de données relationnel.

Il est basé sur la théorie mathématique des relations.

Le tableau de données, représenté par un ensemble relationnel de structures, forme une base de données relationnelle, et le schéma RDB sera représenté par un ensemble de schémas de relations. R1(A11,A12,A13,..A1k) R2(A21,A22,A23,..A2k) R3(A31,A32,A33,..A3k), où R-relations, A-attributs. Soient A, B des attributs de relation R.

Ils disent, Quoi Bdépend fonctionnellement deUN, si à chaque instant du temps chaque A resp. au plus une valeur B.

Si il existe de nombreux attributs A1-An de la relation R, ainsi qu'un ensemble de fonctions. Dépendre. XàY, où X et Y sont des sous-ensembles de A1-An, puis de la fonc. En fonction, incluses dans le set F, d'autres fonctions peuvent être affichées. Dépendant de R. F+ - fermeture ensemble de fonctions dépendances, c'est-à-dire l'ensemble complet des dépendances qui peuvent être obtenues à partir de F. Saintes :

1. Réflexivité : XÍU, YÍU, YÍX, puis XàY

2. réapprovisionnement : XÍU, YÍU, ZÍU, XàY, puis XÈZàYÈZ

3. transitivité : XÍU, YÍU, ZÍU, XàY, YàZ, puis XàZ

4. extensions : XÍU, YÍU, XàY, puis "ZÍU XÈZàY

5. suites XÍU, YÍU, WÍU, ZÍU, XàY, puis "WÍZ, XÈZàYÈW

6. pseudo-transit. XÍU, YÍU, ZÍU, WÍU, XàY, YÈWàZ puis XÈWàZ

7. additivité. X, Y,ZÍU XàY, XàZ, puis XàYÈZ

Domaine – ensemble de valeurs de données similaires

Degré relationnel est le nombre d'attributs inclus dans la relation.

Pouvoir est le nombre de tuples dans la relation.

Intention A(R1..Rn) – intensité

Extensionnel – un certain remplissage des tuples de relation.

Clé K relations R - une combinaison d'attributs qui ont les propriétés suivantes :
1. dans chaque tuple de la relation R, la valeur k détermine de manière unique ce tuple

2. il n'y a aucun attribut dans la clé k qui peut être supprimé sans violer la propriété 1.

S'il existe plusieurs clés possibles pour R, l'une d'entre elles est choisie comme clé principale.

Rapport normalisé si chaque composant du tuple est une valeur atomique simple qui ne consiste pas en un groupe de valeurs.

Éléments du modèle relationnel

Formulaire de présentation

Attitude

schéma de relation

En-tête du tableau

Ligne de tableau

Essence

Propriétés de l'objet

En-tête de colonne

Un tas de valeurs autorisées attribut

Valeur d'attribut

Enregistrer la valeur du champ

clé primaire

Un ou plusieurs attributs

Type de valeur d'élément de tableau

9. 6 types de requêtes simples:

soit E1-En un ensemble d'objets. A1-An est un ensemble d'attributs. K11-Knm - domaines d'attributs

Type de demande

Valeur d'attribut

Quel objet a la valeur donnée

Quel attribut compte

Tous les attributs d'objet

Cet attribut pour tous les objets

Tout ce qui est égal à V

10. Algorithme de conversionUrgencesen RDM :

1. Chaque entité ER correspond à la relation RMD.

2. Chaque attribut d'entité devient un attribut de la relation correspondante.

3. La clé primaire de l'entité devient la clé primaire de la relation correspondante.

4. Dans chaque relation correspondant à l'entité subordonnée, un ensemble d'attributs de l'entité principale est ajouté, qui est la clé primaire de l'entité principale

5. Pour modéliser un type de relation facultatif au niveau physique, les attributs correspondant à la clé étrangère sont définis pour accepter des valeurs nulles. Avec un type de connexion obligatoire, l'inverse est vrai.

6. Afin de refléter la catégorisation d'une entité lors du passage au GDR, plusieurs options de représentation sont possibles. Il est possible de créer une seule relation pour tous les sous-types d'un supertype. Avantage - une seule relation est créée. L'inconvénient est la redondance. La deuxième approche est une relation différente pour chaque sous-type.

11. NF1, NF2, Anomalie

1NF : chaque attribut de relation est un attribut atomique simple, c'est-à-dire qu'il n'y a pas d'attributs composites.

2NF : la relation est normalisée, c'est-à-dire que chaque attribut est complètement dépendant de la clé primaire.

Une anomalie est une situation dans une table de base de données qui entraîne des incohérences dans la base de données ou complique considérablement le traitement des données.

Types d'anomalies :

1. redondance - les mêmes éléments d'information sont répétés plusieurs fois dans plusieurs tuples.

2. anomalies de changement - la même donnée change dans un tuple, mais reste intacte dans un autre.

3. anomalie de suppression - si l'ensemble de valeurs devient vide, cela peut indirectement entraîner la perte d'autres informations

Une façon d'éliminer l'anomalie est de décomposer la relation. La décomposition de la relation R consiste à scinder l'ensemble des attributs R pour construire des schémas de deux nouvelles relations avec insertion ultérieure dans ces relations des tuples définis par rapport à R. Par exemple le tableau « fournisseur, produit, prix » doit être divisé en deux. Sinon:

Anomalie d'inclusion : jusqu'à ce que le fournisseur commence à fournir les marchandises, nous ne pourrons pas trouver les informations sur les marchandises.

Anomalie de suppression : Si l'approvisionnement d'un article est interrompu, toutes les informations sur l'article sont perdues.

Anomalie de mise à jour : si le prix d'un produit change, vous devrez le mettre à jour auprès de tous les fournisseurs.

12. NF3

3NF : chaque attribut non primaire dans la relation R n'a pas de dépendances transitives sur la clé primaire.

Par exemple: stockage (entreprise, entrepôt, volume)

Chaque entreprise - seulement d'un entrepôt. Entreprise-entrepôt, entrepôt-volume

Anomalie d'inclusion : si personne ne reçoit un article de l'entrepôt, nous ne connaissons pas son volume

Anomalie de suppression : si la dernière entreprise cesse de recevoir des marchandises de l'entrepôt, les informations sur l'entrepôt sont perdues

Anomalie de mise à jour : si le volume des stocks change, tous les volumes doivent être modifiés pour toutes les entreprises

3NF renforcé : en relation, il n'y a pas de dépendance des attributs primaires vis-à-vis des attributs non primaires.

Ou Il est nécessaire que tous les domaines fonctionnels. les dépendances étaient des clés possibles

Par exemple projet (détail, projet, fournisseur)

Le projet comporte plusieurs détails. Chaque détail provient d'un seul fournisseur. Chaque fournisseur de services un seul projet.

Pièce, ProjetàFournisseur

FournisseuràProjet

Anomalie d'inclusion : Le fait que les pièces aient été livrées ne peut être enregistré tant que les pièces ne sont pas en cours d'utilisation.

Anomalie de suppression : si le fournisseur ne fournit rien, il devra être tué

Anomalie de mise à jour : si le fournisseur d'un type de pièce change, tous les tuples devront être modifiés

13. Exemple de NF1, NF2, NF3

Relation enseignant-sujet

N° professeur

Nom de l'article

Nombre d'heures

Nom de famille de l'enseignant

Titre d'emploi

Relation avec le numéro d'enseignant clé composite, le nom de la matière.

Dépendances fonctionnelles :

Poste-salaire, numéro-nom, service-téléphone, poste-salaire

Il existe une dépendance transitive numéro-service-téléphone. La relation est donc en 1NF. Il existe une dépendance fonctionnelle incomplète du nom, de la fonction, du salaire d'une partie du n° de clé de l'enseignant. Cette dépendance incomplète entraîne les anomalies suivantes :

1. il y a double emploi des données sur les enseignants.

2. le problème de la redondance des données. Un changement de salaire entraîne un changement de tuple

3. Il y a un problème avec un enseignant qui n'enseigne pas de matières.

4. Si l'enseignant feuilles, vous devez supprimer l'élément.

Pour passer à 2NF, nous allons diviser la clé composite en plusieurs parties et diviser par dépendance :

Il existe des dépendances transitives numéro-service-téléphone, numéro-service-salaire

Cela conduit à des anomalies :

1. dupliquer les informations du téléphone

2. Changer de téléphone oblige tous les enseignants à le chercher

3. Vous ne pouvez pas inclure de données sur un nouveau département s'il n'y a pas d'enseignants.

Passons au 3NF

14. Transition vers 4NF

Une dépendance à plusieurs valeurs existe si, étant donné les valeurs d'attribut X, il existe un ensemble composé de 0 ou plusieurs valeurs d'attribut Y interdépendantes, et l'ensemble de valeurs d'attribut Y est associé à la valeur d'attribut Rapport U-X-Y, où U est l'ensemble des attributs de relation.

Désignation de la dépendance multivaluée X->>Y.

Axiomes de dépendance multivaluée

1. addition X >Y puis X->>U-X-Y

2. réapprovisionnement Si X >Y, puis WuX->>VuY

3. transitivité Si X >Y, X->>Z, puis X->>Z-Y

Règles d'inférence supplémentaires pour les dépendances à valeurs multiples

1. union Si X >Z, X->>Y, puis X->>YuZ

2. pseudotransitivité Si X >Y, WuY->>Z, puis WuX->>Z-WuY

3. règle mixte de transitivité Si X >Y, XuYàZ, puis XàZ-Y

4. règle de décomposition X >X, X->>Z, puis X->>X^Z, X->>Y-Z, X->>Z-Y

Considérer la dépendance (#, cours, enfants, position)

Relation M:M entre l'enseignant et le cours

Entre enseignant et enfants 1:M

Dépendances multivaluées №->> cours, №->> enfants

Un schéma de relation est en 4NF si, chaque fois qu'il y a une dépendance multivaluée X->>Y, où Y est non vide, et n'est pas un sous-ensemble de X, et XvY n'est pas constitué de tous les attributs de R, X contient clé kn les relations R, attributs entre lesquels il existe une dépendance multivaluée, sont séparées en relations séparées

R1(#,cours) R2(#,enfants) R3(#,poste)

Les relations sont normalisées par décomposition de leurs schémas. La décomposition doit garantir la réversibilité, c'est-à-dire s'assurer que les relations d'origine sont obtenues en effectuant une opération de jointure sur leurs projections.

La réversibilité signifie :

1. Aucune perte de tuples 2. Les tuples précédemment manquants n'apparaissent pas 3. Les dépendances fonctionnelles sont préservées

15. Transition vers 5NF

Relation en 5NF<=>toute dépendance à la connexion V est déterminée par la possibilité. clés de R sinon chaque projection de R contient au moins une clé possible et au moins un attribut non primaire

Le processus de normalisation des relations élimine séquentiellement les types de dépendances suivants :

1. dépendances partielles des attributs non clés sur la clé

2. dépendances transitives d'attributs non clés sur la clé

3. dépendances des clés sur les attributs non clés

4. dépendances multivaluées

16. Connexion sans dépendance préservant les pertes

De toutes les décompositions possibles d'un circuit, seules celles qui ont la propriété sans connexion doivent être utilisées. pertes. Soit le schéma R un ensemble de dépendances fonctionnelles. Un circuit R est dit décomposable sans perte en relations R1,R2,Rk, en préservant la dépendance fonctionnelle, si pour chaque tuple r de R, r peut être restauré en joignant ses projections.

Conditions pour aucune perte de connexion :

Si R1 et R2 sont une décomposition de R, avec réduction de la dépendance fonctionnelle - cette décomposition fournit une connexion sans perte tout en préservant la dépendance fonctionnelle<=>si R1^R2àR1-R2 ou R1^R2àR2-R1 avec dépendance multivaluée R1^R2->>R1-R2, ou R1^R2->>R2-R1

Les opérations d'intersection et de différence sont définies sur des listes d'attributs de relation.

Exemple:

Employés (#, département, ville)

1 extension E1(#, département) E2(#, ville)

2 décomposition E3(№, département) E4(département, ville)

1. E1^E2=N° E1-E2=Département E2-E1=Ville. №àdépartement, №àville la condition est satisfaite, l'expansion est sans perte.

2. E3^E4=département E3-E4=N° E4-E3=ville. département, département-ville, ces dépendances n'existent pas dans la décomposition d'origine, et les dépendances fonctionnelles d'origine sont perdues, ce qui signifie que cette décomposition est avec perte.

Pour les expansions de plus de deux rapports, la méthode Tablo peut être utilisée

17. Méthode du tableau de bord

Un ensemble de dépendances fonctionnelles est donné, le schéma de relation obtenu à la suite de la décomposition. La procédure consiste à construire un tableau dont les lignes sont des relations décomposées, et dont les colonnes sont une liste d'attributs de ces relations sans répétitions. Le tableau est rempli avec le caractère aj si les éléments de la ligne i dans la colonne j correspondent à l'attribut Aj de la relation Ri, sinon bij est défini. Une fois la table construite, toutes les dépendances fonctionnelles de XàY doivent être visualisées. Si pour les attributs de X il y a des lignes où aj sont aux endroits appropriés, alors les éléments bij de ces lignes correspondant aux colonnes d'attributs de Y sont remplacés par aj . Si le résultat est une ligne de table entièrement remplie de aj, il s'agit d'une jointure sans perte.

Exemple: R(A, B,C, D) F.Z. AàC, BàC, CàD.

Décomposé : R1(A, B) R2(B, D) R3(A, B,C) R4(B, C,D)

Il y a des lignes avec toutes une décomposition sans perte.

18. Algèbre relationnelle.

Deux groupes d'opérations : Traditionnel : union, intersection, différence, produit cartésien Spécialisé : projection, contrainte, union, division.

Une association À la suite de l'application de cette opération, une relation est obtenue qui combine des tuples. Les relations source doivent avoir les mêmes attributs, c'est-à-dire qu'elles doivent être fusionnées

intersection Obtenir des tuples de même type pour, communs pour R1 et R2

Différence Nous obtenons des tuples inclus dans R1, mais pas inclus dans R2

produit cartésien Nous combinons les colonnes comme dans un DP régulier

Projection L'opération est que les colonnes sont sélectionnées à partir de la relation R et disposées dans l'ordre spécifié

Limitation Inclure dans la relation de sortie un ensemble de lignes qui satisfait la contrainte donnée. Exemple : R

Composé Opération de projection inverse. Deux relations sont prises et jointes à l'aide de l'attribut spécifié (JOIN) : Exemple : R1∞R2

Division R1÷R2=P1,2..n-m(R1)- P1,2..n-m(P1,2..n-m(R1)xR2-R1)

Où R1-n relation locale, R2-relation locale n>m. Les mains n'ont pas atteint

19. Calcul relationnel avec tuples variables

Formule le calcul relationnel, en plus des opérations arithmétiques, comprend des opérations logiques(A et E). Les opérations AND, OR, NOT sont également utilisées.

Formules calcul relationnel sont construits à partir d'atomes et d'un ensemble d'opérateurs arithmétiques et logiques, l'expression de calcul relationnel avec tuples variables peut ressembler à :

(r|Ψ(r)), où r-uplet, Ψ(r) est une formule de calcul.

Exemple;(r|R1(r)^R2(r)) – vous devez obtenir l'ensemble de tous les tuples tels qu'ils appartiennent aux relations R1 et R2.

Atomes de formule sont de trois types :

1. R(t), où R est le nom de la relation, t est un tuple de la relation

2. s[i]θu[j], où s et u sont des tuples variables, θ sont opérateur arithmétique. i, j sont les numéros ou les noms des colonnes d'intérêt. Si]- i-ème composant variable tuple S u[j]-… 3. s[i]θa, ou aθs[i], où a=const.

Entrée variable x dans la formule RI Ψ(x) connecté, si c'est dans la partie de la formule qui commence par le quantificateur A ou E, immédiatement suivi de la variable x. Dans de tels cas, on dit que le quantificateur le lie. Le concept de variable liée est analogue au concept de variable locale, une variable non liée est analogue à une variable globale.

L'expression en RI est sûre, Si:

1. De la vérité de Ψ(t) il résulte que chaque composante du tuple t appartient à D(Ψ).

2. Pour toute sous-formule de la forme (Eu)(Ψ1(u)) incluse dans Ψ, il résulte de la vérité de Ψ1(u) que u appartient à D(Ψ1).

3. Pour toute sous-formule de la forme (Au)(Ψ1(u)) incluse dans Ψ, il résulte de la vérité de Ψ1(u) que u n'appartient pas à D(Ψ1).

L'ensemble D(Ψ) est défini comme fonction de relation réelle , qui est indiqué dans Ψ(t) des constantes présentes dans la formule Ψ(t) et des éléments de tuples de ces relations qui sont indiqués dans θ(t)

D(Ψ)=(a1Ψ)U(a2Ψ)U…U(anΨ)UP1(R1)U…UPk(Rn), où aiΨ est constant, rencontre. Dans la formule Ψ(t),

Пi(Rj) – projections de tuples de relations réelles R1-Rn rencontrées dans la formule Ψ(t), c'est-à-dire, dans ce cas, des composantes de tuples.

Pour chaque expression d'algèbre relationnelle, il existe une expression sûre équivalente dans le calcul relationnel avec des variables sur des tuples.

20. Calcul relationnel à variables sur domaines.

Il est construit de la même manière que le calcul des tuples (en utilisant les mêmes opérateurs).

1. Qu'est-ce qu'il y a Cet atome indique que la valeur de ces xi qui sont des variables doit être sont choisis de sorte que (x1..xk) soit un tuple de R.

2. xθy, où x, y-const ou variables sur un domaine. θ est un opérateur de comparaison arithmétique, la signification d'un atome est que x et y sont les valeurs auxquelles xθy est vrai. Les formules dans RI avec des variables de domaine utilisent également A, E, AND, OR, NOT. De la même manière les notions sont utilisées variable libre et liée.

La formule RI avec des variables sur le domaine a la forme : (x1..xk|Ψ(x1..xk)), où Ψ est une formule avec la propriété que seules ses variables libres sur les domaines sont différentes. Changement. X1..Xk.

Expression RI avec des variables de domaine est sûr, Si

1. Il découle de la vérité de Ψ(x1..xk) que xi appartient à D(Ψ).

2. Si existe et (Eu)(Ψ1(u)) est une sous-formule de Ψ, alors la vérité de Ψ1(u) implique que u appartient à D(Ψ1)

3. Si pour tout u (Au)(Ψ1(u)) est une sous-formule de Ψ1(u) il s'ensuit que u n'appartient pas à D(Ψ1).

Chaque expression avec des variables sur des domaines, il existe une expression de calcul relationnel équivalente avec des variables sur des tuples.

L'expression est construite comme ceci :

1. Si t est un tuple d'arité k, alors k nouvelles variables sont introduites sur les domaines t1..tk 2. Les atomes R(t) sont remplacés par des atomes R(t1..tk) 3. Chaque occurrence libre de t[i ] est remplacé par ti 4. Pour chaque quantum (Eu) et (Au), m nouvelles variables sont introduites sur les domaines u1..um, où u est l'arité du tuple. Dans la zone les substitutions suivantes sont effectuées :

RmàR(U1..Um) U[i]àUi EUàEU1..EUm AUàAU1..AUm

Réalisé construction de l'expression (t1..tk|Ψ`(t1..tk)), où Ψ' est Ψ dans laquelle les substitutions correspondantes sont faites.

21. Comparaison des langages algébriques et des langages de calcul.

Langues de calcul ne sont pas des langages procéduraux, car ils peuvent exprimer tout ce qui est nécessaire, et il n'est pas nécessaire de spécifier comment l'obtenir.

L'expression est réelle. Algèbre au contraire, il précise l'ordre précis dans lequel les opérations sont effectuées. Exemple : ISBL (Langage de base du système d'information).

Exemple de langage sur les domaines : QBE Exemple de langage sur les tuples : SQL

SQL : Pas un langage procédural. En règle générale, il est intégré à l'environnement d'un langage de programmation. Axé sur l'accès aux données, et n'a pas les propriétés d'un langage de développement.

Méthodes d'utilisation de la fonction intégréeSQL:

1. Statique : les fonctionnalités du langage SQL sont incluses dans. exe après compilation

2. dynamique : bâtiment dynamique Appels SQL et interprétation. Utilisé lorsque la forme de la demande n'est pas connue à l'avance.

DDL (Description) Créer une table, supprimer une table, modifier table, créer une vue, supprimer une vue, modifier une vue, créer un index, supprimer un index.

DML(Manipulation)delete(supprimer des lignes), insert(insert), update(update).

Sélection DQL (requête)

DCL (langage de contrôle des données) Utilisé pour le contrôle d'accès.

Modifier le mot de passe, accorder, réactiver.

GESTION DES TRANSACTIONS Commit, rollback

22. Opérations

Types de transactions :

1. Plat (classique, ACIDE). Propriétés:

atomicité- la transaction doit être réalisée dans son intégralité, ou pas réalisée du tout

cohérence– la transaction ne viole pas l'accord mutuel des données

isolement– les transactions en concurrence pour l'accès à la base de données sont en fait traitées séquentiellement.

durabilité- si la transaction est terminée, ses modifications restent pour toujours, même si des erreurs se produisent ultérieurement.

Validation de la transaction – écriture des données modifiées sur le disque. Après cela, ils seront visibles pour les autres transactions.

Annulation d'une transaction - annulation.

Dans le SGBD, le principe de sauvegarde est organisé. int. comp. la confirmation ou l'annulation d'une transaction est fournie par un mécanisme spécial de maintenance duquel un journal des transactions est créé. Il est conçu pour stocker en toute sécurité des données dans une base de données. Cette exigence suppose que l'état de la base de données peut être restauré après une panne.

Principes de récupération :

1. Les résultats des transactions validées doivent se trouver dans la base de données.

2. Les résultats des transactions non engagées doivent être absents.

Les situations suivantes sont possibles dans lesquelles restauration de l'état de la base de données :

1. Annulation de transaction individuelle (arrêt standard, anormal, à la suite d'un blocage).

2. Récupération après perte de données dans la RAM (défaillance logicielle) (coupure de courant, panne de processeur)

3. Restauration après une panne du support principal de la base de données (défaillance matérielle). La base de la récupération est une copie d'archive et un journal de base de données.

La base de la récupération est le stockage de données redondant. Les données redondantes sont stockées dans le journal et contiennent des informations sur les modifications apportées à la base de données. Il y a 2 options :

1. Un journal (local) distinct pour chaque transaction - pour les restaurations.

2. Journal global pour la reprise sur incident.

23. Exécution parallèle des transactions

L'exécution parallèle des transactions devrait être satisfaisante. piste. conditions:

1. Lors de l'exécution d'une transaction, l'utilisateur ne voit que des données cohérentes.

2. Lorsque 2 transactions sont exécutées en parallèle, le SGBD garantit une exécution indépendante. C'est ce qu'on appelle la sérialisation des transactions. Habituellement effectué à l'aide du mécanisme de verrouillage. Le plus simple est de verrouiller (capture synchrone) de l'objet pendant toute la durée de la transaction. Il peut également y avoir un blocage au niveau de la page. Types de serrures (captures) :

1. Commun (partagé). Blocage doux. Exécuté lorsque l'objet est lu.

2. Rigide (exclusif). Capture exclusive d'un objet pour une opération d'écriture.

Des blocages sont possibles. La base de leur détection est la construction d'un graphe d'attente de transaction. Ensuite, l'une des transactions (la moins chère) est sacrifiée - une restauration est effectuée pour elle.

24. Modèle de données hiérarchique.

Le plus simple. Apparu en premier. Principal unités d'information base de données, champ, segment.

Champ – min. et une unité de données indépendante, à la disposition de l'utilisateurà l'aide du SGBD.

Segment (DBTS) - appelé un enregistrement.

Type de segment est une collection nommée de types de données.

Instance de segment est formé à partir de valeurs de champs spécifiques.

Chaque type de segment dans le modèle hiérarchique forme un certain ensemble d'enregistrements homogènes. Chaque type de segment peut avoir une clé.

Les segments sont combinés en un digraphe arborescent.

Type de segment, nah-xia sur plus haut niveau la hiérarchie s'appelle enregistrer. original par rapport aux types de segments en dessous. (log. aux subordonnés).

Le schéma d'une base de données hiérarchique est une collection d'arbres individuels. Chaque arbre du modèle est appelé arbre physique. DB et satisfait aux conditions suivantes restrictions :

1. Il y a 1 segment racine

2. Chaque journal. Réf. Élément m. b. associé à un nombre quelconque de subordonnés.

3. Chaque segment logiquement subordonné peut l'être. associé à un seul parent.

Segment est exemple type de segments. Il existe également une relation hiérarchique entre les instances de segment.

Jumeaux - descendants du même type avec un ancêtre.

L'ensemble de toutes les instances d'un segment dans un arbre unique appelé physique Enregistrement L'ensemble des bases de données physiques forme une base de données conceptuelle.

Pour organiser le placement physique les groupes de méthodes suivants sont utilisés :

1. Représentation par une liste linéaire avec une distribution sérielle. mémoire

2. Liste non linéaire

Règle de contrôle d'intégrité de base: un enfant ne peut exister sans parent, et certains parents ne peuvent pas avoir d'enfant.

Il n'existe aucun mécanisme pour maintenir l'intégrité entre les arbres individuels.

(+) 1. Utilisation efficace mémoire d'ordinateur

2. Opérations de données à grande vitesse

3. Pratique pour travailler avec des données hiérarchisées

5. Les classes peuvent contenir des méthodes.

6. Les classes peuvent contenir des générateurs de méthodes.

7. Beaucoup Caractéristiques générales les comportements des objets peuvent être automatiquement gérés par Cache. De plus, le comportement des objets peut être défini par l'utilisateur.

Type de classe:

classes de types de données

Classes d'objets

Non enregistré Des classes

Enregistrer Des classes

Cours intégrés

Classes stockées

Classes de types de données : Ce sont des classes spéciales qui définissent valeurs supplémentaires constantes et permettant leur contrôle. Contient une définition ensemble de méthodes de validation. Ils ne peuvent pas contenir St.

Classes d'objet : définir la structure et le comportement des objets d'un type donné. Les objets sont appelés instances de la classe correspondante. Chaque classe a un nom, des propriétés et des méthodes.

Cours non inscrits : toutes leurs méthodes sont définies par le développeur, qui est responsable de l'attribution et de la maintenance des identifiants uniques, des objets et des références d'objet.

Restrictions :

1. Le système n'alloue pas de mémoire pour les valeurs de propriété d'objet.

2. Il n'y a pas de permutation automatique de l'objet vers lequel le lien est fait. 3. Le polymorphisme n'est pas pris en charge.

4. Les variables faisant référence à des objets non enregistrés doivent être déclarées avec la classe appropriée.

Cours inscrits ont ensemble complet méthodes. Hériter automatiquement des méthodes de gestion des objets de la classe système. Les instances existent temporairement dans la mémoire de processus. Ils sont appelés objets temporaires. Le cache crée de nouveaux objets, des classes enregistrées et gère leur placement en mémoire. Hérité de l'objet enregistré de la bibliothèque. Ils permettent le polymorphisme.

Cours intégrés peuvent être stockés non seulement temporairement en mémoire, mais aussi pendant une longue période dans la base de données. Ces classes héritent leur comportement de la classe Library Serial Object. La principale chose à propos de leur comportement est que les instances en mémoire existent en tant qu'objets indépendants et ne peuvent être stockées dans la base de données qu'en étant intégrées dans d'autres objets.

Les classes stockées fournissent le stockage à long terme d'une instance dans la base de données. Hérité de la bibliothèque persistante. Les instances ont des identifiants d'objet uniques et peuvent être stockées indépendamment dans le cache. Lorsqu'un objet stocké est utilisé comme propriété d'une classe, on parle de référence à des objets stockés.

Éléments de classe:

1. Nom

2. Mots clés

3. Les propriétés, c'est-à-dire les éléments de données stockés dans la classe. Il peut s'agir de constantes, d'objets intégrés et de références à des objets stockés. Les classes de type de données ne contiennent pas de propriétés. Lors de l'accès aux propriétés, des changements de format et d'autres conversions sont possibles. Les objets référencés sont automatiquement chargés en mémoire. Les propriétés peuvent être publiques et privées.

4. Les méthodes, c'est-à-dire le code qui implémente certaines fonctionnalités.

5. Paramètres de classe, valeurs qui forment la classe au moment de la compilation.

Les types de données sont implémentés par classes.

Les cours peuvent

1. Effectuer la conversion des données entre les formats stockés dans la base de données, la mémoire, la mémoire et affichés.

2. Responsable de la validation des valeurs

3. Fournir une interaction avec SQL, Java, ActiveX.

Différences avec les classes d'objets.

1. Impossible à instancier

2. ne peut pas contenir de propriétés

3. les méthodes sont fournies au programmeur via l'interface des types de données

4. A des méthodes pour vérifier les valeurs.

Collection

Les propriétés avec plusieurs valeurs peuvent être représentées dans le cache sous forme de collections. Peut contenir des constantes, des objets et des références d'objet.

Une collection de tableaux : chaque élément est classé par clé.

La collection est une liste : la position de l'élément est la clé.

Signification

Méthodes – les opérations que l'objet peut effectuer. Chaque argument a un nom, des paramètres, etc.

Il existe des méthodes d'instance et des méthodes de classe (statiques)

Types de méthodes :

Code - contient du code dans le langage ObjectScript.

Expression - contient une expression. Lors de la compilation, tous les appels de méthode sont remplacés par cette expression.

Requêtes - peuvent être représentées comme stockées Procédures SQL ou représentations. Les résultats sont disponibles via une interface spéciale.

Index - Utilisés pour optimiser la vitesse d'exécution des requêtes. Chaque index est créé en fonction d'une ou plusieurs propriétés de classe. La méthode de tri peut être définie

Notion d'objet

relationnel

exemple

identifiant d'objet

propriété constante

clé externe

objet incorporé

colonnes individuelles

liste de collecte

colonne de zone de liste déroulante

tableau de collecte

Sous-table

flux de données

procédure stockée

méthode de classe

procédure stockée

Le modèle relationnel n'a pas d'analogues pour les paramètres de classe, les propriétés multidimensionnelles et les méthodes d'instance. Le compilateur Cache génère automatiquement des tables pour toutes les classes stockées.

32. Univers

Univers est un modèle relationnel étendu qui supprime la restriction d'indivisibilité des données dans les tables. Autorise les champs à valeurs multiples (champs dont les valeurs sont constituées de sous-valeurs). Un ensemble de valeurs pour les champs à plusieurs valeurs est considéré comme une table autonome intégrée dans la table principale. Ce post-relationnel prend également en charge les champs associés à plusieurs niveaux. Un ensemble de champs associés est appelé une association. Dans ce cas, la première valeur d'une colonne de l'association correspond aux premières valeurs de toutes les autres colonnes de l'association. Les secondes valeurs sont liées de la même manière. Il n'y a pas de contrainte de persistance sur la longueur des champs et le nombre de champs dans les enregistrements.

Avantages : la possibilité de représenter la population tableaux associés tableau à une ligne.

Défauts: la complexité de résoudre le problème de l'intégrité et de la cohérence des données.

33. Magasin de données

Les résultats des données transactionnelles peuvent être placés dans le référentiel, et ils peuvent également être convertis pour assurer la compatibilité des données reçues d'autres sources. Pour assurer le processus de découpage et d'extraction des données, les termes suivants sont utilisés : Stratification, Fractionnement.

Les données stockées peuvent être modifiées par des techniques de modélisation multidimensionnelle à l'aide d'un schéma en étoile constitué d'une table de faits entourée de tables de dimensions.

Dessin

La relation entre une table de faits et les dimensions doit rester simple pour que tout soit clair. M. b. tableau d'extension des dimensions