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



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

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

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


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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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


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