Initial commit

This commit is contained in:
Aleksandr Ebaklakov
2026-04-22 16:58:43 +03:00
commit 011626b8b7
366 changed files with 23244 additions and 0 deletions

View File

@@ -0,0 +1,128 @@
---
tags:
- универ
---
Описывала литературу, выебывалась тем, что работала в Швеции/Швейцарии (по какой-то одной книжке?), при этом 15 лет читает БД в Корабелке. Еще описывала литературу.
# Основные определения
**База данных** — это набор структурированных данных и связей между ними, которые описывают некоторую **предметную область**. Предназначена для нескольких пользователей. Имеет свой сценарий.
**Предметная область** — ограниченная часть окружающего нас мира.
Например:
- Университет (объекты: студенты, преподаватели, администрация, занятия, проф.союз, бассейн, кафедра, факультет, группа, аудитории)
- Торговый центр
**Основные функции БД**:
1. Хранение данных (информации)
2. Эксплуатация (обновление/чтение) данных (информации)
# DFD
**Data Flow Diagram (DFD)** — Диаграммы потоков (данных). т.е. откуда берутся данные, куда они перемещаются. Рисуется для предметной области. *Рисовать лишь при сложных системах*
Элементы:
1. **Внешний источник** (Покупатель)
2. **Поток данных** *, что происходит с данными*
1. Натация Йордана
2. Натация Гейна (более современная)
3. **Хранилище** — Состояние данных в покое (БД, Электронная таблица). Нет delete, только добавление
4. **Направление процесса** (Как данные переходят)
Пользователь должен получать **неизменяемые** данные. ^e4ae49
**3 Фазы (Уровня) DFD**:
- «Нулевой/Концептуальный» уровень — Нет хранилища, определяется «кто и что делает». ==пример 1==
- «Логический» уровень — Начинаем работать с каждым процессом, появляются внутренние процессы, «подпроцессы». Ответ на вопрос, — «Что включает в себя процесс?». ==пример 2==
- «Физический уровень» — Показывает как реализуются процессы внутри. Каждый поток содержит в себе «входящий» поток и «выходящий». ==пример 3== и ==пример 4==
# Реализация хранилища
**!!! Система ролей («кто ты такой?»): !!!**
- Гость (без регистрации)
- Зарегистрированный пользователей (с регистрацией)
- Администратор (полный функционал)
Для каждой роли имеется свой функционал.
**СУБД** — Система Управления Базами Данных — Набор программ, позволяющих:
- Создать БД
- Построить запрос в БД (с помощью SQL)
- Создать [[Базы данных. Лекция 1#^e4ae49|отчеты]]
# Эксплуатация БД
При эксплуатации БД необходимо учитывать следующие аспекты:
- Функциональность и адаптируемость
- Безопасность
- Время реакции
- Производительность обработки транзакций
- Пропускная способность
**Требования к система БД**:
1. Низкая избыточность данных — Данные лучше хранить в одном месте, чем в нескольких (низкая повторяемость данных)
2. Непротиворечивость данных
3. Соблюдение стандартов
4. Безопасность данных
5. Независимость данных
6. Высокие пользовательские свойства системы
Безопасность понижает производительность приложения
**Основные режимы работы с БД**:
- Создание БД
- Редактирование БД
- Просмотр БД
- Поиск информации в БД (устаревшее?)
**По характеру информации базы данных делятся на:**
- **Фактографические**
Приспособлена для хранения «фактов».
- **Документальные/Документоориентированные**
Приспособлена для хранения «документов».
**По способу хранения базы данных делятся на:**
- Централизированные
БД хранится на одном компьютере
- Распределенные
Распределенные части одной БД разделяются на разные компьютеры (сервера)
*Файл–Серверная модель устарела. ЛУЧШЕ (по производительности) использовать Клиент–Серверную.*
*Лучше не лезть в Model (из MVC)*
## Жизненный цикл БД
1. Планирование — DFD
2. Анализ — Набор требований (ограничения для каждого поля)
3. Разработка проекта
4. Еще хуйня какая-то, я пропустил
# Инфологическое/Концептуальное проектирование БД
1. Системный анализ предметной области
2. Инфологическое проектирование
3. Выбор СУБД
4. Логическое проектирование
5. Физическое проектирование
Базе данных обязательно приложение
**Устаревшая архитектура БД**:
==пример 5==
- Внешний уровень — набор внешних схем со своей терминалогией
Мы работает с концептуальной схемой, которая состоит из внешнего уровня
# Создание диаграммы предметной области
ERD — Entity Relationship Diagram — содержит 3 элемента:
1. Сущность — объект предметной области, ассациируется с существительными. Прямоугольник
1. Слабая сущность. Двойной прямоугольник
2. Атрибуты (для каждой сущности) — параметры сущности (характеристики сущностей предметной области). **Для кажой сущности необходим ключевой атрибут, который определяет**. Овал. Ключевой атрибут подчеркивается.
Типы атрибутов:
1. Ключевой — Обязательный. Подчеркивание.
2. Простой —
3. Составной — Иерархический.
4. Многозначный — Имеет несколько значений. Двойной овал.
5. Вычисляемый — Может быть вычислен из *хранимого* атрибута. Пунктирный овал.
3. Связь — ассациируется с глаголом. Ромб, внутри которого глагол.
1. Арность
1. Бинарная
2. Контракт/Тернарная — связь, между 3 сущностями
2. Степень связи
1. 1: 1 — один экземпляр одной сущности связан с одним экземпляром другой сущности
2. 1: M/ M: 1 — один экземпляр одной сущности связан с несколькими эезмеплярами другой сущности
3. M: M — несколько экземпляров одной сущности связаны с несколькими экземплярами другой сущности
3. Класс принадлежности сущности к данной связи
1. Обязательный — две черты
2. Необязательный — одна черта
4. Наличие атрибутов — атрибуты связи.
ERD содержит несколько натаций. Изучается **Натация Чена**.
>[!nav]
> <span></span> [[Базы данных. Лекция 2|Следующая →]]