web-dev-qa-db-fra.com

Quelle est la différence entre le diagramme ER et le schéma de base de données?

Quelle est la différence entre les diagrammes ER et le schéma de base de données? MySQL Workbench a la possibilité de dessiner des diagrammes ER, mais les symboles des diagrammes ER sont différents dans d'autres outils de dessin que la méthode MySQL Workbench.

16
sam

n schéma de base de données est généralement un modèle/diagramme relationnel. il montre le lien entre les tables: clés primaires et clés étrangères.

Dans le diagramme de base de données, la relation entre un arbre Apple et un Apple serait: Une clé étrangère "ID__TRE" qui ne peut pas être nulle dans le tableau "Apple" est lié à une clé primaire "ID_TRE" dans le tableau "TREE".

Relational

n diagramme de relation d'entité. Affiche les liens entre les entités et le type de relation entre elles. Nous ne parlons pas de tables ou de clés là-bas! Habituellement, le diagramme de relation d'entité suit le modèle Merise. Le gestionnaire de base de données et le développeur comme moi-même construisent généralement un modèle de relation d'entité avant de concevoir le modèle/diagramme relationnel.
L'ensemble de symboles dans Merise sont: (0-1, 0-n, 1-1, 1-n). Le premier chiffre 0 ou 1 indique si l'autre partie de l'association est requise pour qu'un objet existe. S'il est nul, cela signifie qu'il peut exister sans être associé. S'il est Un, cela signifie que l'objet n'existe qu'en relation avec un autre objet (par exemple, un Apple a besoin d'un arbre pour exister -> 1, un arbre n'a pas besoin Apple to exist -> 0) Le deuxième caractère nous dit combien d'objets sont acceptés dans l'autre partie de l'association. Si c'est 1, alors un seul objet peut exister dans la relation, si c'est n, un nombre infini d'objets peut être lié (par exemple: un Apple peut avoir un arbre -> 1, un arbre peut avoir plusieurs pommes -> n)

Avec la relation d'entité, la relation sera décrite comme suit: Un Apple doit appartenir à au moins un arbre pour exister et ne peut appartenir qu'à un seul arbre (1-1). Un arbre n'a pas besoin d'un Apple pour exister mais il peut avoir un nombre infini de pommes (0-n).

ER

En fait, les deux descriptions signifient la même chose mais l'une est orientée base de données tandis que l'autre est orientée modélisation. Certains logiciels de modélisation tels que DB-MAIN convertissent automatiquement un diagramme ER en diagramme relationnel.

16
ChristHope

LES DIAGRAMMES DES RELATIONS ENTRE ENTITÉS (ERD) ne sont que cela: des SCHÉMAS qui décrivent les RELATIONS entre ENTITÉS. Regardons maintenant de plus près ...

  • Les ERD sont souvent créés par des analystes commerciaux (PAS des DBA);
  • Les ERD sont souvent décrits dans les termes de LAYMAN (PAS techno-parlent de DBA ou autre);
  • Les ERD sont censés résumer et clarifier la compréhension pour les utilisateurs finaux et les PME commerciales (encore une fois, PAS les DBA ou les développeurs)
  • Les ERD fonctionnent mieux lorsque chaque entité est décrite dans le SINGULIER, et les lignes reliant diverses entités à d'autres entités dans l'ERD utilisent des verbes (d'action ou de possession, ou d'existence) pour décrire chaque relation;
  • Les ERD peuvent (et incluent) des lignes qui dénotent des relations n: n, mais ce n'est pas une exigence.
  • Exemples d'entités dans un ERD pour un blog: membre, publication, commentaire, catégorie
  • Exemples de relations décrites dans un DRE:
    • Membres "messages" 1 à n messages; (Notez que nous ne décrivons pas à quoi ressemble un message)
    • Publier les catégories 1 à n "pertinentes", etc.

LES SCHÉMAS DE DONNÉES ressemblent quelque peu aux DRE, mais ils ne doivent PAS être considérés comme équivalents ou interchangeables. Si vous créez un ERD qui peut être utilisé comme schéma de données ... soyez ouvert à la possibilité que vous N'AVEZ PAS fait un ERD! ;-)

Les schémas de données sont des diagrammes utilisés pour décrire à un administrateur de base de données comment les données seront stockées dans une base de données (relationnelle ou non relationnelle).

  • Les schémas de données presque invariables décrivent la structure et les caractéristiques des TABLEAUX;
  • Les tables sont des "conteneurs" (boîtes en carton);
  • Comme ces tables dans un schéma de données sont mieux nommées dans le PLURAL
  • Exemples de TABLES dans un SCHÉMA pour le même blog: MEMBERS, POSTS, CATEGORIES, COMMENTS (base de données relationnelle) ou POSTS (saisie par Member-Date et toutes les autres colonnes dans 1 table (base de données non relationnelle comme pour un projet "big data");
  • un schéma de données décrirait alors les données contenues dans chaque table:

    MEMBER 
    FirstName (char:25)
    LastName (char:25)
    

    etc.

  • les lignes entre les tables dans un schéma de données n'essaieraient PAS de représenter une "relation" autre qu'une "CLÉ" entre 2 champs qui pourraient être utilisés pour "joindre" les tables, et quelques caractéristiques supplémentaires de ces lignes pour dénoter les relations n: n .

LES DEUX diagrammes servent à des fins assez DIFFÉRENTES: ERD: pour faire comprendre aux simples utilisateurs finals mortels (et aux propriétaires d'entreprise) le modèle d'une solution commerciale donnée; et SCHÉMA DE DONNÉES: un "plan directeur" utilisé par les administrateurs de bases de données pour CONSTRUIRE des bases de données et par les DÉVELOPPEURS pour CONSOMMER les données de cette base de données.

5
Mark Vogt

Un schéma de base de données est une description de la construction réelle de la base de données. Il s'agit d'un terme universel qui fait référence au collectif de tables, colonnes, déclencheurs, relations, contraintes clés, fonctions et procédures. Il peut faire référence à un document qui décrit tout cela (comme un schéma XML) ou comme une abstraction de la constitution de la base de données elle-même ("Il serait difficile de modifier le schéma de la base de données à ce stade"). Il ne fait pas référence aux lignes insérées dans le schéma ou aux données elles-mêmes. Vous devez insérer des données dans un schéma existant.

Un Entity Relationship Diagram est une visualisation des relations entre les tables dans une base de données. À tout le moins, il comprend des noms de table visualisés sous forme de carrés reliés par des lignes qui représentent des contraintes de clé primaire et étrangère. Il inclut souvent les noms et les symboles des colonnes qui contiennent des informations sur le type de relation existant entre les colonnes (un à un, un à plusieurs, plusieurs à plusieurs).

5
Conor