From: | Andreas <maps(dot)on(at)gmx(dot)net> |
---|---|
To: | pgsql-sql(at)postgresql(dot)org |
Subject: | How to solve the old bool attributes vs pivoting issue? |
Date: | 2012-06-28 01:07:09 |
Message-ID: | 4FEBAE3D.4030202@gmx.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Hi
I do keep a table of objects ... let's say companies.
I need to collect flags that express yes / no / don't know.
TRUE / FALSE / NULL would do.
Solution 1:
I have a boolean column for every flag within the companies-table.
Whenever I need an additional flag I'll add another column.
This is simple to implement.
On the other hand I'll have lots of attributes that are NULL.
Solution 2:
I create a table that holds the flag's names and another one that has 2
foreign keys ... let's call it "company_flags".
company_flags references a company and an id in the flags table.
This is a wee bit more effort to implement but I gain the flexibility to
add any number of flags without having to change the table layout.
There are drawbacks
1) 2 integers as keys would probaply need more space as a boolean
column.
On the other hand lots of boolean-NULL-columns would waste
space, too.
2) Probaply I'll need a report of companies with all their flags.
How would I build a view for this that shows all flags for any
company?
When I create this view I'would not know how many flags exist
at execution time.
This must be a common issue.
Is there a common solution, too?
From | Date | Subject | |
---|---|---|---|
Next Message | David Johnston | 2012-06-28 02:26:52 | Re: How to solve the old bool attributes vs pivoting issue? |
Previous Message | Dickson S. Guedes | 2012-06-24 20:00:35 | Re: How to limit access only to certain records? |