Администрирование СУБД

 

       4.1

 

Interactive SQL.

Определения и основные функции управления БД.

SQL - операторы.

Создание доменов.

Проектирование таблиц.

Типы данных SQL – сервера Inter Base.

Моделирование данных процессов.

Инструментальные средства case - технологии.

Демонстрации.

 

       4.2

 

Определение.

Interactive SQL (ISQL) – редактор SQL запросов, предназначенный для выполнения запросов к БД и просмотра результатов их выполнения.

Окно «Interactive SQL» запускается выбором соответствующего пункта меню «Tools» или иконкой рабочей панели IBConsole.

 

       4.3 Окно ISQL.

 

 

       4.4 Функции ISQL.

Область редактирования запросов, протоколирование всех выполненных операторов.

Окно вывода результатов.

Запуск операторов на выполнение.

Загрузка скрипта и сохранение БД в скрипт.

Управление БД.

 

 

       4.5 SQL - операторы.

Встроенный справочник операторов, пункт «SQL Reference»

 

 

 

       4.6 Домены.

Домен – поименованный объект метаданных определяющий характеристики поля (глобальный тип столбца), его тип данных, накладываемые ограничения для последующего определения полей нескольких таблиц.

       Создается оператором:

 

CREATE DOMAIN домен [AS] <тип_данных>

[DEFAULT (литерал! NULL | USER}]

[NOT NULL]

[CHECK (<усл_поиска_домена>)]

[COLLATE collation];

 

 

       4.7 Изменение домена.

Изменение определения домена производится при помощи оператора ALTER DOMAIN.

Формат оператора:

ALTER DOMAIN имя {

[SET DEFAULT {литерал | NULL | USER}]

| [DROP DEFAULT]

| [ADD [CONSTRAINT] CHECK (<огранич_домена>)]

| [DROP CONSTRAINT]}

 

Утверждение ALTER DOMAIN имеет новые опции, которые позволяют Вам изменять имя и тип данных.

 

ALTER DOMAIN domain1 TO domain2;

 

 

       4.8 Примеры.

В качестве примера домены учебной БД.

CREATE DOMAIN D_EM CHAR (24) CHECK(VALUE LIKE ('%@%'))

  COLLATE PXW_CYRL;

Проверка наличия символа «@», обязательного в имени электронного адреса. Предложение COLLATE задает порядок сортировки символов, например для кодировки WIN1251.

CREATE DOMAIN ROOM AS INTEGER

CHECK (VALUE>=100 AND VALUE<=1000)

Нужно следить за тем, чтобы в объявлении домена не было противоречий с ограничениями, накладываемыми при определении поля таблицы.

 

 

       4.9 Проектирование таблиц.

Определение таблицы производится выполнением оператора:

CREATE TABLE table

(<col_def> [, <col_def> | <tconstraint> …]);

Демонстрация общего формата оператора.

 

 

       4.10 Примеры.

CREATE TABLE "TEST"

(

"I1" INTEGER NOT NULL,

"S1" CHAR(15) CHARACTER SET WIN1251,

"S2" VARCHAR(10) CHARACTER SET WIN1251,

 PRIMARY KEY ("I1")

);

CREATE TABLE EMPLOYEE (

TAB_NUM INTEGER NOT NULL,

FIRST_NAME VARCHAR(20),

LAST_NAME VARCHAR(20),

PHONE  INTEGER,

NUM_T  INTEGER,

NUM_D  INTEGER NOT NULL,

FULL_NAME COMPUTED BY ((LAST_NAME || ' ' || FIRST_NAME)));

Автоматически подставляется определенная для БД кодировка полей строковых типов.

Использование домена для определения типа поля.

Обратить внимание на отсутствие определения типа данных у вычисляемого поля и функцию сцепления строк (concatenation).

 

 

       4.11 Свойства объектов.

Просмотр свойств созданного элемента производиться двойным нажатием левой кнопки мыши на выбранном элементе.

 

 

