powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Спроектировал контрагентов. Подскажите плз, правильно ли?
18 сообщений из 18, страница 1 из 1
Спроектировал контрагентов. Подскажите плз, правильно ли?
    #33990999
NoNameR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот такая структура:



Всё ли верно, или есть что перелопатить?
...
Рейтинг: 0 / 0
Спроектировал контрагентов. Подскажите плз, правильно ли?
    #33991001
NoNameR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
http://www.nashgorod.ru/imgfiles/usr_fotos/e57f5b38a0fce97da34a800c3eea5df2.jpg
...
Рейтинг: 0 / 0
Спроектировал контрагентов. Подскажите плз, правильно ли?
    #33991337
iamhere
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Это че за рисовалка?
2. Нафига ID разными типами делать? Экономите на 10 записях 30 байт?

А вообще - ну можно и так. Конкретику по полям тебе лучше знать.
...
Рейтинг: 0 / 0
Спроектировал контрагентов. Подскажите плз, правильно ли?
    #33991846
Фотография Мальвина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня только 2 дополнительных замечания:
1. Мне не очень нравится практика нзвания первичных ключей всех таблиц одинаково. Для программиста это неудобно.
2. Непонятно зачем выносить ИНН и КПП в отдельную таблицу. Насколько мне известно, у каждого контрагента может быть только 1 ИНН. Если Вы хотите идентифицировать различные предприятия по владельцу (бывает что 1 владелец у нескольких фирм), то на мой взгляд, это лучше было бы сделать иначе.

Что касается разных типов данных у первичных ключей, то это зависит от реализации. Вполне возможно что это никак не повлияет на эффективность работы.
...
Рейтинг: 0 / 0
Спроектировал контрагентов. Подскажите плз, правильно ли?
    #33992018
NoNameR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iamhere1. Это че за рисовалка?
2. Нафига ID разными типами делать? Экономите на 10 записях 30 байт?


1. Это MySQL Workbench
2. Разными типами сделаны и в целях экономии, и в целях того, что при специфики организации такого количества ID хватит на очень долгое время.
...
Рейтинг: 0 / 0
Спроектировал контрагентов. Подскажите плз, правильно ли?
    #33992024
NoNameR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МальвинаУ меня только 2 дополнительных замечания:
1. Мне не очень нравится практика нзвания первичных ключей всех таблиц одинаково. Для программиста это неудобно.
2. Непонятно зачем выносить ИНН и КПП в отдельную таблицу. Насколько мне известно, у каждого контрагента может быть только 1 ИНН. Если Вы хотите идентифицировать различные предприятия по владельцу (бывает что 1 владелец у нескольких фирм), то на мой взгляд, это лучше было бы сделать иначе.

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

1. Почему неудобно? Ваши варианты названия ключей какие? По имени таблицы?

2. Можно пример, как иначе?
...
Рейтинг: 0 / 0
Спроектировал контрагентов. Подскажите плз, правильно ли?
    #33992206
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Мальвина Непонятно зачем выносить ИНН и КПП в отдельную таблицу. Насколько мне известно, у каждого контрагента может быть только 1 ИНН.

А мне известно, что все ИНН/КПП могут изменятся во времени. В моей конторое ИНН изменился три раза за последние 5 лет. И иногда бывает нужда вывести документ со старыми реквизитами.
...
Рейтинг: 0 / 0
Спроектировал контрагентов. Подскажите плз, правильно ли?
    #33992398
Фотография Мальвина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NoNameR МальвинаУ меня только 2 дополнительных замечания:
1. Мне не очень нравится практика нзвания первичных ключей всех таблиц одинаково. Для программиста это неудобно.


1. Почему неудобно? Ваши варианты названия ключей какие? По имени таблицы?

2. Можно пример, как иначе?

Неудобно при составлении запросов. Гораздо удобнее связывать таблицы по одинаковым названиям полей.
Кроме того, чисто визуально лучше воспринимается когда все ключи (первичные и внешние) начинаются одинаково (ID или иначе - на Ваш вкус).
Варианты - хотя бы ID+ название таблицы.
...
Рейтинг: 0 / 0
Спроектировал контрагентов. Подскажите плз, правильно ли?
    #33992731
