Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Имя - атрибут или таблица?
|
|||
|---|---|---|---|
|
#18+
Здраствуйте. Возник спор, на мой взгляд совершенно бессмысленный, но всё-таки... Есть 3 таблицы, которые описывают людей, т.е. во всех трёх есть атрибут _имя и атрибут _фамилия. Рациональнее ли будет сотворить таблицу _Имена и таблицу _Фамилии и подставлять в эти 3 таблицы людей....? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2006, 08:47 |
|
||
|
Имя - атрибут или таблица?
|
|||
|---|---|---|---|
|
#18+
справочники имен и фамилий? помоему это бред :) может лучше категоризацию замутить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2006, 08:53 |
|
||
|
Имя - атрибут или таблица?
|
|||
|---|---|---|---|
|
#18+
без индексов на вью выделение справочников фамилий и имен скорее всего приведет к проблемам с выборками и сортировками выборок из таблиц "людей" (точнее с использованием сложных индексов например по фио и дате рождения). С другой стороны фамилии и имена - в обычных учетных системах - всего лишь атрибуты (кстати, клевый глагол: атрибут-атрибёт-атрибём) чела, а не самостийные сущности, требующие таких почестей, как отдельная табла и т.п.. :0) но можно видимо придумать область (например - подсчет статистики зависимостей характеристик людей от имен или фамилий) где такое выделение будет оправданым. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2006, 10:42 |
|
||
|
Имя - атрибут или таблица?
|
|||
|---|---|---|---|
|
#18+
Спасибо за мысли! Просьба: если есть ссылки на описание крупных проектов с подобным положением (трижды имеется ввод данных _имя, _фамилия при описании в различных таблицах) кидать сюды. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2006, 11:04 |
|
||
|
Имя - атрибут или таблица?
|
|||
|---|---|---|---|
|
#18+
1. Что за надобность иметь 3 таблицы с людьми? Если это (условно) клиенты, сотрудники, поставщики, то нужно имет одну таблицу (people или person) в которой будут храниться ФИО + все что касается именно человека (дата рождения, паспортные данные, адреса и т.д.). Ваши 3 таблицы будут ссылаться на эту таблицу. Таким образом один и тот же человек не будет у вас написан по-разному в разных таблицах и вы не получите непонятных дубликатов. 2. Справочники имен и фамилий действительно делать нелогично. А вот справочник персон (как я написал выше) вполне возможно и, я бы сказал, необходимо. 3. Можно попробовать поиграться с наследованием - постгрес этим выделяется из множества СУБД. Но нужно знать предметную область - подходит ли вам наследование. Как мне кажется, п1 подходит всегда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2006, 11:20 |
|
||
|
Имя - атрибут или таблица?
|
|||
|---|---|---|---|
|
#18+
Есть такой вариант - не спорю. Но у одной персоны нужны все псп данные, у другой -только ФИО и т.д. Кроме того, выходит связь 1:1, а это не есть хорошо в рамках проектирования - не обосновано и требует "разруливания". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2006, 12:29 |
|
||
|
Имя - атрибут или таблица?
|
|||
|---|---|---|---|
|
#18+
> Есть 3 таблицы, которые описывают людей Почему три? Откуда? > Рациональнее ли будет сотворить таблицу _Имена и таблицу _Фамилии Зависит от. Для мультиязычной базы данных скорее всего удобно сделать не получится. По той простой причине, что в разных этнических/территориальных социумах приняты разные варианты идентификации людей (у одних может быть множество имен, у других может присутствовать отчество etc). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2006, 12:38 |
|
||
|
Имя - атрибут или таблица?
|
|||
|---|---|---|---|
|
#18+
Одна описывает сотрудников, другая - обучающихся, третья - авторы. И по одной из таблиц - действительно разброс национальностей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2006, 12:42 |
|
||
|
Имя - атрибут или таблица?
|
|||
|---|---|---|---|
|
#18+
KattЕсть такой вариант - не спорю. Но у одной персоны нужны все псп данные, у другой -только ФИО и т.д. Ну и что. Необязательные поля никто не отменял. KattКроме того, выходит связь 1:1, а это не есть хорошо в рамках проектирования - не обосновано и требует "разруливания". Где тут связь 1 к 1? У вас 3 таблицы ссылаются на одну - таблицу персон. Причем, возможны случаи когда на одну запись будут ссылаться разные таблицы (например, автор может же быть сотрудником). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2006, 12:53 |
|
||
|
Имя - атрибут или таблица?
|
|||
|---|---|---|---|
|
#18+
1:1 Это в ER нотации, когда 1 человек к одной персоне! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2006, 12:54 |
|
||
|
Имя - атрибут или таблица?
|
|||
|---|---|---|---|
|
#18+
Katt1:1 Это в ER нотации, когда 1 человек к одной персоне! Ну-и-что? Зато если у вас в одной таблице будет Иванов Сергей Петрович, а в другой Иванов Сиргей Петрович (ну опечатались) вы наплачетесь, если нужна будет выборка - сотрудники, являющиеся авторами. Мыслите сущностями - есть человек. Вот его мы и храним в таблицах. А далее мы можем создавать категории - авторы - ссылка на человека+ то, что присуще только авторам (сами решите что). Обучающийся - легко + номер студ билета+дата поступления+факультет/специальность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2006, 12:58 |
|
||
|
Имя - атрибут или таблица?
|
|||
|---|---|---|---|
|
#18+
> Одна описывает сотрудников, другая - обучающихся, третья - авторы. Это ошибка проектирования. > И по одной из таблиц - действительно разброс национальностей. Imho нет особого смысла в справочнике имен и фамилий в данном случае. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2006, 13:23 |
|
||
|
Имя - атрибут или таблица?
|
|||
|---|---|---|---|
|
#18+
pamirМыслите сущностями - есть человек. Вот его мы и храним в таблицах. А далее мы можем создавать категории Если не ошибаюсь, то сущностями мыслить - это как раз получить авторов, сотрудников и студентов. А то, о чём говорите вы - это ОО подход - классы другими словами! Но база то релционная! А не каше какая-н... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2006, 08:36 |
|
||
|
Имя - атрибут или таблица?
|
|||
|---|---|---|---|
|
#18+
Katt pamirМыслите сущностями - есть человек. Вот его мы и храним в таблицах. А далее мы можем создавать категории Если не ошибаюсь, то сущностями мыслить - это как раз получить авторов, сотрудников и студентов.прально. токо эти 3 сучности содержат поле-сучность "персона". Чито реализуется в реляционной парадихме ф-кеем, либо попросту широкой таблицуй с признаком типа (таблицы в современных субд неплохо справляются с Null полями, т.ч. синно их страшица видимо не стоИт). и никакого оопа тут не ле'жало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2006, 10:24 |
|
||
|
Имя - атрибут или таблица?
|
|||
|---|---|---|---|
|
#18+
Katt pamirМыслите сущностями - есть человек. Вот его мы и храним в таблицах. А далее мы можем создавать категории Если не ошибаюсь, то сущностями мыслить - это как раз получить авторов, сотрудников и студентов. А то, о чём говорите вы - это ОО подход - классы другими словами! Но база то релционная! А не каше какая-н... Как правильно указал 4321ё - авторы, сотрудники и студенты - это есть частные случаи одной сущности - персона. Создайте персону, а остальное навесьте как характеристики этой персоны. PS. ООП подход с некоторыми оговорками можно применять и к реляционной базе. И проектировать будет легче и поддерживать удобнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2006, 13:50 |
|
||
|
Имя - атрибут или таблица?
|
|||
|---|---|---|---|
|
#18+
Хорошо. Ну а к примеру то, что ФИО студента добывается раз 100 в секунду, а ФИО сотрудника - 1 раз в день, это нормально? Ведь со структурой "персона - студент, персона - сотрудник" мы нагружаем определённое место базы! Или "table partitioning" и забыть про то,что персона - самое "горячее" место будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2006, 08:25 |
|
||
|
Имя - атрибут или таблица?
|
|||
|---|---|---|---|
|
#18+
KattХорошо. Ну а к примеру то, что ФИО студента добывается раз 100 в секунду, а ФИО сотрудника - 1 раз в день, это нормально? Ведь со структурой "персона - студент, персона - сотрудник" мы нагружаем определённое место базы! Или "table partitioning" и забыть про то,что персона - самое "горячее" место будет? А вполне возможный на практике вариант, когда сотрудник одновременно является студентом, а кроме того, еще и аффтаром, как будете разруливать? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2006, 10:11 |
|
||
|
Имя - атрибут или таблица?
|
|||
|---|---|---|---|
|
#18+
Вот... Это единственное, из-за чего я сомневаюсь!! НО: предметная область есть предметная область... Её главные принципы неизменны, а такие "переходы" - вещь почти невозможная в структуре жёсткой - государственной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2006, 10:18 |
|
||
|
Имя - атрибут или таблица?
|
|||
|---|---|---|---|
|
#18+
KattНО: предметная область есть предметная область... Её главные принципы неизменны, а такие "переходы" - вещь почти невозможная в структуре жёсткой - государственной. студенты старших курсов часто совместители. очень часто - афтары. препы/сотрудники - очень часто авторы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2006, 10:34 |
|
||
|
Имя - атрибут или таблица?
|
|||
|---|---|---|---|
|
#18+
KattХорошо. Ну а к примеру то, что ФИО студента добывается раз 100 в секунду, а ФИО сотрудника - 1 раз в день, это нормально? Ведь со структурой "персона - студент, персона - сотрудник" мы нагружаем определённое место базы! Или "table partitioning" и забыть про то,что персона - самое "горячее" место будет? И что? В вашем случае вы нагружаете другое определенное место базы - таблицу студентов. А если у вас в таблице перосны кроме студентов присутствует еще с сотню редко вытаскиваемых фамилий, то никакой разницы не будет. Понадобится индекс, но он и в вашем случае понадобится. Какие-то фамилии вытаскиваются чаще, какие-то реже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2006, 12:35 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=33795359&tid=2006267]: |
0ms |
get settings: |
6ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
53ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
| others: | 231ms |
| total: | 387ms |

| 0 / 0 |
