|
|
|
БД документооборота отдела. Особенности проектирования таблиц
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Нужно сделать БД документооборота. Документы существуют нескольких типов. Например: 1. Входящие письма 2. Исходящие письма 3. Входящие служебки 4. Исходящие служебки 5. Приказы / Указания 6. Другие документы (просто попали в отдел на согласование). Письма от служебок отличаются тем, что служебка подписывается начальником отдела и отправляется начальнику другого отдела. А письма подписываются руководителями предприятий и направляются на другое предприятие, но готовят письма сотрудники отдела и входящие письма попадают в отдел в конечном итоге. Документы разных типов имеют различные наборы полей. Но некоторые поля в документах повторяются. Подскажите, пожалуйста как лучше сделать?: - одну таблицу Документы со всеми возможными полями и просто оставлять в документе ненужные поля пустые при регистрации - свою таблицу Документы для каждого типа - или таблицу Документы объединяющие два типа. Например Таблица Письма объединяет входящие и исходящие письма. Какой из вариантов предпочтительней для более удобной работы с БД? Может быть есть еще аврианты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2015, 16:40 |
|
||
|
БД документооборота отдела. Особенности проектирования таблиц
|
|||
|---|---|---|---|
|
#18+
Indian - одну таблицу Документы со всеми возможными полями и просто оставлять в документе ненужные поля пустые при регистрацииСамый простой, быстрый и негибкий вариант (быстро, дешево, сердито). Накладно добавлять новые типы документов. Подходит если документы скорее одинаковые, чем разные. Indian - свою таблицу Документы для каждого типаСамый гордый и независимый вариант. Но СУБД не сможет обеспечить уникальность уникальным полям, поиск будет идти последовательно для каждой таблицы. Подходит если документы скорее разные, чем одинаковые. Indian - или таблицу Документы объединяющие два типа. Например Таблица Письма объединяет входящие и исходящие письма.Попытка взять лучшее из предыдущих вариантов. В худшем случае будет совмещением недостатков предыдущих вариантов. Indian Какой из вариантов предпочтительней для более удобной работы с БД?Счас, только кофе допью, чтобы на гуще погадать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2015, 17:01 |
|
||
|
БД документооборота отдела. Особенности проектирования таблиц
|
|||
|---|---|---|---|
|
#18+
Indian, почему бы не подумать в сторону создания одной основной таблицы по документам, которая будет содержать все общие параметры всех типов документов, включая саму бумажку (скан) и ее текст + включая тип документа. (т.е. что-то типа: ИД + дата создания в системе + откуда поступило + внутренний номер + тип документа) Для каждого типа документов накидать отдельные таблицы с характерными для него атрибутами. Итого: у вас будет сквозная нумерация по всем документам. Удобная навигация/статистика в разрезе всех типов документов (без детализации по специфичным параметрам). Логика же обработки каждого типа - будет уникальна, соответственно она будет предусматривать обращение к конкретным детализированным таблицам. Если же потребуется фильтрация документов определенного типа по специфичному параметру - вам нет необходимости "перерывать" весь свой архив - достаточно лишь "напрячь" соответствующую вспомогательную таблицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2015, 20:04 |
|
||
|
БД документооборота отдела. Особенности проектирования таблиц
|
|||
|---|---|---|---|
|
#18+
Mikle83, авторДля каждого типа документов накидать отдельные таблицы с характерными для него атрибутами. То есть, просто создать таблицы, перечисляющие все атрибуты каждого типа документов? Или только атрибуты уникальные для каждого типа документов? А как мне это поможет в дальнейшей обработке? Я просто не очень понимаю. Мы пришли к тому, что есть одна таблица Документы, содержащая все возможные атрибуты + тип документа (я забыл в первом сообщение про это написать). При регистрации в базе нового документа в первую очередь выбирается тип документа и тогда необходимо заполнить только те атрибуты, которые необходимы для этого типа документов. Остальные просто не выводятся. Объясните, пожалуйста, про дополнительные таблицы подробнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2015, 22:11 |
|
||
|
БД документооборота отдела. Особенности проектирования таблиц
|
|||
|---|---|---|---|
|
#18+
IndianМы пришли к тому, что есть одна таблица Документы, содержащая все возможные атрибуты + тип документа (я забыл в первом сообщение про это написать). А Вы уверены, что каждый атрибут в списке был внесён туда обоснованно?.. Что Вы собираетесь делать с этими атрибутами? Кто и как будет их заполнять? Кто, как и зачем будет их использовать? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2015, 22:17 |
|
||
|
БД документооборота отдела. Особенности проектирования таблиц
|
|||
|---|---|---|---|
|
#18+
Indian Объясните, пожалуйста, про дополнительные таблицы подробнее. Это ваш третий вариант. Родительская таблица содержит общие поля и поля для поиска, а уникальные поля каждого типа документов хранятся в дополнительной таблице связанной 1:1 (скорее 0:1) с родительской. Решение проектировщика - какое поле в какую таблицу определить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2015, 22:28 |
|
||
|
БД документооборота отдела. Особенности проектирования таблиц
|
|||
|---|---|---|---|
|
#18+
Indian, А чем не устраивает взять уже готовую систему и по минимуму допилить под себя? Их собственно масса, как платных так и свободных. Надоели изобретатели велосипедов. ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2015, 23:33 |
|
||
|
БД документооборота отдела. Особенности проектирования таблиц
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Документам не присвоены атрибуты вроде "Размер копыта единорога". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2015, 09:27 |
|
||
|
БД документооборота отдела. Особенности проектирования таблиц
|
|||
|---|---|---|---|
|
#18+
Злой БобрIndian, А чем не устраивает взять уже готовую систему и по минимуму допилить под себя? Их собственно масса, как платных так и свободных. Надоели изобретатели велосипедов. ) Тоже вариант. Преимущества этого варианта - быстрый результат. Недостаток - я так и не пойму как же правильно организовать таблицы :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2015, 09:30 |
|
||
|
БД документооборота отдела. Особенности проектирования таблиц
|
|||
|---|---|---|---|
|
#18+
Злой БобрIndian, А чем не устраивает взять уже готовую систему и по минимуму допилить под себя? Их собственно масса, как платных так и свободных. Надоели изобретатели велосипедов. )Это лоскутная автоматизация. Наверняка у ТС уже есть некая система, а сабж - новый модуль в ней. Если есть возможность расширять свою систему - надо это делать. Сторонняя система содержит 70% ненужного ф-ла и как правило плохо документирована (речь не про морду, а про внутренности). Двусторонний обмен (или даже обмены) это отдельный нудный гемор. зы: Задача не такая сложная, чтоб брать сторонюю систему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2015, 09:33 |
|
||
|
БД документооборота отдела. Особенности проектирования таблиц
|
|||
|---|---|---|---|
|
#18+
IndianMikle83, авторДля каждого типа документов накидать отдельные таблицы с характерными для него атрибутами. То есть, просто создать таблицы, перечисляющие все атрибуты каждого типа документов? Или только атрибуты уникальные для каждого типа документов? Хм. какое конкретно из слов "для каждого типа документов - отдельные таблицы с характерными для него (типа) атрибутами" не понятно? IndianА как мне это поможет в дальнейшей обработке? Я просто не очень понимаю. Вы же не будете на клиенте под объект "Документ" создавать один класс, содержащий атрибуты всех возможных документов, но заполнять только те, которые нужны для конкретного типа. На UI, вряд ли (я надеюсь), вы будете отображать документ в одной единой форме с набором "компонент" под все возможные атрибуты всех возможных типов, только управляя свойством Visible для компонентов... Так почему вы "тащите" этот подход в базу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2015, 09:59 |
|
||
|
БД документооборота отдела. Особенности проектирования таблиц
|
|||
|---|---|---|---|
|
#18+
Mikle83IndianMikle83, пропущено... То есть, просто создать таблицы, перечисляющие все атрибуты каждого типа документов? Или только атрибуты уникальные для каждого типа документов? Хм. какое конкретно из слов "для каждого типа документов - отдельные таблицы с характерными для него (типа) атрибутами" не понятно? Эти таблицы должны содержать только перечень атрибутов класса или документы класса? Хотя, если у нас есть единая таблица Документы со всеми атрибутами, то документы будут хранится в ней. А при регистрации нового документа после выбора типа документа клиент обращается к таблице с атрибутами класса и создает объект, содержащий только необходимые атрибуты? Так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2015, 10:48 |
|
||
|
БД документооборота отдела. Особенности проектирования таблиц
|
|||
|---|---|---|---|
|
#18+
IndianЭти таблицы должны содержать только перечень атрибутов класса или документы класса? Хотя, если у нас есть единая таблица Документы со всеми атрибутами, то документы будут хранится в ней. А при регистрации нового документа после выбора типа документа клиент обращается к таблице с атрибутами класса и создает объект, содержащий только необходимые атрибуты? Так? Именно так. Все базовые атрибуты (к примеру, дата поступления документа, откуда, порядковый номер и т.п., равно как и сам документ) - лежат в основной таблице. Все же специфичное для конкретного типа документа - лежит в отдельной таблице. Я бы на вашем месте начал с проработки каждого типа документа. Пропишите все атрибуты для каждого типа документов независимо. Затем посмотрите на все получившиеся списки атрибутов - и найдите общие - их можно выделить в общую таблицу. Все остальное - разнесите по дополнительным таблицам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2015, 11:06 |
|
||
|
БД документооборота отдела. Особенности проектирования таблиц
|
|||
|---|---|---|---|
|
#18+
Mikle83посмотрите на все получившиеся списки атрибутов - и найдите общие - их можно выделить в общую таблицу. Все остальное - разнесите по дополнительным таблицам. А свалить все-все атрибуты в XML-поле главной таблицы может помешать что? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2015, 11:16 |
|
||
|
БД документооборота отдела. Особенности проектирования таблиц
|
|||
|---|---|---|---|
|
#18+
IndianЗдравствуйте! Нужно сделать БД документооборота. Документы существуют нескольких типов. Например: 1. Входящие письма 2. Исходящие письма 3. Входящие служебки 4. Исходящие служебки 5. Приказы / Указания 6. Другие документы (просто попали в отдел на согласование). Письма от служебок отличаются тем, что служебка подписывается начальником отдела и отправляется начальнику другого отдела. А письма подписываются руководителями предприятий и направляются на другое предприятие, но готовят письма сотрудники отдела и входящие письма попадают в отдел в конечном итоге. Документы разных типов имеют различные наборы полей. Но некоторые поля в документах повторяются. Подскажите, пожалуйста как лучше сделать?: - одну таблицу Документы со всеми возможными полями и просто оставлять в документе ненужные поля пустые при регистрации - свою таблицу Документы для каждого типа - или таблицу Документы объединяющие два типа. Например Таблица Письма объединяет входящие и исходящие письма. Какой из вариантов предпочтительней для более удобной работы с БД? Может быть есть еще аврианты? третий вариант имхо будет норм. Самый экстремальный кстати вариант - не первый, а вообще eav где можно документ с произвольным набором полей сделать. Но это вам 100% не надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2015, 13:03 |
|
||
|
БД документооборота отдела. Особенности проектирования таблиц
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovMikle83посмотрите на все получившиеся списки атрибутов - и найдите общие - их можно выделить в общую таблицу. Все остальное - разнесите по дополнительным таблицам. А свалить все-все атрибуты в XML-поле главной таблицы может помешать что? здравый смысл ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2015, 13:05 |
|
||
|
БД документооборота отдела. Особенности проектирования таблиц
|
|||
|---|---|---|---|
|
#18+
Ivan Durakздравый смысл Или желание замаксимайзить геморрой себе и своим пользователям. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2015, 14:10 |
|
||
|
БД документооборота отдела. Особенности проектирования таблиц
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, А свалить все-все атрибуты в XML-поле главной таблицы может помешать что? Скажите, а поиск по этим атрибутам можно будет потом вести? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2015, 14:13 |
|
||
|
БД документооборота отдела. Особенности проектирования таблиц
|
|||
|---|---|---|---|
|
#18+
Indianа поиск по этим атрибутам можно будет потом вести? Можно, разрешаю. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2015, 14:22 |
|
||
|
БД документооборота отдела. Особенности проектирования таблиц
|
|||
|---|---|---|---|
|
#18+
Mikle83 Затем посмотрите на все получившиеся списки атрибутов - и найдите общие - их можно выделить в общую таблицу. Кроме общих в таблице должны быть поля для поиска (даже если они не общие, с null для неактуальных типов докуметнов по первому варианту), ибо искать по одной таблице куда эффективнее чем по многим. Dimitry Sibiryakov А свалить все-все атрибуты в XML-поле главной таблицы может помешать что?Накладно это работать с XML. Как из пушки по воробьям. Indian Скажите, а поиск по этим атрибутам можно будет потом вести? https://en.wikipedia.org/wiki/XQuery Но опять же накладно - XML распарси, проиндексируй и т.д. Пусть это прозрачно для вас, но чудес не бывает - производительность просядет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2015, 17:17 |
|
||
|
БД документооборота отдела. Особенности проектирования таблиц
|
|||
|---|---|---|---|
|
#18+
SERG1257производительность просядет. Ты всерьёз думаешь, что отдел сможет породить столько документов, что кто-то заметит просадку производительности?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2015, 17:29 |
|
||
|
БД документооборота отдела. Особенности проектирования таблиц
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovSERG1257производительность просядет. Ты всерьёз думаешь, что отдел сможет породить столько документов, что кто-то заметит просадку производительности?.. нафига тогда это все. Общую папочку на файл сервере завести - вот тебе и система документооборота!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2015, 17:42 |
|
||
|
БД документооборота отдела. Особенности проектирования таблиц
|
|||
|---|---|---|---|
|
#18+
Ivan Durakнафига тогда это все Именно этот вопрос, только в более конкретных терминах я задал ТСу в начале топика. Он вместо ответа начал бредить про единорогов. В морг. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2015, 17:50 |
|
||
|
БД документооборота отдела. Особенности проектирования таблиц
|
|||
|---|---|---|---|
|
#18+
Ivan DurakDimitry Sibiryakovпропущено... Ты всерьёз думаешь, что отдел сможет породить столько документов, что кто-то заметит просадку производительности?.. нафига тогда это все. Общую папочку на файл сервере завести - вот тебе и система документооборота!!! "Папочка на файл-сервере" никак не может отслеживать, что у такого-то документа должно быть ровно 2 подписи (скажем, директора и юриста), что некий договор истекает, и еще кучу всего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2015, 17:52 |
|
||
|
БД документооборота отдела. Особенности проектирования таблиц
|
|||
|---|---|---|---|
|
#18+
Кот Матроскин"Папочка на файл-сервере" никак не может отслеживать, что у такого-то документа должно быть ровно 2 подписи (скажем, директора и юриста), что некий договор истекает, и еще кучу всего. важно: поиска документов не будет. IndianПодскажите, пожалуйста как лучше сделать?: Я бы для начала посмотрел какие именно общие атрибуты у документов разного типа. Есть ли что то общее для всех? На мой взгляд общие атрибуты: номер дока, дата документа, тема,автор, подписант. Я бы сделал центральную табличку с такими атрибутами, а всю специфику по каждому типу документов разнес бы по "звезде". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2015, 23:43 |
|
||
|
|

start [/forum/topic.php?fid=32&startmsg=39028012&tid=1540493]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
171ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
| others: | 252ms |
| total: | 532ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...