- •Переменные, константы, типы данных.
- •Массивы
- •Область действия переменных и процедур
- •Модуль vb
- •Инструментальные средства отладки
- •Управляющие конструкции языка vb
- •Элементы языка sql и запросы в форме sql
- •Операторы языка sql для работы с реляционной бд Создание реляционных таблиц
- •Операции соединения таблиц
- •Удаление записей в таблицы.
- •Организация запроса в форме sql
- •Задание условий выборки
- •Групповые функции sql
Элементы языка sql и запросы в форме sql
SEQUEL (Structured English Query Language)
Почти с самого начала являлся полным языком БД обеспечивающим по мимо средств формулирования запросов и манипулирования БД следующие возможности:
-
средства определения и манипулирования схемой БД
2) средства ограничения целостностей и триггеров
3) средства определения представлений БД
4) средства определения структур физического уровня поддерживающих эффективного выполнения загрузки.
5) средства авторизации доступа к отношению и их порядку
6) средства определения точек сохранения транзакции и выполнение фиксации и откатов транзакции.
Операторы языка sql для работы с реляционной бд Создание реляционных таблиц
Создание реляционной БД означает спецификацию состава полей: указание имени, типа и длинны каждого поля (если это необходимо), при этом каждая таблица должна иметь уникальное имя. Синтаксис оператора создания новой таблицы:
CREATE TABLE таблица (поле тип [размер][индекс1][,поле2 тип[размер][индекс2][,…]][,составной индекс][,…]])
Индекс1,индекс2 – директивы создания простого индекса
Составной индекс – директивы создания составного индекса
Каждый индекс имеет уникальное в приделах данной таблицы имя, для создания простого индекса используется следующе фраза (размещается за именем поля):
CONSRAINT имя индекса {PRIMARY KEY|UNIQUE|REFERENCES внешняя таблица [(внешнее поле)]}
Директива создания составного индекса размещаемая в любом месте после определения его элементов имеет следующий вид:
CONSRAINT имя {PRIMARY KEY(ключевое1[,ключевое2][,…]) UNIQUE (уникальное1 [,…]) FOREIGN KEY (ссылка1[,ссылка2][,..]]) REFERENCE внешняя таблица [(внешнее поле1[,внешнее поле2[,…]])]}
Unique – Уникальный индекс
Primary key – первичный ключ таблицы который может состоять из нескольких полей
Foreign key – внешний ключ для связи с другими таблицами (может состоять из нескольких полей)
Reference – ссылка на внешнюю таблицу
CREATE TABLE студент
([имя] text, [фамилия] text, [дата рождения] DATETIME
CONSRAINT Адр UNIQUE ([имя]), [фамилия], [дата рождения])
В результате выполнения данного запроса будет собрана таблица студент имеющая 2 текстовых поля (имя фамилия), одно поле дата/время (дата рождения) и составной индекс со значениям указанным полей.
Изменения структуры таблицы
При необходимости можно изменить структуру таблицы
-
удалить существующие поля
-
добавить новые поля
-
создать или удалить индекс
При этом все указанные действия затрагивают только одно поле или один индекс
ALTER TABLE таблица
ADD{[COLUMN]поле тип[(размер)][CONSTRAINT индекс] CONSTRAINT составной индекс}|
DROP {[COLUMN] поле i CONSTRAINT имя индекса}}
Constraint - Подобное действие означает добавления индекса в таблицу
Пример на изменения структуры таблицы:
Add table студент add column [группа] text(5)
Для создания нового индекса в существующей таблице можно так же использовать следующую команду:
Create [unique] index индекс
On таблица (поле [,…])[with{primary | disallow null | ignore null}]
Create index гр on студент ([группа]) with disallow null
Удаление таблицы:
Для удаления таблицы одновременно структуры и данных используется следующая команда
Drop table имя таблицы
Drop table студент
Для удаления только индекса (сами данные не разрушаются):
Drop index имя индекса on имя таблицы
Адр.
Drop index Адр on студент
Вод данных в таблицу
Формирование новой записи в таблицы выполняется следующей командой
Insert into таблица [(поле1[,поле2[,…]])] values (значение1[,…])
В этом случае сначала выполняется оператор код запроса select который формирует выборку для сортировки данных.
Фраза select определяет структуру данных источника передаваемых записей – имена таблиц и полей содержащих исходные данные для загрузки в таблицу.
Оператор from позволяет указать имена исходных таблиц участвующих в формирование выборки, а фраза where задает условие выполнения подзапроса. При этом структура данных выборки должна соответствовать структуре данных таблицы в которую производиться добавление. Добавление (перезагрузка) возможно и во внешнюю базу данных для которой указывается полностью специфицированное имя. (диск, каталог, расширение) при этом структуры таблиц должны совпадать.
Insert into студент select [студент-заочник].*from [студент-заочник]
Insert into студент select [студент-заочник].*from [студент-заочник] where [дата рождения] >=#01/01/800#