Форум программистов, компьютерный форум CyberForum.ru

Работа с базой - C++

Восстановить пароль Регистрация
 
SparcoCF
0 / 0 / 0
Регистрация: 13.08.2009
Сообщений: 3
13.08.2009, 20:09     Работа с базой #1
Всем привет мужики, сам я являюсь PHP программистом, но тут у меня возникла потребность написать прогу на Сях, именно его выбрал потому что синтаксис почти один и тот же что и на ПХП. Значит программа должна выводить данные из базы по запросу пользователя. Что бы было понятнее это база поиска автомобильных запчастей. Что можете посоветовать каким образом лучше всего обрабатывать базу ? Скорее всего что ни MySql, ни Oracle ни MicrosoftSQL не подойдут поскольку эта программа должна работать на любом компьютере. Каким образом .. и в какой формат файла можете посоветовать сконвертировать базу которая содержит порядка 10 миллионов строк ? Главное что бы поиск осуществлялся быстро. Буду очень благодарен любым подсказкам.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
odip
Эксперт C++
 Аватар для odip
7226 / 3288 / 59
Регистрация: 17.06.2009
Сообщений: 14,165
13.08.2009, 20:25     Работа с базой #2
Это почему mysql не пойдет ? Mysql есть под Windows.

Ты бы задачу подробнее описал.
База уже есть или ее нет ?
У тебя есть 10000000 записей и их нужно загнать в базу ? Саму базу еще не выбрал ?
Программа и база будут будут работать на одном компьютере ?

в какой формат файла можете посоветовать сконвертировать базу
А в каком формате база сейчас ?

Добавлено через 44 секунды
Есть еще firebird.
SparcoCF
0 / 0 / 0
Регистрация: 13.08.2009
Сообщений: 3
13.08.2009, 21:05  [ТС]     Работа с базой #3
Это почему mysql не пойдет ? Mysql есть под Windows.
Я знаю что есть MySQL под винду но дело в том что данную программу будут юзать обычные пользователи у которых на компах нет никакой СУБД поэтому всю базу нужно залить в отдельный файл.

Ты бы задачу подробнее описал.
Задача следующая:
Поиск автозапчасти по производителю, на форме есть селектор в котором выбираем производителя (Audi, Ford, Mecedes, VW ..... ) и инпут в который вводим нужный нам код автозапчасти, и кнопка "ОК" которая сабмитит.
Скрипт обрабатывает данные и выводит юзеру информацию в виде таблицы:
Марка №Запчасти Название Вес Цена
____________________________________________
Вот и весь алгоритм работы скрипта.

У тебя есть 10000000 записей и их нужно загнать в базу ? Саму базу еще не выбрал ?
Так точно порядка 10млн записей. База уже выбрана(МУСКУЛ) и спроектированная и обрабатывается с помощью ПХП.
Программа и база будут будут работать на одном компьютере ?
Да программа и база должна работать на одном компьютере.
А в каком формате база сейчас ?
Сейчас база в формате MYD (это MySQL-й формат) но нет проблем ее сконвертировать sql запрос или в CSV файл. А уж из CSV можно сделать какой угодно формат.
Есть еще firebird.
ОгненнуюПтичку знаю )) но опять же не подходит так как СУБД у пользователя не будет. Все нужно будет запаковать в инсталяционный пакет и рассылать партнерам.

Добавлено через 5 минут 49 секунд
И еще вопрос, на чем лучше писать Борланде или Визуале ?
odip
Эксперт C++
 Аватар для odip
7226 / 3288 / 59
Регистрация: 17.06.2009
Сообщений: 14,165
13.08.2009, 21:33     Работа с базой #4
данную программу будут юзать обычные пользователи у которых на компах нет никакой СУБД поэтому всю базу нужно залить в отдельный файл.
Ну нет - так поставят.
Программу же надо будет инсталлировать, вот и mysql поставят.

Вот и весь алгоритм работы скрипта.
Для этого вообще база не нужна. Можно в текстовом файле хранить.

В Visual Studio сделай простую формочку для программы.
Данные можно рассылать прямо в CSV-файле.
И искать прямо в нем тупым алгоритмом. При таком простом алгоритме все время уйдет на чтение файла.

Если скорость не устроит, то дальше можно ускорять.
1) Сделать индексирование самому.
Или
2) Вместо текстового файла использовать SQLLite.

Добавлено через 1 минуту 56 секунд
Во - можно еще на QT написать.
QT SDK бесплатно дают

