Ivan A Kostko
Дата: 11.09.2006 11:40:50
Добрый день.
У меня возникла ситуация:
Есть две таблицы партнеров:
физ лица(id, name, pasport, adress, borndate), и
юр лица (id, name, oficialname, adress, ofadress, kpp, ogrn,....) имеющие разные наборы столбцов. Есть таблица заказов, где у каждого заказа один покупатель. Причем либо юр лицо, либо физ лицо. И его нужно привязать к заказам. Вот здесь вопрос: как правильно это реализовать?
Я вижу два пути:
1. Создание отдельной таблицы payer включающую все столбцы таблицы юр.лиц и физ.лиц. Но получается, что таблица не оправдано раздута.
2. в таблице заказов создать столбец partnertype boolean, который будет указывать на то, в какой таблице находится плательщик...
Второй вариант кажется наиболее правильным, но с другой стороны такая конструкция смущает не высокой надежностью. Подскажите плс...
Ivan A Kostko
Дата: 11.09.2006 11:54:39
Забыл сказать, что id юр.лиц и физ.лиц не различаются. Т.е. и в обеих таблицах стоят счетчики. Что и приводит к тому, что всегда будут одинаковые id в физ.лицах и юр.лицах.
Ivan A Kostko
Дата: 11.09.2006 11:58:59
Какраз этот вариант был предшественником опубликованного втиорого варианта. Но для того, чтобы не создавать лишних таблиц, я сразу эту модель положил в заказы. Смущает ненадежность этой конструкции. Или я не прав?
Ivan A Kostko
Дата: 11.09.2006 12:03:28
Т.е. второй вариант - правильный? Я просто как раз и хотел это для себя уяснить, что данная кнструкция разумнее, нежели создание избыточной таблицы, как объединение физ/юр. лиц