
- •1. Введение в курс
- •1.1. Введение в базы данных, содержание и цели курса, основные понятия
- •1.1.1. О чём этот курс
- •1.1.2. Основные определения
- •1.1.3. Способы организации знаний в базах знаний
- •1.1.4. Применение баз знаний
- •1.1.5. Виды моделей баз данных
- •2. Теория баз данных
- •2.1. История развития представлений о базах данных
- •2.1.1. Области применения вычислительной техники
- •2.1.2. Базы данных и информационные системы
- •2.1.3. История развития баз данных
- •2.1.4. Этапы развития баз данных
- •2.2. Основные термины и определения теории бд, виды бд и их отличия
- •2.2.1. Классификация бд
- •2.3. Реляционные бд, понятие сущности и связи
- •2.3.1. Общие определения
- •2.3.2. Факты о реляционной модели данных
- •2.3.3. Достоинства реляционной модели данных
- •2.3.4. Недостатки реляционной модели данных
- •2.3.5. Целостность бд
- •2.3.6. Отношения
- •2.3.7. Кортежи и отношения
- •2.3.8. Связи
- •2.3.9. Ключи отношений
- •2.3.10. Ссылочная целостность
- •2.3.11. Консистентность данных
- •2.4. Многоуровневая архитектура баз данных, понятие физического и логического уровней баз данных
- •2.4.1. Определения
- •2.4.2. Многоуровневая структура баз данных
- •2.4.3. Постоянная и переменная длина записи
- •2.4.4. Способы представления данных
- •2.4.5. Простейший вариант – плоский файл
- •2.4.6. Факторизация по значениям поля
- •2.4.7. Индексирование по полям
- •2.4.8. Комбинация простых представлений
- •2.4.9. Использование цепочек указателей
- •2.4.10. Многосписочные структуры
- •2.4.11. Инвертированная организация
- •2.4.12. Иерархическая организация
- •2.4.14. Промежуточный итог
- •2.4.15. Методы индексирования
- •2.4.16. Индексирование по комбинации полей
- •2.4.17. Селективный индекс
- •2.4.18. Индексация по методу сжатия
- •2.4.19. Фронтальное сжатие
- •2.4.20. Сжатие окончания
- •2.4.21. Символьные указатели
- •2.4.23. Индексно-последовательная организация
- •2.4.24. Сбалансированные деревья
- •2.4.25. Ведение файла
- •2.4.26. Хэширование
- •2.4.28. Итог
- •2.5. Алгоритмы хэширования
- •2.5.1. Введение
- •2.5.2. Хэширование
- •2.5.2. Факторы эффективности хэширования
- •2.5.3. Размер участка памяти
- •2.5.4. Плотность заполнения
- •2.5.5. Алгоритмы хэширования
- •2.5.6. Размещение записей в области переполнения
- •2.5.7. Итог
- •2.6. Механизмы обработки и хранения данных в бд
- •2.6.1. Введение
- •2.6.2. Механизмы обработки и хранения данных в ms-sql 6.0-6.5
- •2.6.3. Механизмы обработки и хранения данных в ms-sql 7.0 и более поздних версиях
- •2.6.4. Метод доступа isam
- •2.6.5. Метод доспута MyIsam
- •2.6.6. Метод доступа vsam
- •2.6.7. Включение записей в *sam-файлы
- •2.6.8. Размещение индексов для *sam-файлов
- •2.6.9. Метод доступа InnoDb
- •2.6.10. Итог
- •2.7. Физическое представление древовидных и сетевых структур
- •2.7.1. Введение
- •2.7.2. Древовидные структуры
- •2.7.3. Сетевые структуры
- •2.7.4. Итог
- •3.1.4. Стандарты разработки бд/субд
- •3.1.5. Sql и его стандарты
- •Часть 1 – sql/Структура (sql/Framework) – определяет общие требования соответствия и фундаментальные понятия sql.
- •3.1.6. Использование методологии idef1x
- •3.1.7. Пример логической и физической схемы в ErWin
- •3.1.8. Минимальный набор стандартных таблиц
- •3.1.8. Итог
- •3.2. Средства автоматизированного проектирования бд
- •3.2.1. Введение
- •3.2.2. Case-технологии
- •3.2.3. Достоинства case-технологий
- •3.2.4. Промежуточные выводы и определения
- •3.2.5. Методологии структурного моделирования
- •3.2.6. Методология sadt (idef0)
- •3.2.7. Методологии информационного моделирования
- •3.2.8. Нотация Чена
- •3.2.9. Нотация Мартина
- •3.2.10. Нотация ide1x
- •3.2.11. Нотация Баркера
- •3.2.12. Язык информационного моделирования
- •3.2.13. Case-средства
- •3.2.14. Процесс создания модели бд в ErWin
- •3.2.15. Процесс создания модели бд в Sparx ea
- •3.2.16. Итог
- •3.3. Особенности проектирования бд на логическом и физическом уровнях
- •3.3.1. Введение
- •3.3.2. Модель бд
- •3.3.4. Банки данных
- •3.3.5. Модели данных
- •3.3.6. Этапы проектирования бд
- •3.3.7. Проектирование бд: внешний уровень
- •3.3.8. Проектирование бд: инфологический уровень
- •3.3.9. Проектирование бд: даталогический уровень
- •3.3.10. Уровни sql
- •3.3.11. Проектирование бд: физический уровень
- •3.3.12. Итог
- •3.4. Прямое и обратное проектирование бд
- •3.4.1. Введение
- •3.4.2. Понятие нормализации
- •3.4.3. Требования нормализации
- •3.4.4. Примеры аномалий
- •3.4.5. Нормальные формы
- •3.4.6. Зависимости
- •3.4.6. Первая нормальная форма
- •3.4.7. Вторая нормальная форма
- •3.4.8. Третья нормальная форма
- •3.4.9. Нормальная форма Бойса-Кодда
- •3.4.10. Четвёртая нормальная форма
- •3.4.11. Пятая нормальная форма
- •3.4.12. Доменно-ключевая нормальная форма
- •3.4.13. Ещё раз, кратко, все нормальные формы
- •3.4.14. Ещё раз, кратко, в ErWin
- •3.5.2. Показатели качества бд
- •3.5.3. Итог
3.5.2. Показатели качества бд
Ниже будут приведены и рассмотрены показатели качества БД на основе:
ГОСТ 20886-85 – Организация данных в системах обработки данных.
ГОСТ 28195-99 – Оценка качества программных средств. Общие положения.
ГОСТ ИСО/МЭК 9126-99 – Оценка программной продукции. Характеристики качества и руководства по их применению.
Номенклатура показателей качества и метрик БД ИС
Наименование характеристики |
Наименование подхарактеристики |
Метрика | ||
Признак |
Метод |
Оценка | ||
1 |
2 |
3 |
4 |
5 |
1 Показатели функциональной пригодности БД ИС | ||||
1.1 Полнота реализации |
1.1.1 Полнота концептуальной модели |
1.1.1.1 Степень соответствия состава объектов БД и взаимосвязей между ними информационным потребностям пользователя. |
экспертн.
|
0-1
|
1.1.1.2 Соответствие категориям пользователей |
экспертн. |
0-1 | ||
1.1.2 Прослеживаемость |
Коэффициент прослеживаемости |
расчетный |
Кpr=Nre/Nse,~0-1 где: Nre-число элементов (объектов, атрибутов) реализованных в БД ИС; Nse-число элементов БД ИС определенных на этапе анализа предметной области | |
1.2 Корректность |
Корректность логической структуры БД ИС |
Степень отображения в БД ИС элементов логической структуры, определенных в спецификации проекта |
расчетный |
Кkr=Nre/Nsp,~0-1 где: Nre-число элементов (объектов, атрибутов) реализованных в БД ИС; Nsp-число элементов БД ИС определенных в спецификации проекта |
1.3 Способность БД ИС в реконструктиризации |
Возможность изменения |
1.3.1 Возможность изменения структуры БД. |
экспертн.
|
0-1
|
1.3.2 Возможность изменения структуры БД ИС
|
экспертн. |
0-1 | ||
2 Показатели надежности БД ИС. | ||||
2.1 Работоспособность |
Восстанавливаемость |
2.1.1 Степень децентрализованного размещения БД ИС на внешних носителях. |
экспертн.
|
0-1
|
2.1.2 Оценка по среднему времени восстановления |
расчетный |
О
=
О~0-1 где: Твд – допустимое время восстановления готовности; Тв= N – число восстановлений | ||
2.2 Безопасность |
2.2.1 Целостность данных
|
Исследование способов сохранения целостности.
|
экспертн.
|
0-1
|
2.2.2 Защищенность данных
|
Наличие средств установления уровней доступа для отдельных пользователей и задач.
|
экспертн.
|
0-1
| |
2.2.3 Согласованность
|
Наличие средств блокировки данных |
экспертн. |
0-1 | |
3 Показатели удобства использования БД ИС | ||||
3.1 Легкость освоения |
3.1.1 Документированность |
3.1.1.1 Наличие документации на БД ИС в соответствии с ГОСТ |
расчетный
|
D=Ngf/Nf,~ 0-1, где: Nf- число требуемых документов для оценки качества БД ИС в соответствии с ГОСТ ; Ngf-число представленных документов |
3.1.1.2 Отсутствие ошибок в документации |
экспертн. |
0-1 | ||
3.1.1.3 Удобства использования документации на БД ИС |
экспертн. |
0-1 | ||
3.1.2 Обучаемость |
3.1.2.1 Трудоемкость освоения БД ИС пользователем. |
экспертн.
|
0-1
| |
3.1.2.2 Наличие средств обучения при эксплуатации БД ИС |
экспертн. |
0-1 | ||
3.2 Удобство эксплуатации (простота) |
3.2.1 Управляемость
|
Степень влияния логической структуры БД на сложность ее ведения. |
экспертн.
|
0-1
|
3.2.2 Коммуникативность |
Степень влияния логической структуры БД ИС на сложность формирования запросов
|
экспертн. |
0-1 | |
4 Показатели эффективности БД ИС | ||||
4.1 Временная эффективность |
4.1.1 Скорость обработки |
4.1.1.1 Время реализации |
расчетный |
R= R~0-1 где: Те – время начала ответа; Tb – время конца ввода запроса; Tmax – максимально допустимое время реакции |
4.1.1.2 Оборотное время |
расчетный |
W= W~0-1 где: Тf – время получения; Tb – время конца ввода запроса; Tmax – максимально допустимое оборотное время | ||
4.1.1.3 Время на генерацию отчета
|
расчетный |
G= G~0-1, где: То – время конца формирования документа; Tb – время конца ввода запроса; Tmax – максимально допустимое время на генерацию отчета | ||
4.1.2 Производительность |
4.1.2.1 Пропускная способность |
расчетный |
P=Nt/(Nmax*T), где: Nt – количество выполняемых транзакций; Nmax – необходимое количество транзакций; Т – длина интервала времени выполнения транзакции | |
4.1.2.2 Интегральный показатель производительности |
расчетный |
где: Wi – относительная частота появления запросов i-го типа; Ti – среднее время обслуживания запроса i-го типа; N – количество типов запросов | ||
4.1.2.3 Информационная производительность |
расчетный |
Ip=I/T,
где: Рl – вероятность запроса l-го информационного элемента; L – общее число информационных элементов;
Тl – время доступа к записи с l-м информационным элементом
| ||
4.2 Ресурсоемкость |
Занятость ресурсов |
Используемость внешней памяти |
расчетный |
Rv=Vs/Vmax, где: Vs – текущий объем внешней памяти; Vmax – максимально отведенный под БД ИС объем внешней памяти |
4.3 Эффективность транзакций |
4.3.1 Качество транзакций |
4.3.1.1 Степень загруженности запроса пользователя |
расчетный |
где: m – число массивов БД; Ni – число обрабатываемых элементов в i-том массиве; М – общее число элементов БД ИС |
4.3.1.2 Степень функциональной сложности запроса пользователя |
экспертн. |
0-1 | ||
4.3.1.3 Относительное число транзакций, использующих группы данных монопольно |
расчетный |
Q = 1-Npm/Np, где: Npm – число транзакций, использующих группы данных монопольно; Np – общее число транзакций | ||
4.3.1.4 Степень функциональной специализации транзакций
|
расчетный |
Sf=Ntf/Nt, где: Ntf – число функционально специализированных транзакций; Nt – общее число транзакций | ||
5 Показатели сопровождаемости БД ИС | ||||
5.1 Структурность
|
5.1.1 Структурная сложность
|
5.1.1.1 Доступность вершины графа БД ИС |
расчетный |
D= где: А(Мi) - доступность i-той вершины, смежной с определяемой вершиной; С(Мi) – общее число вершин, достижимых из определяемой вершины |
5.1.1.2 Сложность уровня графа БД ИС |
расчетный |
Su=E-T, где: Е – число ребер между точкой вызова и i-м уровнем; Т – число вершин между самым верхним и i-м уровнем | ||
5.1.1.3 Ясность уровня графа БД ИС |
расчетный |
U=1-T/E. | ||
5.1.1.4 Сложность иерархии уровней графа БД ИС |
расчетный |
Si=Тобщ/N, где: Тобщ – общее число вершин графа; N – максимальное число уровней | ||
5.1.1.5 Структурная сложность графа БД ИС |
расчетный |
С=Еобщ/Тобщ, где: Еобщ – общее число ребер графа | ||
5.1.1.6 Достижимость графа БД ИС |
расчетный |
где: М – число вершин в графе; Npi – число маршрутов, пересекающих i-тую вершину | ||
5.1.1.7 Средняя достижимость графа БД ИС
|
расчетный |
Dср – D/M, где: D – достижимость графа БД; М – общее число вершин графа | ||
5.1.1.8 Длина максимального маршрута графа БД ИС |
расчетный |
Lmax=max(Li), i=1, N, где: Li – длина i-того маршрута; N – число маршрутов графа | ||
5.1.1.9 Длина минимального маршрута графа |
расчетный |
Lmin=min (Li), i=1, N | ||
5.1.1.10 Средняя длина маршрута графа БД ИС |
расчетный |
| ||
5.1.1.11 Цикломатическое число графа БД ИС |
расчетный |
Cg=E-N+2*P, где: Е – число ребер графа; N – число вершин графа; P – число связанных компонентов графа | ||
5.2 Простота конструкции |
5.2.1 Показатели Холстеда для языка обработки данных (ЯОД) |
5.2.1.1 Размер словаря |
расчетный |
Rs=N1+N2, где: N1 – количество операторов различных типов, встречающихся в данной реализации; N2 - количество операндов различных типов, встретившихся в данной реализации |
5.2.1.2 Наблюдаемая длина реализации |
расчетный |
N=N3+N4, где: N3 – количество операторов, встречающихся в данной реализации; N4 – количество операндов, встречающихся в данной реализации | ||
5.2.1.3 Вычисленная длина реализации |
расчетный |
DL = N1*log2N1 + N2*log2N2 | ||
5.2.1.4 Объем операторов определения данных на ЯОД |
расчетный |
VD = N*log2Rs | ||
5.2.1.5 Уровень модуля операторов данных на ЯОД |
расчетный |
UD=(2*N2)/(N1*N3) | ||
5.2.1.6 Сложность модуля операторов определения данных на ЯОД |
расчетный |
SD=VD/UD | ||
5.3 Наглядность |
5.3.1 Комментируемость схемы БД ИС |
Коэффициент комментируемости модулей ЯОД |
расчетный |
К=N/Rя, где: N – число комментариев в модуле; Rя – число операторов в модуле |
5.3.2 Оформление ЯОД |
Мнемоническая совместимость элементов логической схемы БД ИС и соответствующих им объектов предметной области |
экспертн. |
0-1 | |
6 Показатели адаптированности БД ИС | ||||
6.1 Гибкость |
Гибкость структуры данных |
6.1.1 Отсутствие синонимов среди атрибутов БД ИС |
экспертн. |
0-1 |
6.1.2 Отсутствие омонимов среди атрибутов БД ИС |
экспертн. |
0-1 | ||
6.1.3 Избыточность БД ИС |
экспертн. |
0-1 | ||
6.1.4 Степень нормализации отношений БД ИС |
экспертн. |
0-1 | ||
6.2 Мобильность |
6.2.1 Способность к взаимодействию |
Возможность использования БД ИС с другими СУБД |
экспертн. |
0-1 |
|
6.2.2 Совместимость |
6.2.2.1 Совместимость типов данных |
расчетный |
Fs=Nc/Na, где: Nc – число совместимых типов данных; Na – общее число типов данных |
6.2.2.2 Совместимость форматов данных |
расчетный |
Fs=Nfc/Nfa, где: Nfc – число совместимых форматов данных; Nfa – общее число форматов данных | ||
6.2.2.3 Совместимость по числу записей в БД ИС |
экспертн. |
0-1 |
Основные характеристики качества БД ИС и соответствующие им свойства
Наименование характеристики |
Характеризуемое свойство характеристики |
1. Показатели функциональной пригодности БД ИС |
Набор атрибутов, определяющих состав и свойства БД ИС с точки зрения удовлетворения исходных требований пользователей |
1.1 Полнота реализации |
Степень удовлетворения информационных потребностей пользователя для выбранной предметной области |
1.2 Корректность |
Степень соответствия объектов предметной области и их характеристик, определенных в спецификациях проекта, объектам, реализованным в БД ИС |
1.3 Способность к реструктуризации |
Способность БД ИС к изменению логической структуры |
2. Показатели надежности БД ИС |
Способность БД ИС поддерживать свое состояние при определенных условиях за заданный интервал времени |
2.1 Работоспособность |
Способность БД ИС к восстановлению после возникновения отклонений, вызванных аппаратными и программными сбоями |
2.2 Безопасность |
Наличие средств, позволяющих предотвратить: запоминание некорректных данных в БД ИС; доступ к данным лиц, не имеющих на это права; несанкционированное раскрытие данных |
3. Показатели удобства использования БД ИС |
Характеризуют свойства БД ИС по ее освоению, применению и эксплуатации с минимальными трудозатратами, с учетом характера решаемых задач и квалификации обслуживающего персонала |
3.1 Легкость освоения |
Предоставление документации и БД ИС в виде, способствующем пониманию логики функционирования системы БД ИС в целом и ее частей |
3.2 Удобство эксплуатации (простота) |
Степень независимости эксплуатационных свойств БД ИС от ее логической структуры |
4 Показатели эффективности БД ИС |
Степень удовлетворения потребности пользователя в обработке данных с учетом используемых ресурсов |
4.1 Временная эффективность |
Свойства БД ИС обеспечить выполнение транзакций за заданные интервалы времени |
4.2 Ресурсоемкость |
Минимально необходимые вычислительные ресурсы для эксплуатации БД ИС |
4.3 Эффективность транзакций |
Степень эффективности реализации транзакций на существующей структуре БД ИС
|
5. Показатели сопровождаемости БД ИС |
Характеризуют технологические аспекты, обеспечивающие простоту устранения ошибок в БД, документации и поддержке БД ИС в актуальном состоянии |
5.1 Структурность |
Организация взаимосвязанных частей БД ИС в единое целое с использованием логических структур |
5.2 Простота конструкции |
Определяет простоту использования языка определения данных
|
5.3 Наглядность |
Наличие и представление в наиболее легко воспринимаемом виде исходных модулей операторов определения логической структуры БД ИС и транзакций |
6 Показатели адаптированности БД ИС |
Характеризует адаптируемость БД ИС к новым функциональным требованиям, возникающим в следствии изменения области применения или других условий функционирования |
6.1 Гибкость |
Свойство БД ИС, направленное на отделение несходных данных друг от друга и устранение семантической избыточности с целью обеспечения большей степени независимости данных друг от друга и обрабатывающих их программ |
6.2 Мобильность |
Свойство БД ИС выполнять свои функции при изменении внешней среды и условий функционирования, а также простоту сопряжения с уже существующими системами |