|
|
|
Проблема сущности клиент и договор?
|
|||
|---|---|---|---|
|
#18+
Сущности клиент и договор связь один ко многим. У клиента с течением времени могут изменятся атрибуты адрес, фио, паспортные данные. В договоре данные атрибуты должны остаться неизменными. Подскажите как правильно организовать структуру базы данных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2009, 08:09 |
|
||
|
Проблема сущности клиент и договор?
|
|||
|---|---|---|---|
|
#18+
Как вариант Сущность клиентКодДата регистрацииВсякие параметры которые не меняются... ДоговорыКод клиентаКодВсякие параметры для договора... А изменяемые атрибуты клиента оформляются как-то так... Атрибут N у клиентовКод клиентаДата измененияВсякие параметры для атрибута N... ---------- Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2009, 08:38 |
|
||
|
Проблема сущности клиент и договор?
|
|||
|---|---|---|---|
|
#18+
Нужны три таблицы: Клиенты, Реквизиты клиентов (с атрибутом [период]), Договоры с клиентами. В реквизитах клиентов храните те реквизиты, которые могут со временем менятся. В Договорах реквизиты хранить не нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2009, 09:16 |
|
||
|
Проблема сущности клиент и договор?
|
|||
|---|---|---|---|
|
#18+
storysoftВ договоре данные атрибуты должны остаться неизменными. Подскажите как правильно организовать структуру базы данных? Помнить состояние клиента на дату договора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2009, 09:18 |
|
||
|
Проблема сущности клиент и договор?
|
|||
|---|---|---|---|
|
#18+
тынць _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2009, 10:40 |
|
||
|
Проблема сущности клиент и договор?
|
|||
|---|---|---|---|
|
#18+
У договора есть дата. У реквизитов есть интервал актуальности (действует от...до). Для конкретного договора не проблема вытащить актуальный для него реквизит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2009, 11:02 |
|
||
|
Проблема сущности клиент и договор?
|
|||
|---|---|---|---|
|
#18+
>>. У реквизитов есть интервал актуальности (действует от...до). Смысл плодить лишнее? Проще "действует от", и за интервалами следить не нужно, и заполнять проще. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2009, 11:36 |
|
||
|
Проблема сущности клиент и договор?
|
|||
|---|---|---|---|
|
#18+
Kirill Razuvaev Проще "действует от", и за интервалами следить не нужно, и заполнять проще тынць ( http://samouchka.net/ebooks/database/bdoracle/17681-oracle.-proektirovanie-baz-dannykh.html]Глава 7. " Обработка временных данных " ) > > > Posted via ActualForum NNTP Server 1.4 > > Тема <http://www.sql.ru/forum/actualthread.aspx?tid=649987> Ответить > <http://www.sql.ru/forum/actualpost.aspx?tid=649987> Сообщение > <http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=649987&msg=6972445> > -- _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2009, 13:31 |
|
||
|
Проблема сущности клиент и договор?
|
|||
|---|---|---|---|
|
#18+
>> тынць (Глава 7. "Обработка временных данных") Это уж разработчику решать, как... Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2009, 13:54 |
|
||
|
Проблема сущности клиент и договор?
|
|||
|---|---|---|---|
|
#18+
Ex_SoftKirill Razuvaev Проще "действует от", и за интервалами следить не нужно, и заполнять проще тынць ( http://samouchka.net/ebooks/database/bdoracle/17681-oracle.-proektirovanie-baz-dannykh.html]Глава 7. " Обработка временных данных " ) К этому стоит добавить еще то, что в книге примеры для Oracle 7. А на дворе уже 11g гуляет. Не то, что бы много чего поменялось, но возможностей у Oracle с тех пор поприбавилось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2009, 13:57 |
|
||
|
Проблема сущности клиент и договор?
|
|||
|---|---|---|---|
|
#18+
Вообще-то подразумевалось: на практике исключать столбец DATE_TO не рекомендуется, так как это приведет к необходимости использовать очень сложный и неэффективный SQL-код вне контекста СУБД и, уж тем более, каких-либо версий... _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2009, 14:16 |
|
||
|
Проблема сущности клиент и договор?
|
|||
|---|---|---|---|
|
#18+
>> на практике исключать столбец DATE_TO не рекомендуется, так как это >> приведет к необходимости использовать очень сложный и неэффективный >> SQL-код И давно запрос с поиском максимальной даты, меньшей определенной, стал сложным? А эффективность - она правильной индексацией обеспечивается... Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2009, 14:52 |
|
||
|
Проблема сущности клиент и договор?
|
|||
|---|---|---|---|
|
#18+
Ex_SoftВообще-то подразумевалось: на практике исключать столбец DATE_TO не рекомендуется, так как это приведет к необходимости использовать очень сложный и неэффективный SQL-код вне контекста СУБД и, уж тем более, каких-либо версий...На заборе много чего написано... Про эффективность, реально померянную и оцененную: История одна дата vs две. Что лучше? Так что не все так однозначно, как в книжке пишут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2009, 15:07 |
|
||
|
Проблема сущности клиент и договор?
|
|||
|---|---|---|---|
|
#18+
Kirill Razuvaev И давно запрос с поиском максимальной даты, меньшей определенной, стал сложным? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2009, 15:13 |
|
||
|
Проблема сущности клиент и договор?
|
|||
|---|---|---|---|
|
#18+
Bely Про эффективность, реально померянную и оцененную: История одна дата vs две. Что лучше? Не показательно... Табличка всего одна... А если много? BTW, MasterZiv (на самом деле конечно не такой он и сложный, но если его вложить в другие запросы которые уже реально с данными работать будут, будет совсем невесело) Bely Так что не все так однозначно, как в книжке пишут. У нас, как раз, ситуация "с точностью до наоборот": на практике дошли к тому, что позже в букварях прочитали... _________________ "Helo, word!" - 17 errors 56 warnings ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2009, 15:35 |
|
||
|
Проблема сущности клиент и договор?
|
|||
|---|---|---|---|
|
#18+
Ex_Soft Kirill Razuvaev И давно запрос с поиском максимальной даты, меньшей определенной, стал сложным? Покажите Ваш несложный запрос с поиском максимальной даты хотя бы для выше указанного... А почему именно в таком виде все должно обязательно быть с точки зрения проектирования? Может достаточно ограничиться только датой "От", а в договоре сохранять ссылку на периодические реквизиты? То есть, запрос последней строки будет обычным select top 1 order by, а потом уже никаких подзапросов не будет, просто прямой join на периодический реквизит, с которым связан договор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2009, 15:38 |
|
||
|
Проблема сущности клиент и договор?
|
|||
|---|---|---|---|
|
#18+
Сергей Васкецов А почему именно в таком виде все должно обязательно быть с точки зрения проектирования? Ну... Нам так надо... Так спроектировали... Что-то криминальное? Сергей Васкецов Может достаточно ограничиться только датой "От", а в договоре сохранять ссылку на периодические реквизиты? То есть, запрос последней строки будет обычным select top 1 order by, а потом уже никаких подзапросов не будет, просто прямой join на периодический реквизит, с которым связан договор. Предлагаете винегрет (В.1. + В.2.)? _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2009, 15:54 |
|
||
|
Проблема сущности клиент и договор?
|
|||
|---|---|---|---|
|
#18+
Ex_SoftПредлагаете винегрет Скорее просто указываю, что из отсутствия поля "До" еще не следуюет, что придется колупаться с подзапросами типа select max или not exists вместо Ваших between. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2009, 15:59 |
|
||
|
Проблема сущности клиент и договор?
|
|||
|---|---|---|---|
|
#18+
Сергей Васкецов из отсутствия поля "До" еще не следуюет, что придется колупаться с подзапросами типа select max или not exists вместо Ваших between А смысл скрещивать ужа и ежа, в принципе, IMHO, вполне самодостаточных варианта: 1. Ид на актуальную info 2. временнЫе параметры попутно внося специфичные для каждого грабли в общий котел и еще больше все усложняя? P.S. Вариант 1 сдесь вообще не обсуждался. Видать его даже за вариант не считают... _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2009, 16:16 |
|
||
|
Проблема сущности клиент и договор?
|
|||
|---|---|---|---|
|
#18+
Ex_SoftА смысл скрещивать ужа и ежа Да это пусть автор думает. Я в подобной ситуации сделал бы ссылку в договоре на актуальные параметры, в которых дата была бы просто как второе поле уникального ключа. И все проверки есть, и блокировка правки заюзанного легко делается, и запросы простые. В общем, тут же нет причин все усложнять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2009, 19:49 |
|
||
|
Проблема сущности клиент и договор?
|
|||
|---|---|---|---|
|
#18+
Сергей Васкецовблокировка правки заюзанного легко делаетсяКак? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2009, 20:14 |
|
||
|
Проблема сущности клиент и договор?
|
|||
|---|---|---|---|
|
#18+
Ex_Softи таких join'ов с десяток... Покажите Ваш несложный запрос с поиском максимальной даты хотя бы для выше указанного...Речь о том, что ссылку на нужную версию периодических реквизитов можно получить запросом типа: Код: plaintext 1. IMHO, такие выборки быстрее between. Да и разрывы/перекрытия диапазонов больше шансов получить при многопользовательской работе и одновременной правке реквизитов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2009, 21:39 |
|
||
|
Проблема сущности клиент и договор?
|
|||
|---|---|---|---|
|
#18+
Т.е., таки, сходимся к комбинированному варианту: Код: plaintext 1. 2. 3. 4. 5. 6. 7. не тяжеловато ли будет а-ля: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Даже не уверен, что отработает... _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2009, 22:08 |
|
||
|
Проблема сущности клиент и договор?
|
|||
|---|---|---|---|
|
#18+
>> не тяжеловато ли будет а-ля: Ну, полный список всех договоров со всеми (!) join'ами - редкое явление... или ошибка проектирования :-) >> Даже не уверен, что отработает... Куда ж оно денется... В конце концов, можно куда-нибудь завернуть по частям, в просмотры, процедуру... IMHO, такой вариант "периодики" даже визуально контролировать проще... Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2009, 11:01 |
|
||
|
Проблема сущности клиент и договор?
|
|||
|---|---|---|---|
|
#18+
Kirill Razuvaev Ну, полный список всех договоров со всеми (!) join'ами - редкое явление... отчетность Kirill Razuvaev или ошибка проектирования а как тогда по другому (если без смайла)? Kirill Razuvaev в процедуру... Ну и как потом если что-то сводное? Особенно, если select from stored_procedure нЭт? Kirill Razuvaev Куда ж оно денется... Не... Ну это - понятно... Только, вот, если один сервак вообще на все и вся и юзверов порядочно - то, если честно, сомнение гложет... _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2009, 11:18 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=35892190&tid=1543349]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
193ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 517ms |

| 0 / 0 |
