Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Флаги а таблицах. имхо как то это ненормально... / 9 сообщений из 9, страница 1 из 1
24.05.2004, 18:57
    #32531386
Лох
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Флаги а таблицах. имхо как то это ненормально...
Вот есть таблица. Такой структуры:
ТИПЫ ПАРАМЕТРОВ
id типа параметра
Наименование типа
Флаг принадлежности типа типу А
Флаг принадлежности типа типу Б
(Постановка одного из флагов исключает возможность постановки другого. Флаги могут таже не стоять вовсе)

Нелучше ли делать 3-и таблицы:
ТИПЫ ПАМАМЕТРОВ (не принадлежащие типу A и Б)
ТИПЫ ПАРАМЕТРОВ (Типа A)
ТИПЫ ПАРАМЕТРОВ (Типа Б)
...
Рейтинг: 0 / 0
24.05.2004, 19:02
    #32531396
tygra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Флаги а таблицах. имхо как то это ненормально...
авторНелучше ли делать 3-и таблицы:

А если добавятся еще типы C и D, ты еще таблицы добавлять будешь?

Так специально и сделано - все в одной таблице, сколько ни добавляй.

-- Tygra's --
...
Рейтинг: 0 / 0
24.05.2004, 19:03
    #32531398
Lelikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Флаги а таблицах. имхо как то это ненормально...
Ага, появится еще один флаг и ты еще таблицу сделаешь:-) и до бесконечности... (да и БД придется изменять)

Так как флаг может быть только один одновременно, то заведи поле и пиши туда 0 - нет флагов, 1- флаг А, 2 - флаг Б
...
Рейтинг: 0 / 0
24.05.2004, 19:10
    #32531409
Лох
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Флаги а таблицах. имхо как то это ненормально...
спасиба за советы
...
Рейтинг: 0 / 0
24.05.2004, 19:19
    #32531421
olk
olk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Флаги а таблицах. имхо как то это ненормально...
Если уж полностью нормализовывать то лучше привести к следующему
виду

ТИПЫ ПАРАМЕТРОВ
id типа параметра
Наименование типа
FK на формат параметра (0..n)

ФОРМАТ ПАРАМЕТРА
id формата параметра
наименование формата (тип А, тип Б ...)


т.е. что нибудь типа
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
 /*==============================================================*/ 
 /* Table: PARAMETRFORMAT                                        */ 
 /*==============================================================*/ 
create table PARAMETRFORMAT  (
   FID                  INTEGER                         not null,
   FNM                  VARCHAR2( 10 )                    not null,
   constraint PK_PARAMETRFORMAT primary key (FID)
);

 /*==============================================================*/ 
 /* Index: "Relationship_1_FK"                                   */ 
 /*==============================================================*/ 
create index "Relationship_1_FK" on PARAMETRFORMAT (
   FID ASC
);

 /*==============================================================*/ 
 /* Table: PARAMETRTYPE                                          */ 
 /*==============================================================*/ 
create table PARAMETRTYPE  (
   ID                   INTEGER                         not null,
   FID                  INTEGER,
   NAME                 VARCHAR2( 50 ),
   constraint PK_PARAMETRTYPE primary key (ID)
);

alter table PARAMETRTYPE
   add constraint FK_PARAMETR_RELATIONS_PARAMETR foreign key (FID)
      references PARAMETRFORMAT (FID);
...
Рейтинг: 0 / 0
25.05.2004, 00:49
    #32531597
AAron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Флаги а таблицах. имхо как то это ненормально...
насчет вынесения параметров в отдельную таблицу, это спорный момент. Во-первых, флаги - как правило это битовые поля, а следовательно кодируются целым числом. Во-вторых, в одной строке можно хранить информацию о нескольких флагах сущности (правда это нарушение нормализации, но смысл в этом есть), что значительно уменьшает размеры таблицы.

Таким образом, если количество флагов невелико (и это точно известно и иначе быть не может), то скорее всего нет смысла заводить отдельную таблицу.

Так что, надо думать, что будет лучше и проще в реализации.
...
Рейтинг: 0 / 0
25.05.2004, 13:00
    #32532252
Лох
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Флаги а таблицах. имхо как то это ненормально...
Кстате, а какой НФ неудовлетворяет 1-ый вариант?
http://www.sql.ru/forum/actualpost.aspx?bid=36&tid=95110&mid=0&p=1#697526
...
Рейтинг: 0 / 0
25.05.2004, 13:21
    #32532298
Малиновский Владимир
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Флаги а таблицах. имхо как то это ненормально...
Юзайте связь "Много = Много". И фиг с ними, битовыми полями.
...
Рейтинг: 0 / 0
25.05.2004, 23:53
    #32533587
AAron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Флаги а таблицах. имхо как то это ненормально...
2Лох
Прочитал еще раз вопрос. Походу я ошибся насчет нормализации :)
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Флаги а таблицах. имхо как то это ненормально... / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]