Конспект лекций соответствует требованиям Государственного образовательного стандарта высшего профессионального образования РФ и предназначен для освоения студентами вузов специальной дисциплины «Базы данных».
Лаконичное и четкое изложение материала, продуманный отбор необходимых тем позволяют быстро и качественно подготовиться к семинарам, зачетам и экзаменам по данному предмету.
Лекция № 1. Введение
1. Системы управления базами данных
Системы управления базами данных (СУБД)
– это специализированные программные продукты, позволяющие:
1) постоянно хранить сколь угодно большие (но не бесконечные) объемы данных;
2) извлекать и изменять эти хранящиеся данные в том или ином аспекте, используя при этом так называемые запросы;
3) создавать новые базы данных, т. е. описывать логические структуры данных и задавать их структуру, т. е. предоставляют интерфейс программирования;
4) обращаться к хранящимся данным со стороны нескольких пользователей одновременно (т. е. предоставляют доступ к механизму управления транзакциями).
2. Реляционные базы данных
Термин «реляционный» произошел от английского слова «relation» – «отношение».
В самом общем математическом смысле (как можно помнить из классического курса алгебры множеств)
отношение
– это множество
где
A
1
, …, A
n
—
множества, образующие декартово произведение. Таким образом,
отношение R
—
это подмножество декартова произведения множеств:
A
1
×
…
×
A
n
:
Лекция № 2. Отсутствующие данные
В системах управления базами данных для определения отсутствующих данных описаны два вида значений: пустые (или Empty-значения) и неопределенные (или Null-значения).
В некоторой (преимущественно коммерческой) литературе на Null-значения иногда ссылаются как на пустые или нулевые значения, однако это неверно. Смысл пустого и неопределенного значения принципиально различается, поэтому необходимо внимательно следить за контекстом употребления того или иного термина.
1. Пустые значения (Empty-значения)
Пустое значение
– это просто одно из множества возможных значений какого-то вполне определенного типа данных.
Перечислим наиболее «естественные», непосредственные
пустые значения
(т. е. пустые значения, которые мы могли бы выделить самостоятельно, не имея никакой дополнительной информации):
1) 0 (нуль) – нулевое значение является пустым для числовых типов данных;
2) false (неверно) – является пустым значением для логического типа данных;
3) B’’ – пустая строка бит для строк переменной длины;
2. Неопределенные значения
(
Null-значения
)
Слово
Null
используется для обозначения
неопределенных значений
в базах данных.
Чтобы лучше понять, какие значения понимаются под неопределенными, рассмотрим таблицу, являющуюся фрагментом базы данных:
Итак,
неопределенное значение
или
Null-значение
– это:
3. Null-значения и общее правило вычисления выражений
Поговорим подробнее о действиях над выражениями, содержащими Null-значения.
Общее правило работы с Null-значениями (то, что результат операций над Null-значениями есть Null-значение) применяется к следующим операциям:
1) к арифметическим;
2) к побитным операциям отрицания, конъюнкции и дизъюнкции (кроме законов поглощения);
3) к операциям со строками (например, конкотинации – сцепления строк);
4. Null-значения и логические операции
Обычно в системах управления базами данных непосредственно поддерживаются только три логические операции: отрицание ¬, конъюнкция & и дизъюнкция ∨. Операции следования ⇒ и равносильности ⇔ выражаются через них с помощью подстановок:
Заметим, что эти подстановки полностью сохраняются и при использовании Null-значений.
Интересно, что при помощи операции отрицания «¬» любая из операций конъюнкция & или дизъюнкция ∨ может быть выражена одна через другую следующим образом: