Орловский технологический техникум

Л Е К Ц И Я

по учебной дисциплине " Базы данных"

для студентов специальностей 240103

Тема № 1. Организация баз данных

Занятие № 1-4. Система баз данных.

Обсуждено на заседании ПЦК

Протокол № ___

" " ___________ 2012 г.

Орел
Учебные и воспитательные цели:

1.  Рассмотреть архитектуру системы баз данных внутренний, концептуальный и внешний).

2.  Рассмотреть языки баз данных.

Место проведения лекции: лекционный зал.

Время: 4 часа.

Учебное и материальное обеспечение: Комплект слайдов,

"Лектор - 2010"

Учебные вопросы и распределение времени:

Вступительная часть 5 мин

1. Файловые системы и системы с базами данных. 3

1.1. Файловые системы.. 3

1.2. Системы с базами данных. 5

2. Распределение обязанностей в системах с БД.. 6

2.1. Администрирование данных. 7

2.2. Администрирование базы данных. 8

3. История развития СУБД.. 9

4. Преимущества и недостатки СУБД.. 10

"История исследования систем БД - это история развития приложения, достигших исключительной производительности и оказавших большое влияние на развитие экономики. Еще 30 лет назад эта сфера была облачностью фундаментальных научных исследований. В настоящее время на исследование БД работает целая индустрия информационных услуг с ежегодным оборотом только в США более 15 млрд. долларов. Достижение в исследованиях коммуникационных систем, лингвистики, менеджмента, систем с базами знаний, а также других областей науки и техники".

НЕ нашли? Не то? Что вы ищете?

Введение

БД стали неотъемлемой частью нарушений повседневной жизни. Для начала рассмотрим некоторые приложения систем БД. Будем рассматривать БД как некоторый набор связанных данных, а СУБД, как программное обеспечение, которое управляет доступом к этой БД.

Примеры доступа к БД: супермаркет (определение цены товара с помощью штрих-код), библиотека, работа через Internet.

2.  Файловые системы и системы с базами данных

2.1.  Файловые системы

Файловые системы (ФС) - это набор программ, которые выполняют для пользователей некоторые операции, например создание отчетов. Каждая программа определяет свои собственные данные и управляет ими.

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

Пример:

·  выдать информацию у кого находится нужная книга из библиотеки;

·  формирование текущих отчетов за период времени.

 

Рис. 1. Система обработки данных в файловых системах.

Ограничения, присущие файловым системам.

1. Разделение и изоляция данных.

Данные изолированы в отдельных файлах и практически нет возможности объединения данных, находящихся в разных файлах.

2. Дублирование данных.

Из-за децентрализованной работы с данным, проводимой в каждом отделе (рис.1), в ФС фактически поощряется бесконтрольное дублирование данных.

Так, например, в ФС на рисунке 1 в каждом файле должна присутствовать информация о ФИО, номере учебной группы, должность, звание, дата рождения.

Дублирование данных нежелательно по двум причинам:

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

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

3. Зависимость от данных

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

4. Несовместимость форматов файлов.

Поскольку структура файлов определяется кодом приложений, она также зависит от языка программирования этого приложения.

5. Организация только фиксированных запросов и быстрое увеличение количества приложений.

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

Все перечисленные выше ограничения ФС являются следствием двух факторов.

·  Определение данных содержится внутри приложения, а не хранится отдельно и независимо от них.

·  Помимо приложений не предусмотрено никаких других инструментов доступа к данным и их обработке.


Рис. 2. Система обработки данных с помощью СУБД.

Для повышения эффективности работы необходимо использовать новый подход, а именно БД и СУБД.

БД - это совестно используемый набор логически связанных данных, предназначенный для удовлетворения информационных потребностей организации.

Основной подход, применяемый при организации БД основан на абстрагировании данных. Этот подход заключается в том, что можно изменить внутреннее определение объекта без каких-либо последствий для его пользователей, при условии, что внешнее определение объекта останется неизменным.

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

СУБД должна обладать следующими возможностями:

1.  позволяет определять базу данных с помощью языка определения данных (DDL - Data Definition Language). Язык DDL представляет пользователям средства указания типа данных и их структуры, а также средства задания ограничений для информации, хранимой в БД.

2.  позволяет вставлять, обновлять, удалять и извлекать информацию из БД с помощью языка управления данными (DML - Data Manipulation Language).

Обычно этот язык называют языком запросов.

Существуют два типа языков DML:

·  процедурный, обрабатывающий информацию в БД последовательно,

