powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Сложности при проектированию БД.
23 сообщений из 23, страница 1 из 1
Сложности при проектированию БД.
    #33032629
Заварник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет уважаемый алл!
У меня возник вопрос по правильному проектированию БД. У меня есть таблица товаротранспортных накладных(ТТН). Следующей структуры.

Таблица ТТН
1. Rec,
2. Номер ТТН,
3. Дата ТТН,
4. Организация владелец,
5. Марка машина,
6. Гос номер машины,
7. Организация владелец автотранспорта,
8. Водитель,
9. Заказчик,
10. Грузоотправитель,
11. Пункт погрузки,
12. Грузополучатель,
13. Пункт разгрузки,
14. Продукция,
15. Вес брутто,
16. Вес тара,
17. Вес нетто.

По моему мнению, поля «Организация владелец», «Организация владелец автотранспорта», «Заказчик», «Грузоотправитель», «Грузополучатель» - следует заполнять из справочника вот только вопрос в том стоит ли заводить для каждого поля отдельную таблицу.

Справочник Организации владельца
1. Rec,
2. Наименование,

Справочник Организация владелец автотранспорта
1. Rec,
2. Наименование,

Грузоотправитель
1. Rec,
2. Наименование,

Заказчик
1. Rec,
2. Наименование,

Грузополучатель
1. Rec,
2. Наименование,

Если мы заведем для каждого поля отдельную таблицу возникают проблемы связанные с тем что «Организация владелец» и «организация грузополучатель» а также «Заказчик» и «Грузополучатель» могут совпадать а это значит данные в справочниках будут дублироваться.
Если Создавать одну таблицу для всех организаций то проблема в том какой SQL запрос создать для добавления записей в таблицу ТТН и какой для вывода данных из таблицы ТТН для отчета.
Еще одна сложность заключается в том что наименование организации может меняться и при замене наименовании организации в справочнике наименование организации заменятся и во всех старых ТТН.
...
Рейтинг: 0 / 0
Сложности при проектированию БД.
    #33032648
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ты хотел одной таблицей отделаться?

а это значит данные в справочниках будут дублироваться.
Наоборот.

то проблема в том какой SQL запрос создать
Это не проблема, если знать про псевдонимы таблиц в запросе.

Еще одна сложность заключается в том что наименование организации может меняться и при замене наименовании организации в справочнике наименование организации заменятся и во всех старых ТТН.
Никто не мешает в новой записи сослаться на предыдущее состояние записи.

Самое главное - что это за поле " ПРОДУКЦИЯ "? Это через запятую что-ли?
И зачем все сразу - брутто, тара, нетто? Ничего посчитать нельзя?
...
Рейтинг: 0 / 0
Сложности при проектированию БД.
    #33032664
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Госпади... мнеб такую плёвую задачу...

>По моему мнению, поля «Организация владелец», «Организация владелец автотранспорта», «Заказчик», «Грузоотправитель», «Грузополучатель» - следует заполнять из справочника вот только вопрос в том стоит ли заводить для каждого поля отдельную таблицу.

Однозначно, не стоит. Таблица должна быть одна.

>Если Создавать одну таблицу для всех организаций то проблема в том какой SQL запрос создать для добавления записей в таблицу ТТН и какой для вывода данных из таблицы ТТН для отчета.

по этому вопросу посоветую книгу.. кажется называется "SQL для чайников"...

>Еще одна сложность заключается в том что наименование организации может меняться и при замене наименовании организации в справочнике наименование организации заменятся и во всех старых ТТН.

/topic/177277&pg=4#1485774
...
Рейтинг: 0 / 0
Сложности при проектированию БД.
    #33032672
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, и еще, наверняка по одной накладной может отправляться несколько видов товара...
...
Рейтинг: 0 / 0
Сложности при проектированию БД.
    #33032680
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблицу делать одну.

Заварник
З> какой для вывода данных
З> из таблицы ТТН для отчета.

Код: plaintext
1.
Select (select отправитель from ... where id= ttn.id_cargo_send), (select получатель from ...where id= ttn.id_cargo_post)...
from ttn
Да и другие варианты есть...


--
Dik76

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Сложности при проектированию БД.
    #33032694
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мда... а вот так как тов. Dik76 посоветовал, я однозначно не советую делать...
...
Рейтинг: 0 / 0
Сложности при проектированию БД.
    #33032708
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gardenman
g> мда... а вот так как тов. Dik76 посоветовал, я однозначно не советую делать...
Зависит от ситуации. В некоторых случаях так можно избавиться от лишней группировки. А в общем я не настаиваю.
--
Dik76

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Сложности при проектированию БД.
    #33032906
