|
|
|
Нарушает ли такая таблица 3НФ?
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Есть табличка [ Primary Key, DateTime Time, bool DoAction1, bool DoAction2 ] Т.е. в определенное время нужно выполнить либо первое действие, либо второе. Получается что есть функциональные зависимости F(DoAction1) = DoAction2 а именно F(false) = true F(true) = false Таким образом, такая таблица нарушает 3НФ. Верно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2012, 12:16 |
|
||
|
Нарушает ли такая таблица 3НФ?
|
|||
|---|---|---|---|
|
#18+
Если в один момент должно выполняться более одного действия, то надо содать Таблицу запусков по времени Таблицу действий, выполняемых при запуске вторая связана с первой как 1:М ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2012, 12:45 |
|
||
|
Нарушает ли такая таблица 3НФ?
|
|||
|---|---|---|---|
|
#18+
MozgC, Скорее всего, верно, поскольку, например, DoAction2 транзитивно зависит от ключа, но сама ни в какой ключ не входит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2012, 13:20 |
|
||
|
Нарушает ли такая таблица 3НФ?
|
|||
|---|---|---|---|
|
#18+
vadiminfoMozgC, Скорее всего, верно, поскольку, например, DoAction2 транзитивно зависит от ключа, но сама ни в какой ключ не входит. Другое дело что с практической точки зрения по-моему проще сделать такую табличку, чем разделять на несколько таблиц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2012, 15:00 |
|
||
|
Нарушает ли такая таблица 3НФ?
|
|||
|---|---|---|---|
|
#18+
MozgCТаким образом, такая таблица нарушает 3НФ. Верно? Такая таблица нарушает здравый смысл. Поскольку должны быть не doAction1, doAction2, а actionNum check in (1,2). А какой НФ это регулируется - уже дело десятое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2012, 16:38 |
|
||
|
Нарушает ли такая таблица 3НФ?
|
|||
|---|---|---|---|
|
#18+
MozgCДругое дело что с практической точки зрения по-моему проще сделать такую табличку, чем разделять на несколько таблиц. Скорей всего, это не друголе дело, а одно и то же: проектировщик стоит перед выбором альтернатив. Он может выбрать как иму "проще сделать табличку" но, к примеру, как потом компенсировать аномалии БД и контролировать избыточность, и между тем как сложнее сделать несколько табличек, но иметь другие буносы в види более оптимальной схемы в плане аномалий, избыточности. Т.е. проектировщику приходится проявлять обеспокоенность по поводу рисков увелиения скрорости роста энтропии програмного обеспечения и как следствие, удорожания сопровождения и соекращения ЖЦ ИС. Ну и боусы - любой с базовы образованием по БД быстро в БД напишет запросы, не опасаясь всяких там неожиданностей. Сущекствуют, к примеру, и крайние точки зрения. Например, "Плохо спроектированную БД нельзя компенсировать никакими програмными ухищрениями". Но риски на то и риски что могут и не наступить. Поэтому есть агрессивный подход и консервативный. Решать проектировщику что оптимальнее для него. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2012, 08:57 |
|
||
|
Нарушает ли такая таблица 3НФ?
|
|||
|---|---|---|---|
|
#18+
softwarer, Вообще у меня такой таблицы нет (на самом деле все немного сложнее и там надо разделять на несколько таблиц, потому что у разных actions еще разные параметры), поэтому вопрос чисто теоретический на понимание нормальных форм. Повторюсь, прав ли я что такая таблица нарушает 3НФ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2012, 09:49 |
|
||
|
Нарушает ли такая таблица 3НФ?
|
|||
|---|---|---|---|
|
#18+
MozgC Повторюсь, прав ли я что такая таблица нарушает 3НФ? Ну тоже повторюсь - скорее всего, более чем прав. А то что Вам предлагали коллеги - это варианты схем хде не раушена, скорее всего, 3НФ. Зачем же Вы этого не видите? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2012, 12:23 |
|
||
|
Нарушает ли такая таблица 3НФ?
|
|||
|---|---|---|---|
|
#18+
MozgCправ ли я что такая таблица нарушает 3НФ?Нарушает, нарушает. Значение в одном из полей зависит от значения в другом поля, которое не является ключом, но зависит от ключа. Налицо транзитивная зависимость, которой не должно быть по определению. Вам же vadiminfo уже подсказал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2012, 00:17 |
|
||
|
Нарушает ли такая таблица 3НФ?
|
|||
|---|---|---|---|
|
#18+
MozgC... F(false) = true F(true) = false ... при такой зависимости нужен только один bool-столбец - значение второго ведь вычисляется как (not DoAction1). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2012, 00:30 |
|
||
|
Нарушает ли такая таблица 3НФ?
|
|||
|---|---|---|---|
|
#18+
__amgпри такой зависимости нужен только один bool-столбец - значение второго ведь вычисляется как (not DoAction1). Кому то нужен, а кому-то, может, совсесм не нужен. БД предназеначена для многих прог, юзеров и т.д (это не данные чисто для кода клиентской проги). А в случае одного столбца, нельзя исключить рисков дополнительных усилий при интерпритации данных. Т.е. мы БД создаем для упрощения инфы, а в этом можно увидеть некое усложнение. Кого-то интересует, к примеру, тока DoAction2 и больше ниче знать вроде и не нуно, а тут вдруг придется искать его в одной колонке с DoAction1. Возможно, в этом кто-то увидит ухудшения структурного соотвествия БД и ПО: в ПО есть DoAction1 и DoAction2, а в БД тока одна колонка. И отнесет это к чрезмерно агресссивному подходу при проектировании БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2012, 08:43 |
|
||
|
Нарушает ли такая таблица 3НФ?
|
|||
|---|---|---|---|
|
#18+
vadiminfoКому то нужен, а кому-то, может, совсесм не нужен. БД предназеначена для многих прог, юзеров и т.д (это не данные чисто для кода клиентской проги). А в случае одного столбца, нельзя исключить рисков дополнительных усилий при интерпритации данных. Т.е. мы БД создаем для упрощения инфы, а в этом можно увидеть некое усложнение. Кого-то интересует, к примеру, тока DoAction2 и больше ниче знать вроде и не нуно, а тут вдруг придется искать его в одной колонке с DoAction1. Возможно, в этом кто-то увидит ухудшения структурного соотвествия БД и ПО: в ПО есть DoAction1 и DoAction2, а в БД тока одна колонка. И отнесет это к чрезмерно агресссивному подходу при проектировании БД. Согласен. Если уж так охото избавиться от "неправильных 2х колонок", то лучше сделать вторую таблицу Actions, а в исходной хранить ActionID. В БД будет на 1 табличку больше, зато понятнее. Ну а на самом деле в моей реальной задаче у Action'ов могут быть определенные параметры/опции и поэтому для каждого Action'а правильнее сделать свою таблицу, в колонках которой будут эти дополнительные параметры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2012, 21:34 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=37623346&tid=1541858]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
43ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 333ms |

| 0 / 0 |
