
- •Проектирование баз данных. Лекция 1. Введение. Банки и базы данных. Архитектура субд.
- •Хранимая база данных (Внутренняя модель)
- •Понятие проектирования баз данных. Различные подходы к проектированию бд.
- •Различные подходы к проектированию данных.
- •Сетевая модель данных.
- •Лекция 2.
- •Реляционные операции над отношениями.
- •Лекция 3. Аномалии хранения данных.
- •Концептуальное проектирование данных. Нормализация. Понятие функциональной зависимости. Теорема Хита.
- •Функциональная зависимость.
- •Теорема Хита.
- •Лекция 4. Пятая нф. Универсальное отношение. I и II нф.
- •Первая нормальная форма.
- •Вторая нормальная форма.
- •Третья нормальная форма. Транзитивные зависимости.
- •Лекция 5. Нормальная форма Бойса-Кодда. Четвертая нормальная форма. «Перенормализованные» модели данных.
- •Четвертая нормальная форма.
- •«Перенормализованные» модели данных.
- •Пример проектирования бд.
- •Отношение “Аптека”
- •Отношение “Лекарство”
- •Отношение “Наличие лекарств”
- •Отношение “Поставщик”
- •Отношение “Лицензия поставщика”
- •Отношение “Запрос на поставку”
- •Лекция 6. Проектирование в терминах «Сущность – связь»
- •Сущности и связи.
- •Классификация связей
- •Предварительные отношения для бинарных связей степени 1:1.
- •Лекция 7. Предварительные отношения для степени связи 1:n и m:n.
- •Предварительные отношения для степени связи m:n.
- •Лекция 14. Предварительные отношения для связей высших порядков. Использование ролевых отношений.
- •Студент
- •Использование ролевых отношений.
- •Рабочий
- •Подчиненный
- •Лекция 8. Развитой пример применения e-r проектирования.
- •Сопоставление методик нормализации и e-r проектирования. Физическое проектирование.
- •Физическое проектирование.
- •Ограничения целостности.
- •Заключение.
Проектирование баз данных. Лекция 1. Введение. Банки и базы данных. Архитектура субд.
Современная жизнь характеризуется все возрастающим влиянием компьютеризированных технологий хранения и обработки информации. Конкретные способы хранения и обработки могут быть различны; здесь рассматриваются некоторые общие черты подобных технологий.
Представим себе, что мы рассматриваем некоторую сферу человеческой деятельности, которую будем называть предметной областью. В качестве предметной области может выступать деятельность какой – либо организации, подразделения организации, область общественной жизни и т.п.
Внутри предметной области происходят некоторые процессы, изменяющие ее состояние. На склад предприятия поступают закупленные материалы, а со склада – отгружается готовая продукция. В городе или районе строится новое жилье, в него вселяются жители, которые переезжают из других домов – перечень подобных примеров можно продолжать бесконечно, но у всех подобных процессов есть нечто общее. Для эффективного управления предметной областью необходимо отслеживать изменения, которые происходят в ней. Когда говорят о компьютерных технологиях обработки информации, или, что то же самое – об автоматизированных системах управления (АСУ), то имеют в виду применение вычислительной техники в регистрации состояния предметной области.
Инструментом фиксации состояния предметной области помощью ЭВМ является построение информационной модели, т.е. формализованного представления тех аспектов предметной области, которые существенны для выполнения поставленных задач. В случае, когда предметная область достаточно сложна, для реализации информационной модели создается банк данных.
Банк данных – организация либо структурная единица организации, предназначенная для сбора и обработки информации о предметной области. В функции банка данных входит сбор информации о первичной области, ее обработка и хранение, а также генерация на ее основе результирующей информации. Следует отметить, что иногда технологии обработки информации, характерные для банков данных реализуются не в «чистом» виде, а как составная часть других систем, например, в задачах САПР (Систем Автоматизированного ПPоектирования).
Информация о состоянии предметной области, которая обрабатывается банком данных, накапливается и хранится в базе данных.
База данных (далее по тексту – БД) – совокупность данных о состоянии предметной области на машинном носителе. Структуру БД, соответствующую данной предметной области, иногда называют моделью данных.
Для выполнения своих задач банку данных необходимы следующие компоненты.
Аппаратное обеспечение (вычислительная техника). Поскольку в почти любом банке данных предполагается работа нескольких операторов одновременно, постольку банк данных должен быть оснащен какой- либо многопользовательской системой. До середины 80-х годов наиболее популярными были дисплейные классы на базе машин класса мейнфрейм. Подобные комплексы позволяют подсоединение до нескольких десятков терминалов (дисплей + клавиатура) к одному центральному процессору. С появлением и развитием ЭВМ персонального класса наиболее популярным (дешевым) решением стали локальные вычислительные сети на их базе. (Собственно, технология локальных сетей исторически развивалась для нужд банков данных).
Программное обеспечение. Для банков данных, как и вообще для программно- аппаратных комплексов подобной сложности необходимо развитое и многоуровневое ПО. Во – первых, это операционное программное обеспечение. Оно должно обеспечивать функционирование и каждого рабочего места и обмен информацией между компьютерами. Благодаря стандартизации современных сетевых протоколов, возможно применение в рамках одной локальной сети различных операционных систем и даже различных типов компьютеров (Windows различных вариантов и NetWare, компьютеры Intel – Mackintosh – Alpha и т.д.) Как правило, для решения объемных задач характерно как раз применение нескольких операционных систем, как минимум, для рабочих станций и сервера. Во – вторых, это СУБД (системы управления базами данных), функционирующие в данной операционной среде. Возможно применение нескольких различных СУБД при условии обеспечения общего доступа к базе данных. В – третьих, приложения, разработанные для определенных СУБД и использующие их поддержку для функционирования. Как правило, в рамках одного банка данных работают несколько приложений, обрабатывающие различные аспекты информационной модели. Именно наличием большого числа ранее разработанных приложений и высокой стоимостью разработки и внедрения новых оправдывается необходимость функционирования нескольких, зачастую устаревших, СУБД в одном банке данных.
Организационное обеспечение. В общем случае персонал банка данных можно разделить на следующие группы: группа ввода информации, занимающаяся вводом первичной документации в базу данных; группа вывода, которая формирует выходную информацию и получает выходные документы для передачи их «конечным потребителям» информации; группа обслуживания, поддерживающая бесперебойное функционирование аппаратного и программного обеспечения; группа администрирования, функциями которой являются проблемы разграничения доступа, а также решение вопросов о необходимости изменений информационной модели и изменений существующих приложений либо разработки новых. В таком или почти таком «классическом» виде существовали банки данных, основой аппаратного обеспечения которых были мейнфреймы. Развитие персональных ЭВМ наложило свой отпечаток на структуру банка данных, выразившийся в полном либо частичном отказе от применения профессиональных операторов при вводе/выводе информации за счет передачи их функций конечным «потребителям» информации.
Рассмотрим архитектуру системы базы данных (рис. 1). Подобная архитектура была предложена в середине 70-х годов Исследовательской группой по системам управления Американского национального института стандартов (ANSI/SPARC Study Group on DBMS). Приведенная схема соответствует, и достаточно хорошо, большому числу современных реальных систем. Разумеется, для конкретных задач архитектура системы может отличаться, например, в сторону упрощения.
Пользователь А1
Пользователь А2
Пользователь В1
Пользователь В2
Пользователь В3
Внешняя
модель А
Внешняя
модель В
Отображение А
внешний-концептуальный
Отображение В
внешний-концептуальный
Концептуальная
модель данных
СУБД
Отображение концептуальный-внутренний