--- 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] > [[Базы данных. Лекция 2|Следующая →]]