Recherche chaud: firefox roku channel remède naturel pour pancreatite phantosmie effets secondaires faire fondre du chocolat pepite soudeur largoun Pligg nouvelle utilisation de l astrolabe myasthénie exercices
Index Loisirs Santé Technologie

Comment créer un modèle de données relationnel

Publié:2012-10-25Source: général
Advertisement

Chargé de créer un modèle de données d'entreprise? Besoin de construire une base de données relationnelle qui peut accueillir téraoctets de dollars de données?

Étapes

1

Ne vous inquiétez pas sur les tables pour l'instant. Il est évident que vous construisez une base de données et bases de données (relationnelles ceux en tout cas) sont principalement composée de tables, qui sont constitués de lignes et de colonnes (tuples et les attributs si vous êtes vraiment dans ça).

2

Inquiétude au sujet des relations d'entités. Votre premier objectif est de cartographier les relations entre les différents objets métier ont. Ceci est la partie "de modélisation logique". Le «modèle physique» est la mise en œuvre effective. Confuse / combiner les deux à vos risques et périls.

Les exigences sont difficiles à obtenir et douloureux. Un analyste d'affaires talentueux à cette époque serait Heaven sent.

3

Soyez prêt à mener une guerre en solo, avec seulement vous dédié à la normalisation de la qualité. La plupart des bases de données sont des morceaux d'ordures parce que les gens qui les conçoivent sont paresseux et "veulent juste avoir quelque chose là-bas. Nous pouvons toujours corriger plus tard." Ouais c'est ça.

4

Une fois qu'il est temps d'écrire des tables, se concentrer sur lookup tables et le type (codes postaux, les statuts, les catégories de produits, etc.). Vous en aurez besoin pour les relations de clé étrangère sur vos tables de «vrais». De plus, il vous donne un petit échauffement avant de vous obtenez dans le noyau tables transactionnelles.

5

En règle générale: ne pas stocker des données qui peuvent être déduites d'autres domaines. Si vous connaissez la date de naissance et une date de début, alors vous savez aussi l'âge à la date de début, ne comprennent donc pas cet âge dans le tableau.

6

Pas de valeurs NULL. Une valeur nulle représente un attribut non définie d'une entité. Si les entités peuvent avoir ou ne pas avoir un attribut particulier, alors il doit être manipulé par l'intermédiaire d'une table d'intersection.

7

Contradiction valeurs NULL sont en eux-mêmes utiles pour identifier les attributs qui ne sont pas encore peuplées par les utilisateurs. Ceci est particulièrement utile lorsque l'utilisateur doit sélectionner une valeur par défaut afin de déterminer les règles commerciales appropriées à appliquer. Cas 2 comment voulez-vous concevoir une table d'adresse où Address1 a été peuplée et Address2 n'a pas été nécessaire, mais si Address2 a été peuplée il doit se conformer aux règles de gestion du champ. Bien sûr, vous pourriez par défaut un espace vide, est-ce mieux que de savoir que l'utilisateur n'a pas modifier le champ? Essayez 3ème forme normale sur une adresse internationale ... Peut-il être fait sans doute mais regardez la complexité de la restructuration des données d'une manière significative.

8

NULL / NOT NULL Départ des forums de base de données, ce qui est un sujet brûlant défenseurs des deux côtés avantages / inconvénients pour chacun.

Cependant tous sont d'accord que vous ne devriez jamais permettre à des valeurs NULL dans les variables clés. Ce sont des domaines qui sont utilisés pour identifier un enregistrement unique, par exemple un numéro d'identification de la clientèle.

L'école null dire que vous devez utiliser les valeurs NULL librement dans tous les autres domaines. Par exemple les clients ne sont pas obligés d'avoir un téléphone cellulaire, ni pour vous dire leur nombre. Utilisation d'un nul et rien, mais un nul est le plus efficace pour enregistrer que le téléphone cellulaire ne sont pas disponibles.

Si il est vraiment important de savoir pourquoi il n'y est-il pas préférable d'introduire une nouvelle variable qui indique la raison, par opposition à l'introduction de codes de fantaisie pour être stocké dans l'espace réservé pour les numéros de téléphone cellulaire. Soyez réticents à ajouter des champs comme ceux-ci, parce que a) le client est également pas obligé de dire la raison pour laquelle il ne donne pas son numéro de téléphone cellulaire, ni à cette question font une conversation agréable, ni est-il susceptible de dire à ses raisons spontanément, et b) personne ne pourra jamais les regarder en raison d'un). Pourquoi les variables manquant généralement juste perdre du temps.

