Проектирование информационных систем

Автор работы: Пользователь скрыл имя, 20 Октября 2009 в 15:59, Не определен

Описание работы

Загайнов И.А. Проектирование информационных систем: Конспект мультимедиа лекций для студентов специальностей 050704 – Вычислительная техника и программное обеспечение, 050703 – Информационные системы.

Файлы: 1 файл

kml_pis_2008.doc

— 2.82 Мб (Скачать файл)

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

Информация о работе Проектирование информационных систем