Форум: Форум C++Разное
Новые темы: 00
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум C++

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Разработка приложения на основе Базы Данных.
 
 автор: EvgenLog   (24.01.2007 в 20:24)   письмо автору
 
 

В данный момент я приступаю к разработке достаточно сложного (для меня) приложения, которое будет основано на базе данных. т.е. практически вся информация, которая будет в нём отображатся, будет браться из базы данных. Соответсвенно информация будет динамической. Приложение это ни что иное, как информационно-деловой справочник. В нём будет размещена ОГРОМНАЯ база данных, в которой будет содержаться ВСЯ информация о каждом преприятие в определённом городе. Естественно, что в приложении будут использоваться системы поиска различного уровня.

Собсвенно вопросы:
1) Что можно посоветовать в общем?
2) Что можно посоветовать конкртно? Т.е. какую базу данных (какого типа), лучше брать за основу (учитывая объём информации и удобноё её изменение, возможно обновление через интернет. Подобие обновления баз Антивируса)?
3) Стоит-ли писать приложение "руками", т.е. используя API или лучше написать использую графический интерфейс?

Спасибо.

  Ответить  
 
 автор: cheops   (24.01.2007 в 20:57)   письмо автору
 
   для: EvgenLog   (24.01.2007 в 20:24)
 

1) База данных будет отдельно устанавливаться или в составе программы? Дело в том, что СУБД используются в двух режимах - отдельного сервера, который устанавливается, настраивается и конфигуруется отдельно, а программа по сути выступает как толстый клиент сервера. Одни сервер - много программ. Другой вариант - это внутренний сервер, т.е. сервер работает как модуль программы (DLL-библиотека) и устанавливается вместе с программой. Соответственно - одна программа - один сервер. Внутренние сервера имеют MySQL, InterBase, про другие не знаю, но наверняка тоже.

>2) Что можно посоветовать конкртно? Т.е. какую базу данных (какого типа), лучше брать за
>основу (учитывая объём информации и удобноё её изменение, возможно обновление через
>интернет. Подобие обновления баз Антивируса)?
Огромная - это сколько? С обновлением проблем не будет - поставите модуль для работы с HTTP и будете дампы скачивать с сайта и обновлять базу, выполняя их.

>3) Стоит-ли писать приложение "руками", т.е. используя API или лучше написать использую
>графический интерфейс?
Нет, использовать API не стоит - и без него у вас проблем будет куча, если понадобится - всегда сможете через специальный интерфейс получить дескрипторы API и использовать соответствующие функции. Здесь даже VC++ пожалуй не стоит использовать - всех больше средст для работы с базами данных в Builder.

  Ответить  
 
 автор: EvgenLog   (24.01.2007 в 21:13)   письмо автору
 
   для: cheops   (24.01.2007 в 20:57)
 

1) Думаю, что база будет внутренней. Думаю так проще. Но можно сделать и отдельную. Наверное так даже будет логичнее. Допустим, если программа ставится на предприятие с сетью, то можно будет установить базу на сервер и в последующем все компюютеры будут получать данные оттуда.
Есть ещё в голове такой вариант. Постольку поскольку все данные в базе программы будут дублироваться из базы на сайте, то возможно-ли сделать их динамическую загрузку? Это будет выглядеть примерно так.
Пользователь запускает программу. При этом из базы сайта (базы на удалённом сервере) скачивается необходимая в данный момент информация (т.е. та, кторая будет на стартовм окне. И по мере путешествия по ветвям справочника она так и будет подгружаться и сохраняться на локальной машине, а далее просто обнавляться. Думаю этот вариант будет очень удобен для пользователей, которые пожелают скачать программу непосредсвеннос сайта, через интернет, т.к. скачивать придётся масимум 10 метров. В ином случае, если базу загружать вместе с программой, то им пришлось бы скачивать порядка 600 метров. Вот кстати и ответ на вопрос "ОГРОМНАЯ, это сколько?" - 600 метров. 6000 преприятий с подробным описанием каждого (адрес, телефоны, продукция, характеристики продукции и т.д.) + реклама.
Таким образом можно сделать две версии программы. Для скачивания из сети и для утановки с диска. Соответсвенно в версии для скачивания база будет подгружаться по мере надобности, а в версии для компакт дисков (в продажу) база будет устанавливаться сразу и вся, а в далее только обновляться.
Осуществимо-ли такое?

3) Что за специальный интерфейс?
И в таком случае, как мне придать кнопкам стиль XP?
Можно-ли использовать Delphi?

  Ответить  
 
 автор: cheops   (24.01.2007 в 21:57)   письмо автору
 
   для: EvgenLog   (24.01.2007 в 21:13)
 

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

2) 600 метров - база средняя считается, в принципе такой объём потянет MySQL, безусловно поятнет MS SQL, про InterBase (он же Firebird) не знаю - если настраивать тоже вероятно. В общем ничего не вероятного нет.

3) Круглые овальные окошки, кнопки, в общем не стандартные элементы.

>И в таком случае, как мне придать кнопкам стиль XP?
Я бы не рекомендовал бы... у кого XP и так будет выглядеть как в XP, у кого другая операционная система, но если человек хочет такие кнопки - поставит себе соответствующую тему. Других же будет раздражать, тем более вы ориентируетесь как я понял на серьёзных людей, лучше не заигрывать с интерфейсом. Программа выглядит серьёзно и профессионально, когда пользователь её не замечает, а замечает лишь работу, которую он при её помощи выполняет.

