- •Історія розвитку сбд.
- •Традиційні файлові системи. Переваги і недоліки.
- •Системи з використанням баз даних. Компоненти сбд. Переваги і недоліки.
- •5_ Системи керування базами даних. Компоненти. Функції.
- •Компоненты сбд
- •1. Зберігання, вилучення і обновлення даних
- •2. Каталог, який доступний кінцевим користувачам
- •3. Управління транзакціями
- •Розподіл обов’язків в сбд. Ад і абд.
- •7_ Архітектура сбд ansi/sparc. Три рівні. Відображення. Трехуровневая архитектура ansi-sparc
- •6_ Поняття бд. Об’єкти і зв’язки. Властивості.
- •3.5 Концептуальный уровень
- •3.6 Внутренний уровень
- •3.7 Отображения
- •3.8 Доступ к данным в трехуровневой архитектуре
- •12_ Архітектура сбд ansi/sparc. Мови баз даних. Ddl. Dml. 4gl.
- •Языки баз данных.
- •Процедурний
- •Непроцедурний
- •13_ Архітектура клієнт-сервер. Розподілена обробка. Архитектура многопользовательских субд
- •Субд в архитектуре "клиент-сервер" Лекция 19. Архитектура "клиент-сервер"
- •19.1. Открытые системы
- •19.2. Клиенты и серверы локальных сетей
- •19.3. Системная архитектура "клиент-сервер"
- •19.4. Серверы баз данных
- •19.4.1. Принципы взаимодействия между клиентскими и серверными частями
- •19.4.2. Преимущества протоколов удаленного вызова процедур
- •19.4.3. Типичное разделение функций между клиентами и серверами
- •19.4.4. Требования к аппаратным возможностям и базовому программному обеспечению клиентов и серверов
- •14_ Ранні підходи в реалізації бд. Бд на інвертованих списках. Ієрархічні та мереживі бд. Модель инвертированных списков
- •Реляційна бд. Властивості реляційних бд.
- •Реляційна модель. Домени. Оператори.
- •2. Реляционная модель данных
- •2.1. Понятие модели данных
- •Реляційна модель. Відношення. Типи відношень.
- •Реляційна модель. Класифікація обмежень цілісності.
- •Реляційна модель. Потенційні ключі.
- •Реляційне числення. Числення доменів. (самостійно)
- •5.2.3. Реляционное исчисление доменов
- •Мова sql. Запит на оновлення. Використання співвіднесених запитів в запитах на оновлення.
- •Мова sql. Запит на знищення. Використання підзапитів в запитах на знищення.
- •Мова sql. Запит на додавання. Додавання результатів запиту.
- •Мова sql. Об’єднання таблиць. Використання пропозиції union.
- •Мова sql. Використання пропозицій any, all, some.
- •Мова sql. Використання пропозиції exists.
- •Мова sql. Співвіднесений запит на вибірку.
- •Мова sql. Запит на вибірку із підзапитом.
- •Мова sql. Запит на вибірку до кількох таблиць. З’єднання таблиць. Типи з’єднань.
- •Мова sql. Запит на вибірку. Агрегатні функції
- •Історія розвитку
Реляційна модель. Потенційні ключі.
Вы должны иметь столбец в вашей таблице который бы уникально идентифицировал каждую строку. Обычно, этот столбец содержит номер — например, номер, назначаемый каждому из телефонной книги.
Конечно, вы могли бы использовать имя, но возможно что имеется несколько Celia Brock; и в этом случае, вы не будете иметь другого способа чтобы отличить этих людей друг от друга.
Вот почему номера так необходимы. Такой уникальный столбец (или уникальная группа столбцов), используемый чтобы идентифицировать каждую строку и хранить все строки отдельно, называются — первичными ключами таблицы.
Первичные ключи таблицы важный элемент в структуре базы данных. Они — основа вашей системы записи в файл; и когда вы хотите найти определенную строку в таблице, вы ссылаетесь к этому первичному ключу. Кроме того, первичные ключи гарантируют, что ваши данные имеют определенную целостность. Если первичный ключ правильно используется и поддерживается, вы будете знать что нет пустых строк таблицы и что каждая строка отличается от любой другой строки.
Реляційна модель. Зовнішні ключі.
Реляційна алгебра. Традиційні реляційні оператори.
Реляционный оператор — математический символ который указывает на определенный тип сравнения между двумя значениями.
Реляционные операторы которыми располагает SQL:
= Равный к
> Больше чем
< Меньше чем
>= Больше чем или равно
<= Меньше чем или равно
<> Не равно
Реляційна алгебра. Спеціальні реляційні оператори.
Реляційні операції над мультимножинами. (самостійно)
Реляційне числення. Числення кортежів. (самостійно)
В зависимости от того, что является областью определения переменной, различаются исчисление кортежей и исчисление доменов. В исчислении кортежей областями определения переменных являются отношения базы данных, т.е. допустимым значением каждой переменной является кортеж некоторого отношения. В исчислении доменов областями определения переменных являются домены, на которых определены атрибуты отношений базы данных, т.е. допустимым значением каждой переменной является значение некоторого домена. Мы рассмотрим более подробно исчисление кортежей, а в конце лекции коротко опишем особенности исчисления доменов.
В отличие от раздела, посвященного реляционной алгебре, в этом разделе нам не удастся избежать использования некоторого конкретного синтаксиса, который мы, тем не менее, формально определять не будем. Необходимые синтаксические конструкции будут вводиться по мере необходимости. В совокупности, используемый синтаксис близок, но не полностью совпадает с синтаксисом языка баз данных QUEL, который долгое время являлся основным языком СУБД Ingres.
Для определения кортежной переменной используется оператор RANGE. Например, для того, чтобы определить переменную СОТРУДНИК, областью определения которой является отношение СОТРУДНИКИ, нужно употребить конструкцию
Реляційне числення. Числення доменів. (самостійно)
5.2.3. Реляционное исчисление доменов
В исчислении доменов областью определения переменных являются не отношения, а домены. Применительно к базе данных СОТРУДНИКИ-ОТДЕЛЫ можно говорить, например, о доменных переменных ИМЯ (значения - допустимые имена) или НОСОТР (значения - допустимые номера сотрудников).
Основным формальным отличием исчисления доменов от исчисления кортежей является наличие дополнительного набора предикатов, позволяющих выражать так называемые условия членства. Если R - это n-арное отношение с атрибутами a1, a2, ..., an, то условие членства имеет вид
R (ai1:vi1, ai2:vi2, ..., aim:vim) (m <= n),
где vij - это либо литерально задаваемая константа, либо имя кортежной переменной. Условие членства принимает значение true в том и только в том случае, если в отношении R существует кортеж, содержащий указанные значения указанных атрибутов. Если vij - константа, то на атрибут aij задается жесткое условие, не зависящее от текущих значений доменных переменных; если же vij - имя доменной переменной, то условие членства может принимать разные значения при разных значениях этой переменной.
Во всех остальных отношениях формулы и выражения исчисления доменов выглядят похожими на формулы и выражения исчисления кортежей. В частности, конечно, различаются свободные и связанные вхождения доменных переменных.
Для примера сформулируем с использованием исчисления доменов запрос "Выдать номера и имена сотрудников, не получающих минимальную заработную плату" (будем считать для простоты, что мы определили доменные переменные, имена которых совпадают с именами атрибутов отношения СОТРУДНИКИ, а в случае, когда требуется несколько доменных переменных, определенных на одном домене, мы будем добавлять в конце имени цифры):
СОТР_НОМ, СОТР_ИМЯ WHERE EXISTS СОТР_ЗАРП1
(СОТРУДНИКИ (СОТР_ЗАРП1) AND
СОТРУДНИКИ (СОТР_НОМ, СОТР_ИМЯ, СОТР_ЗАРП) AND
СОТР_ЗАРП > СОТР_ЗАРП1)
Реляционное исчисление доменов является основой большинства языков запросов, основанных на использовании форм. В частности, на этом исчислении базировался известный язык Query-by-Example, который был первым (и наиболее интересным) языком в семействе языков, основанных на табличных формах.
