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

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 12, 20262026-05-12T00:12:18+00:00 2026-05-12T00:12:18+00:00

About five years ago I started using Generic lookup Tables for applications I was

  • 0

About five years ago I started using Generic lookup Tables for applications I was developing. I know, I can hear the sighs and your fists pounding against your desks, but it has proven to cut development time dramatically. If you want a recap, and a strong voice against lookup tables, Jake Christian does a good job summarizing it here:
http://www.projectdmx.com/dbdesign/lookup.aspx

The last project I launched a few days ago had around 20 types of lookup values, ranging from State Names to Active statuses. Using the classic N-Tier model, and restricting data access to Stored Procedures, we would have written 20 tables, 80 Stored Procs (1 Select, 1 Edit, 1 Update and 1 Delete per) if we used a “proper” relational model. Instead the Common Lookup Table has 1 table and 4 SPs. Because the access to the lookup values are more frequent, we cache the values in an ASP.NET Application Object.

My question is what are the alternatives, besides creating a table and 4 SPs per lookup type? I am just starting to look at LINQ as replacement to our DAL (EntLib DAAB), so I would be open to hearing about LINQ alternatives as well.

Thank you in advanced for your suggestions.

  • 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-12T00:12:18+00:00Added an answer on May 12, 2026 at 12:12 am

    Writing tables/stored procs is not hard, many tools exist to make this pretty trivial (even including the foreign key relationships not feasible in the MUCK style tables).

    What is hard is dealing with change to these structures.

    Whilst in your development phase it is likely you will realise some aspect of the model was incorrect and requires simple (it’s floats not integers) or complex (we need an additional layer between these two tables) alteration. If you have just the one development database this can be painful with multiple developers but is not the end of the world.

    Change whilst in production can however be very complex and hard to deal with (sometimes requiring updating all the applications at once). CRUD stored procedures avoid almost all these issues for the simple changes but don’t help at all for the complex ones (in fact they might even hinder it) but fundamentally the structure has changed in some significant way and it is likely that if you were using a MUCK that you would miss this in some way and start putting invalid data in to your DB.

    Using Linq to Sql doesn’t help a great deal here, since it just lets you write code that looks similar to sql[1] (stored procedures actually get in the way IMO) but it will let you know at compile time that your db code is no longer valid for some types of significant changed in the database schema (especially with regards to FK relationships). It is not much use for ‘semantic’ changes like altering the primary key to cover greater/fewer columns.

    Whilst initially developing you can make the overhead of database changes much less by giving every developer their own database, preferably local. This is highly dependent on the associated costs involved of course.

    MUCK tables can have their uses, especially when you want to be able to create/delete new ‘columns’ on the fly with next to no cost and maintain their lifetime values as well (schema updates play merry hell with many lifetime techniques) but such uses are relatively rare.

    You can make Mucks slightly more pleasant in some respects (though worse in others) by having one table per type, you then get type validity on insert/lookup (you can add constraints that check that the ‘category’ being inserted is of the correct type if desired). Some of this can be hidden behind stored procedures.

    [1] I like this don’t get me wrong, it just doesn’t help your specific issue much

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

Sidebar

Ask A Question

Stats

  • Questions 124k
  • Answers 124k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer Are you running on OS 3.0? I saw the same… May 12, 2026 at 1:19 am
  • Editorial Team
    Editorial Team added an answer It looks like you need to register Apache::Session::Memcached with Apache::Session::Wrapper,… May 12, 2026 at 1:19 am
  • Editorial Team
    Editorial Team added an answer Use DATENAME or DATEPART: SELECT DATENAME(dw,GETDATE()) -- Friday SELECT DATEPART(dw,GETDATE())… May 12, 2026 at 1:19 am

Related Questions

A couple of summers ago I worked for company that needed an Access DB
In my humble opinion, Microsoft is changing rules about database managing every four or
What are the key differences between Flash and Flex? I have over five years
We're about to embark on development of a new product. Our current product is
Just would like some thoughts of what you think about my strategy to learn

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

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.