Properties – структура объекта метаданных;

Metadata – SQL – код объекта;

Data – данные объекта.

 

 

       4.12 Навигация.

Навигация между открытыми окнами IBConsole, «ISQL» и «Свойствами объектов». Использовать только один процесс ISQL.

 

 

 

       4.13 Изменение таблиц.

Оператор изменения таблиц ALTER TABLE.

Для добавления внешних ключей.

Добавление ограничений полей.

Добавление полей.

Изменение типа данных.

При манипулировании структурой нельзя забывать о наличии данных в системе, которые могут не соответствовать вводимым ограничениям.

Поиск имени ограничения (демонстрация).

       В шестой версии встроены дополнительные функции:

- изменение типа данных столбца;

- изменение имени столбца;

- изменение позиции столбца в таблице.

 

 

       4.14 Примеры:

изменения имени столбца таблицы table1

ALTER TABLE table1 ALTER COLUMN field1 TO field2;

изменение типа данных на char(20)

ALTER TABLE table1 ALTER COLUMN field1 TYPE char(20);

изменение номера позиции на четвертый

ALTER TABLE table1 ALTER COLUMN field1 POSITION 4;

Изменения типа данных будут вызывать ошибку, если при изменении происходит потеря данных, например, уменьшение числа символов в столбце приводит к усечению данных поля, содержащего длинное строковое значение.

 

 

       4.15 Ограничения конвертации.

Таблица содержит данные о допустимых преобразованиях типов данных.

 

 

 

       4.16 Ограничения длины.

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

 

 

       4.17 Удаление таблиц.

Удаление таблицы целиком производится оператором:

DROP TABLE <имя таблицы>;

Удаление может быть блокировано для родительских таблиц, для которых в дочерних таблицах (на данный момент не удаленных) имеются ссылки по внешнему ключу этих таблиц.

       Удаление блокируется также открытой транзакцией к БД, использующей данную таблицу.

 

 

       4.18 Вопрос.

Поле первичного ключа таблицы SQL – сервера, определенное типом данных SMALLINT и заполняемое генератором БД, стартующим с 0, может обеспечить запись следующего количества уникальных значений:

A) 2 15.

B) 2 16.

C) 2 32.

D) 1024.

E) 32000.

 

       4.19 Типы данных.

Данные сохранены в предопределенном формате называемом типом данных (машинное представление).

Типы данных могут быть классифицированы в четыре категории:

1. Числовые;

2. Символьные;

3. Даты;

4. Большие бинарные файлы (BLOB).

В седьмой версии будет тип BOOLEAN 16 bits, значения (TRUE, FALSE, UNKNOWN).

 

 

       4.20 Числовые (целочисленные и вещественные).

 

SMALLINT 16 bits –32,768 до 32,767 Короткое (машинное слово)
INTEGER 32 bits –2,147,483,648 до 2,147,483,647 Длинное слово
FLOAT 32 bits   1.175 . 10-38 до 3.402 . 1038  IEEE Одиночная точность, 7 знаков
DOUBLE PRECISION 64 bits   2.225 . 10-308   до 1.797 . 10308   IEEE Двойная точность, 15 знаков

Управлять количеством знаков в дробной части при объявлении вещественного числа нельзя. Если требуется вводить или выводить вещественной число в строго заданном формате ХХХХХ.ХХ, в программе используют маску.

 

 

       4.21 Числовые (фиксировано - десятичные).

 

NUMERIC (precisio n, scal e) (Точность/Масштаб) Переменная (16, 32, или 64 bits) Точность от 1 до 18 Масштаб от 0 до 18   Масштаб<= Точность Определяет точно количество сохраняемых знаков. Определяет количество знаков после запятой.
DECIMAL (precisio n, scal e) Переменная (16, 32, или 64 bits) Точность от 1 до 18 Масштаб от 0 до 18  Масштаб <= Точность Определяет по возможности цифры точности. Определяет количество знаков после запятой.

       Где точность определяет общее количество знаков в хранимом числе (максимум 18), а масштаб - количество знаков в дробной части и может быть равен нулю.

       Заметим, что специальных типов DECIMAL и NUMERIC не существует, а вместо них используются типы INTEGER или DOUBLE PRECISION: если точность (количество знаков в числе) меньше 10, то реальный тип столбца INTEGER, если больше или равно 10, реальный тип столбца DOUBLE PRECISION.

 

 

       4.22 Примеры.

