Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 5937679
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 22, 20262026-05-22T15:34:35+00:00 2026-05-22T15:34:35+00:00

Suppose I have the following tables: User, Computer and Command. Users and computers may

  • 0

Suppose I have the following tables: “User”, “Computer” and “Command”. Users and computers may have 0 or 1 commands associated with them. A command is always owned by one (and only one) of these two. How can I model this?

I thought of something like this:

user(id, command_id?, other1)
computer(id, command_id?, other2)
command(id, other3)

This guarantees that user/computer can have 0 or 1 commands, but allows for a command to have more than one owner.

But since command is a weak entity (I suppose, please correct me if I’m wrong), it should reference its owner in a foreign key. This leads to the following structure:

user(id, other1)
computer(id, other2)
command(id, owner_id, owner_type(user|computer), other3)

However this allows for a user or computer to own more than one command. It also doesn’t look as nice as the first option.

Suggestions?

  • 1 1 Answer
  • 3 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-22T15:34:36+00:00Added an answer on May 22, 2026 at 3:34 pm

    I dont believe there is a good way to do this with standard SQL. There may be a DBMS out there that provides a good solution that I am just not aware of.

    I have seen both of your solutions used in the past. I really dont like the second solution because you are not able to use true FK relationships. When you define a FK constraint, the table must be specified. However, the table is determined by what is in the owner_type column. Additionally, if a third owner type was defined, you must introduce another string to represent your model. This begins to get messy.

    I prefer the first solution but with an is_owned boolean column on the command table. This field tells me if someone already owns the command. The downside is that I dont know who owns the command simply by looking at the command record. The upside is that I can define a true FK constraint and if I ever have a third+ owner_type I can simply add the additional table without any changes to the existing models.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am using a 3rd-party rotator object, which is providing a smooth, random rotation

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.