128 lines
9.2 KiB
Markdown
128 lines
9.2 KiB
Markdown
---
|
||
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|Следующая →]] |