Conception de bases de données : étapes et notions de base

Table des matières:

Conception de bases de données : étapes et notions de base
Conception de bases de données : étapes et notions de base
Anonim

La conception d'une base de données est un processus séquentiel d'adaptation des connaissances et des outils disponibles pour représenter et traiter l'information.

La portée réelle, la tâche spécifique, la description du flux d'informations entrant et les idées générales sur le processus de traitement de l'information sont progressivement ajoutées à une certaine idée conceptuelle de ce qu'est une base de données dans un cas particulier et comment travailler avec.

Base de données moderne

Les relations relationnelles sont au cœur de tout modèle d'information. Les solutions d'Oracle sont essentiellement équivalentes à MySQL, mais elles sont fondamentalement différentes à bien des égards. La conception de la base de données est également une question de sécurité, de volume d'informations et de responsabilité pour l'intégrité des données, mais celles-ci sont secondaires par rapport à la question de la conception d'une base de données efficace, fiable et conviviale.

étapes de conception de la base de données
étapes de conception de la base de données

Les tables Excel ne sont pas différentes d'Oracle et MySQL dans le contexte des structures rectangulaires (relationnelles): colonnes et lignes=une cellule à l'intersection du nom de la colonne (champ) et de l'indice de sélection (ligne). Si vous ne tenez pas compte de la mesure et de la quantité de travail manuel, alors, grâce aux moyens développés de combiner les cellules verticalement et horizontalement, Excel devance même Oracle !

Excel, selon son idée de base, ne "brille" jamais la dynamique, la fonctionnalité d'Oracle, et il ne peut pas transférer quelque chose d'une feuille à une autre "selon les restes". Ici, Oracle est plus prometteur, mais ses considérations sur les problèmes de migration de grandes quantités d'informations et de combinaison de positions formalisées provenant de diverses sources laissent beaucoup à désirer. Ici MySQL est plus prometteur: il ne se fixe pas de tâches globales, mais il fait parfaitement son travail.

Les relations relationnelles sont des outils pratiques, pratiques et bien établis, des solutions privées de niveau Excel aux volumes mondiaux Oracle, sont utilisées partout, en demande et elles ont un avenir assuré par l'emploi.

Une base de données moderne est constituée de tables, de lignes, de colonnes et d'index entourés de fonctionnalités complètes, d'outils supplémentaires développés qui prennent en compte plusieurs opérations, de lourdes charges et d'énormes volumes.

La connaissance et l'expérience des systèmes modernes de gestion de bases de données (SGBD) prennent en compte non seulement les problèmes de fiabilité, de fiabilité des données, de réglementation des accès et de sécurité, mais permettent également de suivre les influences externes négatives, d'analyser les éventuelles attaqueset tente de nuire intentionnellement.

Une base de données moderne est une base fiable pour toute ressource Web et application locale, la capacité de migrer des informations, de transformer et de transférer des données, de croiser et de combiner différentes vues.

Seule condition indispensable: développeur hautement qualifié. Réaliser une conception efficace de bases de données relationnelles est à la disposition d'un spécialiste, et plus souvent d'une équipe de spécialistes et d'experts dans le domaine d'application du problème à résoudre.

Portée, solution possible et obstacles

L'information circule partout. De nombreux projets sont directement connectés à Internet, mais le facteur d'avoir une représentation formelle des données ici n'est pas meilleur que le facteur d'incertitude lors de la création d'une ressource Web pour une aciérie.

Le développement et l'intérêt massif pour les magasins en ligne ne fournissent pas de motifs et d'opportunités pour transférer l'expérience de la création d'un magasin à la création d'un autre. Le facteur secret commercial crée de nombreux obstacles au transfert de connaissances, même si, en fait, vous devez séparer le magasin réel des outils logiciels créés pour ce magasin.

conception de bases de données relationnelles
conception de bases de données relationnelles

Bien sûr, le client a payé et le code du site est sa propriété. Un trait caractéristique de la modernité: le transfert de connaissances et de développements entre tâches de même nature et domaines d'application connexes est impossible et cela pose problème.

Parsing est une large gamme d'applications pour les systèmes de gestion de bases de données. Tout d'abord, il s'agit de scanner des informations sur Internet. Il est tout aussi important de comparer les informations accumulées dansbase de données et demandes de visiteurs Web.

L'analyse des mots clés implique également la nécessité de former une solution optimale, mais la conception de bases de données sur Access peut être plus prometteuse que sur MS SQL Server ou Oracle.

La liste des sources d'information peut être dynamique. La dynamique peut être inhérente aux tables de base de données source, aux noms de champ de table et aux règles d'appel (requête). Concevoir des bases de données relationnelles à partir de plusieurs sources vous oblige clairement à concevoir à partir des données sources, et non à partir de l'organisation optimale des informations collectées.

