|
|
|
Что изменить в структуре БД?
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Есть таблица «Плательщик», где дан список плательщиков. У каждого плательщика есть соответствующий адрес, номер счета и соответствующий ему банк. Адрес и номер счета может измениться с со временем, но старые данные не должны теряться. И в то же время, когда выбирается плательщик, на экране должны появляться только его последние измененные данные при составлении счета-фактуры. Как учесть этот момент? Что за поле или таблицу мне нужно добавить? То же самое пожалуй коснется и банк, ведь его код тоже может измениться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2011, 14:44 |
|
||
|
Что изменить в структуре БД?
|
|||
|---|---|---|---|
|
#18+
даты начала и конца действия данных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2011, 14:58 |
|
||
|
Что изменить в структуре БД?
|
|||
|---|---|---|---|
|
#18+
NickBell, Данные_плательщика.Date_ - ставим дату начиная с которой существующая запись неактуальна. При выборе плательщика соответственно условие на дату. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2011, 15:03 |
|
||
|
Что изменить в структуре БД?
|
|||
|---|---|---|---|
|
#18+
SERG1257 http://habrahabr.ru/blogs/sql/101544/ Статья также была интересной, надеюсь правильные выводы сделала. Это новый вариант, добавлены 2 поля - дата и статус. Дате автоматически будет присваиваться новая дата, а для статуса, если же он новый, то ему автоматически присвоится - 1, а старому - 0. И добавила также в таблице Счет_фактура - поле код_данные_плательщика, если не ошибаюсь он там тоже нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2011, 15:48 |
|
||
|
Что изменить в структуре БД?
|
|||
|---|---|---|---|
|
#18+
И всё же остановилась на начальной и конечной дате, так намного удобнее. Всем большое спасибо!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2011, 14:03 |
|
||
|
Что изменить в структуре БД?
|
|||
|---|---|---|---|
|
#18+
NickBellSERG1257 http://habrahabr.ru/blogs/sql/101544/ Статья также была интересной, надеюсь правильные выводы сделала. Это новый вариант, добавлены 2 поля - дата и статус. Дате автоматически будет присваиваться новая дата, а для статуса, если же он новый, то ему автоматически присвоится - 1, а старому - 0. И добавила также в таблице Счет_фактура - поле код_данные_плательщика, если не ошибаюсь он там тоже нужен. Статус не нужен особо. У новой записи самая большая дата и этого достаточно. Хотя, конечно, некоторые запросы со статусом будут побыстрее. Дата окончания уж точно не нужна. Если надо хранить данные о плательщике, который уже на должен делать никаких операций - умер, например, то в его реквизитах должно быть поле "Дата окончания договора" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2011, 15:34 |
|
||
|
Что изменить в структуре БД?
|
|||
|---|---|---|---|
|
#18+
Cat2, И статус и конечная дата убраны. Сомнения у меня были в том, нужна ли мне конечная дата в таблице, но теперь уже не сомневаюсь в том, что и это мне не нужно. Изменения могут происходить очень редко, может быть раз в году, а может и еще реже, не знаю, но вполне могут быть, об этом меня предупредили и мне надо будет учесть этот момент на всякий случай. В принципе выбор максимальной даты вполне достаточен для запроса. Посмотрим, может быть еще что-нибудь переделаю в самой структуре. Хотелось бы с самого же начала привести в норму всю структуру, а не потом менять что-то во время работы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2011, 00:30 |
|
||
|
Что изменить в структуре БД?
|
|||
|---|---|---|---|
|
#18+
авторСомнения у меня были в том, нужна ли мне конечная дата в таблице, но теперь уже не сомневаюсь в том, что и это мне не нужно.Конечная дата нужна для упрощения запросов. Сравните запрос - дай мне данные для клиента @myclient на @query_date Код: plaintext Код: plaintext Конечно за легкость запросов приходится платить большим вниманием к правильности заполнения дат dfrom и dto ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2011, 03:16 |
|
||
|
Что изменить в структуре БД?
|
|||
|---|---|---|---|
|
#18+
SERG1257, На сегодняшний день у меня такая структура составлена. Что касается конечной даты и почему я ее решила не включать, то это потому, что фактически они должны искать по номеру фактуры и его дате, а там учтено, например id_плательщика и id_данные_плательщика. В самой же начальной дате, где она использована, будет автоматически проставляться дата того дня, когда будет внесено изменение и оператор даже не будет подозревать о его существовании. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2011, 04:18 |
|
||
|
Что изменить в структуре БД?
|
|||
|---|---|---|---|
|
#18+
Добавила пункт "прекращение действия". Надеюсь, уже всё учтено и можно работать дальше. Если же мне всё-же понадобится конечная дата для некоторых таблиц, то добавлю и ее, но на данный момент не чувствую ее необходимость для моей задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 11:11 |
|
||
|
Что изменить в структуре БД?
|
|||
|---|---|---|---|
|
#18+
NickBell, не понимаю смысла название если это детализация товара, то структура таблицы товара -ид товар --счетчик -ид сч-ф --для связи -колич -цена -ндс в сч-ф тогда ид_наим не нужен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 11:22 |
|
||
|
Что изменить в структуре БД?
|
|||
|---|---|---|---|
|
#18+
Народ, непарьте автора. У него вопросов по теме уже нет, и то что слепил полностью устраивает. Так что ненужно учить его жизни. Будет что-то непонятно, я думаю он задаст конкретный вопрос. ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 11:33 |
|
||
|
Что изменить в структуре БД?
|
|||
|---|---|---|---|
|
#18+
NickBell, Я за денормализацию документов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 12:42 |
|
||
|
Что изменить в структуре БД?
|
|||
|---|---|---|---|
|
#18+
ENO, а я за большевиков ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 12:51 |
|
||
|
Что изменить в структуре БД?
|
|||
|---|---|---|---|
|
#18+
ПЕНСИОНЕРКАNickBell, не понимаю смысла название если это детализация товара, то структура таблицы товара -ид товар --счетчик -ид сч-ф --для связи -колич -цена -ндс в сч-ф тогда ид_наим не нужен Под названием у меня подразумеваются тесты, медобслуживание (по части медицины) - то есть это список принятого стандарта в области медицины. И здесь я думаю, что с со временем могут быть какие-то изменения. О вашем варианте я чуть позднее подумаю, пока не очень разобралась в нем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 14:14 |
|
||
|
Что изменить в структуре БД?
|
|||
|---|---|---|---|
|
#18+
Злой Бобр, ENO, ViPRos, В Проектирование БД я вошла потому, что здесь если не ошибаюсь, обычно дают советы по проектированию БД, если что не так. В данный момент у меня нет вопросов, но если кто-нибудь посоветуют что-нибудь хорошее, приму к сведению. Согласна с тем, что на данный момент у меня наверное немного денормализованная схема, но и опыта пока что у меня мало, так что пока учусь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 14:26 |
|
||
|
Что изменить в структуре БД?
|
|||
|---|---|---|---|
|
#18+
NickBell, Ну тогда в счет-фактуре целесообразно разделить шапку и табличную часть. В итоге у тебя уменьшится объем таблицы и соответственно повысится скорость обработки по ней. Т.е. в Счет_Фактуры у тебя по одному документу будет одна запись, а в Счет_Фактуры_ТЧ (к примеру) будет перечень товаров (услуг) по данному документу. Связь по Счет_Фактуры.id_фактуры=Счет_Фактуры_ТЧ.id_фактуры Это то что слету замечено, а так вполне вероятно что есть еще что-то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 14:47 |
|
||
|
Что изменить в структуре БД?
|
|||
|---|---|---|---|
|
#18+
В таблице "Счет_фактура" оставила только лишь те поля, которые будут появляться по одному разу. А в "Счет_фактуры_данные" вынесла остальное. При таком раскладе запрос действительно будет выполняться быстрее. Но сейчас такое ощущение, что еще надо что-то менять в таблицах "Счет_фактуры_данные", "Названия" и "Данные_названия", здесь что-то лишнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 16:38 |
|
||
|
Что изменить в структуре БД?
|
|||
|---|---|---|---|
|
#18+
NickBell, В Счет_фактуры_данные перенести единица измерения, количество, цена, сумма, НДС, ... , т.е. то что фактически выписано. Отдельную таблицу для единиц измерения. В Данные_названия зачем ключевое поле? Как по мне вообще это поле лишнее. Снова это все слету, так что смотрите еще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 17:00 |
|
||
|
Что изменить в структуре БД?
|
|||
|---|---|---|---|
|
#18+
Сделала некоторые изменения. Цену также перенесла из таблицы "Данные_названия", а раз перенесла ее, то отпала надобность в существовании самой таблицы "Данные_названия". Отдельно создала таблицу "Единица измерения", скорее всего так лучше, чем иметь подстановку в поле, легче будет добавить или удалить что-либо. А это просто примерный тип самого бланка, где должны быть выведены данные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 22:49 |
|
||
|
Что изменить в структуре БД?
|
|||
|---|---|---|---|
|
#18+
А нужно ли мне вообще хранить сумму в таблицах? Или этот момент важен для документов типа счета-фактур? Запросом же можно сделать вычисляемое поле в отчетах, где будет выводиться сумма? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 22:54 |
|
||
|
Что изменить в структуре БД?
|
|||
|---|---|---|---|
|
#18+
NickBellА нужно ли мне вообще хранить сумму в таблицах? Или этот момент важен для документов типа счета-фактур? Запросом же можно сделать вычисляемое поле в отчетах, где будет выводиться сумма? Если по уму то нужно. Так хоть как-то можно будет сверить табличную часть. К тому же иногда нужно выбрать документы с суммами и выборка напрямую будет быстрее чем джойнить перебор табличной части. Для любого документа. Ответ выше. Вам еще есть что оптимизировать. Думайте. Частично подсказка в моих постах выше есть, но и кроме того есть куда двигаться. Попробуйте поговорить с менеджером или бухом, думаю будет небесполезно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2011, 10:46 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=37063914&tid=1542341]: |
0ms |
get settings: |
6ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
320ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 614ms |

| 0 / 0 |
