2010-12-09 13 views
0

Quelqu'un pourrait-il m'expliquer le modèle d'objet dans la base de données? Par exemple dans le cas des forums comment serait mon modèle d'objet pour les tableaux ci-dessous pour la conception de forums Internet (pas l'implémentation complète). Je veux l'idée de base concernant le modèle d'objet et en quoi est-ce différent du diagramme ER qui est basé sur le modèle relationnel.qu'est ce que le modèle objet dans la base de données?

utilisateurs Tableau

user_id

forums Tableau

forum_id FORUM_NAME

sujets Tableau

topic_id forum_id user_id TOPIC_NAME

Répondre

1

Je comprends votre question comme ceci: Quelle est la différence entre les objets et les tables? Maintenant, il n'y a pas de modèle objet dans les bases de données (dans les bases de données relationnelles, il y a aussi des bases de données orientées objet). Comme vous l'avez dit vous-même, il existe un modèle relationnel.

Une table se compose de lignes et de colonnes (ou d'anciens enregistrements et champs de langue). Un objet est constitué de données et de méthodes. Une table a souvent une clé primaire comme l'une de ses colonnes (ou plusieurs colonnes). Une table a souvent des clés étrangères utilisées pour faire référence à d'autres lignes dans d'autres tables ou dans la même table.

Dans les objets, vous pouvez faire référence à d'autres objets de la même classe ou d'autres classes, mais ce n'est pas la même chose. Donc, si vous avez les 3 tables ci-dessus, vous écrivez des classes représentant le contenu d'une ligne de chaque table et les classes savent comment devenir persistantes en écrivant dans la table de base de données et comment créer un objet d'une classe en obtenir le contenu d'une table de base de données, alors vous êtes dans un chapitre où l'espace de la boîte de réponse ne suffit pas.

C'est le sujet de la façon de rendre les objets persistants. Comment convertir un modèle d'objet en modèle de base de données relationnelle, etc. Le web est plein de discussions à ce sujet et il y a beaucoup de frameworks, selon la langue dans laquelle vous travaillez et il y a un support des bases de données.

Aussi peut-être que quelqu'un conçoit différemment les tables ci-dessus dans les classes et dit que je veux que chaque table soit une classe et chaque rangée soit une autre classe ... pourquoi pas. Probablement une bonne idée. Il existe de nombreuses techniques pour créer des objets d'accès aux données.