RE: [PHP-DB] novice on table design
| From: | Miguel Guirao | Date: | Fri, 13 May 2005 16:13:58 +0000 |
| Subject: | RE: [PHP-DB] novice on table design | ||
| References: | 1 | Groups: | php.db |
| Request: | Send a blank email to php-db+get-39436@lists.php.net to get a copy of this message | ||
The schema of your table is wrong, is you do bnormalize it you will find out
that you need two tables for this approach.
One table for your people and another one for the n addresses of your
people.
If you keep your current schema, you will have as many rows for one person
as many addresses for that person you have, and you will be duplicating many
fields. So you must split your tables, one for your people and another for
your people's addresses.
-----Original Message-----
From: tony yau [mailto:tony.yau@emigen.co.uk]
Sent: Viernes, 13 de Mayo de 2005 09:27 a.m.
To: php-db@lists.php.net
Subject: [PHP-DB] novice on table design
Hi all,
I have the following tables
Employee Customer non-Customer Address
========== ========== ============= ==========
pkey pkey pkey
pkey
number type type
...
payrate grant capital
I need to allow the three types of people to have n addresses, so I've added
a type to distinguish the 3 types of people and their respective pkey onto
address table.
Address
=========
pkey
...
type (either Employee, Customer or non-Customer etc)
fkey (the pkey of Employee, Customer or non-Customer etc)
I know this design looks awkward but it does have the advantage of having
less tables otherwise.
BUT somehow it doesn't feel right. Can someone points me its pros and cons.
thanks all.
Tony Yau
--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php