1 ГОУ ВПО Уральский государственный технический университет – УПИ
2 Кафедра «Автоматика и управление в технических системах» направление – Автоматизация и управление специальность – Управление и информатика в технических системах ИНФОРМАЦИОННОЕ ОБЕСПЕЧЕНИЕ СИСТЕМ УПРАВЛЕНИЯ Лекция 3 2. ОСНОВЫ ПОСТРОЕНИЯ БАНКА ДАННЫХ 2.1. Предметная область банка данных 2.2. Состав банка данных 2.3. Архитектура банка данных 2.4. Этапы проектирования базы данных Преподаватели: Чесноков Юрий Николаевич, доц., к.т.н., Дружинина Надежда Геннадьевна, доц.
3 2. ОСНОВЫ ПОСТРОЕНИЯ БАНКА ДАННЫХ Цель изучения материала: изучить основы построения банка данных (БнД); ознакомиться с предметной областью БнД; изучить состав БнД; изучить архитектуру БнД; изучить этапы проектирования БД. Компетенций, формирующиеся в процессе знакомства с материалом: готовность учитывать современные тенденции развития информационных технологий в своей профессиональной деятельности (ОНК-2); способность применять современные информационные компьютерные технологии: самостоятельно работать с СУБД (ИК-1); готовность работать с информацией из различных источников (ИК- 4); способность к приобретению новых знаний, используя современные информационные технологии (СЛК-4); способность разрабатывать информационное обеспечение систем с использованием стандартных СУБД (ПКД-5); готовность использовать современные инструментальные средства и технологии проектирования программных средств (ПТД-2); способность составлять техническую документацию на разработку программного обеспечения (ПТД-4).
4 2. ОСНОВЫ ПОСТРОЕНИЯ БАНКА ДАННЫХ Содержание лекции 3 2. ОСНОВЫ ПОСТРОЕНИЯ БАНКА ДАННЫХ 2.1. Предметная область банка данных 2.2. Состав банка данных 2.3. Архитектура банка данных 2.4. Этапы проектирования базы данных
5 Концепция банков данных позволила принципиально по-новому подойти к вопросам управления информацией в автоматизированных системах. АСУ, спроектированные на основе концепции БнД, обладают свойствам отличающихся от АСУ, основой которых была система массивов данных. Использование БнД обеспечивает: многоаспектный доступ к совокупности взаимосвязанных данных, интеграцию и централизацию управления данными, устранение избыточности данных. 2. ОСНОВЫ ПОСТРОЕНИЯ БАНКА ДАННЫХ
6 При изучении и разработке БнД рассматривают следующие два аспекта: инфологический; датологический. 2. ОСНОВЫ ПОСТРОЕНИЯ БАНКА ДАННЫХ
7 Инфологический аспект связан со смысловым содержанием данных независимо от способа их представления в памяти систем. Термин «инфологический аспект» отличается от понятия «семантический аспект». При инфологическом проектировании решаются вопросы: о каких объектах или явлениях реального мира требуется накапливать и обрабатывать информацию в БнД; какие их основные характеристики и взаимосвязи между собой следует учитывать; уточнения вводимых в БнД понятий об объекте и явлениях, их характеристиках и взаимосвязях.
8 2. ОСНОВЫ ПОСТРОЕНИЯ БАНКА ДАННЫХ Таким образом, на этапе инфологического проектирования выделяется предметная область (ПрО) – часть реального мира, определяющая потребности БнД.
9 2. ОСНОВЫ ПОСТРОЕНИЯ БАНКА ДАННЫХ Датологический аспект (в некоторых источниках «даталогический» [6]) связан с представлением данных в памяти БнД. При датологическом проектировании: разрабатываются формы представления информации посредством данных, приводятся модели и методы преобразования данных, формулируются правила смысловой интерпретации данных.
10 2. ОСНОВЫ ПОСТРОЕНИЯ БАНКА ДАННЫХ 2.1. Предметная область банка данных Банк данных (БнД) – это информационная система, которая поддерживает динамическую информационную модель предметной области с целью обеспечения информационных запросов пользователей. Предметная область – это область применения конкретного БнД. БнД применяются в автоматизированных системах управления и проектирования, т.е. это подсистема в составе автоматизированных систем (рис. 2.1). Поддерживание информационной модели выполняется операциями хранения и модификации (включение, удаление, изменение данных).
11 2. ОСНОВЫ ПОСТРОЕНИЯ БАНКА ДАННЫХ 2.1. Предметная область банка данных Рис БнД в составе автоматизированной системы Входная информация Сбор информации Предметная область Другие источники информации Обращение к БНД за информацией Функциональная часть Реализация решения Принятие решения Модель ПрО Выходная информация Источники информации для автоматизированной системы
12 2. ОСНОВЫ ПОСТРОЕНИЯ БАНКА ДАННЫХ 2.1. Предметная область банка данных Существуют два аспекта обеспечения информационных запросов пользователей: 1) определение границ предметной области и описание информационной модели; 2) разработка БнД, который эффективно обслуживает запросы пользователей.
13 2. ОСНОВЫ ПОСТРОЕНИЯ БАНКА ДАННЫХ 2.1. Предметная область банка данных Из первого аспекта следует, что БнД должен обеспечивать автоматизированную систему всей необходимой информацией. Второй аспект определяет необходимость при разработке БнД выявлять типы и виды запросов пользователей и функциональных задачи автоматизированной системы (АС), для которой создается БнД.
14 2. ОСНОВЫ ПОСТРОЕНИЯ БАНКА ДАННЫХ 2.1. Предметная область банка данных Пользователи могут быть: постоянные (с известными типами запросов); разовые (с произвольными запросами). Для постоянных пользователей информационная модель формируется методом «от запросов пользователей». Для разовых пользователей информационная модель формируется методом «от реального мира». Эксперты определяют границы предметной области (состав объектов, их свойства и отношения с учетом развития системы) в предположении, что произвольные запросы связаны с тематикой автоматизированной системы.
15 2. ОСНОВЫ ПОСТРОЕНИЯ БАНКА ДАННЫХ 2.1. Предметная область банка данных Различие пользователей по уровню компетенции (кругу полномочий), который характеризует возможность доступа пользователя к тем или иным данным, диктует необходимость создания средств защиты от несанкционированного доступа к данным.
16 2. ОСНОВЫ ПОСТРОЕНИЯ БАНКА ДАННЫХ 2.1. Предметная область банка данных По форме представления запросов различаются: 1) пользователи-задачи, которые формируют регламентированные по форме и содержанию запросы; 2) пользователи-люди (обращаются к БнД с произвольными либо с регламентированными по содержанию запросами), среди которых следует выделить: 2.1) пользователей прикладных программистов, выполняющих программирование функциональных задач; 2.2) пользователей не программистов (конечных пользователей), для которых и создается БнД. Для конечных пользователей разрабатывается специальный диалоговый язык запросов, напоминающий естественный язык.
17 2. ОСНОВЫ ПОСТРОЕНИЯ БАНКА ДАННЫХ 2.1. Предметная область банка данных В БнД выполняется централизованное управление данными, которое обеспечивает: 1) сокращение избыточности хранимых данных (за счет удаления дублирующих данных); 2) устранение противоречивости хранимых данных (за счет сокращения избыточности и правильной организации); 3) многоаспектное использование данных (новые приложения обеспечиваются за счет имеющихся данных); 4) комплексную оптимизацию (за счет выбора средств хранения данных); 5) возможность стандартизации в представлении данных; 6) реализацию санкционированного доступа к данным.
18 2. ОСНОВЫ ПОСТРОЕНИЯ БАНКА ДАННЫХ 2.2. Состав банка данных Рис Состав БнД Банк данных Вычислительная система Система управления базами данных Базы данных Администратор баз данных Словарь данных Обслужива- ющий персонал Операционная система Технические средства
19 2. ОСНОВЫ ПОСТРОЕНИЯ БАНКА ДАННЫХ 2.2. Состав банка данных Определим основные элементы БнД. База данных (БД) обозначает совокупность данных, предназначенных для совместного использования. На физическом уровне БД – это совокупность файлов, организованных определенным образом. Их организацию задает система управления БД. База данных – это датологическое представление информационной модели предметной области.
20 2. ОСНОВЫ ПОСТРОЕНИЯ БАНКА ДАННЫХ 2.2. Состав банка данных Система управления базами данных (СУБД) – это специальный пакет программ, реализующий централизованное управление базами данных и гарантирующий доступ к данным. СУБД обеспечивает независимость прикладных программ от данных. Прикладные программы (ПП) взаимодействуют с БД только через систему управления БД.
21 2. ОСНОВЫ ПОСТРОЕНИЯ БАНКА ДАННЫХ 2.2. Состав банка данных СУБД поддерживает два языка (содержит трансляторы этих языков): язык описания данных (ЯОД); язык манипулирования данными (ЯМД). ЯОД – это язык высокого уровня, который задает схему БД. Он описывает типы данных, хранимых в БД, их структуру и связи между собой. ЯОД – язык декларативного типа (непроцедурный).
22 2. ОСНОВЫ ПОСТРОЕНИЯ БАНКА ДАННЫХ 2.2. Состав банка данных ЯМД, или язык запросов к БД, имеет систему команд манипулирования данными. К основным операциям манипулирования данными относятся процедуры занесения данных, их модификации, поиска. Например, в ЯМД могут быть реализованы следующие команды: 1. Провести выборку из БД конкретного данного, значение которого удовлетворяет заданным условиям; 2. Произвести выборку из БД всех данных определенного типа, значения которых удовлетворяют заданным условиям; 3. Найти в БД позицию данного и поместить туда его новое значение либо удалить данное и т.д.
23 2. ОСНОВЫ ПОСТРОЕНИЯ БАНКА ДАННЫХ 2.2. Состав банка данных Вторая команда выполняется за несколько шагов и реализуется таким образом: вначале система находит первое данное заданного типа с определенными значениями параметров. Затем происходит поиск следующего данного с заданными ограничениями, и так до тех пор, пока не возникнет ответ системы, что таких данных больше нет. Этот пример иллюстрирует «навигацию» в БД – переход по БД от одного данного к другому по соответствующим связям между ними. Для выполнения «навигации» в БД необходимо знать ее структуру данных, иначе можно получит не те данные.
24 2. ОСНОВЫ ПОСТРОЕНИЯ БАНКА ДАННЫХ 2.2. Состав банка данных Управление целостностью (непротиворечивостью) БД – неотъемлемая функция СУБД. Целостность – поддержка БД в согласованном состоянии при коллективном режиме работы с параллельным манипулированием данными. Схема данных – описание структуры типа данных на формализованном языке.
25 2. ОСНОВЫ ПОСТРОЕНИЯ БАНКА ДАННЫХ 2.2. Состав банка данных Администратор баз данных (АБД) – лицо (или группа лиц), реализующее управление БД. В БнД объект управления – базы данных, управляющий орган – группа специалистов, знакомых с теорией систем обработки данных, со спецификой ПрО. В персональных БнД единственный пользователь является администратором баз данных.
26 2. ОСНОВЫ ПОСТРОЕНИЯ БАНКА ДАННЫХ 2.2. Состав банка данных Основная функция АБД – обеспечение структур данных и взаимосвязей между ними, эффективных для обслуживания АС, для которой создан БнД. Функции АБД долгосрочны и направлены на координацию всех этапов проектирования, реализации и поддержания БД. На стадии проектирования БнД администратор (идеолог и главный конструктор) руководит работами по выбору и приобретению программного обеспечения, по проектированию и созданию БД, прикладных программ, обучению специалистов для работы с БнД.
27 2. ОСНОВЫ ПОСТРОЕНИЯ БАНКА ДАННЫХ 2.2. Состав банка данных На стадии эксплуатации банка данных администратор отвечает за нормальное функционирование его, за сохранность данных, принимает и реализует решение об изменениях в состояниях БД, управляет режимом работы БнД и его использования. На рис. 2.3 показан возможный состав группы АБД.
28 2. ОСНОВЫ ПОСТРОЕНИЯ БАНКА ДАННЫХ 2.2. Состав банка данных Рис Состав группы АБД АБД Группа сопровождения Эксперт по вопросам эксплуатации Эксперт по языкам запросов Эксперт по прикладным программам Эксперт по системным вопросам Группа контроля функционирования БНД
29 2. ОСНОВЫ ПОСТРОЕНИЯ БАНКА ДАННЫХ 2.2. Состав банка данных Словарь данных предназначен для хранения единообразной и централизованной информации обо всех ресурсах данных конкретного БнД. Он содержит сведения об объектах, их свойствах и отношениях для данной ПрО, о данных хранимых в БнД (наименование, смысловое описание, структура, связи с другими данными), возможных значениях и форматах представления данных, кодах защиты и разграничениях доступов к данным и т.п. Словарь данных обеспечивает единообразную терминологию по данной ПрО. Его использование обеспечивает централизованное накопление и описание суммарного ресурса данных системы на этапе проектирования и функционирования БД.
30 2. ОСНОВЫ ПОСТРОЕНИЯ БАНКА ДАННЫХ 2.3. Архитектура банка данных Модель данных (МД) определяет архитектуру БнД. Она обеспечивает независимость ПП от данных. Модель данных отражает информационное содержание БД. Формально МД определяется совокупностью ЯОД и ЯМД, т.е. структурой данных и действиями над ними. Точнее говоря, МД имеет дело с тремя аспектами данных: с их структурой, с манипулированием данными; с целостностью данных [2].
31 2. ОСНОВЫ ПОСТРОЕНИЯ БАНКА ДАННЫХ 2.3. Архитектура банка данных ЯОД и ЯМД служат для работы ПП с данными модели. МД имеет свою схему, в которой отражены: структура данных, имена записей, форматы полей. Подробности физического хранения данных в МД отсутствуют. ФБД (физическая база данных), или физическая МД (ФМД), задает способ хранения данных на магнитных дисках ЭВМ. Отображение данных из ФБД выполняет СУБД: «Модель ФБД».
32 2. ОСНОВЫ ПОСТРОЕНИЯ БАНКА ДАННЫХ 2.3. Архитектура банка данных СУБД использует программы методов доступа операционной системы (ОС), поэтому вводится понятие внутренней модели данных БД (ВнМД): «Модель ВнМД ФБД». СУБД получает запрос из прикладной программы, организует запрос к ОС (использует методы доступа ОС) на считывание из ФБД порции данных с накопителя на магнитных дисках (НМД) в свою буферную память. В этой памяти данные имеют структуру схемы ВнМД. Порция данных преобразуется в запись моделей, которые передаются СУБД в рабочую область задачи (РОЗ) прикладной программы.
33 2. ОСНОВЫ ПОСТРОЕНИЯ БАНКА ДАННЫХ 2.3. Архитектура банка данных МД – глобальное логическое представление информационного содержимого БД. Каждый внешний пользователь при написании ПП должен изучить МД. Однако он имеет отношение лишь к небольшой части данных, поэтому вводится еще один уровень логического представления данных для каждого конкретного пользователя – внешняя МД (ВМД).
34 2. ОСНОВЫ ПОСТРОЕНИЯ БАНКА ДАННЫХ 2.3. Архитектура банка данных Получилась трехуровневая архитектура БнД (рис. 2.4), в которой СУБД выполняет следующее отображение: «ВМД КМД ВнМД ФБД». КМД – концептуальная МД, охватывает все содержимое БД. СУБД содержит заданные АБД описания отображений между моделями и схемы моделей.
35 2. ОСНОВЫ ПОСТРОЕНИЯ БАНКА ДАННЫХ 2.3. Архитектура банка данных Рис Трехуровневая архитектура БнД Внешний пользователь Внешний пользователь ПП 1 РОЗ ПП n РОЗ Схема ВМД 1 ВМД 1 Схема ВМД n ВМД n Схема КМД КМД Сетевая Иерархическая Реляционная Схема ВнМД ВнМД ФБД ОС СУБД...
36 2. ОСНОВЫ ПОСТРОЕНИЯ БАНКА ДАННЫХ 2.4. Этапы проектирования базы данных Проектирование БД представляет собой сложный процесс разработки следующего отображения: «Описание ПрО» «Схема ВнМД БД».
37 2. ОСНОВЫ ПОСТРОЕНИЯ БАНКА ДАННЫХ 2.4. Этапы проектирования базы данных Процесс проектирования БД состоит из последовательности итеративных процессов проектирования менее сложных отображений между промежуточными МД, т.е. последовательности проектирования моделей соответствующих уровней абстрагирования. Основные уровни абстрагирования в БнД: информационный, внешний, концептуальный, внутренний (рис. 2.5).
38 2. ОСНОВЫ ПОСТРОЕНИЯ БАНКА ДАННЫХ 2.4. Этапы проектирования базы данных Рис Этапы проектирования БнД Проектирование концептуальной инфологической модели и внешних инфологических моделей Выбор СУБД Проектирование концептуальной датологической модели и внешних датологических моделей (логическое проектирование) ПрО Восприятие, абстрагирование, изучение и описание ПрО Информационные потребности пользователей Изучение и описание информационных потребностей пользователей Проектирование внутренней датологической модели (физическое проектирование) Инфо логи- чес- кое проек тиро- вание Дато- логи- ческое проек тиро- вание
39 2. ОСНОВЫ ПОСТРОЕНИЯ БАНКА ДАННЫХ 2.4. Этапы проектирования базы данных Задача инфологического этапа проектирования БД – получение семантических моделей информационного содержания ПрО. Задача датологического этапа проектирования БД – организация данных, выделенных на предыдущем этапе, в форму, принятую в конкретной СУБД.
40 2. ОСНОВЫ ПОСТРОЕНИЯ БАНКА ДАННЫХ Выводы и заключение по лекции: изучили основы построения банка данных (БнД); познакомились ознакомиться с предметной областью БнД; изучили состав БнД; изучили архитектуру БнД; изучили этапы проектирования БД.
41 2. ОСНОВЫ ПОСТРОЕНИЯ БАНКА ДАННЫХ Перечень источников: Четвериков В.Н. Базы и банки данных/ В.Н. Четвериков, Г.И. Ревунков, Э. Н. Самохвалов; под ред. В.Н. Четверикова. М.: Высшая школа, с. Дейт К. Дж. Руководство по реляционной СУБД DB2/ К. Дж. Дейт. М.: Финансы и статистика, с. Дейт К. Дж. Введение в системы баз данных/ К. Дж. Дейт. М.: Издательский дом «Вильямс», 2001, 1072 с. Дмитриев В.И.Прикладная теория информации/В.И. Дмитриев. М.:Высшая школа, с. Гайдамакин Н.А. Автоматизированные информационные системы, базы и банки данных/ Н.А. Гайдамакин. М.: Гелиос АРВ, С. Карпова Т.С. Базы данных: модели, разработка, реализация/ Т.С. Карпова. СПб.: Питер, с. Мамаев Е.В. MS SQL Server 7.0. Проектирование и реализация баз данных/ Е.В. Мамаев. СПб.: БХВ-Санкт-Петербург, с. Озкарахан Э. Машины баз данных и управление базами данных/ Э. Озкарахан. М.: Мир, с. Селко Джо. SQL для профессионалов. Программирование/ Джо Селко. М.:«Лори», с. Системы управления базами данных и знаний/ А.Н. Наумов [и др.]; под общ. ред. А.Н. Наумова. М.: Финансы и статистика, с. Теория автоматического управления/ С.Е. Душин [и др.]; под общ. ред. Б. Б. Яковлева. М.: Высшая школа, с. Харрингтон Дж. Л. Проектирование реляционных баз данных. Просто и доступно/ Дж. Л. Харрингтон. М.: «Лори», с. Хендерсен К. Delphi 3 и системы клиент/сервер: руководство разработчика/ К. Хендерсен. Киев: Диалектика, с.