Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > СУБД, общие вопросы > Есть ли разница - чем создавать базу данных?


Автор: maxo127 4.5.2007, 01:58
На предприятие задача - создать базу данных абонентов. База получается не малая - порядка миллиона записей, около ста полей. Данные в базу будут вводить 10-15 операторов из офисов, соединенных с центром через интернет (каналы налажены и защищены).
На это самое предприятие есть люди, которые могут сделать эту базу - описать ее, предусматрывая все процессы на все случаи жизни, сделать саму базу, написать любие отчеты, которые могут понадобиться - но все на аксессе. А определенные круги настаивают заказать базу сторонным фирмам, которые сделают ее на ххSQL или Oracle. 

(дело в том, что те сторонные потребовали за это столько время и деньги, что за такие ресурсы и собственные кадры смогут переквалифицироваться, не останавливая при этом работу. На данный момент надо лишь убедиться и уверить других, что лучше начать работу в аксесс, а дальше, если что, можно будет перейти на другой инструмент, не делая все заново).

Интересно мнение специалистов:

1. Чем лучше база, сделанная средствами ххSQL или Oracle, и может ли способ создания базы отразиться на качество (функциональность) получаемых отчетов?
2. Нелзя ли базу, созданную и "проработавшую" в Access некоторое время, использовать потом (когда/если настанет лучшая жизнь) в этих средах (экспортировать, конвертировать или как это делается)?


Автор: LSD 4.5.2007, 11:34
Цитата(maxo127 @  4.5.2007,  02:58 Найти цитируемый пост)
1. Чем лучше база, сделанная средствами ххSQL или Oracle, и может ли способ создания базы отразиться на качество (функциональность) получаемых отчетов?

Если база на Access-е вас полностью устраивает, то используйте ее. Другое дело что у Access есть серьезные ограничения по конкурентному доступу к нему. Плюс устойчивость к сбоям у Access гораздо ниже чем у Oracle.
Я бы на вашем месте более четко сформулировал задачу:
- база одна на все филиалы, или в каждом филиале своя и проводится репликация
- сколько человек будет одновременно работать с базой (максимум и типичная нагрузка)
- структура таблиц, и количество данных, как быстро таблицы будут расти
- на чем будете писать клиентское приложение
и на основе этого уже будет проще выбрать СУБД.

Цитата(maxo127 @  4.5.2007,  02:58 Найти цитируемый пост)
2. Нелзя ли базу, созданную и "проработавшую" в Access некоторое время, использовать потом (когда/если настанет лучшая жизнь) в этих средах (экспортировать, конвертировать или как это делается)?

Можно, но это потребует переработки клиентского приложения. Можно заранее озаботиться этим вопросом, так чтобы переработка была минимальной.

Автор: SergeBS 4.5.2007, 12:41
maxo127, 
Самое надежное и простое решение - найти знакомого программиста в своих окрестностях, который серьезно работал с СУБД. Есть достаточно небольшое количество вопросов, по которым можно определить эту серьезность. Он сможет из ваших требований сформулировать ТЗ. И может даже перекрутит структуру в правильную сторону. Поскольку как только я слышу про таблицу из 100 полей, я сразу подозреваю, что со структурой базы что-то не то. Как правило так и оказывается.

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

Боюсь что они этого не могут. Почему - см. выше и ниже.
Цитата
те сторонные потребовали за это столько время и деньги, что за такие ресурсы и собственные кадры смогут переквалифицироваться, не останавливая при этом работу

За год-два, не меньше. Потому что умение что-то делать в Access и грамотная разработка БД - две большие разницы. Да и опыт - штука приходящая со временем smile.

Цитата
На данный момент надо лишь убедиться и уверить других, что лучше начать работу в аксесс,

Не советую. Не надо начинать в аксесс. Это только замедлит разработку.
Access - настольная СУБД. Для 1-3 человек за соседними компами. Это не сервер БД. А вам нужен именно сервер. Коротко недостатки:
- ненадежен (нет транзакций/журналирования/бэкапа-восстановления). В один "прекрасный" день база просто грохнется и привет.
- невозможна многопользовательская работа напрямую. Почему - см. http://forum.vingrad.ru/topic-98366.html
- не способен работать с большими объемами.
Вообще см. http://forum.vingrad.ru/index.php?showtopic=30912 Поможет.

Цитата

1. Чем лучше база, сделанная средствами ххSQL или Oracle, и может ли способ создания базы отразиться на качество (функциональность) получаемых отчетов?

Сервера есть сервера. Это - возможность (при грамотной разработке) получить надежное решение. Access этого не даст. А отчеты можно и в Access продолжать строгать, используя его как клиента. И куча других способов есть получить отчеты.

Цитата

2. Нелзя ли базу, созданную и "проработавшую" в Access некоторое время, использовать потом (когда/если настанет лучшая жизнь) в этих средах (экспортировать, конвертировать или как это делается)?

Представь, что начал работать с dbf-ками. А потом перетаскиваешь в access. Примерно аналогично.
Не стоит начинать работать с не подходящим задаче инструментом. А импорт из Access - ну если не в 1, то в 2 этапа делается. Например вначале втягиваем в MS SQL, оттуда ErWin/Sybase PowerDesigner - перекинут в тот же Oracle или кучу других. И LSD верно отметил о клиенте. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)