- Реализация архитектуры «Клиент — Сервер».
- Реализация SQL-интерпретатора.
- Реализация модельного SQL-сервера на базе разработанного интерпретатора и предоставленной библиотеки классов для работы с файлами данных.
- Реализация интерфейса пользователя с модельным SQL-сервером.
- Реализация модельной базы данных, демонстрирующей работоспособность программ.
SELECT — выбрать из БД данные, соответствующие запросу;
INSERT — вставитьновуюстрокуданныхвтаблицу;
UPDATE — обновить значения данных в существующей строке;
DELETE — удалить строку из таблицы;
CREATE — создать таблицу;
DROP — уничтожить таблицу.
<SQL-предложение> ::=
<SELECT-предложение> |
<INSERT-предложение> | <UPDATE-предложение> |
<DELETE-предложение> | <CREATE-предложение> |
<DROP-предложение>
SELECT-предложение
<SELECT-предложение> ::= SELECT <список полей>
FROM <имя таблицы> <WHERE-клауза>
<список полей> ::= <имя поля> { , <имя поля> } | *
<имя таблицы> ::= <имя>
<имя поля> ::= <имя>
<имя> ::= <идентификатор языка Си>
INSERT-предложение
<INSERT-предложение> ::= INSERT INTO <имя таблицы>
(<значение поля> { , <значение поля> })
<значение поля> ::= <строка> | <длинное целое>
<строка> ::= '<символ> {<символ>}'
<символ> ::= <любой, представляемый в компьютере
символ кроме апострофа '>
UPDATE-предложение
<UPDATE-предложение> ::= UPDATE <имя таблицы> SET
<имя поля> = <выражение> <WHERE-клауза>
DELETE-предложение
<DELETE-предложение> ::=
DELETE FROM <имя таблицы> <WHERE-клауза>
CREATE-предложение
<CREATE-предложение> ::= CREATE TABLE
<имя таблицы> ( <список описаний полей> )
<список описаний полей> ::=
<описание поля> { , <описание поля> }
<описание поля> ::= <имя поля> <тип поля>
<тип поля> ::= TEXT ( <целое без знака> ) | LONG
DROP-предложение
<DROP-предложение> ::= DROP TABLE <имя таблицы>
WHERE-клауза
<WHERE-клауза> ::=
WHERE <выражение> [ NOT ] IN ( <список констант> ) |
WHERE <логическое выражение> |
WHERE ALL
<строка-образец> ::= <строка>
<выражение> ::= <Long-выражение> | <Text-выражение>
<список констант> ::= <строка> { , <строка> } |
<длинное целое> { , <длинное целое> }
<Long-выражение> ::= <Long-слагаемое>
{ <+|-> <Long-слагаемое> }
<+|-> ::= + | -
<Long-слагаемое> ::= <Long-множитель>
{ <*|/|%> <Long-множитель> }
<*|/|%> ::= * | / | %
<Long-множитель> ::= <Long-величина> |
( <Long-выражение> )
<Long-величина> ::= <имя поля типа LONG> |
<длинное целое>
<Text-выражение> ::= <имя поля типа TEXT> | <строка>
<логическое выражение> ::= <логическое слагаемое>
{ OR <логическое слагаемое> }
<логическое слагаемое> ::= <логический множитель>
{ AND <логический множитель> }
<логический множитель> ::= NOT <логический множитель> |
( <логическое выражение> ) |(<отношение>)
<отношение> ::= <Text-отношение> | <Long-отношение>
<Text-отношение> ::= <Text-выражение>
<операция сравнения> <Text-выражение>
<Long-отношение> ::= <Long-выражение>
<операция сравнения> <Long-выражение>
<операциясравнения> ::= = | > | < | >= | <= | !=