Russian Qt Forum
Ноябрь 24, 2024, 11:22 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Вопрос по организации структуры БД  (Прочитано 9704 раз)
Astrologer
Гость
« Ответ #15 : Октябрь 06, 2010, 16:16 »

1. Таблица Types
ID - PK
TypeName

2. Records
ID - PK
RecordName
...
Если для каждой записи должно присутствовать максимум одно значение типа, то
3.1. Таблица Values
RecordID - FK Records.ID
TypeID - FK Types.ID
PK = RecordID, TypeID

Если 100 таблиц, то вторичных ключей в таблице Values будет 100?
Записан
Pretorean
Гость
« Ответ #16 : Октябрь 06, 2010, 20:56 »

В случае с одной таблицей и кучей полей какой первичный ключ выбрать?

суррогатный автоинкрементный ключ
Записан
CroCIV
Гость
« Ответ #17 : Октябрь 12, 2010, 10:21 »

1. Таблица Types
ID - PK
TypeName

2. Records
ID - PK
RecordName
...

Если для каждой записи должно присутствовать максимум одно значение типа, то
3.1. Таблица Values
RecordID - FK Records.ID
TypeID - FK Types.ID
PK = RecordID, TypeID
А мне таки не понятно в чем хранить значения различных типов? все бросать в поле BLOB? Тогда как выполнять поиск по значению потом?
хотя.....
если у таблицы Values будет набор всех типов полей типа дата, число, число с плавающей, текст и т.п... то... ну еще написав логику составления запросов в связке таблица 2 тип такой - значит брать значение из таблицы Значений поля 4 (текс) .... то поиск по контенту организовать можно
Записан
Astrologer
Гость
« Ответ #18 : Октябрь 20, 2010, 12:12 »

Просто хотят балалайку. Чтобы и так и эдак. Изначально это были таблицы. А времени на разработку ТЗ, типизации полей никто не дает. Вот поэтому приходится извращаться.
Записан
CroCIV
Гость
« Ответ #19 : Ноябрь 01, 2010, 08:58 »

О, кстати, В MS SQL оказывается тип данных есть sql_variant. Это, конечно, ни разу не стандартный тип, но если мелкомягкую СУБД юзаешь, то можно использовать его для хранения значений.
...
Тип sql_variant можно использовать в столбцах, параметрах, переменных и возвращаемых значениях пользовательских функций. С помощью типа sql_variant эти объекты базы данных могут поддерживать значения других типов данных.

Столбец типа sql_variant может содержать строки различных типов данных. Например, столбец, определенный как sql_variant, может хранить значения int, binary и char. В следующей таблице перечислены типы значений, которые могут храниться при помощи sql_variant.
...
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.041 секунд. Запросов: 20.