2016-08-28 1 views
0

Je crée un schéma de base de données impliquant des utilisateurs pouvant avoir plusieurs utilisateurs.Plusieurs utilisateurs Conception de la base de données

Je souhaite enregistrer différentes sociétés pour utiliser les services Web.

Par exemple:

  • utilisateur A ou B (etc) peuvent inscrire et créer un compte d'entreprise
  • utilisateur A peut créer plusieurs comptes d'autres utilisateurs avec leurs types, de même utilisateur B

Si l'utilisateur A ou B crée des comptes différents, comment saurais-je que cet utilisateur particulier appartient à l'entreprise A ou B? Je pense que la table d'utilisateur a de nombreuses relations avec elle-même (comme la conception de base de l'amitié).

S'il vous plaît suggérer le meilleur design.

Ex.

User 3,4 belongs to User A

User 5,6 belongs to User B

+1

Oui, vous avez raison, vous avez gérer de nombreuses relations avec lui-même .. –

Répondre

0

En général, je recommande de commencer par identifier toutes les entités que vous essayez de persister. On dirait que vous avez deux entités distinctes dans votre question. L'un étant "utilisateur", qui représente une seule personne. Votre deuxième entité est "entreprise". Un "utilisateur" peut appartenir à une entreprise.

Un exemple de conception de base de données serait une table pour les utilisateurs et une table pour les entreprises. Dans la table "users", vous souhaitez avoir une colonne de clé étrangère qui référence la clé primaire (identifiant unique) de la société à laquelle l'utilisateur appartient. Si chaque utilisateur ne peut appartenir qu'à une seule entreprise, cela devient une relation simple à plusieurs. En bref, je recommande fortement de traiter les comptes des entreprises séparément des comptes d'utilisateurs, car ce sont des entités fondamentalement différentes.