Soyez conscient que oui / non variables (booléens) ne peuvent souvent pas tenir une nulle. Par conséquent, ils contiennent souvent des informations inutiles, tels que "soit il était républicain, ou qu'il a refusé de répondre».

9

Familiarisez-vous avec intersection (many to many) tables. Vous allez les utiliser partout, si vous avez construit les choses. Un exemple serait une base de données de haute école où une table est une liste des enseignants et un autre pour les étudiants. Les étudiants ont plus d'un enseignant, et les enseignants ont plus d'un étudiant, donc la table d'intersection, distincte de «professeur» et «étudiant», auraient deux colonnes: clés étrangères pointant à ces deux deux. La clé primaire serait alors la combinaison des deux.

10

Utilisez une bonne convention de nommage. Pour les factures, les mettre dans une table appelée "facture". Produits allez dans "produit". L'intersection serait "invoiceProduct", ou "productInvoice", en fonction de la table qui est vraiment au centre de la relation.

11

Si vous allez avoir la réplication ou l'envoi de journaux, essayez d'avoir mis en place ce que vous développez afin que vous puissiez voir comment il fonctionne.

12

Les jointures internes sont grands, mais il ya probablement beaucoup de LEFT OUTER JOIN déclarations que vous ferez aussi bien. Être utilisé pour les différents états rejoindre (hors Union).

13

Si vous avez à traiter avec une application héritée, construire votre schéma indépendant de son (ne regardent même pas à elle). Concentrez-vous sur les règles et les relations commerciales qu'il cherche à appliquer, mais vous pouvez laisser distraire si vous regardez à la façon que quelqu'un le configurer. Reportez-vous à l'étape n ° 4.

14

Migration de vos systèmes existants dans un modèle plus étroite avec la normalisation appropriée est difficile, mais peut être un peu plus gérable en utilisant des tables temporaires pour vos importations. Aussi, gardez un œil sur les IDs héritées pour les personnes à la recherche par.

Conseils

Ne vous attendez pas la réplication, l'envoi de journaux, ou la mise en miroir de travailler quand vous allez dans la production. Développer et tester avec elle dès le début. Faites-en une partie de votre application.

Il ya quelques cas très spécifiques où vous avez besoin de dénormaliser tables pour des raisons de performances. Mais cela est facile à faire; se concentrer sur la partie la plus difficile qui est la normalisation appropriée.

La flexibilité et la puissance d'un modèle relationnel est ahurissant par rapport à une structure plus plate.

Puisque vous êtes la définition des relations absolues, un bon moyen pour obtenir des questions des participants réticents est de demander des choses comme «il est donc tout à fait vrai qu'il ne peut y avoir un client sur une facture?" Questions de ce genre ont tendance à invoquer une réponse dans les gens.

En ce qui concerne les relations d'entités, par exemple, un client peut avoir plusieurs numéros de téléphone. Un client peut également avoir plusieurs contacts, et chacun de ces contacts peut avoir plusieurs numéros de téléphone. Une facture ne peut toutefois être associée à un client,. Il ya un représentant de compte qui peuvent être assignés à un client, sauf dans certains cas où il ya deux, etc. Ce sont les types de choses que vous devez tracer bien avant de vous écrire une seule ligne de SQL.

Laissez le «s» de vos noms de table ("facture" de table); il est entendu que, depuis qu'il est une base de données, il ya une bonne chance qu'il y aura plus d'une facture à l'intérieur.

Les sauvegardes sont important dans le développement aussi. Assurez-vous qu'ils sont au moins tous les soirs. Les vérifier chaque semaine pour vous assurer que vous ne perdez pas mois la peine de travail (et peut-être votre travail) si il ya un accident matériel massif.

Avertissements

Si vous faites bon marché sur les valeurs NULL, (tables dénormalisées pour de mauvaises raisons), il aura des conséquences directes et réelles (orphelins, l'intégrité des données minable, se joint à l'habitude de travailler, etc).

La modélisation des données est une compétence essentielle, et très peu de gens qui construisent bases de données relationnelles sont tout bon dans ce domaine.

Ne pas cher sortir et faire un mauvais travail simplement parce qu'il est plus facile. Si ils voulaient les ordures, ils auraient embauché quelqu'un d'autre.

Si vous ne normalise pas correctement, alors les rapports faits à partir des données de base de données sera parfois simplement faux, et que votre patron sera très contrarié.

[Rédacteur: Admin]
Je vous imagine comme

Articles recommandés

Cliquez Top Ranking