powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Критика структуры базы данных
49 сообщений из 49, показаны все 2 страниц
Критика структуры базы данных
    #37952246
orehov_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть несколько разных самостоятельных приложений, но они относятся к одной тематике. Возникла идея собрать эти приложения в одно.Поэтому прошу посмотреть схему базы данных, указать на ошибки и недостатки.
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37952304
Bryk_Alien
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я изъянов не заметил...
разве что можно добавить таблицу подсчёта фрагов +)
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37952307
Bryk_Alien
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Только у tblCard ключа нет. Я предпочитаю ставить хотя бы простой счётчик, но он не всегда нужен иВам виднее, конечно.
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37952310
alvk.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orehov_i,

inkassumma и card , количество ключевых полей, их связь, а также существование само месяца и года вместо одного датного поля вызывают сильные сомнения.
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37952330
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Клиенты и договора в одной таблице. Лучше бы разные.
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37952581
orehov_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alvk.orehov_i,

inkassumma и card , количество ключевых полей, их связь, а также существование само месяца и года вместо одного датного поля вызывают сильные сомнения.
alvk,попробую объяснить свое понимание этого момента:есть форма явочной карточки, она выписывается на каждый учетный месяц. Месяц закончился, заводится новая карточка, и т.д. на основе таблицы Card делается форма. Эта форма подчиненная форме InkasSumma. На рисунке это видно. Потом выполняем запрос, -фрагмент запроса:
Код: plsql
1.
WHERE (((tblUchastokName.УчастокИнкассации)=[Введите название участка]) AND ((tblInkasSumma.Месяц)=[Введите месяц]) AND ((tblInkasSumma.Год)=[Введите год]))

,на его основе отчет. Нужно как то отделить месяц и год. Поэтому и составной ключ получается. Другой вариант пока не приходит на ум.
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37952587
orehov_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alvk., вот еще картинка форм где составные поля.
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37952593
orehov_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bryk_AlienТолько у tblCard ключа нет. Я предпочитаю ставить хотя бы простой счётчик, но он не всегда нужен иВам виднее, конечно.

Да думаю не нужен счетчик. В явочной карточке 31 день. Это нужно алгоритм придумывать чтобы счетчик на 31 дне обнулялся.
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37952597
orehov_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист-ЛюбительКлиенты и договора в одной таблице. Лучше бы разные.

А что это может дать?
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37952625
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У вас клиент может заключить ровно один договор. А когда тот же клиент будет заключать следующий договор ?
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37952642
orehov_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист-ЛюбительУ вас клиент может заключить ровно один договор. А когда тот же клиент будет заключать следующий договор ?
Ну да, заключается один договор. В этом договоре есть приложения к договору, где указываются виды услуг. Или Вы имеете ввиду, что договор может закончиться в N-ом году, и придется заключать новый договор с новым номером?
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37952672
Фотография NickBell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orehov_i,

Имеется в виду клиент, а не договор.
Данные на клиента пишете один раз, а договоров с этим клиентом в разное время - много.
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37952744
полином
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
адреса вынести в адресную книгу, адресную книгу привязать к клиентам
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37952749
полином
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
таблицы "оружие" и "инкассаторы" связать как многие-ко-многим через таблицу "выдача_оружия"
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37952753
полином
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
таблица инкасссума с полями год и месяц не нужна
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37952760
полином
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в общем над схемой нужно еще работать и работать
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37952844
orehov_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полиномадреса вынести в адресную книгу, адресную книгу привязать к клиентам

Тут согласен. Можно отдельно сделать таблицу с адресами клиентов.
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37952924
orehov_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полиномтаблица инкасссума с полями год и месяц не нужна

Хорошо. Предлагаете из таблицы кард в инкассумма пренести поля или из инкассумма в кард?
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37952927
alvk.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orehov_i
Код: plsql
1.
WHERE (((tblUchastokName.УчастокИнкассации)=[Введите название участка]) 



все эти "введите" лучше забыть и никогда не использовать, это дурной тон заставлять вбивать постоянно то, что можно выбрать из списка или на что можно мышкой щёлкнуть. Лучше сделать форму с полями со списком и в них выбирать данные для отчёта, а запрос для отчёта формировать уже с обращением к этим полям.
Месяц и год уберите, их всегда можно вычислить соответствующими функциями. Карточку можно выписывать на месяц, а хранить в таблице первое число этого месяца например: 01.06.2012 , тут вам и месяц и год, как говорится "два в одном".
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37952937
orehov_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полиномтаблицы "оружие" и "инкассаторы" связать как многие-ко-многим через таблицу "выдача_оружия"

Как то не хотелось дублировать выдачу оружия на маршрут в программу. Тем более отчета по нему не делается.
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37952957
полином
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
orehov_iКак то не хотелось дублировать выдачу оружия на маршрут в программу.
ну-ну...
можете защищать свою схему с оружием в руках и до последнего патрона.
и какой был смысл задавать вопрос?...
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37952982
orehov_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alvk. Лучше сделать форму с полями со списком и в них выбирать данные для отчёта, а запрос для отчёта формировать уже с обращением к этим полям.
Согласен.

Месяц и год уберите, их всегда можно вычислить соответствующими функциями. Карточку можно выписывать на месяц, а хранить в таблице первое число этого месяца например: 01.06.2012 , тут вам и месяц и год, как говорится "два в одном".

Попробую. Наверное лучше объединить таблицы Inkassumma и Card в одну.
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37952991
полином
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
orehov_iНаверное лучше объединить таблицы Inkassumma и Card в одну.

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

Да я не защищаю свою схему. Просто не понимаю какой смысл может быть в многие ко многим. Для чего?
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37953036
orehov_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полиномтаблицы "оружие" и "инкассаторы" связать как многие-ко-многим через таблицу "выдача_оружия"

Подумал немного. Наверное Вы все-таки правы.
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37953499
orehov_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Учел практически все замечания.Оцените новый вариант.
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37953546
Фотография nord-woolf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот еще чуток подумать (осталось и еще над чем):
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37953648
alvk.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nord-woolf,

так адреса ведь разные? или имеется ввиду отдельная таблица с адресами?
кстати далеко не всегда у клиента заполнены все три поля.
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37953702
orehov_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nord-woolf,мне не совсем понятна роль сущности-"человек"
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37953711
orehov_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати про адреса. Может с точки зрения построения реляционной модели БД вынести в отдельную таблицу адреса и правильно, но вот с точки зрения пользователя, вместо того чтобы сразу на форме видеть адрес клиента или его торговой точки, придется ткнуть по кнопке.
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37953716
alvk.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orehov_iвместо того чтобы сразу на форме видеть адрес клиента или его торговой точки, придется ткнуть по кнопке.

не понял, почему?
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37953748
orehov_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alvk.orehov_iвместо того чтобы сразу на форме видеть адрес клиента или его торговой точки, придется ткнуть по кнопке.

не понял, почему?

Не, ну конечно никто не мешает на форме сделать комобокс и к нему привязать адреса. Сейчас в отдельном приложении "Клиенты инкассации" на форме есть поле со списком "Адрес". Данные выбираются из таблицы-справочника "Улицы".
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37953785
orehov_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот такая получилась схема после некоторых изменений.
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37953829
осьменоги
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
orehov_inord-woolf,мне не совсем понятна роль сущности-"человек"

ы-ы-ы

человек - это прямоходящее без перьев! (с) Платон

...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37953830
Фотография NickBell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orehov_iмне не совсем понятна роль сущности-"человек"
Человек - это вы или же кто-то другой.

Какую информацию вы можете дать о себе, которая касается лично вас и больше никого и никому вы ее не уступите?

Человек

Код_человека (клиента) ... смотря по итуации, что там у вас .............. автонумерация

Имя

Фамилия

Отчество

Адрес (домашний)

Телефон

Эл. почта

Номер паспорта
...
----------------------------------------------------------------

Информация, которую может быть и у другого

Должности


Код_должности .............. автонумерация

Руководитель

Заведующий

Менеджер

Сотрудник в какой-то области
...
---------------------------------------------------------------

Адрреса (фирм)


Код_адреса .............. автонумерация

Город

Улица

Дом

Телефон


И всю эту информацию можно будет связать по коду


Код_человека

Код_должности

Код_адреса

А в ваших таблицах есть некоторые моменты, которые смешаны друг с другом.
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37953831
осьменоги
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
orehov_iвидеть адрес клиента или его торговой точки, придется ткнуть по кнопке.

у клиента может быть и несколько торговых точек...
на разных адресах
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37953842
полином
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
NickBell Адрреса (фирм)

некоторые рекомендуют для данных об адресе указывать в отдельном поле только город

остальные данные указывать в полях AddressLine_1 и AdressLine_2
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37954964
stwom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orehov_i,

а почему

имена таблиц - латиница
в них
имена полей - кириллица


просто интересно
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37955104
Edkonst2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orehov_i,

tblContract - добавить поле дата окончания

tblSotrudnik - вынести код участка и должность в отдельную таблицу с датами начала и окончания, так как сотрудники могут мигрировать между подразделениями

Так же смущает tblWorkAuto. К какому пункту относится запись? Похоже, что нет связки этой записи и кода подразделения. А дата там где?
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37955110
полином
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
stwomпросто интересно

да там много чего такого интересного :)
часть имен на английском - часть на русском, часть имен латиницей - часть кириллицей,
имена таблиц (сущностей) в единственом числе - Реддик нервно покуривает в сторонке...

не важно, в общем
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37955131
orehov_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stwomorehov_i,

а почему

имена таблиц - латиница
в них
имена полей - кириллица


просто интересно
Чтобы не спутать в запросе таблицу с полем.
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37955140
Фотография NickBell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orehov_i,

Лучше латинскими буквами все набирать.
Вам не лень каждый раз переключать клавиатуру?
А привыкнуть, быстро привыкнете.
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37955148
orehov_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Edkonst2008orehov_i,

tblContract - добавить поле дата окончания

tblSotrudnik - вынести код участка и должность в отдельную таблицу с датами начала и окончания, так как сотрудники могут мигрировать между подразделениями

Так же смущает tblWorkAuto. К какому пункту относится запись? Похоже, что нет связки этой записи и кода подразделения. А дата там где?
1.Да,добавлю
2.Должности уже сделал в отдельной таблице. А как это-"вынести код участка". Таблица UchastokName, поле КодУчастка-PK отдельная таблица.
3.Таблица РаботаАвтомобиля связана по полю КодАвтомобиля с таблицей Автомобили. Которая в свою очередь связана с таблицей ИмяУчастка по полю КодУчастка. Дату просто забыл.
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37955157
orehov_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NickBellorehov_i,

Лучше латинскими буквами все набирать.
Вам не лень каждый раз переключать клавиатуру?
А привыкнуть, быстро привыкнете.

Да я все равно буду базу на SQL Server создавать. Конечно все поля латиницей напишу.
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37955442
orehov_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изменил схему с учетом советов. И немного запутался. Правильно ли я установил связи в таблицах Договор, Банки и Услуги? Или надо Договор связать с Банком, а Услуги с Клиентом?
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37955702
Bryk_Alien
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хорошо, тогда так:

Я бы на Вашем месте в таблицу договоры добавил поле "код услуги" а в таблицу клиенты - "код банка". И связывал по этим полям. А лишние поля из таблиц "услуги" и "банки" - удалил, так как они не имеют отношения к хранящимся там сущностям.

В заключение небольшая поучительная история:
Сидит папа программист глубоко "в отладке". К нему подходит дитятко:
- Папа-папа! А почему солнышко каждый день восходит на востоке а садится на западе?
- Каждый день?
- Да.
- Ты это проверял?
- Ага!
- Хорошо проверял?
- Ну да...
- Тогда, сына, ничего не трогай... ничего не меняй...


Мораль - не усложняйте себе жизнь без необходимости.
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37956246
8889
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
orehov_iКонечно все поля латиницей напишу.

блджад!
а слабо сразу все нормально называть так, чтобы потом не переделывать????
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37956292
полином
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
orehov_iИ немного запутался

имя, Миледи, имя ??? (с)


в схеме данных БД значение имеют только связанные поля.

для различных "экспериментов" по установлению связей экспортируйте ваши таблицы в другую БД,
выкиньте из таблиц все вспомогательные поля и связывайте только существенные так, как вам хочется.

добавьте в каждую таблицу временное временное поле "OtherDetails" - это поможет остаться в рамках общей эмпирической концепции (когда возникнет какая-то новая идея с новыми полями, вы, временно, отнесите ее в "ДругиеДетали"

связывайте таблицы (условно)

Персоны+Сотрудники
ОтветственныеСотрудники
ОснащениеСотрудников

Маршруты+Задания
ЗаданияСотрудникам
ПоручениеЗаданий

Клиенты+Договоры
ДоговорныеОбязательства
ИсполнениеОбязательств

это три разных ипостаси ваших отношений с клиентами.
варьируйте с ними, пробуйте варианты...

когда все устаканится (образуются очевидные зависимости между сущностями, вы их проверите, уточните), тогда, вместо поля OtherDetails в каждую из таблиц добейте дополнительные поля со всякими подробностями - фамилия имя, номера автомобилей, модель оружия, адреса объектов и проч. и проч. и проч.

это все так просто...
...
Рейтинг: 0 / 0
Критика структуры базы данных
    #37957035
orehov_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Благодарю всех за советы, критику и подсказки.
...
Рейтинг: 0 / 0
49 сообщений из 49, показаны все 2 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Критика структуры базы данных
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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