Il y a deux choses inhérentes à toute base de données:

  • orientation vers le contenu, algorithme de génération de base de données dynamique en priorité;
  • orientation à utiliser, la structure de la base de données est plus importante et l'algorithme d'utilisation des informations est basé sur celle-ci.

Dans n'importe quel domaine d'application, il existe un modèle formel du flux d'informations entrant, un modèle de stockage d'informations - la conception même de la base de données et un modèle (algorithme) d'utilisation des données.

Diverses procédures et étapes de conception

Les bases de la conception de bases de données se divisent généralement en trois étapes. Différents spécialistes se réfèrent aux étapes du travail de différentes manières, mais, en fait, il existe trois positions:

  • planification conceptuelle;
  • conception logique;
  • exécution technique.

La pratique contribue aux traditions établies. Peu importe la complexité de la portée et le problème à résoudre. Il faut toujours choisir le bonoutils. Par exemple, vous devez collecter des informations auprès des visiteurs d'une ressource Web, mais vous devez les comparer aux données de MS SQL Server. La ressource Web est hébergée sur FreeBSD (Internet, serveur Apache) et MS SQL Server dans une autre ville est disponible via le réseau distribué de l'entreprise.

bases de la conception de base de données
bases de la conception de base de données

Dans cette solution, vous devez d'abord résoudre un problème particulier: établir un échange de données avec le serveur interne.

L'exécution technique d'une tâche courante aura nécessairement un impact sur la phase initiale: il est rare que la conception de la base de données puisse être réalisée de toutes pièces. Même avec une technologie de résolution de problèmes éprouvée, la portée évolue, il est toujours nécessaire de faire quelque chose de différent de ce qui était prévu à l'origine.

Récemment, de nombreux théoriciens et praticiens utilisent des entités comme données spéciales. Ce sont des abstractions qui vous permettent de décrire le modèle d'information à l'entrée, pendant le traitement et dans le résultat final - la base de données.

Vues des données et des entités

Conception de bases de données à travers des abstractions et des entités: la possibilité de créer une image d'information, de définir des types de données et des relations entre eux.

Habituellement, une telle conception d'un modèle de base de données se termine par un modèle graphique, utilisant MS Visio ou les outils visuels du SGBD choisi. Access a sa propre façon de former une image de l'information, MySQL a la sienne, et certains systèmes de gestion de contenu cachent complètement la base de données, imposant un modèle de données au développeur par le biais de leurs propres entités -objets de la tâche en cours de résolution.

Une caractéristique de nombreux systèmes de gestion de contenu (CMS) est qu'ils font une "application" pour un niveau d'abstraction plus élevé lors de la description de la zone d'information du problème à résoudre. La vraie base de données est cachée, CMS offre au développeur sa propre idée de l'image d'information du monde.

En conséquence, les étapes de conception de la base de données sont réduites au respect des exigences fondamentales et à l'exécution des étapes proposées par les créateurs d'un CMS particulier. Il n'y a rien de honteux à utiliser les idées de bases de données et leur conception de Symfony ou Bitrix, Zend ou Yii, mais pour le développeur c'est un "fardeau".

Idéalement, les outils de conception de bases de données devraient être sélectionnés et appliqués individuellement, sans avis extérieur, mais avec l'application de l'expérience et des connaissances.

conception de bases de données d'informations
conception de bases de données d'informations

Idéal pour qu'un développeur soit certifié par Oracle, mais parfaitement acceptable pour les qualifications d'un développeur pour inclure un aperçu des idées d'information d'Oracle et une connaissance pratique des applications MySQL.

Dans les projets complexes et le traitement distribué de l'information, non seulement la base de données est importante, mais aussi les sources d'information, les idées sur les besoins des consommateurs.

Étapes ou équipe: équilibre des priorités

L'exigence de cohérence est de la plus haute importance. Les bases de la conception d'une base de données comprennent également le phasage des travaux, le suivi des résultats intermédiaires, repenser chaque étape réalisée en fonction de l'exécution du type de travail suivant:

  • systématique;
  • mise en phase;
  • commentaires à partir de n'importe quel moment, jusqu'à la position de départ.

Ces dispositions sont abstraites, mais présentes dans toute technologie théorique et pratique pour créer une base de données efficace.

Aucune technologie ne se développe par elle-même, elle est pilotée par les gens. Les qualifications de l'équipe de développement sont essentielles. Le modèle d'information de la base de données n'est pas seulement un cadre, mais aussi des flux d'informations.

