|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
26.09.2012, 13:02 | #1 |
Пользователь
Регистрация: 28.12.2009
Сообщений: 42
|
Проектирование структуры БД
Здравствуйте.
Кратко опишу задачу. Есть сущность "Заявка", каждая заявка составляется по шаблону, который содержит все поля, необходимые для заполнения (естественно, в разных шаблонах разное количество полей). Если количество шаблонов ограничено и находится в пределах разумного, то логично под каждый шаблон создать свою таблицу в БД с соответствующей структурой. Но если количество шаблонов пополняется и в теории может достигнуть большого числа, то под каждый новый шаблон плодить таблицы, наверное, как-то не очень разумно. Может быть кто-нибудь сталкивался с похожей задачей как оптимизировать такую структуру, не наплодив таблиц в БД? Или может быть есть какое-то типовое решение? Заранее спасибо |
26.09.2012, 18:25 | #2 | |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
|
26.09.2012, 19:19 | #3 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Я бы таблицы не плодил. По крайней мере попытался бы.
1. Одна таблица, служебное поле с номером (идентификатором) шаблона и поля для размещения данных из любого шаблона. Часть из них несут логическую функцию одинаковую для всех шаблонов. Наверняка ведь будут поля имеющие один и тот же смысл во всех шаблонах. Часть полей для заполнения разноплановыми данными. Последнее не очень нравится, вернее совсем не нравится, но иногда приходится так делать. Неиспользуемые поля в конкретном документе забивать NULL-ом. 2. Две таблицы. 1-ая - заголовок документа с номером шаблона, идентификатором документа, возможно еще информация общая для всех документов. 2-ая дочерняя со ссылкой на заголовок, идентификатором типа данного и его значением в varchar формате. С одной стороны привлектательнее 1-го варианта, но предвижу кучу проблем с запросами и скоростью их выполнения
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
01.10.2012, 09:55 | #4 |
Пользователь
Регистрация: 28.12.2009
Сообщений: 42
|
Спасибо большое за ответы.
Случай с одной таблицей не подходит, так как разные шаблоны могут кардинально отличаться друг от друга. Вариант с двумя таблицами тоже в голове у меня был, но немного в другой форме, решил его не использовать по причинам, которые вы указали Буду думать дальше, склоняюсь к тому, чтобы "наплодить" таблиц |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Написание программ (древовидные структуры, структуры неспециального вида и т.д.) | Green Gin | Фриланс | 2 | 27.04.2012 15:26 |
Управляющие структуры. Программирование алгоритмов разветвляющейся структуры. | Лёнка | Компоненты Delphi | 1 | 23.04.2012 15:03 |
Проектирование БД. | lovetolaugh | БД в Delphi | 3 | 15.06.2011 22:08 |
проектирование бд | NieL | Помощь студентам | 1 | 28.04.2011 18:04 |
Проектирование | JKING | Помощь студентам | 0 | 02.05.2010 17:56 |