В диалекте 3, IB6, соответствует SQL92 стандарту, сохраняя NUMERIC и DECIMAL с от 10 до 18 цифр точности как 64-разрядные целые числа (INT64).

Примеры:

NUMERIC(10,3) сохраняет числа точно в следующем формате:

Sss

DECIMAL(7, 3) сохраняет числа точно в следующем формате:

Sss

 

 

       4.23 Вопрос.

Какой тип данных будет использоваться сервером IB для формирования поля с заданным типом NUMERIC(26,2)?

1. SMALLINT.

2. INTEGER.

3. FLOAT.

4. DOUBLE PRECISION.

5. Нет правильного ответа.

 

 

       4.24 Символьные.

Символьные типы данных:

CHAR(n) Точно n байт. Допустимый интер -вал от 1 до 32767 байт Строка текста фиксированной длины.
VARCHAR (n) Длинна до n байт. Допустимый интер -вал от 1 до 32765 байт Строка текста переменной длины.

Столбцы VARCHAR(n) позволяют экономить дисковое пространство, давая возможность серверу располагать больше записей на странице БД. К недостаткам относится то, что VARCHAR(n) читаются медленнее, чем CHAR(n)).

Попытка записать в столбец более чем псимволов приведет к усечению лишних символов.

       Если попущено, по умолчанию подразумевается 1.

 

 

       4.25 Сортировка.

Порядок сортировки символов определяет принцип, по которому символьные значения будут сравниваться и сортироваться в операторах SELECT(если в нем присутствуют разделы WHERE, ORDER BY), при обновлении индексов и т. д.

LAST_NAME VARCHAR(20) COLLATE PXW_CYRL,

Следует учесть, что значения в строковых столбцах с набором WIN1251и сортировкой PXW_CYRLупорядочиваются в стиле Windows 32:

буквы идут по парам, строчные буквы предшествуют заглавным:

аАбБвВгГ…Яя

Демонстрация кодов символов в IBExpert.

 

 

       4.26 Типы определения даты.

Определение даты, производится одним из трех возможных типов.

DATE 32 bits  от 01.01.0100  до 29.02.32768 Хранит год, месяц, день.
TIME 32 bits от 0-00 до 23:59.9999 Хранит время
TIMESTAMP 64 bits  от 01.01.0100  до 29.02.32768 Комбинация типов Date и Time.

TIME включает информацию относительно времени в часах, минутах, секундах, и миллисекундах.

Тип задания отображения полей (разделители) определяются в среде разработки, операционной системе, приложениях.

 

 

       4.27 Бинарные объекты.

Для хранения в БД больших бинарных объектов (файл с произвольным расширением) используются типы данных полей

BLOBPOLE BLOB SEGMENT SIZE 1024,

Поле имеет переменную длину и интерпретируется как последовательность байтов.

InterBaseхранит значения BLOB-столбцов в самой БД в виде сегментов. Одна операция ввода-вывода при доступе к BLOB - информацииоперирует с одним сегментом. В таблице БД, если в ней объявлен столбец типа BLOB,хранится указатель на начальный сегмент столбца в области хранения BLOB-информацииэтой БД. По умолчанию длина сегмента составляет 80 байт, максимальная длина сегмента 32 Кбайт (32 768 байт).

 

 

       4.28 Массивы данных.

В InterBaseмогут определяться столбцы-массивы.

Для создания столбца-массива в конце его определения указывается в квадратных скобках целое число или диапазон, определяющие количество элементов массива. Например:

