Initial commit
This commit is contained in:
128
Базы данных. Лекция 1.md
Normal file
128
Базы данных. Лекция 1.md
Normal 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|Следующая →]]
|
||||
Reference in New Issue
Block a user