- •Общие сведения Сведения об эумк
- •Методические рекомендации по изучению дисциплины
- •Рабочая учебная программа
- •Учреждение образования
- •«Белорусский государственный университет
- •Информатики и радиоэлектроники»
- •Пояснительная записка
- •Содержание дисциплины
- •1. Название тем лекционных занятий, их содержание, объем в часах.
- •2 Перечень тем ипр их наименование и объем в часах
- •3 Перечень тем контрольных работ их наименование и объем в часах
- •4. Курсовая работа, ее характеристика
- •Перечень тем курсовых работ
- •5. Литература
- •5.1 Основная
- •5.2 Дополнительная
- •6. Перечень компьютерных программ, наглядных и других пособий, методических указаний и материалов и технических средств обучения
- •7. Учебно-методическая карта дисциплины
- •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. Многоуровневая структура баз данных
- •Indexed р#
- •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.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
- •InnoDb в MySql 5.1
- •2.7.3. Сетевые структуры
- •3.1.4. Стандарты разработки бд/субд
- •3.1.5. 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.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.4.15. Обратное проектирование бд
- •3.4.16. Итог
- •3.5. Повышение качества бд на стадии проектирования
- •3.5.1. Памятки разработчикам бд
- •3.5.2. Показатели качества бд
- •Практическая часть
- •Указания по выбору варианта
- •Индивидуальные практические работы Индивидуальная практическая работа № 1 Общие сведения
- •Практическая часть
- •Указания по выбору варианта
- •Индивидуальная практическая работа № 2 Общие сведения
- •Указания по выбору варианта
- •Практическая часть
2.7.3. Сетевые структуры
Многие методы, широко используемые для физического представления древовидных структур, оказываются непригодными для представления сетевых структур.
Задача оказывается более сложной ещё и потому, что методы, применимые для одного вида сетевых структур, часто оказываются неудовлетворительными для другого вида.
Так же как и в случае только что рассмотренных древовидных структур связи в сетевых структурах можно представить, используя следующие методы:
физически последовательное размещение;
указатели;
цепи и кольца;
справочники;
битовые отображения.
Мы будем рассматривать физическое хранение структуры, представленной на рисунке…
Рисунок 2.7.3.1 – Сетевая структура
Если древовидные структуры можно представить без избыточности с помощью физически последовательного размещения, то для сетевых структур это обычно невозможно.
Однако в некоторых случаях может оказаться удобным представить один набор вида «исходный-порождённый» путём физически последовательного размещения, а для остальных связей в структуре использовать другой метод.
Например, можно использовать физически последовательное размещение для представления связей А->С или связей В->С, но не тех и других одновременно, если только не повторять записи С. Хотя их, всё равно, иногда приходится повторять, как, например, показано на рисунке (запись C14).
Рисунок 2.7.3.2 – Отображение сетевой структуры в файлы
2.7.4. Итог
Итак, мы завершили первый раздел курса, посвящённый физическому представлению данных в базах данных. Сейчас мы переходим к рассмотрению стандартов и инструментальных средств проектирования баз данных.
3. Проектирование БД
3.1. Стандарты разработки БД
3.1.1. Вспомним несколько определений
«База Данных (БД)» – структурированный организованный набор данных, описывающих характеристики какой-либо физической или виртуальной системы.
«Базой данных» часто упрощённо или ошибочно называют Системы Управления Базами Данных (СУБД).
Нужно различать набор данных (собственно БД) и программное обеспечение, предназначенное для организации и ведения баз данных (СУБД).
3.1.2. Структура БД
Организация структуры БД формируется, исходя из следующих соображений:
Адекватность описываемому объекту/системе - на уровне концептуальной и логической модели.
Удобство использования для ведения учёта и анализа данных - на уровне так называемой физической модели.
3.1.3. Стандарты разработки БД
Основные отечественные стандарты:
ГОСТ Р ИСО/МЭК 9075-93 (принят постановлением N 169 от 08.07.1993, действует с 1.07.1994, «Информационная технология. Язык баз данных SQL с расширением целостности»);
ГОСТ 7.70-96 («Описание баз данных и машиночитаемых информационных массивов. Состав и обозначение характеристик.»).
Основные международные стандарты:
ISO 6160:1979 – Языки программирования (PL/1);
ISO/IEC 6522:1992 – Информационные технологии. Языки программирования. Подмножество языка общего назначения PL/1;
ISO/IEC 9075-1:2003 – Информационные технологии. Языки баз данных. Язык структурированных запросов (SQL). Часть 1. Структура (SQL/структура);
ISO/IEC 9075-2:2003 – Информационные технологии. Языки баз данных. Язык структурированных запросов (SQL). Часть 2. Основы (SQL/основы);
ISO/IEC 9075-3:2003 – Информационные технологии. Языки баз данных. Язык структурированных запросов (SQL). Часть 3. Прикладной программный интерфейс уровня вызовов (SQL/CLI);
ISO/IEC 9075-4:2003 – Информационные технологии. Языки баз данных. Язык структурированных запросов (SQL). Часть 4. Модули постоянного хранения (SQL/PSM);
ISO/IEC 9075-9:2003 – Информационные технологии. Языки баз данных. Язык структурированных запросов (SQL). Часть 9. Управление данными от внешнего источника (SQL/MED);
ISO/IEC 9075-10:2003 – Информационные технологии. Языки баз данных. Язык структурированных запросов (SQL). Часть 10. Привязка объектного языка (SQL/OLB);
ISO/IEC 9075-11:2003 – Информационные технологии. Языки баз данных. Язык структурированных запросов (SQL). Часть 11. Схемы информации и определения (SQL/Schemata);
ISO/IEC 9075-13:2003 – Информационные технологии. Языки баз данных. Язык структурированных запросов (SQL). Часть 13. Процедуры и типы SQL с использованием языка программирования Java (SQL/JRT);
ISO/IEC 9075-14:2006 – Информационные технологии. Языки баз данных. Язык структурированных запросов (SQL). Часть 14. Спецификации, связанные с XML (SQL/XML);
ISO/IEC 10967-1:1994 – Информационные технологии. Арифметика, не зависимая от языка. Часть 1. Арифметические действия, с целыми числами и с плавающей запятой;
ISO/IEC 10967-2:2001 – Информационные технологии. Арифметика, не зависимая от языка. Часть 2. Элементарные числовые функции;
ISO/IEC 10967-3:2006 – Информационные технологии. Арифметика, не зависимая от языка. Часть 3. Арифметика комплексных целых чисел и чисел с плавающей запятой и комплексные элементарные числовые функции;
ISO/IEC 11404:2007 – Информационные технологии. Типы данных общего назначения;
ISO/IEC 13249-1:2007 – Информационные технологии. Языки базы данных. SQL-мультимедиа и пакеты прикладных программ. Часть 1. Структура;
ISO/IEC 13249-2:2003 – Информационные технологии. Языки базы данных. SQL-мультимедиа и пакеты прикладных программ. Часть 2. Полнотекстовые базы данных;
ISO/IEC 13249-3:2006 – Информационные технологии. Языки базы данных. SQL-мультимедиа и пакеты прикладных программ. Часть 3. Пространственные средства;
ISO/IEC 13249-5:2003 – Информационные технологии. Языки базы данных. SQL-мультимедиа и пакеты прикладных программ. Часть 5. Статическое изображение;
ISO/IEC 13249-6:2006 – Информационные технологии. Языки базы данных. SQL-мультимедиа и пакеты прикладных программ. Часть 6. Извлечение информации;
ISO/IEC 14977:1996 – Информационные технологии. Синтаксический метаязык. Расширенный BNF;
ISO/IEC TR 10176:2003 – Информационные технологии. Руководящие указания по подготовке стандартов, касающихся языков программирования;
ISO/TR 9547:1988 – Процессоры языков программирования. Методы испытаний. Руководящие указания по разработке и приемке;