iamhere
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МальвинаНеудобно при составлении запросов. Гораздо удобнее связывать таблицы по одинаковым названиям полей.
Кроме того, чисто визуально лучше воспринимается когда все ключи (первичные и внешние) начинаются одинаково (ID или иначе - на Ваш вкус).
Варианты - хотя бы ID+ название таблицы.

Уже обсуждали. Кому как удобнее, лично мне, например, два раза повторять одно и то же совершенно не нравится:
SELECT EMPLOYEE.EMPLOYEE_ID, DEPARTMENT.DEPARTMENT_ID....

Заиканее какое-то... :(

SELECT EMPLOYEE.ID, DEPARTMENT.ID.... а так - отлично.

Короче - это дело вкуса, традиции и религиозных соображений.
...
Рейтинг: 0 / 0
Спроектировал контрагентов. Подскажите плз, правильно ли?
    #33992732
iamhere
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мальвина2. Непонятно зачем выносить ИНН и КПП в отдельную таблицу. Насколько мне известно, у каждого контрагента может быть только 1 ИНН.

Представьте, что фактический контрагент состоит из нескольких юрлиц, "с целью оптимизиации налогообложения"
Так реально делают, если вы не в курсе.
...
Рейтинг: 0 / 0
Спроектировал контрагентов. Подскажите плз, правильно ли?
    #33992738
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iamhere wrote:

> Уже обсуждали.

Ага, Как лучше именовать поля
PrimaryKey ?
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Спроектировал контрагентов. Подскажите плз, правильно ли?
    #33999870
NoNameR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хм... Понял, что в моей схеме что-то не то.
Допустим у нас есть физические лица и юридические лица. С физиками всё просто. А если юридическое лицо действует в лице представителя (физика), то как их соединить? Допустим с ID=1 запись физика, с ID=2 запись юрика. Как-то надо указать, что у юрика ID=2 представитель физик ID=1. Где-то я так понимаю связь прописать еще надо. Подскажите плз.
...
Рейтинг: 0 / 0
Спроектировал контрагентов. Подскажите плз, правильно ли?
    #34000776
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Трижы баян.Пощите мои топики с ключевым словом "отношение".А по сути раскрытие отношения m:n между субъектами.Надеюсь у Вас они из единой последовательности :).Табличка со ссылкой на физика и юрика и типом их связи.
...
Рейтинг: 0 / 0
Спроектировал контрагентов. Подскажите плз, правильно ли?
    #34000952
iamhere
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NoNameRХм... Понял, что в моей схеме что-то не то.
Допустим у нас есть физические лица и юридические лица. С физиками всё просто. А если юридическое лицо действует в лице представителя (физика), то как их соединить?

Представитель не является клиентом-физиком .
Есть ли реальная необходимость их соединять?
...
Рейтинг: 0 / 0
Спроектировал контрагентов. Подскажите плз, правильно ли?
    #34005026
hjlkjkjlas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кстати надо бы учесть что Контрагенты имеют дурацкую привычку изменять наименования, адреса и т.п., что плохо отражается при печати СФ и др. документов, поэтому лучше предусмотреть возможность ввода нескольких значения этих реквизитов типа:
Значение
Дата, с которой действует
...
Рейтинг: 0 / 0
Спроектировал контрагентов. Подскажите плз, правильно ли?
    #34005164
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему у вас KontragentFiz и KontragentJur связаны с Kontragent связью один-ко-многим.
Имхо, тут классическая реализация наследования в БД которая должна быть на связи 1-к-1. При этом ИНН и "Краткое наименование" контрагента выносится в Kontragents + какие тоеще общие атрибуты если найдете. При этом KontragentTypes -пропадает(не нужна она).
[поищите по форуму "наследование в БД".]
Про необходимость истории вам уже сказали.
...
Рейтинг: 0 / 0
Спроектировал контрагентов. Подскажите плз, правильно ли?
    #34005205
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и еще чуту-чуть не по теме:
нынче не в моде :) именовать таблицы с префиксами типа tbl, tb...
и не в моде давать множественные имена таблицам. Т.е. вместо tblKontragents назовите Kontragent. хотя если за модой не гонитесь... :))
...
Рейтинг: 0 / 0
Спроектировал контрагентов. Подскажите плз, правильно ли?
    #34006510
NoNameR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, я не модный =) За модой не гонюсь.
Полез рыться по поводу Настедования БД =)
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Спроектировал контрагентов. Подскажите плз, правильно ли?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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