
- •«Проектирование ис» 2011
- •1. Понятие информационной системы. Типовые функциональные компоненты ис
- •2. Схема развития ис
- •3. Этапы проектирования ис
- •4. Понятие жизненного цикла ис, модели жизненного цикла информационной системы
- •5. Основные принципы создания ис
- •6. Требования к методологии и технологии разработки ис
- •7. Методология rad
- •8. Методы проектирования ис
- •9. Функционально-ориентированные методологии проектирования. Основные принципы функциональной методики idef0
- •10. Методология idef0. Виды стрелок на диаграммах idef0
- •11. Методология idef0. Нумерация работ и диаграмм. Каркас диаграммы
- •12. Методология idef0. Виды диаграммы idef0
- •13. Диаграммы потоков данных. Назначение. Нотации dfd. Рекомендации по построению
- •14. Основные элементы диаграмм dfd
- •15. Диаграммы dfd. Элементы для декомпозиции данных
- •16. Диаграммы dfd. Управляющие элементы диаграмм
- •17. Методология idef3. Назначение диаграмм. Основные элементы
- •18. Виды перекрестков на диаграммах idef3
- •19. SwimLane диаграммы и построение сценариев SwimLaneDiagrams (диаграмма плавательных дорожек).
- •20. Стоимостной анализ. Принципы связи abc анализа и idef0
- •21. Количественный и качественный анализ диаграмм модели idef
- •22. Моделирование данных. Архитектура ansi-sparc
- •24. Er-диаграммы. Определение сущности, атрибута, связи
- •25. Методология idef1x. Виды и мощности связей. Понятие зависимых и независимых сущностей
- •26. Методология idef1x. Виды зависимых сущностей
- •27. Нормальные формы er-диаграмм. Получение реляционной схемы из er-диаграмм
- •28. Реляционная модель данных. Структурная часть. Управляющая связь. Виды ключей
- •29. Реляционная модель данных. Набор ограничений целостности. Операции, нарушающие целостность
- •Ограничения кортежа.Ограничения целостности кортежапредставляют собой ограничения, накладываемые на допустимые значенияотдельногокортежа отношения, ине являющиесяограничением целостности атрибута.
- •30. Реляционная алгебра. Теоретико-множественные операции
- •31. Реляционная алгебра. Специальные операции
- •32. Реляционная модель данных. 1нф, 2нф, 3нф, нфбк
- •33. Реляционная модель данных. Нормальные формы более высоких порядков
- •36. Язык моделирования uml. Назначение. Характеристики. Перечень диаграмм
30. Реляционная алгебра. Теоретико-множественные операции
Основная идея реляционной алгебры состоит в том, что коль скоро отношения являются множествами, то средства манипулирования отношениями могут базироваться на традиционных теоретико-множественных операциях, дополненных некоторыми специальными операциями, специфичными для баз данных. Существует много подходов к определению реляционной алгебры, которые различаются набором операций и способами их интерпретации, но в принципе, более или менее равносильны. Мы опишем немного расширенный начальный вариант алгебры, который был предложен Коддом. В этом варианте набор основных алгебраических операций состоит из восьми операций, которые делятся на два класса - теоретико-множественные операции и специальные реляционные операции. В состав теоретико-множественных операций входят операции:
объединения отношений;
пересечения отношений;
взятия разности отношений;
прямого произведения отношений.
Специальные реляционные операции включают:
ограничение отношения;
проекцию отношения;
соединение отношений;
деление отношений.
Кроме того, в состав алгебры включается операция присваивания, позволяющая сохранить в базе данных результаты вычисления алгебраических выражений, и операция переименования атрибутов, дающая возможность корректно сформировать заголовок (схему) результирующего отношения. В реляционных базах данных оперируют следующими реляционными операторами:
Присвоение.
Объединение.
Пересечение.
Разность.
Произведение.
Выбор.
Создание проекции.
Соединение.
Деление.
Объединение– это операция реляционной алгебры, создающая теоретико-множественное объединение двух объединительно совместимых реляционных таблиц (U / UNION) ·При выполнении операции объединения двух отношений производится отношение, включающее все те кортежи, которые входят хотя бы в одно из отношений-операндов: {<отношение1> UNION < отношение2>} После преобразования получим следующий запрос SQL: SELECT <список атрибутов> FROM < отношение1> UNION SELECT < список атрибутов > FROM < отношение2> Отметим, что почти все операции (кроме нескольких специальных) выполняются для атрибутов с одинаковыми именами и определённых на одном и том же домене.Объединительно совместимые таблицы– это таблицы, у которых совпадают количество столбцов и области значений этих столбцов.
А |
|
В | ||
Параметр 1 |
Параметр 2 |
|
Параметр 1 |
Параметр 2 |
А1, А4 |
В1, В2 |
|
А1, А5 |
В1, В3 |
АU В | |
Параметр 1 |
Параметр 2 |
А1, А4, А5 |
В1,В2, В3 |
Результат объединения: это реляционная таблица, содержащая все строки исходных таблиц. Одинаковые строки в исходных таблицах, в результирующей записываются единожды.
Операция пересечения– это операция реляционной алгебры, создающая теоретико-множественное пересечение двух объединительно совместимых реляционных таблиц (? / INTERSECT).Результат пересечения: это реляционная таблица, содержащая строки, которые совпадают у таблиц. · Операция пересечения двух отношений производит отношение, включающее все те кортежи, которые являются общими для обоих отношений-операндов: {<отношение1> INTERSECT <отношение2>} После преобразования получим: SELECT DISTINCT <список атрибутов> FROM <отношение1> WHERE EXISTS (SELECT * FROM <отношение2> WHERE <отношение1>.<атрибут1> = <отношение2>.<атрибут1> AND <отношение1>.<атрибут2> = <отношение2>.<атрибут2> AND… )
Операция разности– это операция реляционной алгебры, создающая теоретико-множественную разность двух объединительно совместимых реляционных таблиц (- / DIFFEFENCE).Результат разности: реляционная таблица, содержащая все строки входящие в первую таблицу, но не входящие во вторую исходную таблицу. · Отношение, являющееся разностью двух отношений, включает все кортежи, входящие в отношение, являющееся первым операндом, такие, что ни один из них не входит в отношение, являющееся вторым операндом: {<отношение1> MINUS <отношение2>} После преобразования получим: SELECT DISTINCT <список атрибутов> FROM <отношение1> WHERE NOT EXISTS (SELECT * FROM <отношение2> WHERE <отношение1>.<атрибут1> = <отношение2>.<атрибут1> AND <отношение1>.<атрибут2> = <отношение2>.<атрибут2> AND … )
Операция произведения– это операция реляционной алгебры, создающая декартово произведение двух объединительно совместимых реляционных таблиц (* / Product). С:=А*В
A.X |
A.Y |
B.X |
B.Y |
А1 |
В1 |
А1 |
В1 |
А1 |
В1 |
А5 |
В3 |
А1 |
В1 |
А6 |
В6 |
А1 |
В1 |
А3 |
В3 |
А2 |
В2 |
А1 |
В1 |
А2 |
В2 |
А5 |
В5 |
Результат произведения: реляционная таблица, полученная при связывании таблиц и при присоединении каждой строке первой таблицы каждой строки второй таблицы. Если в исходных таблицах существуют атрибуты с одинаковыми именами, то имя атрибута новой таблицы образуется из имени исходной таблицы с указанием через точку имени поля. · Прямое (декартово) произведение двух отношений есть отношение, кортежи которого являются конкатенацией (сцеплением) кортежей первого и второго операндов: {<отношение1> TIMES <отношение2>} Эквивалентный запрос SQL имеет вид: SELECT DISTINCT <список атрибутов> FROM <отношение1>, <отношение2>.