Добавил:
Developer Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Другие лекции / Лекция 3

.docx
Скачиваний:
0
Добавлен:
30.12.2023
Размер:
3.27 Mб
Скачать

21.09.2021

Функция – если каждому элементу первого множества соответствует не более 1 элемента второй множества.

Домен – все значения, которые могут(потенциально) находиться в таблице под атрибутом. Можно сказать, что домен определяется типом данных, который хранится в ячейках под атрибутом.

Домен = непустое множество.

Схема – таблица, а точнее её атрибуты, они задают структуру. Отношения – внутренности таблицы – содержимое.

Отношение – сами хранимые данные в целом. Все те строчки под атрибутами.

Задание схемы: Сотрудники(Фамилия, Имя, Отчество, ... )

Область определения – атрибуты.

Область значения – объединение всех доменов.

Кортеж – запись в строку

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

Эдлар Кодд – почитать о нём.

Edgar Frank Codd

Про субд умные штуки писал. В 70х годах.

ИЗ определения отношения как множества следует, что в таблице (отношении) не может быть 2х абсолютно одинаковых записей- то есть не может быть дубликатов кортежей; а также недопустимы пустоты.

Но почему в современных субд можно делать одинаковые строки и оставлять пустые места?

Рыночек порешал. Это работает только в теории, на практике стараются предоставить максимум возможностей. Дальше всё зависит от знаний и умений пользователей.

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

Можно пометить ещё и альтернативные ключи.

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

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

Ключи можно разделить на первичный и альтернативные – отличие между ними в том, что мы решили ориентироваться на один из них, и теперь считаем его первичным. НО могли бы выбрать и другой, тогда бы он был первичным.

Первичный ключ бывает простым (1 атрибут = первичный ключ) и составным (несколько атрибутов = первичный ключ). Как правило стараются выбирать простой, ну потому что так проще.

В оракл есть аппарат ограничений:

  • Primary Key – включает в себя unique и not null.

  • Unique (attribute combination) – контролирует, чтобы в столбцах не было повторений. Позволяет оставлять пустоты.

  • Not Null – в столбце нельзя оставлять пустые места.

  • Foreign key – внешний ключ. Может быть пустым.

Ограничение альтернативного ключа отсутствует.

Но при проектировании его стоит указать, чтобы дальше легче нормализовать.

Если таблица состоит из более 1 атрибута, часто вводят внутренний технический ключ и делают его первичным – например счётчик строк.

Но при этом вводят ещё и альтернативный ключ.

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

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

Пара №2

Если 1 к 1 то просто соединяем таблицы в 1, если это возможно.

1 к 1 может перерасти в 1:М, тогда имеет смысл заранее разделить на 2 таблицы.

Если имеется связь 1:1 в виде 2х таблиц, тогда внешний ключ будет являться и альтернативным ключом.

М:М связь разбивается на 2 1:М – для этого создаётся связующая таблица, которая объединяет 2 первичных ключа в виде первичного-внешнего составного ключа. Называется такая таблица сущность-связка.

Пример операции выбор

Пример проекции

Естественное соединение

Пример запроса с использованием ранее указанных операций

CASE

Одна из проблем при разработке БД – проблема оценки: какие данные собирать в 1 кортеж?

Существует много способов, которыми можно сгруппировать данные в таблице отношений. Ряд из них может привести к серьёзным проблемам на этапе сопровождения АС. Например, крайне нежелательной является такая компоновка данных, которая в последствии может привести к расщеплению записи на 2 части или замене ключа некоторых элементов, что вызовет необходимость модификации значительного количества текста программ.

Будем считать, что данные сгруппированы в таблице неплохо, если каждая таблица представлена в 3-й нормальной форме.

Существуют и иные формы. В качестве развития 3й нормальной формы были предложены: нормальная форма бойса-кодда, 4НФ, 5НФ, Нормальная форма доменов ключей, 6НФ.

Значение атомарности атрибута является работой специалиста и разработчика БД.

Значение атомарное в 1м предложении может быть неатомарным в другом.

Принцип для себя: значение не атомарно, если в приложении оно используется по частям.

Соседние файлы в папке Другие лекции