Ce qui est le plus important: de beaux graphismes dans la représentation de la structure de la base de données ou une description précise des flux d'informations en dynamique - une question non seulement de tâche et de portée, mais aussi de l'opinion de l'équipe de développement en dynamique.

conception de la structure de la base de données
conception de la structure de la base de données

Le personnel est tout, mais dans son contexte: la conception conceptuelle d'une base de données est tout ce qu'il y a de plus qualifié. Chaque personne est unique, et dans le domaine des systèmes d'information, des représentations de personnes spécifiques existent et se développent.

Il est important de constituer une équipe de développeurs, et non quelques étapes mythiques de conception de base de données suggérées par un expert faisant autorité. L'autorité de ce spécialiste s'est formée sur la base de travaux précis, à un moment précis. Le travail doit être fait aujourd'hui, nouvelle tâche, équipement moderne, nouvelle technologie, …

Possibilité d'inversion. Il y a Excel et Access et des données "abondantes" dans ces formats des temps anciens, quand Windows pour Workgoups était encore bien vivant. Restaient en partie les données dBase et Quattro. Aujourd'hui, ces mots ont déjà été oubliés, mais l'informationresté, il est en demande et doit être extrait et formé de nouvelles idées.

Ancien et nouveau: équilibre des connaissances

La technologie cloud n'est pas comme les bases de données d'Ashton-Tate. Ce qu'Oracle a acheté une fois n'est en rien comparable à ce qu'il fait aujourd'hui. Mais variables, algorithmes, fonctions, boucles et conditions sont restés en programmation depuis le début des années 80. À moins que le concept de la procédure ne soit tombé dans l'oubli et que tout reste tel qu'il était dans les temps anciens.

Même les idées modernes de programmation orientée objet sont revêtues des "chaînes" syntaxiques et sémantiques classiques du siècle dernier.

Que faire - la programmation est inertielle, et la formalisation de l'information et la conception des bases de données d'information est plus un processus qu'un résultat. Le travail par étapes est une condition préalable à l'obtention de résultats. Mais qui a compté le nombre d'itérations depuis les étapes intermédiaires presque jusqu'au début des travaux ?

L'information est toujours dynamique, rien ne s'arrête: en particulier le domaine de la tâche et les exigences de l'utilisateur. Chaque étape de travail complétée permet d'évaluer à un nouveau niveau ce qui a déjà été fait et ce qui reste à faire.

conception de base de données logique
conception de base de données logique

Considérer la conception d'une structure de base de données comme une tâche et obtenir le résultat final est futile. Dès que la base de données sera mise en service, une nouvelle idée apparaîtra sûrement, même si l'outil de création de la base de données était un "simple" Excel, et non un produit d'Oracle incroyablement puissant et polyvalent,manipulant des millions de transactions, des centaines de milliers d'utilisateurs simultanés et des téraoctets d'informations.

La priorité n'est pas la structure de la base de données, mais la formation d'une équipe qualifiée de spécialistes, ainsi que l'exigence obligatoire d'un plus grand dynamisme du résultat, de sorte qu'à la fin des travaux, il ne serait pas nécessaire de contacter les développeurs, au moins quelques mois.

Développement séquentiel et/ou sauts en hauteur

Windows n'est pas une base de données, mais il a une relique - le registre. Le fichier hosts est simplement une identification des adresses IP et des noms symboliques de la machine locale. Mais à travers ce fichier, des flux d'informations provenant de différents domaines ou vers différents SGBD sont formés.

Il est possible de comprendre Windows aux multiples facettes comme un ordinateur ou un serveur en état de marche, mais cela ne fonctionnera en aucune façon pour justifier la logique des versions de ce produit. PHP n'est pas non plus une base de données, mais les arguments des développeurs expliquant pourquoi la version 5 suit immédiatement la version 7 sont incohérents. PHP est un outil d'accès à MySQL, sa syntaxe définit comment former des requêtes et obtenir des réponses de la base de données en utilisant le dialecte SQL.

Les exemples d'incompatibilité entre les outils de programmation modernes et le support des bases de données sont devenus la norme ces dernières années, mais ce n'est pas le plus original. Que se cache-t-il derrière la version de Windows 10 ? Quelles sont les perspectives d'Oracle Database 12c ?

Information du développeur-auteur: Oracle Database 11g Express Edition (Oracle Database XE) est un SGBD d'entrée de gamme basé sur le code du SGBD Oracle Database 11g Release 2. Ce SGBD est gratuit pour le développement,déploiement et vente, téléchargement rapide et facile à administrer.”

Le point de vue d'un développeur utilisateur: "En 2013, Oracle a lancé Oracle Database 12c (version 12.1.0.1) avec les principaux avantages de coûts de stockage réduits, d'une disponibilité élevée des données, d'une consolidation facile de la base de données et d'une protection de l'accès aux données "".