Заварник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СерегаА ты хотел одной таблицей отделаться?

а это значит данные в справочниках будут дублироваться.
Наоборот.

то проблема в том какой SQL запрос создать
Это не проблема, если знать про псевдонимы таблиц в запросе.

Еще одна сложность заключается в том что наименование организации может меняться и при замене наименовании организации в справочнике наименование организации заменятся и во всех старых ТТН.
Никто не мешает в новой записи сослаться на предыдущее состояние записи.

Самое главное - что это за поле " ПРОДУКЦИЯ "? Это через запятую что-ли?
И зачем все сразу - брутто, тара, нетто? Ничего посчитать нельзя?

Нет не одной таблицей - таблиц много просто я показал лишь тот участок БД где уменя возникли вопросы.

А вот справочник организаций хотелось бы сделать один на все организации. Только как это сделать?

Если у меня будут несколько справочников организаций то в справочниках будет сплошное дублирование. Так организация владелец груза может одновременно быть и грузоотправителем.

На счет ссылки новой записи на старую, спасибо за совет надо подумать.

В поле продукции будет выбираться наименование груза из справочника.

Посчитать то можно но эти данные будут вводится из документа. Пусть лучше вводятся чем подсчитываются.
...
Рейтинг: 0 / 0
Сложности при проектированию БД.
    #33033062
Заварник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gardenmanГоспади... мнеб такую плёвую задачу...

Ну каждую задачу не стоит недооценивать.

>По моему мнению, поля «Организация владелец», «Организация владелец автотранспорта», «Заказчик», «Грузоотправитель», «Грузополучатель» - следует заполнять из справочника вот только вопрос в том стоит ли заводить для каждого поля отдельную таблицу.

Однозначно, не стоит. Таблица должна быть одна.

Я тоже к этому склоняюсь. Но проблема в том как одним запросом из справочника выбрать несколько записей по нескольким условиям.

К примеру запрос добавления