·  непроцедурный, оперирующий сразу с наборами записей. Наиболее распространенный непроцедурный язык - SQL (Structured Query Language).

3.  Представляет контролируемый доступ к БД с помощью средств:

·  системы обеспечения безопасности, предотвращающий несанкционированный доступ к БД;

·  системы поддержки целостности данных;

·  системы управления параллельной работы приложений;

·  системы восстановления.

3.  Распределение обязанностей в системах с БД

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

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

В различных организацию по разному решаются вопросы распределения обязанностей между АД и АБД. На это оказывает влияние следующее:

·  важность ресурсов;

·  опыт персонала в разработке информационных систем.

Поэтому ниже мы рассмотрим задание администрирования данных и администрирование БД.

3.1.  Администрирование данных

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

Рассмотрим основные задачи администрирования данных:

·  выбор подходящих инструментов разработки;

·  помощь в разработке стратегий построения информационной системы, развития информационных технологий и бизнес стратегий;

·  планирование процесса создания БД;

·  разработка модели данных;

·  определение требований организации к используемым данным;

·  определение формата представления данных;

·  определение объема данных и перспектива их роста;

·  определение правил доступа к данным и мер безопасности, соответствующих правовым нормам и внутренним требованиям организации;

·  концептуальное и логическое проектирование БД;

Концептуальное проектирование БД представляет собой процесс создания модели использования информации в организации, не зависящей от всех физических подробностей ее представления.

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

·  взаимодействие с АБД и разработчиками приложений;

·  обучение пользователей;

·  обеспечение полноты всей требуемой документации по разработанной БД.

3.2.  Администрирование базы данных

Как уже было выше сказано, задачи АБД больше сконцентрированы на технической стороне разработки и сопровождения системы.

Основными задачами администрирования базы данных являются:

·  оценка и выбор целевой СУБД;

·  физическое проектирование БД;

Физическое проектирование БД представляет собой процесс создания описания реализации БД и включает определение выбранных структур хранения и методов доступа, обеспечивающих эффективную обработку данных.

·  определение требований защиты и поддержки целостности данных;

·  взаимодействие с разработчиками приложений БД;

·  разработка стратегии тестирования;

·  обучение пользователей;

·  ответственность за сдачу в эксплуатацию готового приложения БД;

·  контроль текущей производительности системы и соответствующая настройка БД;

·  регулярное резервное копирование;

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

·  поддержка актуальности используемого программного и аппаратного обеспечения.

4.  История развития СУБД

Считается, что развитие СУБД началось еще в 60-е годы, когда разрабатывается проект полета астронавтов на Луну. В то время не существовало никаких систем, способных обрабатывать и управлять огромным количеством данных, которые необходимы были для реализации проекта.

В результате было разработано фирмой NAA ПО под названием GUAM (Generalized Update Access Method). Разработанная система поддерживала иерархическую модель данных. В середине 60-х годов к NAA присоединилась корпорация IBM.

Также в середине 60-х появилась система IDS фирмы General Electric. Работу над ней возглавил Чарльз Бачман. Развитие этой системы привело к созданию нового типа СУБД - сетевых, что оказала существенное влияние на информационные системы того накопления. Сетевая система создавалась для представления более сложных взаимосвязей между данными.

В тоже время была создана группа, основной задачей которой было создание стандарта БД. В 1971 г. был предложен первый полный вариант. Предложение группы содержали 3 компонента.

·  сетевую схему - логическая организация всей БД.

·  подсхема - часть БД, как она видится пользователем.

·  язык управления данными.

Несмотря на то, что отчет не был одобрен, большинство систем в то время было разработано в соответствии с этим стандартом.

Этим двум моделям были присуще недостатки:

·  для выполнения простых запросов с использованием переходов необходимо создавать достаточно сложные программы;

·  независимость от данных осуществлялась в минимальной степени;

·  отсутствие общепринятых теоретических основ.

В 1970 году Кодд, работавший в исследовательской лаборатории корпорации IBM опубликовал работу о реляционной модели данных. Первые коммерческие продукты реляционного СУБД появились в конце 70-х начале 80-х годов. На основе одного из первых проектов System R был разработан язык запросов SQL.

В настоящее время существует несколько сотен реляционных СУБД. (Access, FoxPro, dBase, Paradox).

Однако реляционная модель обладает ограниченными возможностями моделирования.

В 1976 году Чен предложит модель "сущность-связь" (Entity Relation Ship model - ER - model), которая является в настоящее время самой распространенной технологией проектирования БД.

