Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Matematicheskie_osnovy_baz_dannykh.doc
Скачиваний:
3
Добавлен:
05.09.2019
Размер:
147.46 Кб
Скачать

Транзитивные замыкания отношений.

Пусть отношение Rзадано на декартовом произведении в степени некоторого множества А.

Транзитивным замыканием Rназывается новое отношение Ṝ, состоящее из картежей (х,у) для которых выполняется:

  1. либо картеж (х,у) ϵ R

  2. либо найдется конечная последовательность z1,z2,…,znϵA, такая что (х, z1)(z1,z2),…,(zn,y) ϵК

Пусть множество А – множество деталей конструкций

А = {Болт, Гайка; двигатель, Автомобиль; Колесо, Ось}

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

Взаимосвязь деталей описывает отношение R («непосредственно используется в…»)

Конструкция

Где используется

Болт

Двигатель

Болт

Колесо

Гайка

Колесо

Колесо

Автомобиль

Ось

Колесо

Транзитивные отношения Ṝ представляется в виде таблицы:

Конструкции

Где используются

Болт

Двигатель

Болт

Колесо

Гайка

Двигатель

Гайка

Колесо

Колесо

Автомобиль

Ось

Колесо

Болт

Автомобиль

Гайка

Автомобиль

Ось

Автомобиль

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

Краткие выводы об основных понятиях и терминах.

  1. Отношение – это подмножество декартового произведения множеств. Отношения состоят из однотипных картежей.

  2. Отношения являются математическим аналогом понятия таблица.

  3. Отношение обладает степенью и мощностью.

Степень отношения – это количество элементов в каждом кортеже отношения (аналог – количество столбцов в таблице)

Мощность отношения – мощность множества кортежей отношения( аналог – количество строк в таблице)

Базовые понятия реляционной модели данных (РМД)

Типы данных и домены. Общая характеристика РМД

Основы РМД были заложены Коддом в 1970. Это работы послужила стимулом для большого числа статей, в которых РМД получила свое дальнейшее развитие.

Наиболее распространённая трактовка РМД принадлежит Дейту. Согласно Дуйту, РМД состоит из 3х частей:

  1. Структурная часть

  2. Целостная часть

  3. Манипуляционная часть

  1. Описывает, какие объекты рассматриваются в РМД. Постулируется, что единственной структурой данных, используемой в РМД является Нормализованные n-арные отношения.

  2. Описывает ограничения специального вида, которые должны выполняться в любых БД. Эта целостность сущности, целостность внешних ключей.

  3. Описывает 2 эквивалентных способа манипулирования реляционными данными – реляционную алгебру, реляционное исчисление.

Типы данных

Любые данные, используемые в программирования имеют свои типы.

Примечание: РМД требует, чтобы типы используемых данных были простыми

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

Как правило типы данных делятся на 3 группы:

  1. Простые

  2. Структурированные

  3. Ссылочные

01.03.12

Тема: SQL

ОПЕРАТОР SELECT

Select ключевое слово которое сообщает СУБД, что эта команда – запрос. Все запросы начинаются этим словом с последующим пробелом. За ним может слеловать способ выборки – с удалением дубликатов или без удаления (ALL – все поля, все записи по всем столбцам с указанием определенных столбцов). Затем следует список перечисленных через запятую столбцов, либо знак ‘*’.

Синтаксис оператора Select

SELECT [ALL|DISTINCT] (список полей| или *)

FROM (список таблиц)

[WHERE (условие выборки или соединение) ]

[GROUP BY (список полей для вывода результатов)]

[HAVING (условие выборки для группы)]

[ORDER BY (список полей, по которым отсортировать записи)]

ALL – означает, что в результирующий набор строк включаются все строки удовлетворяющие условию запроса

DISTINCT – означает, что в результирующем набор строк попадают все строки, не имеющие дубликатов

Символ * означает, что в результирующий набор попадут все строки из всех столбцов

FROM – в разделе FROM задается список исходных отношений (таблиц).

В разделе WHERE задается условие отбора.

В разделе GROUP BY – задается список полей группировки.

HAVING – задается условие, предъявляемой каждой группе.

В разделе ORDER BY указывается способ сортировки.

В разделе WHERE могут быть использованы следующие предикаты:

1.предикаты сравнения (<,>,<=,<>)

2.предикат between A and B

3.предикат вхождения во множество IN

4. Предикаты сравнения с образцом LIKE и NOT LIKE

5.предикат сравнения с не определенным значением IS NULL

Для МОБД будет состоять из трех таблиц: R1, R2, R3

Пр.1: Select *

From r1,r2;

Примечание! Этот запрос соответствует декартовому произведению.

Пр.2: (проекция дек. Произв.)

Select r1.a, r2.b

From r1,r2;

Этот запрос соответствует проекции декартово произведения двух таблиц на два столбца (а – с таблицы r1, и b с таблицы r2. При этом дубликаты всех строк сохранены.

Пр.3:(вывести список всех групп без повторений) где должны пройти экзамены

Select distinct группа

From r3

Пр.4: Вывести списко студентов которые сдали экзамен по БД

Select ФИО

From r1

Where дисциплина = “БД” and оценка = 5;

Пр.5:вывести список всех студентов которым надо сдавать экзамен с указанием названием дисциплин, по которым должны проводится экзамены

Select ФИО, дисциплина

From r2, r3

Where r2 группа = r3 группа;

Здесь левая часть раздела where задает условия соединения отношения r2 , r3, при отсутствии условия соединения. Результат будет равен декартовому произведению (расширенному). В этом случае каждому студенту были бы приписаны дисциплины из отношения r3, а не те, по которым нужно сдавать экзамены.

Пр. Вывести список лентяев, имеющихся несколько двоек (максимум 2)

Select distinct r1. ФИО

From r1 a, r1 b

Where a.фио=b.фио and

a.дисциплина <> b.дисциплина

a.оценка<=2 and b. Оценка<=2;

Здесь мы используем псевдоним (a,b) для наименования отношения r1, так как для записи условия поиска необходимо работать с двумя экземплярами а и b указанного отношения r1.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]