Смекни!
smekni.com

Проектирование информационных систем 3 (стр. 8 из 17)

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

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 (precision, scale) (Точность/Масштаб) Переменная (16, 32, или 64 bits) Точность от 1 до 18 Масштаб от 0 до 18 Масштаб <= Точность Определяет точно количество сохраняемых знаков. Определяет количество знаков после запятой.
DECIMAL (precision, scale) Переменная (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) сохраняет числа точно в следующем формате:

1234567.sss

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

1234567.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

5 СРЕДА ПРОЕКТИРОВАНИЯ IBEXPERT

5.1 Инструментальные средства.

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

Определение и назначение.

Инсталляция, настройка параметров.

Основные свойства, конструкции.

Метаданные БД SQL – сервера.

Проектирование средств поддержки ссылочной целостности данных.

Реляционные связи баз данных.

Проектирование генераторов.