|
|
|
Помогите новичку пожалуста.
|
|||
|---|---|---|---|
|
#18+
Добрый день. Я вроде полазил по форуму, но ответа не нашел.. вопрос касается нормализации БД. я очень много почитал в интернете, но все равно никак не пойму как лучше всего сделать, заранее благодарю за ответ. Ситуация: делаю диплом, тема весьма необычная: асу агентством ритуальных услуг... вобщем есть бд, в ней содержаться такие данные как названия гробов, урн, памятников, кладбищ, храмов, автомобилей и многое другое... собственно тут я и начал путаться с нормализацией... так же существуют таблицы "отпевание" "панихида" в которые заносятся впоследствии храм в котором все это проводилось, дата, время, допинфо... вот собственно теперь осталось раскидать таблицы... следует ли мне создать одну таблицу, в которой будут храниться все названия этих гробов, памятников и тд.... или же можно создать отдельные таблицы для каждой составляющей... отдельная таблица с названиями гробов, отдельная на памятники и так далее... Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2008, 21:08:40 |
|
||
|
Помогите новичку пожалуста.
|
|||
|---|---|---|---|
|
#18+
Такие вот у меня соображения. Все в одну таблицу, в которой есть битовое поле "Товар/Услуга". Собственно оно не очень важно, просто при написании клиента можно будет фильтровать эту таблицу при вызове справочника. Пользователю будет удобно отдельно выбирать из справочников товаров и справочника услуг. К ней подцепляем таблицу детализации товаров/услуг в отношении один-ко-многим. Впрочем, тут возможны варианты. Если атрибуты у товаров и услуг сильно различаются, то можно иметь две разные таблицы детализации. Можно, конечно, и товары и услуги разнести по двум разным таблицам. Плюс одной таблицы перед двумя в том, что придется писать в два раза меньше однотипных запросов, хранимок и, при необходимости, тригеров. В общем-то вариант с 2 таблицами, 3-мя или 4-мя выбирается после анализа атрибутов. Не иключено, что удобно будет разделить не на "товар/услуга", а на что то вроде "товар типа 1/товар типа2/услуга типа 1/услуга типа 2". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2008, 21:38:48 |
|
||
|
Помогите новичку пожалуста.
|
|||
|---|---|---|---|
|
#18+
то есть по сути это одна таблица в который есть все товары: от катафалков до названий кладбищ и вторая с видами услуг и действий: от кремирования до проведения панихиды? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2008, 21:44:01 |
|
||
|
Помогите новичку пожалуста.
|
|||
|---|---|---|---|
|
#18+
Нет. Название кладбища - это один из возможных атрибутов заказа - основное место предоставления комплекса товаров и услуг. Это мето, наверное, может быть и не кладбищем, а например церковью. Кто-то может заказать просто панихиду в церкви или организацию поминок. Впрочем, это может быть и атрибутом услуги . Даже скорее так оно и будет. Катафалк - это услуга. Он же не продается заказчику, а дается в во временную эксплуатацию. Так же услугами являются кремирование, панихида, уход за могилой. Товарами являются: гробы, венки, ленты, цветы, памятники, оградки. Товары и услуг могут быть объеденны в одну таблицу, а могут быть разнесены по разным. Преимущество двух таблиц - нет поля-признака, о преимуществе одной таблицы я уже писал. Ведь и товары и услуги основной таблицы состоят только из двух полей: идентификатора (сурогатного ключа) и названия, которые характеризуют группы товаров или услуг ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2008, 22:02:19 |
|
||
|
Помогите новичку пожалуста.
|
|||
|---|---|---|---|
|
#18+
хм... согласен... таким образом будет легко систематизировать весь процесс.. но есть некие услуги которые обладают уникальными полями... например организация питания... в ней нужно указать количество человек, чтобы бронировать столы. правильно ли я понял что это будет таблица ссылющаяся на ключ услуги\товара(организация питания и название кафе) и поля с количеством человек и датой.... хотя дата также используется в других таблицах... снова запутался.. дату выносить в отдельную таблицу чтоли? =( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2008, 22:07:37 |
|
||
|
Помогите новичку пожалуста.
|
|||
|---|---|---|---|
|
#18+
Ну что ж задача несколько усложняется. Что бы потом долго и мучительно не переделывать структуру базы сразу принимаем, что каждый товар или услуга имеет уникальные атрибуты. Ядро структуры, пожалуй, будет иметь примерно такой вид ТипыТоваровУслуг { КодТипыТоваровУслуг Признак Название } Атрибуты { КодТипыТоваровУслуг КодАтрибута Название атрибута Значение атрибута КодЕдиницаИзмерения ЦенаЗаЕдиницу КодМестоПредоставления } ВидыТоваровУслуг { КодТипыТоваровУслуг КодВидыТоваровУслуг Название } Заказы { КодЗаказа Номер документа Дата документа Заказчик } Количество { КодЗаказа КодВидыТоваровУслуг КодАтрибута Количество } МестоПредоставления { КодМестоПредоставления Название } ЕдиницаИзмерения { КодЕдиницаИзмерения Название } ========== Легче написать, структуру, чем объяснить :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2008, 22:41:19 |
|
||
|
Помогите новичку пожалуста.
|
|||
|---|---|---|---|
|
#18+
Ошибочка проскользнула. Первую строку читать так Ну что ж задача несколько усложняется. Что бы потом долго и мучительно не переделывать структуру базы сразу принимаем, что каждый тип товара или услуги имеет уникальные атрибуты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2008, 22:48:45 |
|
||
|
Помогите новичку пожалуста.
|
|||
|---|---|---|---|
|
#18+
Я бы не разделял товар или услугу, все в одну таблицу 'т/у'. далее ввел бы поняте типа для записей в таблице "т/у" т.е для товаров или услуг, типы хранить следует в отдельной таблице "тип". Далее можно таблице "тип" сопоставить список характеристик - еще таблица "хар". Ввести понятие потребителя 'Потреб', и понятие "заказ" - 3 таблицы которае все это соединият (Заказ-потребитель-услуга/товар-значение характеритики услуги/товара) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2008, 22:54:48 |
|
||
|
Помогите новичку пожалуста.
|
|||
|---|---|---|---|
|
#18+
Коллега - позабодьтесь ещё о прямом оповещении - хранении данных "заказчика" и его "заказов" - обычно это родственники и близкие - найдите возможность хранить и оповещать о "новых услугах" - например послать открытку соболезнования приглашение на панихиду 9 дней 40 дней год... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2008, 22:58:43 |
|
||
|
Помогите новичку пожалуста.
|
|||
|---|---|---|---|
|
#18+
Mr Marmelad, У человека просто диплом. Хотя в реальной базе это может быть полезным ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2008, 23:01:27 |
|
||
|
Помогите новичку пожалуста.
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Будут зависеть от заказа ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2008, 23:06:22 |
|
||
|
Помогите новичку пожалуста.
|
|||
|---|---|---|---|
|
#18+
OFF Тема очень интересная - мне пондравилось... начал примерять "под себя" как можно полежать - и так :|- и так .\= и так `/\/.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2008, 23:06:52 |
|
||
|
Помогите новичку пожалуста.
|
|||
|---|---|---|---|
|
#18+
хм.... вобщем советовался с одногрупником, в итоге получилось так... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2008, 23:12:52 |
|
||
|
Помогите новичку пожалуста.
|
|||
|---|---|---|---|
|
#18+
суть в том что у нас есть проход, на протяжении которого составляется заказ... с клиента спрашиваются все данные, предлагаются варианты, и в итоге в бд заноситься информация по: данные клиента данные объекта(трупика) что делаем(кремирование, похороны) что выбираем(гроб урна памятник кладбище) что делаем(панихида отпевание питание вывоз трупа) собственно каждый этот проход должен храниться в бд..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2008, 23:16:20 |
|
||
|
Помогите новичку пожалуста.
|
|||
|---|---|---|---|
|
#18+
забыл связку между Person и Главной ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2008, 23:22:14 |
|
||
|
Помогите новичку пожалуста.
|
|||
|---|---|---|---|
|
#18+
И заказа нет.... Хм.. Есть пасспорт, место, описание - масса всего ... а где деньги, Зин? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2008, 23:22:34 |
|
||
|
Помогите новичку пожалуста.
|
|||
|---|---|---|---|
|
#18+
про деньги отдельный разговор... щас речь идет об общей нормализации таблиц... просто первоначально я создавал отдельные таблицы на гробы, урны и так далее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2008, 23:24:19 |
|
||
|
Помогите новичку пожалуста.
|
|||
|---|---|---|---|
|
#18+
Ой нет - он вреде бы есть... Главный ... но его как бы и нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2008, 23:25:13 |
|
||
|
Помогите новичку пожалуста.
|
|||
|---|---|---|---|
|
#18+
что значит нет?.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2008, 23:26:46 |
|
||
|
Помогите новичку пожалуста.
|
|||
|---|---|---|---|
|
#18+
В Этом раскладе коллега - у Вас смешалось в кучу кони люди. Я не смею Вас критиковать - не поймите меня превратно.. Смотрите - заказ надо выдавать заказчику. У Заказчика есть свои атрибуты (которых я не нашёл - вот что меня смутило) В Заказе будут какие то товары и услуги. Линии заказов. Со своими атрибутами. Которые Вам любезно раскрыли наши коллеги. Потом это всё сложится и распечатается "к оплате" А что у Вас будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2008, 23:30:02 |
|
||
|
Помогите новичку пожалуста.
|
|||
|---|---|---|---|
|
#18+
Cheprasov, 1. В одну нельзя. Тип товара - Гроб. Виды товара "Гроб" Красный Белый Черный ================ 2. Никогда. Собственно сам заказ состоит из заказчика и номера документа, а уж к номеру заказа подвязывается таблица Количество один-ко многим. Количество связано с видами товаров/услуг и атрибутами Полная расшифровка товаров услуг по одному заказу (без тривиального соединения с местом и единицей иззмерения) выглядит примерно так select * from Количество join ВидыТоваровУслуг on Количество.КодВидыТоваровУслуг=ВидыТоваровУслуг.КодВидыТоваровУслуг join Атрибуты on Количество.КодАтрибута=Атрибуты.КодАтрибута join ТипыТоваровУслуг on Атрибуты.КодТипыТоваровУслуг=ТипыТоваровУслуг.КодТипыТоваровУслуг ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2008, 23:31:04 |
|
||
|
Помогите новичку пожалуста.
|
|||
|---|---|---|---|
|
#18+
where КодЗаказа = N ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2008, 23:32:26 |
|
||
|
Помогите новичку пожалуста.
|
|||
|---|---|---|---|
|
#18+
Ваша Табличка ЧЕЛОВЕК напоминает мне сокраментальную фразу: "А БЕЗ Покойника?" © (по трёшке хоть это и унизит наше достоинство) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2008, 23:36:10 |
|
||
|
Помогите новичку пожалуста.
|
|||
|---|---|---|---|
|
#18+
Кириллкопро деньги отдельный разговор... щас речь идет об общей нормализации таблиц... просто первоначально я создавал отдельные таблицы на гробы, урны и так далее Деньги - это самое главное! Ведь все это создается ради учета денег. Где и как хранить цену - важный вопрос. Ведь бывают варианты, когда манагер выдает записывает что надо и задумчиво глядя в потолок говорит: - Мы это сделаем за NNN руб. Тогда пофиг цены и расценки. Между прочим, нормальная практика у небольших фирм по ремонту квартир. Материалы идут по ценам, а работы, хоть и детализируются, но все берется одной суммой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2008, 23:38:03 |
|
||
|
Помогите новичку пожалуста.
|
|||
|---|---|---|---|
|
#18+
Mr Marmelad. Атрибуты заказчика будут добавлены. что касается выдача заказа клиенту то это будет отдельная выборка из бд... данная система является в первую очередь как база данных существующих заказов, возможность их просмотра и редактирования сотрудниками ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2008, 23:38:53 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=96&tid=1543557]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 370ms |

| 0 / 0 |
