Comment concevoir une base de données SQL

La première étape pour concevoir une base de données dans SQL est d'identifier ce qu'il faut inclure et ce qui ne pas inclure. Les prochaines étapes impliquent de décider comment les éléments inclus se rapportent les uns aux autres, puis la mise en place des tables en conséquence.

Sommaire

Pour concevoir une base de données dans SQL, suivez ces étapes de base:

  1. Décidez quels objets vous souhaitez inclure dans votre base de données.

  2. Déterminer lequel de ces objets devraient être les tables et qui devrait être colonnes dans ces tables.

  3. Définir tables basées sur la façon dont vous avez besoin pour organiser les objets.

    En option, vous pouvez désigner une colonne de table ou une combinaison de colonnes comme clé.

Étape 1: Définir les objets

La première étape dans la conception de la base de données est de décider quels aspects du système sont assez important d'inclure dans le modèle. Traiter chaque aspect comme un objet et créer une liste de tous les objets que vous pouvez penser. A ce stade, ne pas essayer de décider comment ces objets se rapportent les uns aux autres. Juste essayer de les énumérer tous.

Lorsque vous avez un ensemble raisonnablement complet d'objets, de passer à la prochaine étape: décider comment ces objets se rapportent les uns aux autres. Certains de ces objets sont des entités principales qui sont cruciaux pour vous donner les résultats que vous voulez. D'autres objets sont subsidiaires aux grandes entités. En fin de compte, vous pouvez décider que certains objets ne font pas dans le modèle du tout.

Étape 2: Identifier les tables et colonnes

Grandes entités traduire dans les tables de base de données. Chaque entité majeure dispose d'un ensemble de attributs - les colonnes de la table. Beaucoup de bases de données commerciales, par exemple, ont une table à la clientèle qui garde la trace des noms, adresses et autres informations permanente de clients. Chaque attribut d'un client - telles que le nom, rue, ville, état, code postal, numéro de téléphone et adresse e-mail - devient une colonne (et un titre de colonne) dans le tableau de CLIENT.

Si vous êtes l'espoir de trouver un ensemble de règles pour vous aider à identifier quels objets devraient tables et qui les attributs du système qui appartiennent à des tables, détrompez-vous: Vous pouvez avoir quelques raisons pour attribuer un attribut particulier d'une table et d'autres raisons pour attribuer le même attribut à une autre table. Vous devez fonder votre jugement sur deux objectifs:

  • Les informations que vous voulez obtenir de la base de données




  • Comment vous voulez utiliser cette information

Au moment de décider comment structurer les tables de base de données, impliquer les futurs utilisateurs de la base de données ainsi que les personnes qui vont prendre des décisions fondées sur des informations de base de données. Si vous venez avec ce que vous pensez est une structure raisonnable, mais il ne correspond pas à la façon dont les gens vont utiliser les informations, votre système sera frustrant à utiliser au mieux - et pourrait même produire de fausses informations, ce qui est encore pire .

Jetez un oeil à un exemple. Supposons que vous VetLab vient d'établir, un laboratoire clinique de microbiologie qui teste des échantillons biologiques envoyées par les vétérinaires. Vous souhaitez suivre plusieurs choses, y compris les suivantes:

  • Clients

  • Tests que vous effectuez

  • Les employés

  • Ordres

  • Résultats

Étape 3: Définir les tables

Maintenant, vous souhaitez définir un tableau pour chaque entité et une colonne pour chaque attribut.

TableColonnes
CLIENTNom du client
Adresse 1
Adresse 2
Ville
État
Code Postal
Phone
Fax
Contact
ESSAISNom du test
Charge standard
EMPLOYÉNom de l'employé
Adresse 1
Adresse 2
Ville
État
Code Postal
Téléphone fixe
Bureau Extension
Date d'embauche
Classification d'emploi
Taux horaire / Salaire / Commission
COMMANDESNuméro de commande
Nom du client
Essai Ordonné
Vendeur Responsable
Date de commande
RÉSULTATSNombre de résultats
Numéro de commande
Résultat
Date du rapport
Préliminaire / final

Vous pouvez créer les tables définies ici en utilisant soit un développement rapide d'applications (RAD) ou en utilisant des données Définition Langue SQL (DDL), comme indiqué dans le code suivant:

CREATE TABLE CLIENT (ClientName CHAR (30) NOT NULL, Address1 CHAR (30), Address2 CHAR (30), CityCHAR (25), StateCHAR (2), PostalCode CHAR (10), PhoneCHAR (13), FaxCHAR (13), ContactPerson CHAR (30)) -Créer TESTS DE TABLE (TestName CHAR (30) NOT NULL, StandardCharge CHAR (30)) -Créer TABLE DES EMPLOYÉS (EmployeeName CHAR (30) NOT NULL, Address1 CHAR (30), Address2 CHAR (30), CityCHAR (25), StateCHAR (2), PostalCode CHAR (10), HomePhone CHAR (13), OfficeExtension CHAR (4), HireDate DATE, JobClassification CHAR (10), HourSalComm CHAR (1)) TABLE commandes -Créer (OrderNumber ENTIER NOT NULL, ClientName CHAR (30), TestOrdered CHAR (30), Salesperson CHAR (30), OrderDate DATE) résultats de la table -Créer (ResultNumber INTEGER NOT NULL, OrderNumber ENTIER, Résultat CHAR (50), DateReported DATE, PrelimFinal CHAR (1 )) -

Ces tableaux se rapportent les uns aux autres par les attributs (colonnes) qu'ils partagent, que la liste ci-dessous décrit:

  • Les liens de la table de client à la table des ordres par les Nom du client colonne.

  • Les liens de la table des tests pour la table des ordres par les TestName (TestOrdered) colonne.

  • Les liens de la table des employés pour la table des ordres par les EmployeeName (Vendeur) colonne.

  • Les liens de la table des résultats pour la table des ordres par les Numéro de commande colonne.

Si vous voulez une table pour servir en tant que partie intégrante d'une base de données relationnelle, un lien entre cette table pour au moins une autre table dans la base de données, en utilisant une colonne commune.

image0.jpg

Les liens illustrent quatre différents un-à-plusieurs relations. Le diamant au milieu de chaque relation montre la cardinalité maximale de chaque extrémité de la relation. Le numéro 1 désigne le “ un ” côté de la relation, et N désigne le “ un grand nombre ” côté.

  • Un client peut effectuer de nombreuses commandes, mais chaque commande est faite par l'un, et un seul, client.

  • Chaque test peut apparaître sur de nombreuses commandes, mais chaque commande appelle à un, et un seul, test.

  • Chaque commande est prise par un, et un seul, employé (ou un vendeur), mais chaque vendeur peut prendre plusieurs ordres.

  • Chaque commande peut produire plusieurs résultats d'essais préliminaires et un résultat final, mais chaque résultat est associé à l'un, et un seul, afin.

L'attribut qui relie une table à l'autre peut avoir un nom différent dans chaque tableau. Les deux attributs doivent, cependant, avoir des types de données correspondants.


» » » » Comment concevoir une base de données SQL