Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Раздел-2(СУБД).doc
Скачиваний:
17
Добавлен:
01.09.2019
Размер:
981.5 Кб
Скачать

Г лава 2. Основы систем управления базами данных

ОСНОВЫ СИСТЕМ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ 2

2.1. Традиционный подход к организации данных 2

2.2. Система баз данных 7

2.2.1. Данные 8

2.2.2. Аппаратное обеспечение 10

2.2.2. Программное обеспечение 10

2.2.4. Пользователи 11

2.2. Преимущества и недостатки современного подхода к организации данных 12

2.4. Классификация систем баз данных 14

2.5. Архитектура клиент/сервер 17

2.5.1. Компоненты приложений клиент/сервер 18

2.5.2. Разделение клиента и сервера 21

2.5.2. Преимущества и перспективы системы клиент/сервер 24

2.6. Общие понятия реляционного подхода к организации данных 25

2.6.1. Базовые понятия реляционных баз данных 28

2.6.2. Общая характеристика реляционной модели данных 32

2.6.2. Манипулирование данными с помощью языка запросов SQL 34

2.7. Основы проектирования реляционных баз данных 36

2.7.1. Основные требования при проектировании БД 36

2.7.2. Основы классической методологии проектирования БД 37

2.7.2. Основные этапы проектирования базы данных 40

2.7.4. Обеспечение свойств БД в процессе проектирования 44

2.8. Проектирование реляционных баз данных с использованием принципов нормализации 47

2.8.1. Первая нормальная форма 48

2.8.2. Вторая нормальная форма 49

2.8.2. Третья нормальная форма 51

2.9. Семантическое моделирование данных. Диаграммы «сущность–связь» 53

2.9.1. Основные понятия 53

2.9.2. Методология IDEF1 55

2.10. Информационное моделирование с помощью CASE-средства ERwin 60

2.10.1. Общая характеристика программы ERwin 60

2.10.2. Этапы построения информационной модели в ERwin 62

2.11. Проектирование базы данных доменного производства 64

2.11.1. Концептуальное и логическое проектирование 64

2.11.2. Физическая реализация информационной модели 72

2.12. Контрольные вопросы 74

Основы систем управления базами данных

Основными функциями любой информационной системы являются хранение данных и их обработка. Под термином «данные» мы будем понимать любую информацию об объектах окружающего мира, представленную в формализованном виде, пригодном для ее передачи, хранения и обработки при помощи некоторого процесса. Для обеспечения процесса хранения и обработки данных средствами вычислительной техники во все современные информационные системы входит специальная программа, а точнее, комплекс программных средств, называемых системой управления базами данных (СУБД). Эта система обеспечивает создание, сопровождение1 и использование специальных хранилищ данных – баз данных (БД), которые являются современной формой организации хранения и доступа к информации.

В данном разделе мы познакомимся с основными принципами организации данных, дадим классификацию баз данных по ряду признаков, рассмотрим особенности клиент/серверной архитектуры построения информационных систем. Далее мы перейдем к рассмотрению основ моделирования данных и характеристик реляционной модели организации данных, принятой в настоящее время на вооружение большинством фирм-разработчиков коммерческих версий СУБД. Завершающей частью данного раздела будет характеристика современных методов и средств проектирования баз данных.

2.1. Традиционный подход к организации данных

Как организовать хранение данных в компьютере, чтобы наилучшим образом, быстро и надежно извлекать и обрабатывать нужную информацию? Простейший подход состоит в разработке для отдельной прикладной задачи одной или нескольких компьютерных программ, называемых прикладными программами. Напомним, что программы, выполняемые под управлением операционной системы, в частности Windows, называют приложениями. Для каждого приложения во внешней памяти компьютера создается один или несколько файлов для размещения, хранения и извлечения из них информации о каком-нибудь элементе предметной области. Процедура размещения и извлечения информации в файле зависит от его типа, который в общем случае подразделяется на две категории:

  • файл последовательного доступа;

  • файл произвольного доступа.

Файл последовательного доступа представляет собой последовательность записей данных в виде строк произвольной длины, разделенных запятыми или специальными символами, обозначающими переход на новую строку. Особенностью данного типа файла является отсутствие возможности упорядочить хранимые записи, размещение и извлечение записей в такой файл производится построчно в определенной последовательности. Файл произвольного доступа состоит из записей фиксированной длины, которая указывается при его создании. Все записи в таком файле упорядочены, каждая имеет свой номер, что позволяет быстро переместиться на любую запись, минуя предыдущие.

