Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Помогите со структурой. / 21 сообщений из 21, страница 1 из 1
15.11.2005, 14:25
    #33379203
blind77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите со структурой.
В общих чертах техпроцесс.
1) не требуеться учитывать как и когда поступает заказ, не требуется учитывание от кого поступает.
2) Есть головное предприятие (по аналогии получается центральный склад) которое имеет несколько филиалов по москве, внутри этих филиалов есть розничные точки и в тоже время есть дилеры.
Допустим отгружается некая продукция учитываемая в килограммах и виде продукции (пусть будут яблоки, груши, виноград, печенье, сигареты)
3) В базе данных необходимо отразить
Дату заказа
Кому отправлено филиал или диллер
Сколько килограмм
Вид отгруженного
Количество ёмкостей

Дополнение: Диллер обслуживается в определенном филиале, то есть не может такого быть что сегодня диллер в этом филиале а завтра в том, хотя неплохо бы присматреть такую возможность.

в приложенном файле образец структуры.
Первый вопрос возникает сразу, можно ли за ключ принимать дату?
...
Рейтинг: 0 / 0
15.11.2005, 14:27
    #33379214
blind77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите со структурой.
собственно файл
...
Рейтинг: 0 / 0
15.11.2005, 14:37
    #33379252
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите со структурой.
blind77Первый вопрос возникает сразу, можно ли за ключ принимать дату?
Лучше не стоит. Дату - совсем не стоит, дату плюс время - не стоит, но если очень хочется, то работать будет.

В целом, я бы сказал: до тех пор, пока у Вас нет четкого обоснования, почему нужно делать как-то иначе, руководствуйтесь двумя принципами:

1. Всегда и везде - суррогатные ключи (автогенерация ID)
2. Cоставные ключи (PK из нескольких полей) - никогда.

Это не лучший вариант для всех случаев жизни, но достаточно хороший и гарантированно беспроблемный.
...
Рейтинг: 0 / 0
15.11.2005, 14:47
    #33379293
blind77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите со структурой.
В целом, я бы сказал: до тех пор, пока у Вас нет четкого обоснования, почему нужно делать как-то иначе, руководствуйтесь двумя принципами:

1. Всегда и везде - суррогатные ключи (автогенерация ID)
2. Cоставные ключи (PK из нескольких полей) - никогда.

Это не лучший вариант для всех случаев жизни, но достаточно хороший и гарантированно беспроблемный.[/quot]

А как в данном варианте обойтись без суррогатного ключа?
Еслибы не было варианта при котором доставка делалась бы таким образом.
Доставка на дилера через филиал, тут все понятно и просто
А вот как быть в случае когда по договору доставка проходит мимо филиала (прямо к дилеру) или доставка просто в филиал (нет дальнейшего распространения дилеру)
...
Рейтинг: 0 / 0
15.11.2005, 14:51
    #33379311
Павел Воронцов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите со структурой.
softwarerВ целом, я бы сказал: до тех пор, пока у Вас нет четкого обоснования, почему нужно делать как-то иначе, руководствуйтесь двумя принципами:

1. Всегда и везде - суррогатные ключи (автогенерация ID)
2. Cоставные ключи (PK из нескольких полей) - никогда.

Это не лучший вариант для всех случаев жизни, но достаточно хороший и гарантированно беспроблемный.Обоснование?

To blind77

Дата может входить в ключ, тут нет никаких противоречий.
...
Рейтинг: 0 / 0
15.11.2005, 16:06
    #33379559
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите со структурой.
blind77А как в данном варианте обойтись без суррогатного ключа?
Геморройно :)

blind77А вот как быть в случае когда по договору доставка проходит мимо филиала (прямо к дилеру) или доставка просто в филиал (нет дальнейшего распространения дилеру)
Хм. Я в принципе не люблю такие структуры и поэтому могу пропустить удачное для данного случая решение, но если без суррогатных ключей - я бы, наверное, выбросил бы из ПК ключ на филиал и добавил бы туда номер договора.
...
Рейтинг: 0 / 0
15.11.2005, 16:33
    #33379644
blind77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите со структурой.
А нет ли варианта чтобы от такой геморойной структуры перейти к нормальной?
...
Рейтинг: 0 / 0
16.11.2005, 00:01
    #33380238
Guest111
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите со структурой.
В Вашем случае Операция имеет три разновидности (дилеру прямо, филиалу без дилера, дилеру через филиал).
Можно иметь три таблицы, две (в одной обязателен филиал, в другой дилер ) Наконец, можно все обобщить в одну таблицу. Оба реквизита - и филиал и дилер здесь необязательные, и естественного ключа просто нет.
Я бы выбрал последний вариант. При необходимости над этой таблицей легко построить представления для каждой разновидности операций.
...
Рейтинг: 0 / 0
19.03.2006, 19:32
    #33610556
Gennady_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите со структурой.
Ну почему ди лл ер? От английского dealer - просто ди л ер!
...
Рейтинг: 0 / 0
20.03.2006, 01:18
    #33610773
BrokenPot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите со структурой.
guest111В Вашем случае Операция имеет три разновидности (дилеру прямо, филиалу без дилера, дилеру через филиал).
Можно иметь три таблицы, две (в одной обязателен филиал, в другой дилер ) Наконец, можно все обобщить в одну таблицу. Оба реквизита - и филиал и дилер здесь необязательные, и естественного ключа просто нет.
Я бы выбрал последний вариант. При необходимости над этой таблицей легко построить представления для каждой разновидности операций.
А я бы сделал четыре таблицы: Одна общая Операция и еще три, по одной для каждого вида операции со связью один к одному с общей.
В общей содержатся атрибуты, характерные для любой операции, а в каждой из трех - атрибуты, характерные для операции именно этого вида, в том числе и ссылка на дилера (первая таблица), филиал (вторая таблица), филиал и дилера (третья таблица).
...
Рейтинг: 0 / 0
20.03.2006, 05:52
    #33610850
