Tagged Questions
121
votes
22answers
8k views
Is email address a bad primary key
Is email address a bad candidate for primary when compared to auto incrementing numbers. Our web application needs the email address to be unique in the system. So, I thought of using email address ...
98
votes
13answers
32k views
Subqueries vs joins
I refactored a slow section of an application we inherited from another company to use an inner join instead of a subquery like
where id in (select id from ... )
The refactored query runs about ...
74
votes
17answers
6k views
Are soft deletes a good idea? [duplicate]
Are soft deletes a good idea or a bad idea?
Instead of actually deleting a record in your database, you would just flag it as "IsDeleted" = true, and upon recovery of the record you could just flag ...
74
votes
12answers
17k views
Database Design for Tagging
How would you design a database to support the following tagging features:
items can have a large number of tags
searches for all items that are tagged with a given set of tags must be quick (the ...
69
votes
8answers
2k views
Standard use of 'Z' instead of NULL to represent missing data?
Outside of the argument of whether or not NULLs should ever be used: I am responsible for an existing database that uses NULL to mean "missing or never entered" data. It is different from empty ...
65
votes
22answers
7k views
Is there ever a time where using a database 1:1 relationship makes sense?
I was thinking the other day on normalization, and it occurred to me, I cannot think of a time where there should be a 1:1 relationship in a database.
Name:SSN? I'd have them in the same table
...
64
votes
8answers
23k views
Max length for client ip address [duplicate]
Possible Duplicate:
Maximum length of the textual representation of an IPv6 address?
What would you recommend as the maximum size for a database column storing client ip addresses? I have ...
53
votes
14answers
53k views
Facebook database design?
I have always wondered how Facebook designed the friend <-> user relation.
I figure the user table is something like this:
user_email PK
user_id PK
password
I figure the table with user's ...
53
votes
9answers
23k views
Storing money in a decimal column - what precision and scale?
I'm using a decimal column to store money values on a database, and today I was wondering what precision and scale to use.
Since supposedly char columns of a fixed width are more efficient, I was ...
41
votes
6answers
15k views
What are best practices for multi-language database design? [closed]
What is the best way to create multi-language database? To create localized table for every table is making design and querying complex, in other case to add column for each language is simple but not ...
41
votes
6answers
23k views
Database Structure for Tree Data Structure
What would be the best way to implement a customizable (meaning, a tree structure with an unknown number of level) tree data structure in a database?
I've done this once before using a table with a ...
38
votes
11answers
3k views
Database-wide unique-yet-simple identifiers in SQL Server
First, I'm aware of this question, and the suggestion (using GUID) doesn't apply in my situation.
I want simple UIDs so that my users can easily communicate this information over the phone :
...
38
votes
11answers
10k views
Is there common street addresses database design for all addresses of the world?
I am a programmer and to be honest don't know street address structures of the world, just how in my country is structured :) so which is the best and common database design for storing street ...
37
votes
8answers
17k views
Is it possible to query a tree structure table in MySQL in a single query, to any depth?
I'm thinking the answer is no, but I'd love it it anybody had any insight into how to crawl a tree structure to any depth in SQL (MySQL), but with a single query
More specifically, given a tree ...
37
votes
4answers
9k views
How to create a multi-tenant database with shared table structures?
Our software currently runs on MySQL. The data of all tenants is stored in the same schema. Since we are using Ruby on Rails we can easily determine which data belongs to which tenant. However there ...