Il s'agit d'un poteau d'invité par Anum Lodhi, qui a un grand intérêt dans la conception de logiciels
Tout comme vous avez besoin d'un plan pour construire une maison, vous aurez besoin d'un modèle de base de données pour mettre en oeuvre une base de données avec succès. Le processus de la construction de celui-ci est appelée la «phase de conception», qui comprend un certain nombre de mesures fortes pour la fin produit d'être flexible. Cette phase définit réellement l'information (+ sa structure) qui va aller dans la base de données, les hypothèses avancées liées au type ou les valeurs des éléments de données et la relation entre les éléments de données dans la base de données. Toutes les compagnies professionnelles de recourir à cette procédure concevoir leurs bases de données et son la manière la plus efficace.
Il comporte quatre étapes:
1. Requirement analysis
Les exigences de base sont déterminés. L'exigence exacts de l'utilisateur du système n'est captured.All les informations pertinentes relatives au système sont recueillies. Les six techniques les plus courantes sont:
- L'échantillonnage de la documentation existante, les formes, bases de données
- Site de recherche et visites
- Observation de l'environnement de travail
- Questionnaires
- Prototypage construire un petit modèle de l'exigence de l'utilisateur à vérifier avant de la main
- Joint Requirements Planning (JRP) - réunions de groupe sont effectuées pour analyser les problèmes existants
2. Entity Relationship Diagram (DRE)
La DRE est une notation de haut niveau pour exprimer des conceptions de base de données. Il définit graphiquement la structure de la base d'une manière très simple et compréhensible par l'utilisation de symboles.
Les informations recueillies au cours de l'étape "Exigence Analysis 'est transformée en une ERD (Entity Relationship Diagram) qui les données sont organisées en entités et les relations entre eux. Ainsi, au lieu de passer par un long morceau de matière, nous avons une représentation picturale de la même information qui est plus facile à lire.
Un échantillon ER diagramme est le suivant:

(Photo: Wikipedia)
Divers langages de modélisation des données peuvent être utilisées pour créer une DRE comme la notation pied d'oie, la notation Chen, IDEFIX (Intégration Définition Information Modeling), Shading notation, notation Bachman, UML (Unified Modeling Language), etc Wikipedia a une bonne page sur ER diagrammes ici
3. Relational Model
Il est très facile de comprendre le scénario à partir d'une ERD, mais celui-ci est très faible du point de vue de la mise en œuvre. Les concepts de sous-classes (IS-A structures) et les relations, par exemple, ne peuvent pas être mises en oeuvre dans la base de données directement. A ce stade, le modèle relationnel entre en scène.
Un modèle relationnel emploie un concept unique de tableaux (aussi appelés relations). Les ensembles d'entités et les relations décrites dans l'ERD sont converties en tables-un modèle relationnel.
Il ya cinq étapes de la conversion:
- Tournez chaque entité non faibles mis dans son tableau correspondant avec le même ensemble d'attributs
- Remplacer une relation par une relation dont les attributs sont les clefs de l'entité établit la connexion
- Certaines de ces relations peut bien faire si elle est associée ou exclus. Par exemple, les relations de soutien (pour les jeux de l'entité faible) pas besoin d'être convertie à la relation du tout.
- Remplacer une entité faible fixé par une relation dont les attributs sont ses attributs propres (le cas échéant), ainsi que les attributs empruntés qui aident à rendre sa clé primaire.
- Convertir les structures sous-classe en utilisant l'approche orientée-objet, E / R ou de style de conversion des valeurs nulles.
Explication de la conversion ER diagramme pour modèle de relation a de vastes concepts qui ne seront pas abordés dans ce poste. Il ya beaucoup de bons livres et des ressources disponibles en ligne qui le rend facile à comprendre. Pour un aperçu Considérons cet exemple que j'ai pris de Wikipedia:
De façon idéalisée, exemple très simple d'une description de certains relvars et leurs attributs:
- (Customer ID client, Tax ID, nom, adresse, ville, État, Code postal, téléphone)
- Order (ordre, identification de client, facture non, date Placé, date promise, Conditions, Status)
- Ligne de commande (Commande Non, Ligne de commande n °, code produit, Qté)
- Facture (facture n °, code client, l'ordonnance n, date, statut)
- Facture en ligne (Invoice Non, facture en ligne n °, code produit, Qté Shipped)
- Produit (Product Code, produit Description)
Dans cette conception, nous avons six relvars: client, commande, ligne de commande, facture, facture en ligne et Product. Le gras, souligné les attributs sont candidats clés. La non-gras, souligné les attributs sont des clés étrangères.
4. Normalisation
La normalisation est un processus d'accroître la cote forme normale. Il élimine d'abord les dépendances suivantes afin d'éviter les redondances et les anomalies dans les données:
- La dépendance partielle: basé sur une partie de la clé primaire
- Transitive dépendance: basé sur un attribut qui ne fait pas partie de la clé primaire
Les trois premières formes de normalisation sont les suivants:
- 1NF
- Le plus bas forme normale implémentables
- Clé primaire entité intégrité exigences sont remplies
- Chaque cellule contient une valeur unique
- Non-valeurs de clé primaire sont tributaires de la clé primaire
- 2NF
- Toutes les conditions sont remplies 1NF
- Partiel
dépendances sont supprimées
- 3FN
- Toutes les conditions sont remplies 2NF
- Dépendances transitives enlevé
Formes supérieures jusqu'à 5NF et BCNF (Boyce-Codd Normal Form) existent également.
La normalisation peut être appliqué de deux façons:
- Normal forms appliqué après le modèle relationnel est créé
- La troisième étape est sautée et la création de tables se fait avec la normalisation en contrepartie directe
blog daleeman a un poste très bien sur la normalisation de base de données. Lire: application pratique de la normalisation de base de données qui vous aideront à comprendre la normalisation de bases de données en détail.

