(INSERT INTO TTN
(«Организация владелец», «Организация владелец автотранспорта», «Заказчик», «Грузоотправитель», «Грузополучатель»)
VALUES (32,43,54,2,44)

А запрос на выборку?


>Если Создавать одну таблицу для всех организаций то проблема в том какой SQL запрос создать для добавления записей в таблицу ТТН и какой для вывода данных из таблицы ТТН для отчета.

по этому вопросу посоветую книгу.. кажется называется "SQL для чайников"...

Спасибо за совет, обязательно найду и прочитаю.

>Еще одна сложность заключается в том что наименование организации может меняться и при замене наименовании организации в справочнике наименование организации заменятся и во всех старых ТТН.

Читаю!

/topic/177277&pg=4#1485774
...
Рейтинг: 0 / 0
Сложности при проектированию БД.
    #33033065
Заварник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gardenmanДа, и еще, наверняка по одной накладной может отправляться несколько видов товара...

Нет специфика такова что товар будет на одну накладную один.
...
Рейтинг: 0 / 0
Сложности при проектированию БД.
    #33033068
Заварник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dik76
Таблицу делать одну.

Заварник
З> какой для вывода данных
З> из таблицы ТТН для отчета.

Код: plaintext
1.
Select (select отправитель from ... where id= ttn.id_cargo_send), (select получатель from ...where id= ttn.id_cargo_post)...
from ttn
Да и другие варианты есть...


--
Dik76

Posted via ActualForum NNTP Server 1.1

Спасибо обязательно попробую!
...
Рейтинг: 0 / 0
Сложности при проектированию БД.
    #33033137
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Заварник

З> gardenman
З> Да, и еще, наверняка по одной накладной может отправляться несколько
З> видов товара...
З>
З> Нет специфика такова что товар будет на одну накладную один.

Я бы на это не надеялся. Даже представить не могу такую ситуацию...

--
Dik76

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Сложности при проектированию БД.
    #33033314
Заварник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dik76
Заварник

З> gardenman
З> Да, и еще, наверняка по одной накладной может отправляться несколько
З> видов товара...
З>
З> Нет специфика такова что товар будет на одну накладную один.

Я бы на это не надеялся. Даже представить не могу такую ситуацию...

--
Dik76

Posted via ActualForum NNTP Server 1.1

К нам везут зерно росыпью.
...
Рейтинг: 0 / 0
Сложности при проектированию БД.
    #33033386
YBW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
YBW
Гость
Заварник Dik76
Заварник

З> gardenman
З> Да, и еще, наверняка по одной накладной может отправляться несколько
З> видов товара...
З>
З> Нет специфика такова что товар будет на одну накладную один.

Я бы на это не надеялся. Даже представить не могу такую ситуацию...

--
Dik76

Posted via ActualForum NNTP Server 1.1

К нам везут зерно росыпью.

не имеет значения - это принципиально неверное решение - а если придется выделять сортность по одной накладной, например...
...
Рейтинг: 0 / 0
Сложности при проектированию БД.
    #33033424
YBW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
YBW
Гость
Заварник
Еще одна сложность заключается в том что наименование организации может меняться и при замене наименовании организации в справочнике наименование организации заменятся и во всех старых ТТН.

это что-то новое на ниве бухгалтерского и управленческого учета

меняется название компании (переименование) или меняется юридическое лицо (ИНН например)?

таблица компаний может быть одна

CompanyID
CompanyName
AddressID
ContactID
CompanyTaxCode
LegalStatus
и т.п.

можешь создать таблицы поставщиков и перевозчиков получателей и проч по такому принципу:

tblSupplier

SupplierID
CompanyID
ContractID

tblCustomers

CustomerID
CompanyID
ContractID

при этом одна компания может быть и получателем и владельцем - CompanyID этой компании будет упоминаться и в таблице Получателей и в таблице Владельцев, однако сведения о компании дублироваться не будут - они хранятся в общей таблице tblCompanies
...
Рейтинг: 0 / 0
Сложности при проектированию БД.
    #33033531
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не сочтите саморекламой,но данная тема многократно обсасывалась мной и г-ном traktor123 на этом форуме, а так как такие посты появляются с завидной периодичностью где-то раз в месяц, то поищите сами на этом форуме решение с ролями.
...
Рейтинг: 0 / 0
Сложности при проектированию БД.
    #33033683
Заварник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gardenmanДа, и еще, наверняка по одной накладной может отправляться несколько видов товара...

Нет товар один. И иначе быть не может так как я делаю по форме СП-31 а в ней предусмотренно только одно наименование товара.
...
Рейтинг: 0 / 0
Сложности при проектированию БД.
    #33034201
ALENOV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dik76
Таблицу делать одну.

Много лет работаем с аналогичными системами - таблица всегда одна
Пока не кусается..
...
Рейтинг: 0 / 0
Сложности при проектированию БД.
    #33034308
Заварник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YBW Заварник Dik76
Заварник

З> gardenman
З> Да, и еще, наверняка по одной накладной может отправляться несколько
З> видов товара...
З>
З> Нет специфика такова что товар будет на одну накладную один.

Я бы на это не надеялся. Даже представить не могу такую ситуацию...

--
Dik76

Posted via ActualForum NNTP Server 1.1

К нам везут зерно росыпью.

не имеет значения - это принципиально неверное решение - а если придется выделять сортность по одной накладной, например...

Ну товар будет выбираться из справочника. По этому по коду выбрать все записи одного сорта проблем не составит.
...
Рейтинг: 0 / 0
Сложности при проектированию БД.
    #33034899
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ты еще нас вспомнишь
...
Рейтинг: 0 / 0
Сложности при проектированию БД.
    #33036478
Заварник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gardenmanты еще нас вспомнишь

Я сегодня еще раз говорил по этому вопросу с человеком который мне давал задание и он еще раз категорично сказал что товар в накладной будет один - так что если что пускай он вас вспоминает. )
...
Рейтинг: 0 / 0
Сложности при проектированию БД.
    #33036502
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Заварниктак что если что пускай он вас вспоминает. )
Нет. Он первым делом вспомнит про тебя.
...
Рейтинг: 0 / 0
Сложности при проектированию БД.
    #33036642
Фотография ChA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗаварникЯ сегодня еще раз говорил по этому вопросу с человеком который мне давал задание и он еще раз категорично сказал что товар в накладной будет одинПриходилось много раз слышать подобные утверждения, но, к сожалению, они практически ни разу не подтверждались. Потом скажут: "Ну, мы думали, что так, а оно, оказывается, вот эдак, ну неужели так трудно переделать ?" Для пользователя вся переделка заключается в изменении интерфейса, типа, ну что стоит поле добавить ? Списочек ? Нарисовал и все :)

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


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