Pratique réelle: Une conception de base de données logique objective, efficiente et efficace n'est disponible que pour une équipe de développeurs qualifiés. Obtenir un résultat de travail n'est pas difficile, il est difficile de formaliser les flux d'informations entrants et de déterminer la base optimale.

Vers le monde des formes lisses à partir de rectangles précis

Avec l'avènement de la programmation orientée objet, la sérialisation des données a pris un nouveau souffle. En effet, tout autour n'est que lignes, de préférence de longueur indéfinie. Les nombres et les dates sont également des chaînes de caractères.

La puissance et l'objectivité des relations relationnelles sont indéniables, mais la dynamique des colonnes et des lignes nuit-elle à leur réputation ? Un tableau est simplement constitué de données qui peuvent avoir un en-tête (une liste de colonnes) ou aucune ligne. Laissez la table être juste une collection de données, pas nécessairement nommées.

L'ensemble de données peut être hétérogène et vous pouvez y trouver des données de structure différente. Fondamentalement, l'homogénéité des données indique l'évolution du périmètre. La répartition des données par types et espèces est le signe d'une approche systématique et objective, mais il convient tout de même d'admettre la possibilité d'une dynamique des structures.

Si sortieconcevoir et créer une base de données au-delà des structures rigides et en supposant qu'une table est une collection de lignes qui ne sont pas nécessairement du même type et de sémantique similaire les unes aux autres, alors la conception de la base de données changera radicalement.

Le sujet du travail ne sera pas une description de la structure de la base de données, mais la dynamique du mouvement de l'information. Les étapes de travail seront divisées en trois centres de gravité:

  • flux d'informations d'entrée;
  • transformation et circulation des informations au sein de la base de données;
  • sélectionnez les données à utiliser.

Il n'y a pas de concept de structure de table. Il n'y a ni lignes ni colonnes. Il y a une abstraction - une donnée, d'une certaine structure, qui satisfait un point spécifique de l'algorithme. Plus précisément, la fonction de traitement de l'information nécessite certaines informations dans une quantité spécifique.

L'exigence obligatoire de récursivité de toutes les fonctions de traitement de l'information et de se concentrer sur les fonctions, et non sur les données, vous permet de concevoir une base de données dans la dynamique des informations accumulées et des flux de données entrants, qui sont utilisés à l'initiative de l'utilisateur, processus ou autre fonction.

En fait: un signal d'utilisation est venu, une requête de récupération a été reçue, un déclencheur dans l'application s'est déclenché et les informations entrantes, à travers ce qui était déjà là, ont fourni la solution souhaitée.

Connaissances fondamentales et constructions rigides

La connaissance est l'apanage de l'homme, les programmes sont le fardeau des ordinateurs. Le développeur est libre d'appliquer les connaissances comme il l'entend dans une situation particulière. Une personne ordinaire utilise beaucoup de bases de données, sans y attacher d'importance. commentles bases de données sont organisées dans la tête d'une personne ordinaire, personne ne le sait, mais tout le monde sait comment il mène ses affaires, où il écrit ce qu'il trouve et quand il a besoin de l'utiliser.

Le résultat du travail du programmeur - au niveau d'un programme en "Basic", qui récupère les données du site Web d'une boutique en ligne via ODBC, équivaut à un développeur Oracle titré qui fait une demande de récupération de données du Salon de l'Aviation et de l'Espace MAKS. Les deux résultats "se figent" en statique à partir du moment où le travail est terminé. Ce n'est pas une connaissance active qu'une personne utilise, c'est le secret de la création d'un système de conception de base de données.

L'algorithme ne peut pas être corrigé. Tout doit être défini dynamiquement. Les mérites des développeurs qualifiés sont indéniables, mais ils ne résident pas du tout dans les formes élégantes des solutions d'Oracle, MySQL ou Access, qui est limité dans ses capacités. Une autre feuille de calcul Excel peut fournir un contenu dynamique et ne pas nécessiter la participation d'un programmeur pendant un temps plus ou moins décent après la fin des travaux.

La question est de savoir dans quelle mesure la dynamique du domaine d'application est formalisée, pas la structure de la base de données.

Solutions en direct

Il est impossible de planifier le travail de manière à lier une équipe de développeurs professionnels à une tâche. Non pas que l'équipe ait été offensée, mais ce n'est pas la bonne approche.

Solutions en direct
Solutions en direct

La tâche de conception d'une base de données doit être formulée de manière à ce que la fonctionnalité développée s'améliore, accumule des connaissances et, dans l'exercice de ses "tâches", ne parte pas du code,créé par des experts, mais à partir des connaissances acquises grâce à ce code.

Conseillé: