|
|
|
Структура
|
|||
|---|---|---|---|
|
#18+
Всем привет! Размышляя на недавно заданным вопросом решил спросить кто как??? На примере простого склада давайте рассмотрим обычный случай - в базе надо хранить много документов, разных по структуре и т.д. Какова будет структура базы: 1. Одна общая таблица для всех документов, аля накладные (приход/расход), акты списания/перемещения и т.д. (возможно наличии вьюхи для каждого типа документов) 2. Для каждого типа документов своя отдельная таблица 3. Для всех документов есть таблица общая (там общие для всех документов атрибуты) и для каждого типа документа своя дочерняя таблица со ссылкой на общую. Сюда еще можно для каждого типа документов вьюху прикрутить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2009, 08:18 |
|
||
|
Структура
|
|||
|---|---|---|---|
|
#18+
Смотря какие характеристики будут у документов... Ведь есть вариант как в этом случае (см.мои таблички). ---------- Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2009, 08:21 |
|
||
|
Структура
|
|||
|---|---|---|---|
|
#18+
Прошу не кидать камнями, но посмотрите также для ознакомления как это спроектировано в 1С 8 версии С уважением, Naf ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2009, 09:21 |
|
||
|
Структура
|
|||
|---|---|---|---|
|
#18+
автор1. Одна общая таблица для всех документова чуть ниже автор3. Для всех документов есть таблица общая это называется тавтология или сейчас этому в школе не учат ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2009, 09:38 |
|
||
|
Структура
|
|||
|---|---|---|---|
|
#18+
nosovавтор1. Одна общая таблица для всех документова чуть ниже автор3. Для всех документов есть таблица общая это называется тавтология или сейчас этому в школе не учат ?я думаю вы не поняли автора, тем более выдернули из контекста часть фраз. Автор в первом случае имеет ввиду, что таблица вообще одна на все документы, при этом поля, не используемые в документе определенного вида просто не заполняются. Во втором, для каждого вида документа своя таблица. Третий - симбиоз первого и второго: для каждого своя таблица, но все общие поля в одной таблице со ссылкой на нее. Кстати, третий можно обобщить так: еще одна общая для части видов (например кассовых) документов, с общими полями этих видов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2009, 09:48 |
|
||
|
Структура
|
|||
|---|---|---|---|
|
#18+
уважаемый Naf Вы оказываете автору "медвежью услугу" пусть учится правильно формулировать свои мысли ему надо было написать -- есть два варианта одной общей таблицы : Вариант А -- бла бла бла Вариант Б -- бла бла бла ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2009, 10:38 |
|
||
|
Структура
|
|||
|---|---|---|---|
|
#18+
nosovуважаемый Naf Вы оказываете автору "медвежью услугу" пусть учится правильно формулировать свои мысли ему надо было написать -- есть два варианта одной общей таблицы : Вариант А -- бла бла бла Вариант Б -- бла бла блана мой взгляд автор правильно сам написал, а вот вы вырвали из контекста фразы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2009, 10:46 |
|
||
|
Структура
|
|||
|---|---|---|---|
|
#18+
NafВы оказываете автору "медвежью услугу" пусть учится правильно формулировать свои мысли Странная ситуация наблюдается на сайте - вместо помощи, как это предусматривается идеологией форума, кучалюдей кидаются критиковать, оскорблять и учить автора топика!!!! Дома на кошке или собачке нужно выплескивать всю эту гадость! (конечноже ни в коем случае не имеется в виду животные, а их плюшевые аналоги ))) ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2009, 10:50 |
|
||
|
Структура
|
|||
|---|---|---|---|
|
#18+
уважаемый Naf фразы не вырваны... они стоят в начале двух разных по номерам предложений в любом языке а текст начала предложения -- определяет смысл всего предложения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2009, 11:01 |
|
||
|
Структура
|
|||
|---|---|---|---|
|
#18+
Всем большое спасибо! nosov - обязательно прикуплю себе учебник по русскому и научусь "правильно" излагать свои мысли . А вообще если нечего ответить то и не надо - ваши пять копеек не попали в копилку. Вообще я не помощи просил а так типа обсуждение вопроса - у кого какие мысли, кто как делает. Конечно многое зависит от нагрузки - если много запросов как на выборку так и на вставку/обновление, то третий вариант может прогнуться под нагрузкой и стать слабым местом, но зато порядок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2009, 14:08 |
|
||
|
Структура
|
|||
|---|---|---|---|
|
#18+
nosovв любом языке а текст начала предложения -- определяет смысл всего предложения Это вам кто сказал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2009, 14:10 |
|
||
|
Структура
|
|||
|---|---|---|---|
|
#18+
уважаемый Naf хомосапиенс тем и отличается от попугая что он может формулировать свои идеи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2009, 15:27 |
|
||
|
Структура
|
|||
|---|---|---|---|
|
#18+
Ничего сейчас придут модераторы и наведут порядок! А теперь по теме: eJack1. Одна общая таблица для всех документов, аля накладные (приход/расход), акты списания/перемещения и т.д. (возможно наличии вьюхи для каждого типа документов) Не приходят в голову случаи, когда это было бы удобно... eJack2. Для каждого типа документов своя отдельная таблица 3. Для всех документов есть таблица общая (там общие для всех документов атрибуты) и для каждого типа документа своя дочерняя таблица со ссылкой на общую. Сюда еще можно для каждого типа документов вьюху прикрутить. Мне кажется зависит от того, как предполагается использовать эти самые документы по связям с другими сущностями. Например, есть у нас появляется еще одна таблица "ХозяйственныеОперации". Один из столбцов которой "ДокументОснование" (т.е. документ, который является основанием для проведения этой операции). А основаниями могут быть документы разных типов: Акт, Накладная, Распоряжение и т.п. В этом случае для обеспечения ссылочной целостности (внешний ключ), по-моему, имеет смыл выделить отдельную таблицу "Документ" как минимум с парочкой полей ("ДокументID", "ТипДокумента"), связать поле "ХозяйственныеОперации.ДокументОснование" внешним ключом со столбцом "Документ.ДокументID". А столбцы с остальными реквизитами документов (даты, номера, исполнители и пр.) разнести по разным таблицам: "Акт", "Накладная", "Распоряжение" и т.д. Ну или можно общие для всех документов столбцы (например, "Номер", "ДатаДокумента", "ДатаВводаДокументаВБД") вынести в таблицу "Документ". Это уже как удобнее разработчику. Если нет таких столбцов, которые ссылаются на разные типы сущностей одновременно, то можно и без общей таблицы "Документ" обойтись. Тем более, что в плане производительности эта общая таблица имеет шанс стать "узким местом" в запросах. Потому как большое количество строк в ней будет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2009, 18:19 |
|
||
|
Структура
|
|||
|---|---|---|---|
|
#18+
nosov, А вы уверены, что у попугаев вообще есть идеи? ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2009, 18:20 |
|
||
|
Структура
|
|||
|---|---|---|---|
|
#18+
А теперь по теме: 1. Одна общая таблица для всех документов, аля накладные (приход/расход), акты списания/перемещения и т.д. (возможно наличии вьюхи для каждого типа документов)Не приходят в голову случаи, когда это было бы удобно...А мне, наоборот не приходит в голову когда это удобно. У подобных документов 95% ф-ла одинаково. Предлагаете каждому из типов делать отдельную пару таблиц (и соотв. их обвязку кодом) ? Одно замечание: одна пара таблиц для группы д-тов требует более тщательной продуманности структуры. И это действительно "доставляет неудобства". Есть некот. сложности с обеспечением безопасности, но вполне преодолимые. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2009, 10:33 |
|
||
|
Структура
|
|||
|---|---|---|---|
|
#18+
Добрый день, подскажите, как правильнее организовать хранение данных. Имеется сущность: 20 текстовых полей и 1-бинарное(большого размера). Все поиски и сортировки , соотв., по текстовым полям, бинарное - просто хранилище. 1. Хранить в одной таблице 2. бинарное вынести в отдельную связанную табличку Какая схема наиболее производительна, и мож еще какие грабли есть? Модератор: Тема перенесена из форума "Microsoft SQL Server". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2009, 11:11 |
|
||
|
Структура
|
|||
|---|---|---|---|
|
#18+
Да и вот еще, что интересно: Зависит ли решение вопроса от СУБД (MSSQL, MySQl, FB...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2009, 11:43 |
|
||
|
Структура
|
|||
|---|---|---|---|
|
#18+
Coc, думаю, что зависит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2009, 12:54 |
|
||
|
Структура
|
|||
|---|---|---|---|
|
#18+
LSVstomskyНе приходят в голову случаи, когда это было бы удобно...А мне, наоборот не приходит в голову когда это удобно. По-моему, где-то очепятка... ;) LSV У подобных документов 95% ф-ла одинаково. Ну тогда 95% полей следует включить в общую таблицу... Если оставшиеся 5% в абсолютном исчислении составляет 2-3 штуки, то согласен, что отдельные таблицы под них заводить необязательно. Это уже по обстоятельствам надо. Кто же спорит, что все хорошо в меру?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2009, 13:48 |
|
||
|
Структура
|
|||
|---|---|---|---|
|
#18+
Не нужно бинарное никуда выносить ! Оно и так физически вынесено из таблицы (в таблице только ссылка). Причем так практически в любой СУБД, даже древней DBF/ФоксПро/Клиппер. Главное не зачитывать БЛОБ лишний раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2009, 18:44 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=36327464&tid=1542967]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
26ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 324ms |

| 0 / 0 |
