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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
SparcoCF
0 / 0 / 0
Регистрация: 13.08.2009
Сообщений: 3
#1

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

13.08.2009, 20:09. Просмотров 745. Ответов 7
Метки нет (Все метки)

Всем привет мужики, сам я являюсь PHP программистом, но тут у меня возникла потребность написать прогу на Сях, именно его выбрал потому что синтаксис почти один и тот же что и на ПХП. Значит программа должна выводить данные из базы по запросу пользователя. Что бы было понятнее это база поиска автомобильных запчастей. Что можете посоветовать каким образом лучше всего обрабатывать базу ? Скорее всего что ни MySql, ни Oracle ни MicrosoftSQL не подойдут поскольку эта программа должна работать на любом компьютере. Каким образом .. и в какой формат файла можете посоветовать сконвертировать базу которая содержит порядка 10 миллионов строк ? Главное что бы поиск осуществлялся быстро. Буду очень благодарен любым подсказкам.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.08.2009, 20:09     Работа с базой
Посмотрите здесь:

Работа с базой данных - C++
Добрый день! Прошу совета! Задание было, написать БД по билетам вокзала. Так вот, все процедуры работают, кроме одной, не могу догнать, что...

работа с базой данных - C++
Написать программу работы с базой данных. База хранится в оперативной памяти в виде структуры. Структура содержит набор переменных разного...

Работа с базой данных web - C++
Здравствуйте, уважаемые пользователи форума. Очень нужна ваша помощь. Требуется реализовать программу, работа которой по идее очень...

Работа из MS VC++ с базой Access 2000 - C++
Здравствуйте все! Ране написанная мною программка работала с базой Access 97 через DAO - не хотелось мне с ODBC связываться. Версия MS...

Работа с базой данных из консоли - C++
Доброго времени суток. Раньше никогда с БД не работал, а тут интересно стало, как все это работает. С обычным приложение все...

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

Работа с текстовым файлом как с базой данных - C++
привет всем. возник вот такой вопрос: есть некая база данных в текстовичке. нужно что бы с помощью программы по части известного,...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
odip
Эксперт С++
7157 / 3297 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
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
Эксперт С++
7157 / 3297 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
13.08.2009, 21:33     Работа с базой #4
данную программу будут юзать обычные пользователи у которых на компах нет никакой СУБД поэтому всю базу нужно залить в отдельный файл.
Ну нет - так поставят.
Программу же надо будет инсталлировать, вот и mysql поставят.

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

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

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

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

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

Писать нужно на том, чьи компоненты лучше знаеш. У борланда много заточек под интербейзб(соответсвенно и под фб). Ну а визуал - ADO + C#. Ну и всегда остается возможность натив апи сервера + апи винды.
accept
4821 / 3241 / 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     Работа с базой
Еще ссылки по теме:

Работа с базой данных SQLITE3 [Русские символы] - C++
Здравствуйте. Есть программа: #include <stdio.h> #include <stdlib.h> #include "sqlite3.h" int main() { sqlite3* db; ...

Работа с базой данных. Как заполнить таблицу? - C++
Добрый день. Как заполнить таблицу в бд(она уже создана.) Если не сложно приведите какой-нибудь исходник для наглядности. И литературу,...

Работа с базой данных, содержащей записи со сведениями о студентах - C++
#include "stdafx.h" #include <ctime> #include <stdlib.h> #include <fstream> #include <iostream> using namespace std; ...

Работа с базой данных фильмов в виде текстового файла - C++
Нужна помощь!!!Создать программу для работы с базой данных фильмов в виде текстового файла. Записи в файле должны быть упорядочены в виде...

Соединение с базой Oracle - C++
Как произвести соединение с базой Oracle программируя на с++ под Unix? Спасибо за ответ


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

Или воспользуйтесь поиском по форуму:
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     Работа с базой
Ответ Создать тему
Опции темы

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