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 511081
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 13, 20262026-05-13T07:10:48+00:00 2026-05-13T07:10:48+00:00

I’ve seen several different shopping cart schemas with different tables for order status type

  • 0

I’ve seen several different shopping cart schemas with different tables for order status type / shipping status type / payment status type.

I want to get this right first time for my project and wondered what the best approach is, and hopefully someone with sample tables for me to use.

The key thing, of course is that however many columns I use – they must represent mutually exclusive things.

I’m thinking something along the lines of :

OrderStatus – Summary status
PaymentStatus – Paid/Unpaid/PartiallyPaid/Error
ShippingStatus – Unshipped/PartiallyShipped/Shipped/DeliveredByHand

whats the best way to break this down – should I have a ‘summary’ status too representing the overall ‘human-readable’ status as well as individual statuses for each independent part of the process?

  • 1 1 Answer
  • 0 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-13T07:10:48+00:00Added an answer on May 13, 2026 at 7:10 am

    Any time you have various states that are "mutually exclusive", it implies having a single column with multiple possible values for that column. Most of the time these values should be constrained, and one of the best and most common ways to do this is via a Foreign Key to a "dictionary" or "lookup" table. So, at it’s most basic, you might have something like this:

    • Table Order (OrderID, OrderStatusID, …)
    • Table OrderStatus (OrderStatusID, Name)

    OrderStatus will have values such as:

    • 1, "Paid"
    • 2, "Unpaid"
    • 3, "Shipped"
    • 4, "Unshipped"

    The important part is to determine which statuses are really mutually exclusive to other statuses. For instance, my example rows above probably aren’t very good, as you could potentially have an order that is both "Paid" and "Shipped". If that was the case, then you might split OrderStatus into PaymentStatus and ShippingStatus (as you alluded to).

    Determining whether or not to split these rows is really up to you and your specific needs. However, whatever you decide, assume that you will have to change it at some point. Normally, the only applications/databases that never change are the failed ones that are abandoned for lack of use. "Getting it right the first time" is an admirable goal, and doing your research ahead of time is warranted, but you’ll almost certainly not achieve it. Instead, spend your effort on making the rest of your design/code flexible & changeable enough that you can rework parts of it without having to tear up the entire application.

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

Sidebar

Related Questions

link Im having trouble converting the html entites into html characters, (&# 8217;) i
I want to count how many characters a certain string has in PHP, but
I have a string like this: La Torre Eiffel paragonata all’Everest What PHP function
I have a French site that I want to parse, but am running into
I want use html5's new tag to play a wav file (currently only supported
I'm parsing an RSS feed that has an ’ in it. SimpleXML turns this
i want to parse a xhtml file and display in UITableView. what is the
I want to construct a data frame in an Rcpp function, but when I
That's pretty much it. I'm using Nokogiri to scrape a web page what has
I have just tried to save a simple *.rtf file with some websites and

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.