Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СРС_проект_ИС.doc
Скачиваний:
18
Добавлен:
11.08.2019
Размер:
3.38 Mб
Скачать

6.2.7. Создание и удаление таблиц и индексов

Таблицы в современных СУБД создаются с помощью визуальных средств, однако некоторые эффективные, но максимально упрощенные СУБД поставляются без вспомогательного инструментария, и создавать структуру БД приходится вручную. При этом, прежде всего, требуется создать таблицу. Это делается с помощью следующего оператора:

CREATE TABLE Имя_таблицы (0пределения_полей)

Здесь Имя_таблицы – произвольное имя, не совпадающее с именами уже существующих в БД таблиц; Определения_полей – список имен полей с обязательным указанием их типов. Например:

CREATE TABLE NewTable (Field1 CHAR(20), Field2 INT)

При определении текстовых полей полезно явно указывать кодировку символов, иначе на нерусифицированных версиях Windows в такой столбец невозможно будет ввести русскоязычные строки:

CREATE TABLE NewTable (Field1 CHAR(20) CHARACTER

SET Win1251, Field2 INT)

Допустимые типы полей зависят от типа таблиц. При использовании таблиц типа Paradox, в операторе CREATE TABLE можно применять следующие типы полей:

  • CHAR(N), CHARACTER(N) – символьное поле длиной N символов (до 255);

  • INT, INTEGER – соответствует типу Integer языка Object Pascal;

  • SMALLINT – соответствует типу Smallint языка Object Pascal;

  • BLOB – цепочка байтов неопределенной длины;

  • FLOAT – соответствует типу Real языка Object Pascal;

  • DATE – поле для хранения даты;

  • BOOLEAN – соответствует типу Boolean языка Object Pascal.

За типом поля при его описании можно указывать зарезервированные слова NOT NULL (поле не может быть пустым), PRIMARY KEY (по полю строится первичный ключ), UNIQUE (значения поля не должны повторяться). Например:

CREATE TABLE Test

(ID integer NOT NULL PRIMARY KEY, Stroka char(50) )

Для удаления существующей таблицы используется оператор

DROP TABLE Имя_таблицы

Для создания индекса служит оператор

CREATE INDEX Имя_индекса ON Имя_таблицы (Список_полей)

Например:

CREATE INDEX Index1 ON NewTab1e(Field1)

Следующий оператор удаляет ранее созданный индекс:

DROP INDEX Имя_индекса

6.2.8. Вставка, удаление и редактирование записей

В таблицу БД запись вставляется с помощью оператора

Insert into Имя_таблицы (Список_полей

Values (Список_значений)

Каждому полю в списке полей должно соответствовать нужное значение в списке значений. Если заполняются все поля записи, список полей вместе с обрамляющими скобками можно опускать. Например:

INSERT INTO Izdelie

VALUES (‘006’, ‘Балтика «Экспортное»’, ‘шт’, 35)

С помощью оператора INSERT можно вставить сразу группу записей. Пусть, например, таблица создана показанным ниже оператором:

CREATE TABLE

NewTable(TNNom CHAR(4), TKod CHAR(4), TKol SMALLINT)

Тогда следующий оператор вставит в нее список изделий для накладной 0028:

INSERT INTO NewTable

SELECT * FROM Snakl

WHERE SnNNom = ’0028’

Для удаления записей используется оператор

DELETE FROM Имя_таблицы WHERE Условие_выборки_записей

Например:

DELETE FROM Zakazcik WHERE ZKod = ‘002’

Если опустить секцию WHERE, из таблицы будут удалены все записи. Изменение отдельных полей таблицы реализуется оператором

UPDATE Имя_таблицы SET Имя_поля = 3начение

WHERE Условие_выборки

Например:

UPDATE Izdelie SET ICena = 35 WHERE IKod = ‘001’

За словом SET может стоять произвольное количество полей с указанием их значений. Два соседних присваивания Имя_поля=3начение разделяются запятой. Если опустить секцию WHERE, будут изменены значения всех записей таблицы.