- •Понятие и составляющие информационной системы
- •Понятие и составляющие информационного обеспечения
- •Характеристика внемашинного информационного обеспечения
- •Характеристика внутримашинного информационного обеспечения. Понятие бд, субд.
- •Характеристика этапов разработки бд.
- •Понятие и средства инфологического моделирования бд
- •Характеристика элементов er-диаграмм. Типы связей, примеры
- •Основные понятия реляционной модели данных
- •Реляционная алгебра. Операции ограничения, проекции объединения и пересечения
- •Реляционная алгебра. Операции разности, произведения, соединения и деления
- •Понятие целостности реляционных баз данных
- •Понятие нормализации бд. Свойства нормальных форм
- •Характеристика 1нф, 2нф, 3нф
- •Функции субд
- •Компоненты субд
- •Классификация субд
- •Транзакция. Свойство транзакции
- •Типы команд sql
- •Реализация операций ограничения, проекции объединения и пересечения на sql.
- •Реализация операций разности, произведения, соединения и деления sql.
- •Триггеры и процедуры. Управляющие конструкции sql.
Основные понятия реляционной модели данных
Реляционная модель данных - разработанная Э.Коддом в 1970г. логическая модель данных, описывающая:
- структуры данных в виде (изменяющихся во времени) наборов отношений;
- теоретико-множественные операции над данными: объединение, пересечение, разность и декартово произведение;
- специальные реляционные операции: селекция, проекция, соединение и деление; а также
- специальные правила, обеспечивающие целостность данных.
Атрибут - в базах данных - имя или структура поля записи. Атрибут характеризует размер или тип информации, содержащейся в поле.
Домен - в базах данных - множество всех значений атрибута в некотором отношении.
Запись - в реляционных базах данных - строка таблицы данных, состоящая из полей разного типа.
Ключ отношения - атрибут отношения, однозначно идентифицирующий каждый из его кортежей. Составной ключ состоит из нескольких атрибутов.
Отношение - двумерная таблица, содержащую некоторые данные. Строки таких таблиц соответствуют записям, а столбцы - атрибутам.
Реляционная алгебра - формальная система манипулирования отношениями, основными операциями которой являются: проекция, соединение, пересечение и объединение.
Структура базы данных - принцип или порядок организации записей в базе данных и связей между ними.
Реляционная алгебра. Операции ограничения, проекции объединения и пересечения
Выборка (ограничение, селекция)
Выборку называют горизонтальным срезом отношения по некоторому условию.
Выборкой на отношении R с условием С называется отношение с тем же заголовком, что и у отношения R, и телом, состоящим из кортежей, значения атрибутов которых при подстановке в условие С дают значение ИСТИНА.
Обычно условие С имеет вид R11Q R12, где Q принадлежит {=<>¹³£}, а R11 и R12 атрибуты отношения R или скалярные значения. Такие выборки называются Q - выборки.
Синтаксис R where C или R where R11Q R12
Проекция
Проекцией отношения R по атрибутам R1, R1, R1…Rn, где каждый атрибут принадлежит R, называется отношение с заголовком (R1, R2, R3…Rn) и телом, содержащим множество кортежей вида (r1,r2,r3,…rn). При этом дубликаты кортежи удаляются.
Проекцию называют вертикальным срезом отношения.
Синтаксис R[R1, R2, R3…Rn]
Объединение
Объединением двух совместимых по типу отношений называется отношение с тем же заголовком, что и у R1 и R2, и телом, включающим все кортежи операндов, за исключением повторяющихся.
Синтаксис R1 union R2
Пересечение
Пересечением двух совместимых по типу отношений R1 и R2 называется отношение с тем же заголовком, что и у отношений R1 и R2, и телом, состоящим из кортежей, принадлежащих одновременно обоим отношениям R1 и R2.
Синтаксис
R1 intersect R2
Реляционная алгебра. Операции разности, произведения, соединения и деления
Вычитание
Вычитанием двух совместимых по типу отношений R1 и R2, называется отношение с тем же заголовком, что и у отношений R1 и R2, и телом, состоящим из кортежей, принадлежащих отношению R1 и не принадлежащих R2.
Синтаксис R1 minus R2
Декартово произведение
Декартовым произведением двух отношений R1(R11, R12, R13…) и R2(R21,R22,R23,…) называется отношение, заголовок которого является сцеплением заголовком отношений R1 и R2:
(R11, R12, R13… R21,R22,R23,…), а тело состоит из кортежей, являющихся сцеплением кортежей отношений R1 и R2
(r11, r12, r13… r21, r22, r23….), таких что (r11, r12, r13…) принадлежит R1, а (r21, r22, r23….) принадлежит R2/
Синтаксис R1 times R2
Мощность произведения равна произведению мощностей. Если атрибуты R1 и R2 имеют атрибуты с одинаковыми наименованиями, то перед выполнением операции декартового произведения такие атрибуты необходимо переименовать. Совместимость по типу не требуется.
Соединение
Обычно рассматривают несколько разновидностей операции соединения.
Общая операция соединения
Q-соединение
Экви-соединение
Естественное соединение
Общая операция соединения:
Соединением отношений R1 и R2 по условию называется отношение (R1 times R2) where C, где С представляет собой логическое выражение, в которое могут входить атрибуты отношений R1 и R2 и/или скалярные выражения.
Q-соединение
(R1 times R2) where R11QR21 - Q-соединение отношения R1 по атрибуту R11 с отношением R2 по атрибуту R21. Записывают и
R1 [R11QR21] R2
Экви соединение это соединение, когда Q есть равенство.
Естественное соединение
Пусть даны отношения R1(R11,R12,R13,..R1n,Z1,Z2,…Zn) и R2(Z1,Z2,…Zn, R21,R22,R23,..,R2m). Тогда естественным соединением отношений R1 и R2 называется отношение с заголовком (R11,R12,R13,..R1n,Z1,Z2,…Zn, R21,R22,R23,..,R2m) и телом, содержащим множество кортежей (r11,r12,r13,…r1n,z1,z2,z3,…zn, r21, r22,…r2m), таких что (r11,r12,r13,…r1n,z1,z2,z3,…zn) принадлежит R1, а (z1,z2,z3,…zn, r21, r22,…r2m) принадлежит R2
Синтаксис
R1 join R2
Соединение производится по одинаковым атрибутам.
Деление
У операции деления два операнда бинарное и унарное. Результативное отношение состоит из одноатрибутивных кортежей, включающих значения первого атрибута кортежей первого операнда-отношения, таких что множество значений второго атрибута совпадает со множеством значений единственного атрибута второго операнда-отношения.
Синтаксис R1 divideby R2