Добавлено через 1 минуту 31 секунду
Опять же SQLLite в QT встроен.
Alexandoros
226 / 64 / 4
Регистрация: 02.06.2009
Сообщений: 280
13.08.2009, 21:46     Работа с базой #5
У фиреберда есть ембеддед сервер, который инсталировать не нужно, просто скопировать. Наверняка и у других бд есть чтото похожее. Тот же скуллайт.

Писать нужно на том, чьи компоненты лучше знаеш. У борланда много заточек под интербейзб(соответсвенно и под фб). Ну а визуал - ADO + C#. Ну и всегда остается возможность натив апи сервера + апи винды.
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
17.08.2009, 07:59     Работа с базой #6
раздели базу на файлы по категориям Audi, Ford, Mecedes, VW ...
skvor
640KB мне хватило на всё.
118 / 49 / 2
Регистрация: 07.06.2009
Сообщений: 442
17.08.2009, 09:23     Работа с базой #7
Вопрос поставлен исключительно глупо.
1) Выбирать язык по принципу схожести синтаксиса - бред. Если PHP ваш первый язык, то базу на C напишите не раньше чем через год.
2) Что может C на web-сервере, чего не может PHP/SSI/perl? (если не считать производительности)
3)
Цитата Сообщение от SparcoCF Посмотреть сообщение
Скорее всего что ни MySql, ни Oracle ни MicrosoftSQL не подойдут поскольку эта программа должна работать на любом компьютере.
Что значит "на любом"? На ZX_Spectrum надо?
Пишите точно - база на сервере Internet, сервере предприятия, или будете раздавать/продавать дистрибутивы пользователям?
4) Для того, чтоб работала быстро, надо грамотно сделать индексацию, разработать структуру с учётом форм запросов. От типа "движка" базы и языка это зависит на много меньше.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.08.2009, 14:28     Работа с базой
Еще ссылки по теме:

C++ Работа с базой данных, содержащей записи со сведениями о студентах
C++ Работа с базой данных. Как заполнить таблицу?
C++ Работа с текстовым файлом как с базой данных
C++ Работа с базой данных web
Работа с базой данных фильмов в виде текстового файла C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
SparcoCF
0 / 0 / 0
Регистрация: 13.08.2009
Сообщений: 3
17.08.2009, 14:28  [ТС]     Работа с базой #8
skvor
1) Выбирать язык по принципу схожести синтаксиса - бред. Если PHP ваш первый язык, то базу на C напишите не раньше чем через год.
Ну почему же бред ? А что мне выбирать язык с которым я вообще не знаком ? Легче ведь учить чешский если уже знаешь польский. Да и С является самым лучшим для понимания и гибким языком это признано многими специалистами. Так то о выборе на чем писать я даже не думаю. Если можете то аргументируйте почему мне стоит выбрать другой язык программирования ?

2) Что может C на web-сервере, чего не может PHP/SSI/perl? (если не считать производительности)
А при чем здесь С на веб сервере ? Я ведь не собираюсь запускать сценарии в интернете или на локалхосте.
Моя задача такова написать программу которая будет работать как win32 приложение без какого либо выхода в интернет.

3)
Цитата:
Сообщение от SparcoCF Посмотреть сообщение
Скорее всего что ни MySql, ни Oracle ни MicrosoftSQL не подойдут поскольку эта программа должна работать на любом компьютере.
Что значит "на любом"? На ZX_Spectrum надо?
Простите что так написал "на любом" конечно что мне поддержка архаичных и экзотичных компьютеров не нужна. Должно работать на терминале с установленной ОС Виндовс не ниже Хрюши.
Пишите точно - база на сервере Internet, сервере предприятия, или будете раздавать/продавать дистрибутивы пользователям?
Пишу точно: база будет в дистрибутиве. Весит она благо не много около 400Мб.
4) Для того, чтоб работала быстро, надо грамотно сделать индексацию, разработать структуру с учётом форм запросов. От типа "движка" базы и языка это зависит на много меньше.
Это я знаю с базами работаю не первый день. Но вот получается загвоздка, никто из пользователей себе ставить MySQL или Oracle не будет, а интегрировать установку СУБД в дистрибутив тоже не очень то разумно. Самым идеальным выходом мне кажется загнать весь каталог автозапчастей в файл допустим DBF сделать для него индексный файл и все будет работать быстро и красиво.

Советуйте критикуйте буду рад любым комментариям.
Yandex
Объявления
17.08.2009, 14:28     Работа с базой
Ответ Создать тему
Опции темы

Текущее время: 02:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru