summaryrefslogtreecommitdiff
path: root/sem5/databases
diff options
context:
space:
mode:
authorAndrew Guschin <saintruler@gmail.com>2021-10-02 22:15:15 +0400
committerAndrew Guschin <saintruler@gmail.com>2021-10-02 22:15:15 +0400
commit1db3de354b92ea31b72aef122707ef9667f0f3d6 (patch)
treec5ea23db8c3f4df1fe2168b5c39ffa3452900574 /sem5/databases
parentc53fbc24e989857289cceeed2a88477aeabe0158 (diff)
Добавил лекции по Базам данных
Diffstat (limited to 'sem5/databases')
-rw-r--r--sem5/databases/databases.tex13
-rw-r--r--sem5/databases/lectures/lecture1.tex49
-rw-r--r--sem5/databases/lectures/lecture2.tex29
3 files changed, 91 insertions, 0 deletions
diff --git a/sem5/databases/databases.tex b/sem5/databases/databases.tex
new file mode 100644
index 0000000..b9beb1a
--- /dev/null
+++ b/sem5/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/sem5/databases/lectures/lecture1.tex b/sem5/databases/lectures/lecture1.tex
new file mode 100644
index 0000000..d1859d4
--- /dev/null
+++ b/sem5/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/sem5/databases/lectures/lecture2.tex b/sem5/databases/lectures/lecture2.tex
new file mode 100644
index 0000000..e7052ab
--- /dev/null
+++ b/sem5/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-значений.