2010-04-15 13 views
1

Je n'ai aucun problème avec la conversion des tables ER en SQL, mais je ne sais pas comment convertir les tables EER en SQL? que vous savez que REE a « est un » cahier des charges et de l'héritage, mais je ne sais pas comment les bases de données relationnelles peuvent se connecter avec la spécification de l'héritageComment convertir EER en table SQL?

+0

Est-ce qu'un EML UML? D'après ce que vous dites, ça sonne comme ça. – leeand00

+0

EER est une entité-relation améliorée qui a de nouvelles fonctionnalités comme l'héritage par rapport à la modélisation ER. le problème est que je ne peux pas convertir les modèles EER en tables SQL, car ils ont une spécification "est un". –

+0

Une chance que vous pouvez poster le diagramme ici? Prenez une capture d'écran et mettez-la dans votre question? – leeand00

Répondre

0

Je dirais que regarder dans le Hibernate storage strategies. Hibernate est un système ORM qui conserve les objets dans une base de données SQL. Dans le lien que je vous ai envoyé, il vous donne un schéma de table sur la façon dont la stratégie de stockage est conservée dans la base de données SQL.

Si vous utilisez Appfuse ou Groovy, il peut générer ces relations pour vous. Ensuite, vous pouvez mapper le schéma dans un outil CASE pour le transformer en un diagramme de relation d'entité.

+0

Merci de m'avoir présenté un nouvel aspect de la programmation Java. Je vais google Hibernate et obtenir plus d'informations. Mais mon problème est indépendant de la plateforme. Juste je veux convertir EER en table SQL. –

+0

@Khajavi "is-a" est l'héritage droit? Hibernate supporte cela étant stocké dans une table SQL. Tout ce que vous avez à faire est de créer des classes réelles pour le convertir. – leeand00

+0

@ Khajavi Je ne dis pas que vous devez utiliser Hibernate. Je suggère que vous utilisiez Hibernate pour générer vos tables SQL. – leeand00

1

Je ne suis pas sûr de savoir comment convertir tous les REE à la table SQL dans une action de l'utilisateur, mais cela devrait fonctionner:

  • Faites un clic droit sur une table,
  • Copiez le script de création de table pour le presse-papiers ,
  • Collez ce script dans la commande shell.

Cela va créer la table.

Espérons que cela aide.

0

La réponse la plus simple est:
La table de sous-type utilisera id de supertype comme ID. Cela garantira le sous-type 'est un' supertype, au lieu du sous-type 'est associé à' super type.
Il existe d'autres règles pour convertir les hiérarchies de généralisation/spécialisation EERD (si vous êtes intéressé, répondez et je vous enverrai un lien pour en savoir plus sur toutes les règles). Cependant, la plupart des cas, après deux règles vont travailler

  1. Créer une relation pour un super-type, créez chaque relation pour chaque sous-type, id de la relation de sous-type est l'identifiant de la relation supertype (cette option généralement travailler pour tous les cas). Stocker tous les attributs communs dans la super relation, ne stocker que les attributs spéciaux dans les sous-types. Pour "Hiérarchie obligatoire de spécialisation/généralisation disjointe", vous pouvez avoir la possibilité de créer une table pour chaque sous-type (sans avoir à créer de relation pour le supertype).

Espérons que cela aide.