summaryrefslogtreecommitdiff
path: root/databases
diff options
context:
space:
mode:
authorAndrew Guschin <guschin.drew@gmail.com>2022-04-02 08:18:10 +0400
committerAndrew Guschin <guschin.drew@gmail.com>2022-04-02 08:18:10 +0400
commitb782fe9a251cf07e30525aac7fdc8c780a232dee (patch)
treea282a9c853e65c8b7dd831dbb4643ed7838b597e /databases
parentc88de23029043dd4956e69c764e66319fc15a5c4 (diff)
Переместил все лекции пятого семестра в корень проекта
Diffstat (limited to 'databases')
-rw-r--r--databases/databases.tex13
-rw-r--r--databases/lectures/lecture1.tex49
-rw-r--r--databases/lectures/lecture2.tex29
3 files changed, 91 insertions, 0 deletions
diff --git a/databases/databases.tex b/databases/databases.tex
new file mode 100644
index 0000000..b9beb1a
--- /dev/null
+++ b/databases/databases.tex
@@ -0,0 +1,13 @@
+\documentclass{../Lecture}
+\usepackage{../preamble}
+
+\begin{document}
+
+\author{Андрей гущин}
+\title{Системы управления базами данных}
+\maketitle
+
+\include{lectures/lecture1.tex}
+\include{lectures/lecture2.tex}
+
+\end{document}
diff --git a/databases/lectures/lecture1.tex b/databases/lectures/lecture1.tex
new file mode 100644
index 0000000..d1859d4
--- /dev/null
+++ b/databases/lectures/lecture1.tex
@@ -0,0 +1,49 @@
+% Лекция 1 (06.09)
+\section{Архитектура ANSI-SPARC}
+
+\begin{itemize}
+ \item Внешний уровень (представления отдельных пользователей)
+ \item Концептуальный уровень (обобщённое представление пользователей)
+ \item Внутренний уровень (представление физического хранения)
+\end{itemize}
+
+Модель данных включает, по меньшей мере, три аспекта:
+\begin{itemize}
+ \item
+ \emph{аспект структуры} --- методы описания типов и логических
+ структур данных в базе данных;
+ \item \emph{аспект манипуляции} --- методы манипулирования данными;
+ \item
+ \emph{аспект целостности} --- методы описания и поддержки целостности
+ базы данных (корректных состояний базы данных).
+\end{itemize}
+
+\subsection{Стуктурная часть реляционной модели}
+
+Включает следующие объекты:
+
+\begin{itemize}
+ \item домены
+ \item атрибуты
+ \item кортежи
+ \item отношения
+ \item потенциальные (возможные) ключи
+ \item первичные ключи
+\end{itemize}
+
+Наименьшей единицей данных реляционной модели является атомарное
+(неразложимое) для данной предметной области значение данных.
+
+\textbf{Домен} --- множество допустимых атомарных значений одного и того
+же типа. Понятие домена несёт семантическую нагрузку: данные можно
+сравнивать, только если они относятся к одному домену. Например, домены
+цена и вес относятся к вещественному типу данных, но сравнивать значения
+из этих доменов не имеет смысла.
+
+\begin{itemize}
+ \item
+ Минимальный набор атрибутов, который позволяет однозначно
+ идентифицировать сущность --- \emph{первичный ключ}.
+ \item \emph{Степень отношения} --- коничество атрибутов (столбцов).
+ \item \emph{Кардинальное число} --- количество кортежей (строк).
+\end{itemize}
diff --git a/databases/lectures/lecture2.tex b/databases/lectures/lecture2.tex
new file mode 100644
index 0000000..e7052ab
--- /dev/null
+++ b/databases/lectures/lecture2.tex
@@ -0,0 +1,29 @@
+% Лекция 2 (16.09.21)
+\section{Целостность данных}
+
+NULL нельзя ни с чем сравнивать, любая операция с NULL даёт в результате NULL.
+
+\textbf{Целостность} в реляционной базе данных означает правильность
+данных в любой момент времени. \textbf{Ограничения целостности} --- это
+некие правила позволяющие поддерживать целостность данных в каждый
+момент времени. Поддержание целостности базы данных может
+рассматриваться как защита данных от неверных изменений или разрушений
+(не путать с незаконными изменениями и разрушениями, являющимися
+проблемой безопасности). Современные СУБД имеют ряд средств для
+поддержания целостности.
+
+Выделяют три группы правил по целостности:
+
+\begin{itemize}
+ \item Целостность по сущностям;
+ \item Целостность по ссылкам (ограничения уровня БД);
+ \item Целостность, определяемая пользователем (ограничения уровня атрибута)
+\end{itemize}
+
+\subsection{Целостность по сущностям}
+
+Так как потенциальные ключи фактически служат идентификаторами объектов
+предметной области, то значения этих идентификаторов не могут сожержать
+неизвестные значения. Это определяет следующее \emph{правило целостности
+сущностей}: атрибуты, входящие в состав некоторого потенциального ключа
+не могут принимать null-значений.