|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
Есть несколько разных самостоятельных приложений, но они относятся к одной тематике. Возникла идея собрать эти приложения в одно.Поэтому прошу посмотреть схему базы данных, указать на ошибки и недостатки. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2012, 11:48 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
Я изъянов не заметил... разве что можно добавить таблицу подсчёта фрагов +) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2012, 12:09 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
Только у tblCard ключа нет. Я предпочитаю ставить хотя бы простой счётчик, но он не всегда нужен иВам виднее, конечно. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2012, 12:11 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
orehov_i, inkassumma и card , количество ключевых полей, их связь, а также существование само месяца и года вместо одного датного поля вызывают сильные сомнения. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2012, 12:13 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
Клиенты и договора в одной таблице. Лучше бы разные. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2012, 12:21 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
alvk.orehov_i, inkassumma и card , количество ключевых полей, их связь, а также существование само месяца и года вместо одного датного поля вызывают сильные сомнения. alvk,попробую объяснить свое понимание этого момента:есть форма явочной карточки, она выписывается на каждый учетный месяц. Месяц закончился, заводится новая карточка, и т.д. на основе таблицы Card делается форма. Эта форма подчиненная форме InkasSumma. На рисунке это видно. Потом выполняем запрос, -фрагмент запроса: Код: plsql 1.
,на его основе отчет. Нужно как то отделить месяц и год. Поэтому и составной ключ получается. Другой вариант пока не приходит на ум. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2012, 13:59 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
alvk., вот еще картинка форм где составные поля. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2012, 14:00 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
Bryk_AlienТолько у tblCard ключа нет. Я предпочитаю ставить хотя бы простой счётчик, но он не всегда нужен иВам виднее, конечно. Да думаю не нужен счетчик. В явочной карточке 31 день. Это нужно алгоритм придумывать чтобы счетчик на 31 дне обнулялся. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2012, 14:04 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
Программист-ЛюбительКлиенты и договора в одной таблице. Лучше бы разные. А что это может дать? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2012, 14:05 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
У вас клиент может заключить ровно один договор. А когда тот же клиент будет заключать следующий договор ? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2012, 14:17 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
Программист-ЛюбительУ вас клиент может заключить ровно один договор. А когда тот же клиент будет заключать следующий договор ? Ну да, заключается один договор. В этом договоре есть приложения к договору, где указываются виды услуг. Или Вы имеете ввиду, что договор может закончиться в N-ом году, и придется заключать новый договор с новым номером? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2012, 14:27 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
orehov_i, Имеется в виду клиент, а не договор. Данные на клиента пишете один раз, а договоров с этим клиентом в разное время - много. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2012, 14:43 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
адреса вынести в адресную книгу, адресную книгу привязать к клиентам ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2012, 15:15 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
таблицы "оружие" и "инкассаторы" связать как многие-ко-многим через таблицу "выдача_оружия" ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2012, 15:17 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
таблица инкасссума с полями год и месяц не нужна ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2012, 15:19 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
в общем над схемой нужно еще работать и работать ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2012, 15:22 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
полиномадреса вынести в адресную книгу, адресную книгу привязать к клиентам Тут согласен. Можно отдельно сделать таблицу с адресами клиентов. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2012, 15:50 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
полиномтаблица инкасссума с полями год и месяц не нужна Хорошо. Предлагаете из таблицы кард в инкассумма пренести поля или из инкассумма в кард? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2012, 16:20 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
orehov_i Код: plsql 1.
все эти "введите" лучше забыть и никогда не использовать, это дурной тон заставлять вбивать постоянно то, что можно выбрать из списка или на что можно мышкой щёлкнуть. Лучше сделать форму с полями со списком и в них выбирать данные для отчёта, а запрос для отчёта формировать уже с обращением к этим полям. Месяц и год уберите, их всегда можно вычислить соответствующими функциями. Карточку можно выписывать на месяц, а хранить в таблице первое число этого месяца например: 01.06.2012 , тут вам и месяц и год, как говорится "два в одном". ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2012, 16:21 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
полиномтаблицы "оружие" и "инкассаторы" связать как многие-ко-многим через таблицу "выдача_оружия" Как то не хотелось дублировать выдачу оружия на маршрут в программу. Тем более отчета по нему не делается. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2012, 16:25 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
orehov_iКак то не хотелось дублировать выдачу оружия на маршрут в программу. ну-ну... можете защищать свою схему с оружием в руках и до последнего патрона. и какой был смысл задавать вопрос?... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2012, 16:32 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
alvk. Лучше сделать форму с полями со списком и в них выбирать данные для отчёта, а запрос для отчёта формировать уже с обращением к этим полям. Согласен. Месяц и год уберите, их всегда можно вычислить соответствующими функциями. Карточку можно выписывать на месяц, а хранить в таблице первое число этого месяца например: 01.06.2012 , тут вам и месяц и год, как говорится "два в одном". Попробую. Наверное лучше объединить таблицы Inkassumma и Card в одну. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2012, 16:41 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
orehov_iНаверное лучше объединить таблицы Inkassumma и Card в одну. таблица инкассумма вообще не нужна - по сути это отчет, который строится на основе остальных уже забитых в таблицу данных ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2012, 16:44 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
полиномну-ну... можете защищать свою схему с оружием в руках и до последнего патрона. и какой был смысл задавать вопрос?... Да я не защищаю свою схему. Просто не понимаю какой смысл может быть в многие ко многим. Для чего? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2012, 16:46 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
полиномтаблицы "оружие" и "инкассаторы" связать как многие-ко-многим через таблицу "выдача_оружия" Подумал немного. Наверное Вы все-таки правы. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2012, 16:57 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
Учел практически все замечания.Оцените новый вариант. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2012, 22:38 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
Вот еще чуток подумать (осталось и еще над чем): ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2012, 23:31 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
nord-woolf, так адреса ведь разные? или имеется ввиду отдельная таблица с адресами? кстати далеко не всегда у клиента заполнены все три поля. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2012, 04:19 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
nord-woolf,мне не совсем понятна роль сущности-"человек" ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2012, 07:59 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
Кстати про адреса. Может с точки зрения построения реляционной модели БД вынести в отдельную таблицу адреса и правильно, но вот с точки зрения пользователя, вместо того чтобы сразу на форме видеть адрес клиента или его торговой точки, придется ткнуть по кнопке. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2012, 08:10 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
orehov_iвместо того чтобы сразу на форме видеть адрес клиента или его торговой точки, придется ткнуть по кнопке. не понял, почему? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2012, 08:18 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
alvk.orehov_iвместо того чтобы сразу на форме видеть адрес клиента или его торговой точки, придется ткнуть по кнопке. не понял, почему? Не, ну конечно никто не мешает на форме сделать комобокс и к нему привязать адреса. Сейчас в отдельном приложении "Клиенты инкассации" на форме есть поле со списком "Адрес". Данные выбираются из таблицы-справочника "Улицы". ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2012, 08:55 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
Вот такая получилась схема после некоторых изменений. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2012, 09:27 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
orehov_inord-woolf,мне не совсем понятна роль сущности-"человек" ы-ы-ы человек - это прямоходящее без перьев! (с) Платон ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2012, 10:02 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
orehov_iмне не совсем понятна роль сущности-"человек" Человек - это вы или же кто-то другой. Какую информацию вы можете дать о себе, которая касается лично вас и больше никого и никому вы ее не уступите? Человек Код_человека (клиента) ... смотря по итуации, что там у вас .............. автонумерация Имя Фамилия Отчество Адрес (домашний) Телефон Эл. почта Номер паспорта ... ---------------------------------------------------------------- Информация, которую может быть и у другого Должности Код_должности .............. автонумерация Руководитель Заведующий Менеджер Сотрудник в какой-то области ... --------------------------------------------------------------- Адрреса (фирм) Код_адреса .............. автонумерация Город Улица Дом Телефон И всю эту информацию можно будет связать по коду Код_человека Код_должности Код_адреса А в ваших таблицах есть некоторые моменты, которые смешаны друг с другом. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2012, 10:04 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
orehov_iвидеть адрес клиента или его торговой точки, придется ткнуть по кнопке. у клиента может быть и несколько торговых точек... на разных адресах ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2012, 10:04 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
NickBell Адрреса (фирм) некоторые рекомендуют для данных об адресе указывать в отдельном поле только город остальные данные указывать в полях AddressLine_1 и AdressLine_2 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2012, 10:09 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
orehov_i, а почему имена таблиц - латиница в них имена полей - кириллица просто интересно ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2012, 18:58 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
orehov_i, tblContract - добавить поле дата окончания tblSotrudnik - вынести код участка и должность в отдельную таблицу с датами начала и окончания, так как сотрудники могут мигрировать между подразделениями Так же смущает tblWorkAuto. К какому пункту относится запись? Похоже, что нет связки этой записи и кода подразделения. А дата там где? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2012, 21:36 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
stwomпросто интересно да там много чего такого интересного :) часть имен на английском - часть на русском, часть имен латиницей - часть кириллицей, имена таблиц (сущностей) в единственом числе - Реддик нервно покуривает в сторонке... не важно, в общем ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2012, 21:49 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
stwomorehov_i, а почему имена таблиц - латиница в них имена полей - кириллица просто интересно Чтобы не спутать в запросе таблицу с полем. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2012, 22:05 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
orehov_i, Лучше латинскими буквами все набирать. Вам не лень каждый раз переключать клавиатуру? А привыкнуть, быстро привыкнете. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2012, 22:17 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
Edkonst2008orehov_i, tblContract - добавить поле дата окончания tblSotrudnik - вынести код участка и должность в отдельную таблицу с датами начала и окончания, так как сотрудники могут мигрировать между подразделениями Так же смущает tblWorkAuto. К какому пункту относится запись? Похоже, что нет связки этой записи и кода подразделения. А дата там где? 1.Да,добавлю 2.Должности уже сделал в отдельной таблице. А как это-"вынести код участка". Таблица UchastokName, поле КодУчастка-PK отдельная таблица. 3.Таблица РаботаАвтомобиля связана по полю КодАвтомобиля с таблицей Автомобили. Которая в свою очередь связана с таблицей ИмяУчастка по полю КодУчастка. Дату просто забыл. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2012, 22:21 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
NickBellorehov_i, Лучше латинскими буквами все набирать. Вам не лень каждый раз переключать клавиатуру? А привыкнуть, быстро привыкнете. Да я все равно буду базу на SQL Server создавать. Конечно все поля латиницей напишу. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2012, 22:28 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
Изменил схему с учетом советов. И немного запутался. Правильно ли я установил связи в таблицах Договор, Банки и Услуги? Или надо Договор связать с Банком, а Услуги с Клиентом? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2012, 09:15 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
Хорошо, тогда так: Я бы на Вашем месте в таблицу договоры добавил поле "код услуги" а в таблицу клиенты - "код банка". И связывал по этим полям. А лишние поля из таблиц "услуги" и "банки" - удалил, так как они не имеют отношения к хранящимся там сущностям. В заключение небольшая поучительная история: Сидит папа программист глубоко "в отладке". К нему подходит дитятко: - Папа-папа! А почему солнышко каждый день восходит на востоке а садится на западе? - Каждый день? - Да. - Ты это проверял? - Ага! - Хорошо проверял? - Ну да... - Тогда, сына, ничего не трогай... ничего не меняй... Мораль - не усложняйте себе жизнь без необходимости. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2012, 11:30 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
orehov_iКонечно все поля латиницей напишу. блджад! а слабо сразу все нормально называть так, чтобы потом не переделывать???? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2012, 15:25 |
|
Критика структуры базы данных
|
|||
---|---|---|---|
#18+
orehov_iИ немного запутался имя, Миледи, имя ??? (с) в схеме данных БД значение имеют только связанные поля. для различных "экспериментов" по установлению связей экспортируйте ваши таблицы в другую БД, выкиньте из таблиц все вспомогательные поля и связывайте только существенные так, как вам хочется. добавьте в каждую таблицу временное временное поле "OtherDetails" - это поможет остаться в рамках общей эмпирической концепции (когда возникнет какая-то новая идея с новыми полями, вы, временно, отнесите ее в "ДругиеДетали" связывайте таблицы (условно) Персоны+Сотрудники ОтветственныеСотрудники ОснащениеСотрудников Маршруты+Задания ЗаданияСотрудникам ПоручениеЗаданий Клиенты+Договоры ДоговорныеОбязательства ИсполнениеОбязательств это три разных ипостаси ваших отношений с клиентами. варьируйте с ними, пробуйте варианты... когда все устаканится (образуются очевидные зависимости между сущностями, вы их проверите, уточните), тогда, вместо поля OtherDetails в каждую из таблиц добейте дополнительные поля со всякими подробностями - фамилия имя, номера автомобилей, модель оружия, адреса объектов и проч. и проч. и проч. это все так просто... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2012, 15:45 |
|
|
start [/forum/topic.php?all=1&fid=45&tid=1621897]: |
0ms |
get settings: |
12ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
27ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
71ms |
get tp. blocked users: |
1ms |
others: | 261ms |
total: | 407ms |
0 / 0 |