>Можно-ли использовать Delphi?
Да, конечно, получится не хуже.

  Ответить  
 
 автор: EvgenLog   (24.01.2007 в 22:28)   письмо автору
 
   для: cheops   (24.01.2007 в 21:57)
 

1) Это ясно. Но другой вариант вряд-ли применим. Ведь качать из инета 600 метров не легче.

3) Дак в том дело, что когда создаёшь форму, то кнопки ВСЕГДА и В ЛЮБОМ СЛУЧАЕ остаются плоскими, в независимости от выбранной темы. А я вот как раз и хочу сделать тк, чтобы если у пользователя стиль XP. то и кнопки и все др. елементы в этом стиле (стандартные системыные, а не собственной разработки).

  Ответить  
 
 автор: cheops   (24.01.2007 в 22:38)   письмо автору
 
   для: EvgenLog   (24.01.2007 в 22:28)
 

1) А вы разве базу предустанавливать не будете? Или клиенты всё будут загружать из Интернет?

2) Что-то не очень понял - кнопки меню имеются ввиду, у меня просто стиль windows XP отключён, я не помню, его...

  Ответить  
 
 автор: EvgenLog   (24.01.2007 в 22:41)   письмо автору
 
   для: cheops   (24.01.2007 в 22:38)
 

1) Естетсвенно буду. Для того и планируется выпутить 2 версии.
Для скачивания из интернета:
Скачивается скелет программы, без данных. Они будут подгружаться по мере необходимости.
Для установки сдиска:
Программа имеет встроенную ПОЛНУЮ базу с возможностью динамического обновления.

2) Стиль XP делает кнопки блестящего металического или песочного цвета или бронзового (в зависимости от выбора пользователя). То же самое происходит и с полосами прокрутки, и др. элементами приложения. Если ж создавать эти элементы в Delphi, то они всегда одного стиля (можно его назвать стиль Windows 2000), они всегда плоские и серенькие.

  Ответить  
 
 автор: cheops   (24.01.2007 в 22:50)   письмо автору
 
   для: EvgenLog   (24.01.2007 в 22:41)
 

2) Слушайте, а ведь точно, и в Builder таже ерунда... они просто перехватывают видать всё и отрисовывают кнопки сами... Хм... надо ставить новый Builder и смотреть не решена ли там эта проблема и нет ли соответствющих элементов управления...

  Ответить  
 
 автор: EvgenLog   (24.01.2007 в 22:54)   письмо автору
 
   для: cheops   (24.01.2007 в 22:50)
 

И что тепрь делать? Рисовать самому по мере необходимости? Или это всётаки можно с помощью реестра исправить?

  Ответить  
 
 автор: cheops   (24.01.2007 в 23:00)   письмо автору
 
   для: EvgenLog   (24.01.2007 в 22:54)
 

Давайте в теме http://www.softtime.ru/cpp/read.php?id_forum=1&id_theme=90 продолжим.

  Ответить  
 
 автор: cheops   (24.01.2007 в 22:43)   письмо автору
 
   для: EvgenLog   (24.01.2007 в 22:28)
 

>все др. елементы в этом стиле
А под другими элементами, что имеется в виду? В любом случае - параметр, ответственный за отображение стиля Windows XP обязательно присутствует в системном реестре и вы всегда сможете точно определить включён стиль или нет (но под этот вопрос лучше отдельную тему завести).

  Ответить  
 
 автор: EvgenLog   (24.01.2007 в 22:45)   письмо автору
 
   для: cheops   (24.01.2007 в 22:43)
 

Др. элементы - это списки (выпадающие, прокручиваемые), надписи, разделители и т.д.

  Ответить  
 
 автор: EvgenLog   (27.01.2007 в 13:27)   письмо автору
 
   для: cheops   (24.01.2007 в 22:43)
 

Вот ещё бы хотелось узнать. В какой последовательности лучше всё делать? Т.е. что сначала? Базу настроить? Или с проектирования формы начать? Ну вобщем, подскажите пожалуйста.

  Ответить  
 
 автор: cheops   (27.01.2007 в 13:32)   письмо автору
 
   для: EvgenLog   (27.01.2007 в 13:27)
 

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

  Ответить  
 
 автор: EvgenLog   (27.01.2007 в 16:54)   письмо автору
 
   для: cheops   (27.01.2007 в 13:32)
 

Ну а база-то уже готова. Т.е. её структура. Осталось только прикрутить эту структуру к приложению. Это сложно?

  Ответить  
 
 автор: cheops   (27.01.2007 в 22:22)   письмо автору
 
   для: EvgenLog   (27.01.2007 в 16:54)
 

В этом-то всё и дело, спокойным можете себя чувствовать только тогда, когда прочитаете русский текст из базы данных в и выведите его в программе и наоборот - запишите в базу данных из программы русский текст.

  Ответить  
 
 автор: EvgenLog   (29.01.2007 в 23:34)   письмо автору
 
   для: cheops   (27.01.2007 в 22:22)
 

Ясно. Т.е. нужно сделать что-то типа разлинновки, что и где будет выводиться. Другими словами, написать движок. Очень похоже на PHP.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования