
Этапы проектирования.ppt
- Количество слайдов: 35
Модели и этапы проектирования баз данных
1. Стадии проектирования и объекты моделирования 2. Системный анализ предметной области 3. Модели и технологии инфологического проектирования БД 4. Даталогические модели 5. Физические модели
Стадии и объекты процесса проектирования Системный анализ Объекты и связи Предметной области Определение парадигмы информационной модели (структурированность и динамичность информации; способ предст-ия инф-ции) парадигма информационной модели Инфологическое проектирование Прикладные задачи пользователей Определение системы атрибутов; типовых запросов; типовых процедур обработки. Инфологическая модель Выбор парадигмы модели данных (иерархическая/ сетевая/ реляционная/ объектная и т. п. ). Выбор методики (средств) моделирования. Логика СУБД (модель данных) Даталогическое проектирование Разработка концептуальной схемы БД; внешних схем; правил семантической целостности. Даталогическая модель Физическое проектирование ЯОД и ЯМД конкретной СУБД Отображение даталогической модели в модель данных выбранной СУБД: проектирование структур данных и связей. Физическая модель БД
Системный анализ предметной области Функциональный подход Объектный (предметный) подход Управление Объект Вход Функция Выход Связ ь Объект Механизм исполнения
Диаграммы потоков данных (DFD - Data Flow Diagramm) Функция Поток данных Хранилище данных Внешняя сущность
Методология SADT (IDEF 0) (Structured Analisys and Design Technique)
Модель «Сущность-связь» Сущность Сотрудник Сильная сущность Подчиненный Слабая сущность Свойство сущности Связь Множественное. Специальность единичное Адрес Простоесоставное Город Улица Дом Базовое-производное Условное Ин. язык Статическоединамическое Кол-во Сотрудник «один к одному» (1: 1) «один ко многим» (1: М) «многие к одному» (М: 1) «многие ко многим» (М: М) Полнаянеполная
ER-диаграмма предметной области сотрудники-проекты-детали-поставщики Отдел Таб. номер Ф. И. О. 1 Год. Рожд. Соста в М Специальность Сотрудник Ин. язык 1 1 Адрес Город Улица Дом Участи е М М Подчин ение Проект М М Рук-во Объем поставки Реализаци я проекта Имя поставщика М Статус поставщика М Подчиненный Деталь Соста в Состоит из В составе М М Кол-во
ER-диаграмма в 3 -ей нормальной форме Специальность М Имеет М М Отдел Поставщик 1 Соста в М Сотрудник 1 Объем Участи е М М 1 М Проект М Реализаци я проекта Рук-во Подчиненный М М Соста в Состоит из Ин. язык М М Деталь В составе М Поставк а М Подчин ение Владеет М
Модель данных – модель логического уровня проектирования БД • • • Структурный компонент, т. е. набор правил, по которым может быть построена БД. Управляющий компонент, определяющий типы допустимых операций с данными (операции обновления и извлечения данных, а также операции изменения структуры БД). Поддержка набора (необязательная) ограничений целостности данных, гарантирующая корректность используемых данных.
Структурный компонент – модели на основе записей Ø реляционная модель данных (relational data model); Ø сетевая модель данных (network data model); Ø иерархическая модель данных (hierarchical data model).
Реляционная модель данных Структура Каф Телефон Корпус № ком 22 25 -15 А 322 23 38 -42 В 221 24 99 -18 Б 117 Таб№ Кадровый состав ФИО Должность Каф 121 Иванов И. И. Зав. каф. 22 231 Сидоров С. С. Проф. 22 123 Гиацинтова Г. Г. Проф. 23 432 Цветкова С. С. Доцент 23 465 Козлов К. К. Доцент 24 675 Петров П. П. Ст. преп. 24 782 Лютикова Л. Л. Ассистент 22
Реляционная модель для Пр. О «сотрудники-проекты-детали-поставщики»
Реляционная модель (ключевые группы)
Структура Сетевая модель данных Кадровый состав 25 -15 А 322 23 38 -42 В 221 24 99 -18 Б 117 121 Иванов И. И. Зав. каф. 231 22 Сидоров С. С. Проф. 782 Лютикова Л. Л. Ассистент 123 Гиацинтова Г. Г. Проф. 432 Цветкова С. С. Доцент 465 Козлов К. К. Доцент 675 Петров П. П. Ст. преп.
Сетевая модель для Пр. О «сотрудники-проекты-детали-поставщики» Отдел . Сотрудник Проектсотрудник Проект Поставка для проекта … … . Деталь … Деталь Составляющая Сотрудник Подч. Поставщик Поставка для проекта Деталь Составляющая Сотрудник Подч Поставщик Поставка Деталь Составляющая . Подч Поставщик Поставка … . Поставщик Поставка
Модификация сетевой модели Отдел Сотрудник -Отдел Сотрудник -подч Сотрудник Проектсотрудник Проект Поставка для проекта Составляющая . Подч. Поставщик … Поставка для проекта Деталь Сотрудникподч Деталь … Деталь Составляющая Поставка Деталь Составляющая Подч Сотрудникподч Поставщик Поставка
Иерархическая модель данных ВУЗ Структура 22 25 -15 А 322 23 38 -42 В 221 Кадровый состав 121 Иванов И. И. Зав. каф. 231 Сидоров С. С. Проф. 782 Лютикова Л. Л. Ассистент 123 Гиацинтова Г. Г. Проф. 432 Цветкова С. С. Доцент 465 Козлов К. К. Доцент 675 Петров П. П. Ст. преп. 24 99 -18 Б 117
Иерархическая модель для Пр. О «сотрудники-проекты-детали-поставщики» (вариант 1) Отдел . Сотрудник Проект Поставка Деталь . Сотрудник … Проект . Поставка Деталь . Подч. … Поставщик Подч … . . Поставщик
Иерархическая модель (вариант 2) Отдел . Сотрудник Проект Поставка Составляющая Деталь … Проект . Поставка Составляющая Деталь . Сотрудник Деталь . Подч. . … Подч … Проект . … Составляющая Поставщик
Преимущества и недостатки моделей
Физическая структура данных в d. Base Основной файл базы данных Заголовок memo-файл для хранения длинных полей Заголовок memo Подзапись поля 1 Блок memo … … Подзапись поля N 01 – конец заголовка Признак удаления (*) Индексный файл Заголовок Вершина Блок memo Вершина … … Поле
Структура заголовка файла данных Байты Описание 00 Типы файлов с данными 01 -03 Последнее изменение (ГГММДД) 04 -07 Число записей в файле 08 -09 Положение первой записи с данными 10 -11 Длина одной записи с данными (включая признак удаления) 12 -27 Зарезервированы 28 1 - есть составной индексный файл (типа. CDX), 0 -нет 29 -31 Зарезервированы 32 -n Подзаписи полей (для каждого поля - одна подзапись) N+1 Признак завершения записи заголовка (0 х01)
Структура подзаписи поля Байты Описание 00 -10 Название поля (максимально - 10 символов) 11 Тип данных: C - символьное; N - числовое; L - логическое; M - типа memo; D - дата; F - с плавающей точкой; P - шаблон. 12 -15 Расположение поля внутри записи 16 Длина поля (в байтах) 17 -31 Зарезервированы
Структура memo-файла Структура заголовка memo-файла Байты Описание 00 -03 Расположение следующего свободного блока 04 -05 Не используются 06 -07 Размер блока (число байтов в блоке) 08 -511 Не используются Заголовок блока memo и текст memo 00 -03 04 -07 Сигнатура блока (тип данных в блоке): 0 - шаблон (поле типа шаблон) / 1 - текст (поле типа memo) Длина memo (в байтах) 08 -n Текст memo (n=длина) Все memo-блоки начинаются с четных адресов границ блоков
Структура индексного файла Запись заголовка индексного файла Байты Описание 00 -03 Указатель на корневую вершину 04 -07 Указатель на свободную в списке вершину (-1, если таковая отсутствует) 08 -11 Указатель на конец файла (размер файла) 12 -13 Длина ключа 14 Особенности индекса : 1 - уникальный индекс; 8 - индекс имеет дополнительный оператор FOR. 15 Сигнатура индекса 16 -235 Ключевое выражение (не компилируется; до 220 символов) 236 -455 Выражение FOR (не компилируется; до 220 символов, оканчивающееся пустым символом) 456 -511 Не используются
Структура записи вершины индекса Байты Описание 00 -01 Атрибуты вершины: 0 - вершина индекса; 1 - корневая вершина; 2 - лист. 02 -03 Количество ключей (0, 1 или больше) 04 -07 Указатель на вершину, расположенную непосредственно слева от данной вершины (на том же уровне; -1, если отсутствует) 08 -11 Указатель на вершину, расположенную непосредственно справа от данной вершины (на том же уровне; -1, если отсутствует) 12 -511 До 500 символов, включающих в себя перечень значений ключа с четырехбайтовым шестнадцатиричным числом (хранящемся в обычном формате слева направо). Если вершина является листом, тогда четыре байта содержат подлинный номер в базе данных в шестнадцатиричном формате, иначе 4 байта содержат внутрииндексный указатель
Структура индекса Корень … Вершина … Лист … Запись Файл данных … Вершина Лист … … Вершина … Запись …
Физическая структура данных в MS SQL Server База данных Журнал транзакций Файлы БД Файл данных Экстент Страница Однородный Смешанный Страница Данных Индексная Страница Текстовая Страница Журнала Транзакций Карта Распределения Блоков Карта Свободного Пространства Индексная Карта Размещения
Структура страницы • номер страницы Заголовок 96 байт Прочие структуры данных 36 байт • идентификатор объекта, которому принадлежит страница; • индекс и уровень внутри индексного дерева, которому принадлежит страница; • количество записей на странице; 8 192 байт Данные 8 060 байт • общий объем свободного пространства на странице; • указатель на свободное пространство последней записи на странице; • минимальная длина строки на странице; • объем зарезервированного пространства.
Страницы размещения Карты распределения экстентов Карты свободного пространства заголовок + битовый массив Page free space (PFS) (64000 бит) степень заполнения 1 бит - 1 экстент страниц. 1 страница - 64 000 экстентов 1 PFS - 8000 страниц (4 Гбайт данных) глобальная карта распределения 1 байт – 1 страница (Global Allocation Map, GAM) PFS повторяются бит = 0, экстент занят через каждые 8000 бит = 1, экстент свободен страниц вторичная глобальная карта распределения (Secondary global allocation map, SGAM) бит = 1, экстент смешанный Индексные карты размещения Index Allocation Map, IAM - связь между экстентами и расположенными на них объектами объект - одна или более страниц IAM объединены друг с другом в цепочку двунаправленными ссылками. IAM - битовая карта: Бит = 1, в экстенте есть страницы, принадлежащие данному объекту, Бит = 0 — нет.
Страница данных Заголовок Таблица размещения записей (слотов) 1 слот = 4 байта (смещение на странице и длина записи) Поля фиксированной длины хранятся до полей переменной длины и занимают свою полную длину. Значение NULL задается специальным флагом. В каждой записи хранится общая длина записи и текущие длины полей переменной длины.
Индексы Кластерный индекс Некластерный индекс А… Row. ID Г… Row. ID Ж… Row. ID А… Row. ID Ж… Row. ID Б… З… Row. ID И… Row. ID В… Row. ID … А… Данные Б… Данные З… А… Данные Б… Данные Ж… Данные А… Данные Б… Данные Л… Данные В… Данные
Этапы проектирования.ppt