|
su.dbms- SU.DBMS ---------------------------------------------------------------------- From : Andrew Evdokimov 2:5020/767.3 06 Apr 2002 01:38:21 To : All Subject : как лучше? -------------------------------------------------------------------------------- Есть вот такая задача - хранить в реляционной БД информацию о человеках. Человеки бывают разных видов, для простоты выделим 2 - вид1 и вид2 соответственно. Вид1 характеризуется фамилией, именем, отчеством, профессией и e-mail'ом. Вид2 - фамилией, именем, отчеством, телефоном, факсом и адресом. (Hа самом деле все очень условно, но суть задачи от этого не теряется). Один девелопер говорит, что под хранение 2 видов человеков хорошо иметь 2 таблицы, в каждой из которых хранится полный набор аттрибутов каждого вида человека, т.е., 5 полей в первом случае и 6 - во втором. Аргумент - запросы (любые), в целом, проще, соотв., производительность выше. Второй девелопер склонен считать, что оптимальным вариантом будет завести 3 таблицы, в одной хранить набор полей, общий для всех видов человеков, а в остальных - те поля, которые уникальны в пределах каждого вида. Hу и соотв. образом налаживать внешний ключ. Аргумент - так кошернее. Вопрос заключается в том, кто из девелоперов прав, а кто нет, учитывая тот фактор, что запросы на выборку, например, будут проходить, в подавляющем большинстве случаев, в пределах одного из видов человеков. Количество видов человеков ограничено небольшим числом и в будущем (после разработки системы) меняться не будет, или будет крайне редко и по спецзаказу. Я лично склонен к первому варианту. Конечно, есть и еще более замороченные варианты, но вот какую ценность, кроме теоретической, они представляют? :) Phasing your mind, -=[InternetMediaCom] Andrew "_elahi_" Evdokimov -=[www.imk.ru] --- С удовольствием трахну брюнетку --- * Origin: It's so FUCKING GREAT to be alive ! (Zappa) (2:5020/767.3) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /su.dbms/151353cae2b72.html, оценка из 5, голосов 10
|