ARR_COL INTEGER [30],

ARR_COL1 INTEGER [0:29],

Массив может содержать до 16 измерений, которые перечисляются через запятые:

ARR_COL INTEGER [0:29, 15, 10]

что эквивалентно такому объявлению Object Pascal:

var Arr_Col: array    [0..29, 1..15, 1..10] of integer;

 

 

       4.29 Совместимость типов.

При выполнении операций над столбцами разного типа InterBase пытается автоматически привести типы таким образом, чтобы значения, участвующие в операции, принадлежали совместимым типам. Совместимыми считаются только типы DATE, CHAR и NUMERIC.

Для явного приведения типов можно использовать функцию CAST, которая приводит типы внутри оператора SELECT, обычно в предложении WHERE:

SELECT...

WHERE CHAR_DATE <= CAST (DATE_DATE AS CHAR);

 

       4.30 Управление данными.

Для управления данными используются операторы

INSERT, DELETE, UPDATE.

 

INSERT INTO DIVISION (NUM_D, NAME_D, "LEVEL", E_MAIL)

VALUES (:NUM_D,:NAME_D,:LEVELS,:e_mail);

 

INSERT INTO DIVISION

VALUES (:NUM_D,:NAME_D,:LEVELS,:e_mail);

 

Использование генераторов.

CREATE GENERATOR G_EMP;

SET GENERATOR G_EMP TO 100;

Функция GEN_ID(Name_generator, 1), где 1 это шаг увеличения счетчика.

 

       4.31 Удаление данных.

Удаление записи таблицы.

DELETE FROM Имя_таблицы WERHE Условие_поиска.

Без задания условий поиска будут удалены ВСЕ записи таблицы.

 

       4.32 Вопросы по 2 лабораторной.

Назначение основные функции серверов баз данных.

Основные функции администрирования БД и SQL – сервера.

Что означает привилегия доступа, какие виды привилегий используются, какие операторы назначения и ликвидации прав доступа Вам известны? Как осуществляется установка прав доступа по умолчанию?

SQL - операторы управления данными, синтаксис, основные конструкции.

Оператор просмотра данных SELECT, построение наборов связанных таблиц, агрегирование значений.

Типы данных SQL – сервера, их машинное представление и ограничения.

Операторы создания доменов и таблиц.

Понятия метаданных сервера и скрипта БД.

Управление транзакциями в утилите ISQL.

Реализация бизнес – правил на стороне сервера.

Ограничения, накладываемые на домены и столбцы.

 

       4.33 Задания СРСП.

1. Защита выбора типов данных, определения пользователей;

2. Выбор и защита привилегий пользователей;

3. Ответить на контрольные вопросы второго модуля [1];

4. Провести отладку SQL – кода таблиц, доменов, привилегий;

5. Защитить отчет по второй лабораторной работе;

6. Защитить отчет по разделу 3.2 курсовой работы [2];

7. Разработать пример вопроса тестового задания по теме раздела.

 

       4.34 Задания СРС.

1. Изучить методические указания ко второй лабораторной работе [1];

2. Ответить на примеры тестовых заданий ко второму модулю [1];

3. Изучить SQL - код доменов, таблиц в учебной БД (FONEBOOK.GDB);

4. Проектирование и использование представлений;

5. Изучение системы помощи (HELP), утилиты InteractivSQL, операторы: CREATE TABLE, ALTER TABLE, DROP TABLE, CREATE DOMAIN, GRANT, REVOKE;

6. Изучить конспект 2,3 лекций [3];

7. Изучение типов данных SQL – сервера InterBase.

 

       4.35 Демонстрация.

Создание домена.

Проектирование таблиц.

Определение первичных ключей.

Изменение структуры таблиц.

Изменение описания полей.

Задание привилегий пользователей.

Операторы управления данными.

 

       4.36 Тренировочный тест, 10 вопросов.

 

Ответы

1 2 3 4 5 6 7 8 9 10
                   

 

 




Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: