|
|
|
Помогите в проектировании БД
|
|||
|---|---|---|---|
|
#18+
Подскажите, как поступить в такой ситуации или вообще есть ли решение. Дело в том что есть база (привязана к определенной прогр.) , но стоить задача переделать интерфейс программы и соответственно немного переделать базу ( добавить несколько дополнительных таблиц и некоторые таблицы изменить и в некоторые добавить доп.поля). Сама база в процессе работы, надо будет в итоге чтобы было совместимость между новой и текущей работающей бд. А вообще старая она не одна, их несколько работают в разных подразделениях , а в новой программе все бд будут в одной и добавиться права доступа каждому подразделению. Если нюансы при такой разработке и может кто-то сталкивался с такой ситуацией? Или все же прийдется создавать БД без привязке к старой, тогда как лучше или безболезненно перенести данные из старых баз в новую? Заранее благодарен за помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2013, 13:26 |
|
||
|
Помогите в проектировании БД
|
|||
|---|---|---|---|
|
#18+
stydentik, 1) Спроектировать новую БД и программу. 2) Разработать "программу" переноса из старой БД в новую. 1) Так будет проще разработать новую программу. 2) Некоторое время пользователи все равно будут работать и в старой и новой, соответственно программа переноса должна уметь переносить только новые данные. Кроме того разработав "программу" переноса вы сможете тестировать новую программу на актуальных данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2013, 13:51 |
|
||
|
Помогите в проектировании БД
|
|||
|---|---|---|---|
|
#18+
mad_nazgul2) Некоторое время пользователи все равно будут работать и в старой и новой, соответственно программа переноса должна уметь переносить только новые данные. Кроме того разработав "программу" переноса вы сможете тестировать новую программу на актуальных данных. Эта "программа переноса" обычно "репликатором" зовётся и на период внедрения её лучше использовать в режиме master-master, чтобы при неприятностях можно было откатиться на старую версию не потеряв новых данных. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2013, 14:05 |
|
||
|
Помогите в проектировании БД
|
|||
|---|---|---|---|
|
#18+
stydentik, 1. Вы уверены что сУБД потянет столько пользователей? 2. Если исходников нету (а как правило такое повсеместно), то чего-то подправить и добавить как-то весьма сомнительно. Соответственно придется писать ТЗ на написание с чистого листа и переноса нужных данных. 3. Вполне возможно что велосипед уже давно изобретен. Вам действительно неподходят типовые решения (та же 1С, аксапта, ...) ? Может стоит озвучить чего хотите, а мы подскажем в какую сторону смотреть?.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2013, 16:10 |
|
||
|
Помогите в проектировании БД
|
|||
|---|---|---|---|
|
#18+
stydentik, я такой работой занимался почти год... рефакторинг товарно-ценового портал "по живому". Особую сложность составил переход от нескольких баз и таблиц с товарными строками (смена состояний - и данные физически перемещались из одной таблицы в другую - нафига? Не спрашивать, так было), с учетом сложного хранения самой товарной строки (это полноценная "ссущность", а вовсе не строка текста). Сложность была в том, что надо было это сделать в условиях практически непрерывного добавления данных, ночной работы спец. скриптов, в т.ч. и с других серверов, сохранением индексации в сфинксе и без возможности "сделать новую версию отдельно, а потом перезалить". На практике, получается: 1. убрать весь Г-код. Особенно всяческие SELECT *. Выборки должны тащить ровно то что им необходимо. С этой целью была сделана прокладка в виде базового класса, через которую теперь идут все запросы к таблицам. Множественные разовые и "узкоспециальные" выборки были заменены на генератор выборок, формирующие запросы "как надо"... уже на этом этапе код стал и читаемее и проще и, как ни странно, шустрее. Да, транзакционность обновлений и втыкание проверок. 2. после п.1. можно готовить расширения БД вполне нормально прямо на рабочей версии. Новые поля - все равно ни на что не влияют. Новые таблицы - тем более. К таблицам можно добавить доп. поле - "старые данные" и проставить в нем признак. Оно уже ни на что не повлияет. 3. делается новый код. Фактически, с учетом п.1. - это расширения генератора запросов. по мере продвижения тут, новые поля и новые таблицы начинают заполняться данными большей частью "автоматически". 4. по необходимости - делаем перенос в новые таблицы "старых" данных... признак есть, перенос - не проблема. 5. удаляем всё, что уже не нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2013, 16:21 |
|
||
|
Помогите в проектировании БД
|
|||
|---|---|---|---|
|
#18+
Arhat109Множественные разовые и "узкоспециальные" выборки были заменены на генератор выборок, формирующие запросы "как надо"Вы не могли бы подробнее рассказать как реализован этот ad-hoc-generator?.. Это что-то типа qbe?.. Что значит "как надо"?... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2013, 19:39 |
|
||
|
Помогите в проектировании БД
|
|||
|---|---|---|---|
|
#18+
сложно описать, что конретно нужно т.к. ТЗ пока нет и не известно когда будет... пример бд есть но как мне обьяснили многое там уже не надо или не используется, часть будет инфы нужно держать как архив для использования в статистике. т.е. практически в каждой таблице нужно что-то убрать, что-то отнести к архивной инфе, а остальные поля использовать в новой базе(вообщем мозги кипят, не могу собраться мыслями :( ). Есть несколько небольших вопросов: 1) как лучше использовать хранение поля ФИО в одном поле или лучше разбить на три? т.к. мне в дальнейшем надо будет реализовать склонение по падежам и подскажите как это склонение реализовать и хранить в базе? 2) по поводу телефонов лучше поле делать number или все же выбирать varchar? 3) насчет улиц, улицы должны рабиваться по районам, но некоторые улицы находяться в двух районах , а есть такие, что и в трех... p.s. прошу тапками меня не закидывать... т.к. я новичок в проектировании баз . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2013, 17:23 |
|
||
|
Помогите в проектировании БД
|
|||
|---|---|---|---|
|
#18+
1) Разбить на три 2) varchar 3) решение зависит от обстоятельств 3.1) Считать, что в разных районах разные улицы с совпадающими названиями 3.2) Организовать связь улиц с районами M:N. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2013, 17:51 |
|
||
|
Помогите в проектировании БД
|
|||
|---|---|---|---|
|
#18+
stydentik, 1. В одном поле. по ходу сразу и склонение прописывать, т.к. есть весьма нестандартные ситуации. 2. varchar 3. Ну и что? Могу удивить - некоторые еще и повторяются в разных городах. Смотрите КЛАДР как макет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2013, 17:51 |
|
||
|
Помогите в проектировании БД
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov1) Разбить на три 2) varchar 3) решение зависит от обстоятельств 3.1) Считать, что в разных районах разные улицы с совпадающими названиями 3.2) Организовать связь улиц с районами M:N. по поводу первого пункта как все же реализовать склонение по падежам ФИО и хранить в базе ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 17:18 |
|
||
|
Помогите в проектировании БД
|
|||
|---|---|---|---|
|
#18+
Я тоже за разбить ФИО на части. Слить потом гораздо проще чем снова разбивать. stydentik по поводу первого пункта как все же реализовать склонение по падежам ФИО и хранить в базе ?Ну сказали же вам - добавляйте еще полей для падежей. Если озабочены размером, то заполняйте их только в странных случаях оставив null (места не занимает) для дефолтных. Пусть оператор при заведении решает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 17:35 |
|
||
|
Помогите в проектировании БД
|
|||
|---|---|---|---|
|
#18+
stydentikкак все же реализовать склонение по падежам ФИО и хранить в базе ? Как отдельную таблицу с масками и соответствующими им склонениями. Брать нужное склонение с длиннейшей маской. Так автоматически обработаются исключения (если таковые будут). Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 17:56 |
|
||
|
Помогите в проектировании БД
|
|||
|---|---|---|---|
|
#18+
Извеняюсь за возможно глупый вопрос (на форуме не нашел) , но все же. С помощью чего можно проектировать базу, чтобы можно было создавать диаграму (ERD) и потом, чтобы можно было проверить связи между таблицами и др. ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2013, 18:29 |
|
||
|
Помогите в проектировании БД
|
|||
|---|---|---|---|
|
#18+
stydentikС помощью чего можно проектировать базу Лично я предпочитаю лист бумаги и карандаш. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2013, 18:44 |
|
||
|
Помогите в проектировании БД
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovstydentikС помощью чего можно проектировать базу Лично я предпочитаю лист бумаги и карандаш. да я тоже сейчас так делаю, но с увелечением количества таблиц и связей начинаюсь теряться, а на счет проверки связей вообще молчу ( . Может есть какие либо инструменты для проектирование и особенно проверки связей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2013, 18:53 |
|
||
|
Помогите в проектировании БД
|
|||
|---|---|---|---|
|
#18+
stydentikно с увелечением количества таблиц и связей начинаюсь теряться Увелись формат листа до А0. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2013, 20:08 |
|
||
|
Помогите в проектировании БД
|
|||
|---|---|---|---|
|
#18+
stydentikда я тоже сейчас так делаю, но с увелечением количества таблиц и связей начинаюсь теряться, а на счет проверки связей вообще молчу ( . Может есть какие либо инструменты для проектирование и особенно проверки связей? Значит вы что-то делаете не то ;-) Анализировать схему БД >10 таблиц, уже затруднительно. Поэтому этого не надо делать. ;-) Разбейте БД на "логические" части. Старайтесь, что бы в логической части было не больше 10 таблиц. Именуйте суррогатный ключ везде как <имя таблицы>_ID Это позволит вам видеть связь м/у "логическими" частями БД, не отрисовывая эту связь на прямую. Название таблиц должно быть "звучащим". Не бойтесь длинных названий таблиц. Название полей так же должно быть понятным. В общем где-то так. P.S. В том же MS SQL Project manger существует построить диаграмму БД. Когда таблиц в БД ~100 - это превращается в довольно интересную "паутинку". В которой разобраться довольно трудно. А разбить на "логические" части бывает затруднительно, т.к. все в одной схеме и добавление таблицы может привести к задаче "плотной упаковки" :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2013, 07:16 |
|
||
|
Помогите в проектировании БД
|
|||
|---|---|---|---|
|
#18+
mad_nazgulstydentikда я тоже сейчас так делаю, но с увелечением количества таблиц и связей начинаюсь теряться, а на счет проверки связей вообще молчу ( . Может есть какие либо инструменты для проектирование и особенно проверки связей? Значит вы что-то делаете не то ;-) Анализировать схему БД >10 таблиц, уже затруднительно. Поэтому этого не надо делать. ;-) Разбейте БД на "логические" части. Старайтесь, что бы в логической части было не больше 10 таблиц. Именуйте суррогатный ключ везде как <имя таблицы>_ID Это позволит вам видеть связь м/у "логическими" частями БД, не отрисовывая эту связь на прямую. Название таблиц должно быть "звучащим". Не бойтесь длинных названий таблиц. Название полей так же должно быть понятным. В общем где-то так. P.S. В том же MS SQL Project manger существует построить диаграмму БД. Когда таблиц в БД ~100 - это превращается в довольно интересную "паутинку". В которой разобраться довольно трудно. А разбить на "логические" части бывает затруднительно, т.к. все в одной схеме и добавление таблицы может привести к задаче "плотной упаковки" :-)Спасибо за ответ. Попробовал JDeveloper (т.к. база Oracle), проектирование есть, но проверку связей, что-то не нашел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2013, 10:21 |
|
||
|
Помогите в проектировании БД
|
|||
|---|---|---|---|
|
#18+
stydentikпроверку связей, что-то не нашел. Чисто из любопытства: а что Вы называете "проверкой связей"? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2013, 11:56 |
|
||
|
Помогите в проектировании БД
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakovstydentikпроверку связей, что-то не нашел. Чисто из любопытства: а что Вы называете "проверкой связей"? Я новичок в бд , тем более в проектировании, поэтому возможно не все понимаю и смотрю на вещи не с той стороны, но я думаю нет же такого, что наставить связей между таблицами и это в любом случае будет правильно и будет работать корректно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2013, 12:09 |
|
||
|
Помогите в проектировании БД
|
|||
|---|---|---|---|
|
#18+
stydentikнет же такого, что наставить связей между таблицами и это в любом случае будет правильно и будет работать корректно. Слова "правильно" и "корректно" в данном случае не имеют смысла, поскольку правильность "работы" связей зависит от ТЗ. Если они отвечают требованиям ТЗ, значит построены правильно. Если не отвечают, значит неправильно. Соответственно ни о какой автоматической или даже автоматизированной проверке не может идти речи. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2013, 12:48 |
|
||
|
Помогите в проектировании БД
|
|||
|---|---|---|---|
|
#18+
stydentikЯ новичок в бд , тем более в проектировании, поэтому возможно не все понимаю и смотрю на вещи не с той стороны, но я думаю нет же такого, что наставить связей между таблицами и это в любом случае будет правильно и будет работать корректно. Вообще-то это звучит так: "Я не умею ездить на машине и не знаю ПДД. Посоветуйте мне машину чтобы на ней ездить и чтобы правила соблюдать". :-) Так вот. Связи проектируются человеком исходя из задачи. Правильность/не правильность определяет только человек. Например можно создать БД, в котором не содержится ни единого внешнего ключа. Но связи м/у таблицами будут. Они будут на логическом уровне. И человек знающий данные связи может работать с данной БД. И наоборот. В БД может быть куча внешних ключей, но ни один их них не будет иметь смысла. <:o) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2013, 13:31 |
|
||
|
Помогите в проектировании БД
|
|||
|---|---|---|---|
|
#18+
mad_nazgulПосоветуйте мне машину чтобы на ней ездить и чтобы правила соблюдать OFF: гуглемобиль. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2013, 14:40 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=38296809&tid=1541220]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
164ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 15ms |
| total: | 279ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...