Аленочка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите со структурой.
эх..мне бы вашу задачу..



Аленочка тм
...
Рейтинг: 0 / 0
20.03.2006, 09:14
    #33610975
BrokenPot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите со структурой.
Аленочкаэх..мне бы вашу задачу..



Аленочка тм
И чем же она хороша? Обыкновенная бодяга, полная неожиданных подводных камней. Как всегда.
...
Рейтинг: 0 / 0
27.03.2006, 04:03
    #33626145
Аленочка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите со структурой.
BrokenPot Аленочкаэх..мне бы вашу задачу..



Аленочка тм
И чем же она хороша? Обыкновенная бодяга, полная неожиданных подводных камней. Как всегда.

просто если эту задачу сравнить с моей, то она покажется просто мечтой студента...
...
Рейтинг: 0 / 0
27.03.2006, 11:30
    #33626649
BrokenPot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите со структурой.
Заинтригован. В чем же принципиальная сложность Вашей задачи?
...
Рейтинг: 0 / 0
04.04.2006, 04:50
    #33642369
Аленочка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите со структурой.
BrokenPotЗаинтригован. В чем же принципиальная сложность Вашей задачи?

БД для системы параметрического поиска...
...
Рейтинг: 0 / 0
04.04.2006, 10:24
    #33642684
BrokenPot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите со структурой.
Аленочка BrokenPotЗаинтригован. В чем же принципиальная сложность Вашей задачи?

БД для системы параметрического поиска...
О, боже мой! :) Смутно представляю себе, что это такое. Кого искать надо? :)
...
Рейтинг: 0 / 0
04.04.2006, 21:15
    #33644731
Помогите со структурой.
Структура БД для подобных задач давно выявилась в результате многочисленных исследований.

В приведенной урезанной постановке есть всего три отношения (объекта).
Два отношения представляют сущности: "товар" ("все равно какой") и "организация" [получатель товара] (точно так же "все равно какая").
Одно отношение представляет событие, участниками которого являются две вышеприведенные сущности: отгрузка "товара" для "организации".

Организация(ид. организации,наименование,тип)
Товар(ид. товара,наименование,[тип])
Отгрузка(ид. организации,ид. товара,дата,вес,количество емкостей)

[Тип] товара - необязателен в данной постановке (если заниматься детализацией, то нужно "подключать" партии, если заниматься классификацией, то нужно "надстраивать" типы/группы/... - но суть задачи при этом не изменится, и, я бы сказал, даже не усложнится).
Тип организации: можно создать отдельное отношение, но только не в данном случае "ограниченного и стабильного числа типов" (0 - филиал, 1 - дилер).

И для таких задач нужно использовать объекты, а не отношения (то есть объектные, а не реляционные системы). Это намного эффективнее и проще. И при создании системы, и при ее дальнейшем развитии.
...
Рейтинг: 0 / 0
04.04.2006, 21:31
    #33644752
Помогите со структурой.
Как и BrokenPot я не понял чем задача параметрического поиска отличается от задачи отгрузки товара. Ведь по мере развития задачи отгрузки товара неизбежно возникнет задача параметрического поиска.
Старина Дейт и другие теоретики существенно осложнили понимание простых вещей, разделив "системы принятия решений", "хронологические базы данных", "логические базы данных", "объектные базы данных", ...
А ведь на самом деле происходят события, изменяющие состояние сущностей и связи между ними. И больше ничего не происходит. И именно на этой базовой информации об этих событиях и могут строится любые базы данных. Да, в БД для принятия решений может быть некая "интегральная информация". Но откуда она взялась ? Это либо липа ("учтите, что есть статистическая погрешность", "информация, взятая из открытых источников" и т.п.), либо информация полученная после обработки тех самых "реальных данных" о событиях и участвующих в них сущностях.
...
Рейтинг: 0 / 0
12.04.2006, 08:44
    #33660001
Аленочка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите со структурой.
BrokenPot Аленочка BrokenPotЗаинтригован. В чем же принципиальная сложность Вашей задачи?

БД для системы параметрического поиска...
О, боже мой! :) Смутно представляю себе, что это такое. Кого искать надо? :)

...искать надо товары в интернет-каталоге, которые будут обладать такими характеристиками, которые интересуют покупателя...
...
Рейтинг: 0 / 0
12.04.2006, 09:02
    #33660035
BrokenPot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите со структурой.
Аленочка BrokenPot Аленочка BrokenPotЗаинтригован. В чем же принципиальная сложность Вашей задачи?БД для системы параметрического поиска...О, боже мой! :) Смутно представляю себе, что это такое. Кого искать надо? :)...искать надо товары в интернет-каталоге, которые будут обладать такими характеристиками, которые интересуют покупателя...А искать надо по разным, зависящим от товара, заранее неизвестным параметрам? :)
...
Рейтинг: 0 / 0
14.04.2006, 03:02
    #33666017
Аленочка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите со структурой.
BrokenPot Аленочка BrokenPot Аленочка BrokenPotЗаинтригован. В чем же принципиальная сложность Вашей задачи?БД для системы параметрического поиска...О, боже мой! :) Смутно представляю себе, что это такое. Кого искать надо? :)...искать надо товары в интернет-каталоге, которые будут обладать такими характеристиками, которые интересуют покупателя...А искать надо по разным, зависящим от товара, заранее неизвестным параметрам? :)

да. абсолютно верно.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Помогите со структурой. / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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