Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД / test.doc
Скачиваний:
205
Добавлен:
10.05.2015
Размер:
2.72 Mб
Скачать

11. Язык PowerScript: характеристики, возможности программирования.

Язык системы Power Builder называется PowerScript. Это полноценный алгоритмический язык программирования, обладающий специфическими особенностями, характерными для языков СУБД.

На языке PowerScript записываются скрипты - фрагменты кода, инкапсулированного в объекты согласно объектной модели Power Builder.

Любая строка языка PowerScript представляет собой один из следующих элементов:

    • Декларацию (объявление) переменной;

    • Оператор присваивания;

    • Оператор управления программой;

    • Вызов функции;

    • Внедренный оператор языка SQL;

    • Комментарий или пустая строка.

В общем, в языке PowerScript реализованы две парадигмы современного программирования:

    • Объектно - ориентированное программирование,

    • Функционально - ориентированное программирование.

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

Комментарии:

//comment /*comment*/

Конец строки служит признаком конца команды языка PowerScript. Если хотите поместить несколько команд на одной строке, то разделяйте их точками с запятой.

Для записи многострочных SQL-команд символ продолжения использовать не нужно. SQL-команда всегда завершается точкой с запятой. Прописные и строчные буквы в написании идентификаторов и зарезервированных слов в языке PowerScript не различаются.

Любая переменная, используемая в программе, должна быть продекларирована, поскольку в среде PowerScript поддерживается строгий контроль типов. Декларации имеют традиционный синтаксис — после имени типа перечисляются через запятую имена переменных. Допускается присваивание начальных значений.

и т.д. из файла 11.pdf

12. Понятие отношения и его применение. Операции на отношениях.

Отношение — фундаментальное понятие реляционной модели данных. По этой причине модель и называется реляционной (отлат.relatio— отношение, связь).

-арным отношением , или отношением  степени , называют подмножество декартовa произведения множеств, не обязательно различных. Исходные множества  называют в модели доменами (в СУБДиспользуется понятиемножество значений, определяемых типом данных).

Отношение имеет простую графическую интерпретацию в виде таблицы, столбцы (поля, атрибуты) которой соответствуют вхождениям доменов в отношение, а строки (записи) — наборам из  значений, взятых из исходных доменов. Число строк (кортежей) называют кардинальным числом отношения (кардинальностью), илимощностьюотношения.

Такая таблица обладает рядом свойств:

  1. В таблице нет двух одинаковых строк.

  2. Таблица имеет столбцы, соответствующие атрибутам отношения.

  3. Каждый атрибут в отношении имеет уникальное имя.

  4. Порядок строк в таблице произвольный.

Под атрибутом здесь понимается вхождение домена в отношение. Строки отношения называются кортежами.

Формализованное определение введённых понятий.

  • Заголовок Hr (или схема) отношения r — конечное множество упорядоченных пар вида <A, T>, где A называется именем атрибута, аT обозначает имя некоторого базового типаили ранее определенногодомена, то есть множества допустимых значений. По определению требуется, чтобы все имена атрибутов в заголовке отношения были различны.

  • Кортеж tr, соответствующий заголовку Hr — множество упорядоченных триплетов вида <A, T, v>, по одному такому триплету для каждого атрибута в Hr. Третий элемент — v — триплета <A, T, v> должен являться допустимым значением типа данных или домена T. Замечание: так как имена атрибутов уникальны, то указание домена в кортеже излишне.

  • Тело Br отношения — неупорядоченное множество различных кортежей tr.

  • Значением Vr отношения r называется пара множеств Hr и Br.

Полезно также понятие первичного ключа — это такой набор атрибутов, который однозначно определяет кортеж и минимален среди всех своих подмножеств (то есть нельзя убрать ни один из атрибутов). При добавлении новых записей первичный ключ обязан оставаться первичным ключом (например, неверным будет использование в качестве первичного ключа набора Имя + Отчество + Фамилия сотрудника, даже если на момент создания таблицы полных тёзок среди заносимых в неё людей не было).

Допустим, содержание доменов следующее:

  • = {Иванов, Петров, Сидоров}

  • = {Физика, Химия}

  • = {3,4,5}

Тогда полное декартово произведение состоит из 18 троек, где первый элемент тройки — одна из фамилий, второй элемент — учебная дисциплина, а третий — оценка.

Тогда отношение R может моделировать реальную ситуацию и содержать пять строк, которые соответствуют результатам сессии (Петров экзамен по Физике не сдавал):

R

Фамилия

Предмет

Оценка

Иванов

Физика

4

Иванов

Химия

3

Петров

Химия

5

Сидоров

Физика

5

Сидоров

Химия

4

Операции, определенные над отношениями:

  • Объединение — тело нового отношения является объединением тел старых

  • Пересечение — тело нового отношения является пересечением тел старых

  • Вычитание — тело нового отношения получено вычитанием тел старых

  • Проекция— частный случай пересечения

  • Декартово произведение — тело нового отношения является декартовым произведением тел старых

  • Выборка — из исходного отношения выбираются лишь те кортежи, которые удовлетворяют новым доменам (заданным в условиях выборки)

  • Соединение — выборка над декартовым произведением

  • Деление — делитель является унарным отношением (то есть с единственным атрибутом). Частное — совпадающие части кортежей делимого, перед которыми стоит делитель.

В полученном объекте могут появиться одинаковые кортежи (например, при проецировании отношения из примера на отношение, заголовок которого состоит из единственного атрибута — фамилии, получим две пары одинаковых кортежей (два Иванова и два Сидорова) и ещё один кортеж (Петров). Необходимо удалить дубликаты, чтобы этот объект являлся отношением (тогда будет один Иванов, один Петров и один Сидоров).

Соседние файлы в папке БД