Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите с написанием программы. Нужно сделать базу данных. 
:(
    Опции темы
antsh
Дата 10.10.2005, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 72
Регистрация: 16.9.2005

Репутация: нет
Всего: нет



Начну с описания программы. Мне необходимо написать прогу, которая бы работала как SQL.
Имеется несколкьо файлов формата *.csv с даными вида:

info.csv :

ikood,name,surname,age,length
10,Jaan,Mets,32,170.5
50,Mihkel,Karu,21,180.4
30,Anna Marie,Rebane,22,165


Команда например:
select * from info where info.age='21'

Должна выдать:
info.ikood, info.name, info.surname, info.age, info.length
50,Mihkel,Karu,21,180.4


Построение программы состоит в следующем:
1) человек вводит команду, запрос.
2) программа должна понять, что ей необходимо выполнить (из команды берёт указания (select, where ...) имена файлов (info) ...).
3) дальше идут вход функции которые и будут всё делать.
4) ответ выдаётся на экрал или в файл.

Проблема: как сделать так, чтобы программа сканирывала команду и брала оттуда ключевые слова (select, where, info ...) и затем переходила в нужные функции?
PM   Вверх
pvo
Дата 10.10.2005, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 7.10.2005
Где: Мск

Репутация: 2
Всего: 7



Разбор SQL можно сделать, например, с помощью JavaCC ...
Я где-то в инете встречал грамматики JavaCC для SQL ...

По результатам разбора команды реализовывать ее выполнение ...
PM MAIL ICQ   Вверх
antsh
Дата 10.10.2005, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 72
Регистрация: 16.9.2005

Репутация: нет
Всего: нет



pvo Проблема в том, что мне необходимо всё написать на стандартном J2SE. smile
PM   Вверх
pvo
Дата 10.10.2005, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 7.10.2005
Где: Мск

Репутация: 2
Всего: 7



Тогда StreamTokenizer использовать. Или regexp. А то, что генерит JavaCC - самому написать smile

Это сообщение отредактировал(а) pvo - 10.10.2005, 18:55
PM MAIL ICQ   Вверх
distorti
Дата 10.10.2005, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 25.7.2005

Репутация: нет
Всего: нет



Интересно..., а функциональность полная должна быть???
Или какие конструкции допустимы? Триггеры не надо случайно : ))
PM MAIL   Вверх
antsh
Дата 10.10.2005, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 72
Регистрация: 16.9.2005

Репутация: нет
Всего: нет



distorti Тригеры не нужны Саня smile Короче должен распозновать 4- 5 команд, впринцепе не важно какие важен сам принцип реализации, то есть взять запрос, выполнить его и вдать ответ. Щас буду разбираться с тем, что предложил pvo
PM   Вверх
Бонифаций
Дата 10.10.2005, 20:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 827
Регистрация: 15.9.2005
Где: Brisbane

Репутация: 1
Всего: 40



Цитата(antsh @ 10.10.2005, 19:44)
distorti Тригеры не нужны Саня smile Короче должен распозновать 4- 5 команд, впринцепе не важно какие важен сам принцип реализации, то есть взять запрос, выполнить его и вдать ответ. Щас буду разбираться с тем, что предложил pvo

я бы предложил hsqldb (www.hsqldb.org) там уже все готово (просто тип таблицы ставите text) и работаете


--------------------
 Бонифаций.
 
PM MAIL ICQ Skype GTalk Jabber YIM   Вверх
antsh
Дата 10.10.2005, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 72
Регистрация: 16.9.2005

Репутация: нет
Всего: нет



Бонифаций Мне нужно в универ сдать прогу smile Думаю если я преподу принесу готовый продукт он врядли меня по головке погладит smile
PM   Вверх
Бонифаций
Дата 10.10.2005, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 827
Регистрация: 15.9.2005
Где: Brisbane

Репутация: 1
Всего: 40



понятно. Тогда проще всего пожалуй будет - antlr (antlr.org) - на сайте есть грамматика SQL - выбросишь там все лишнее, сгенерируешь парсер себе в университет.


--------------------
 Бонифаций.
 
PM MAIL ICQ Skype GTalk Jabber YIM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0480 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.