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

  • SEARCH
  • Home
  • 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 6752713
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 26, 20262026-05-26T13:04:38+00:00 2026-05-26T13:04:38+00:00

Business scenario: Customers can login to an online e-Commerce app, using their e-mail addresses

  • 0

Business scenario:

  • Customers can login to an online e-Commerce app, using their e-mail addresses as their logins.

  • We have a CRM app that depends on the same database. Employees use the CRM app to add non-online customers, and e-mail is NOT required field here.

Technically:
There is nothing “naturally” making a PK in Customer table. Regardless, I always use an artificial PK even if there is no natural one. I’m worried that this will eventually lead to problems in searching, integrity, etc. I can’t determine exactly what problems will come up, though.

I think developers won’t expect the e-mail column to allow null, and they will create programs ignoring this situation.

Remember that the whole system, and most of the database will depend on customer data, if something goes wrong in the customer table, it will probably be inherited by the other tables.

The existence of two types of customers fires exceptions in my brain, but I can’t figure out the exception’s message. What do you think? Is it better to find some way out now? Or you think, it is ok, leave it like this till something goes wrong, because it is not likely to cause a problem, Remember that the problem is not a bug by neccissary, it can be maintainability or development complications ?

Thanks

  • 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-26T13:04:38+00:00Added an answer on May 26, 2026 at 1:04 pm

    Is there a specific reason to put these data together in the same table? Do CRM “customers” and e-commerce customers share many other tables in this database?

    Honestly, I would not put e-commerce customers in this database. Although you can create views to easily separate e-commerce and CRM data, this seems totally unnecessary to me. Furthermore, you haven’t described any particular reason why e-commerce and CRM data need to live in the same database. Maybe there’s a reason you didn’t include in the question, but this already smells if you ask me.

    From the information you’ve included here, I don’t think you’re losing anything significant by creating a separate database and table for the e-commerce customers. Keep unrelated data separate.

    Edit:

    To make this extra clear: if your e-commerce customers do not share a lot of data with the CRM customers, create new customer tables. If they do share a lot of data, then one null column is likely not the end of the world.

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

Sidebar

Related Questions

I have business scenario as We will get all the data to the database
I have business scenario as source files (text files) comes to load into SQL
So I have a scenario: Given I signed in to my business account And
In the following scenario, you have a business object called Employee that contains all
Scenario: Using a tiered approach with WCF services: business services returning domain / DTO
Let me set up my LOB scenario. I am re-writing our core business app.
Here is the scenario: I have two radio buttons, 1) for a normal customers
I have 2 pages for collecting payments for an online services business. 1st form
I'm using a FormView to edit my business objects. I don't have any problem
I'm building a web app using Seam, using stateful session EJBs as business components

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.