5.  Преимущества и недостатки СУБД

СУБД обладают как многообещающими потенциальными преимуществами, так и недостатками, которые мы кратко рассмотрим в этом разделе.

·  Преимущества

·  Контроль за избыточностью данных.

·  Непротиворечивость данных.

·  Больше полезной информации при том же объеме хранимых данных.

·  Совместное использование данных.

·  Поддержка целостности данных.

·  Повышенная безопасность.

·  Применение стандартов.

·  Повышение эффективности с ростом масштабов системы.

·  Возможность нахождения компромисса при противоречивых требованиях.

·  Повышение доступности данных и их готовности к работе.

·  Улучшение показателей производительности.

·  Упрощение сопровождения системы за счет независимости от данных.

·  Улучшенное управление параллельностью.

·  Развитые службы резервного копирования и восстановления.

Контроль за избыточностью данных.

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

Непротиворечивость данных.

Устранение избыточности данных или контроль над ней позволяет сократить риск возникновения противоречивых состояний. Если элемент данных хранится в базе только в одном экземпляре, то для изменения его значения потребуется выполнить только одну операцию обновления, причем новое значение станет доступным сразу всем пользователям базы данных. А если этот элемент данных с ведома системы хранится в базе данных в нескольких экземплярах, то такая система сможет следить за тем, чтобы копии не противоречили друг другу. К сожалению, не во всех современных СУБД такой тип непротиворечивости данных автоматически не поддерживается.

Больше полезной информации при том же объеме хранимых данных.

Благодаря интеграции рабочих данных организации на основе тех же данных можно получать дополнительную информацию. Появляется возможность объединять данные из разных файлов базы данных. Так например, согласно примера (рис. 2) можно установить процентную надбавку к окладу в зависимости от успеваемости. Теперь на основе тех же данных пользователи смогут получать больше информации.

Совместное использование данных.

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

Поддержка целостности данных.

Целостность базы данных означает корректность и непротиворечивость хранимых в ней данных. Целостность обычно описывается с помощью ограничений, т. е. правил поддержки непротиворечивости, которые не должны нарушаться в базе данных. Ограничения можно применять к элементам данных внутри одной записи или к связям между записями. Например, ограничение целостности может гласить, что оценка за экзамен может находится в диапазоне от 2 до 5. Таким образом, интеграция данных позволяет АБД задавать требования по поддержке целостности данных, а СУБД применять их.

Повышенная безопасность.

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

Применение стандартов.

Интеграция позволяет АБД определять и применять необходимые стандарты. Например, стандарты отдела и организации, государственные и международные стандарты могут регламентировать формат данных при обмене ими между системами, соглашения об именах, форму представления документации, процедуры обновления и правила доступа.

Повышение эффективности с ростом масштабов системы.

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

Возможность нахождения компромисса для противоречивых требований.

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

Повышение доступности данных и их готовности к работе.

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

Улучшение показателей производительности.

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

Упрощение сопровождения системы за счет независимости от данных.

В файловых системах описания данных и логика доступа к данным встроены в каждое приложение, что делает программы зависимыми от данных. Для изменения структуры данных — например, для увеличения длины поля с адресом с 40 символов до 41 символа — или для изменения способа хранения данных на диске может потребоваться существенно преобразовать все программы, на которые эти изменения способны оказать влияние. В СУБД подход иной: описания данных отделены от приложений, а потому приложения защищены от изменений в описаниях данных. Эта особенность называется независимостью от данных. Наличие независимости программ от данных значительно упрощает обслуживание и сопровождение приложений, работающих с базой данных.

Улучшенное управление параллельностью.

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

Развитые службы резервного копирования и восстановления.

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

Недостатки

·  Сложность.

·  Размер.

·  Стоимость СУБД.

·  Дополнительные затраты на аппаратное обеспечение.

·  Затраты на преобразование.

·  Производительность.

·  Серьезные последствия при выходе системы из строя.

Сложность.

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

Размер.

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

Стоимость СУБД.

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

Дополнительные затраты на аппаратное обеспечение.

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

Затраты на преобразование.

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

Производительность.

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

Серьезные последствия при выходе системы из строя.

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

Заключение.

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

Литература.

1.  Базы данных: проектирование, реализация и сопровождение. –М.: 2010.

2.  Базы данных. Модели, разработка, реализация. –СПб.: 2011.

3.  Введение в системы баз данных. –М.: 1998.

Лекцию разработал

преподаватель спец дисциплин