К примеру, если рассматривать в качестве предметной области доменное производство (рис. 2.1), то фрагмент такой информационной системы будет содержать следующие приложения:

  • приложение для мастера печи, осуществляющего выбор системы загрузки, управление тепловым режимом конкретной печи и т.п.;

  • приложение для отдела снабжения, решающего задачи по бесперебойному обеспечению работы доменного цеха материалами и топливно-энергетическими ресурсами;

  • приложение для главного технолога, решающего задачи по анализу технологии доменной плавки, например оптимальному распределению материалов и топливно-энергетических ресурсов между несколькими печами цеха;

  • приложение для технического управления предприятием, решающего задачи управления технологией доменного производства, анализа перспективных решений, планирования работы цеха и т.п.

Каждое приложение (прикладная программа) использует для обработки данные, расположенные в одном или нескольких файлах. Чтобы приложение правильно считывало данные из файлов, последние должны быть организованы по определенным правилам, которые «понятны» приложению. Другими словами, при разработке прикладной программы необходимо продумать и реализовать хранение данных таким образом, чтобы осуществлять доступ к ним наиболее эффективным способом. Критерием эффективности в большинстве случаев является скорость доступа к данным, которая зависит от множества факторов, в частности типа накопителя, способа доступа к записям файла, размера файла и др. В этом случае говорят, что логика организации файлов данных встроена в само приложение, т.е. в код его программы.

Такой подход, который в литературе принято называть традиционным, был характерен для начальных этапов развития информационных систем, но может встречаться и сейчас, когда специалист в области, не связанной с вычислительной техникой непосредственно, создает свою персональную информационную систему, пользуясь известными ему инструментами. Каковы недостатки такой организации данных?

Избыточность данных. Некоторые элементы данных неизбежно используются во многих приложениях. Поэтому они записываются в несколько файлов, т.е. одни и те же данные хранятся в разных местах. Примером является файл данных, содержащий информацию о характеристиках шихтовых материалов (см. рис. 2.1). Такое положение называют избыточностью данных. Это, в свою очередь, делает проблематичным обеспечение непротиворечивости информации, поскольку избыточность данных требует наличия нескольких процедур ввода и своевременного обновления, как правило, разными пользователями.

Проблемы непротиворечивости данных. Одной из причин нарушения непротиворечивости данных является их избыточность, что связано, как уже отмечалось, с хранением одной и той же информации в нескольких местах. При появлении новой информации, необходимой пользователям различных структурных подразделений, ее надо ввести в разных местах. Зачастую по разным причинам выполнить это не удается или ввод осуществляется с искажениями. В результате об одном и том же объекте предметной области в разных местах хранится различная информация.

Ограниченная доступность данных. В современных условиях, когда исключительно важна оперативность управления, лицо с соответствующими правами доступа должно иметь возможность получить данные за приемлемый отрезок времени. Если же данные разбросаны по нескольким файлам, доступность данных ограничена.

Сложности в организации и управлении. Жесткая зависимость между данными и использующими их программами создает серьезные проблемы в ведении данных и делает использование их менее гибким. Разработчики прикладных программ, написанных, например, на языках программирования Basic, Pascal или С, размещают нужные им данные в файлах, организуя их наиболее удобным для себя образом с целью достижения максимальной эффективности работы программы (повышение скорости доступа к данным, оптимизация расположения данных во внешней памяти, реализация усиленных средств защиты данных и др.). Система программирования накладывает на структуру загрузочного модуля прикладной программы специфичную для этой системы логику обработки данных. Одни и те же данные могут иметь в разных приложениях совершенно разную организацию (разную длину и последовательность размещения записей, разные форматы одних и тех же полей и т.п.). Обобществить такие данные очень трудно. Например, любое изменение структуры или способа доступа к файлу данных, производимое одним из разработчиков, приводит к необходимости изменения другими разработчиками тех прикладных программ, которые используют записи этого файла. Кроме того, из-за избыточности данных в файлах трудно реализовать новые изменения данных во всей предметной области.

Дополнительные трудности создания информационных систем на базе файловых систем проявились в следующем:

  • недостаточность средств защиты хранимых данных;

  • низкопроизводительная работа в многопользовательской среде;

  • отсутствие процедур восстановления данных после возникновения отказов;

  • отсутствие средств манипулирования данными;

  • высокая стоимость программирования и сопровождения;

  • негибкость к изменениям и др.

Попытки интеграции, объединения данных до появления технологии систем баз данных наталкивались на ряд трудностей. Информационные системы ориентированы, главным образом, на хранение, выбор и модификацию постоянно существующей информации о предметной области. Понятно, что эта информация каким-то образом должна быть упорядочена, т.е. структурирована. Логическая структура информации зачастую очень сложна, и хотя структуры организации данных различны в разных информационных системах, между ними часто бывает много общего. Стремление выделить и обобщить общую часть информационных систем, ответственную за управление сложно структурированными данными, явилось, пожалуй, главной побудительной причиной создания систем управления базами данных (СУБД).