Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Управление данными (пособие).pdf
Скачиваний:
279
Добавлен:
21.05.2015
Размер:
5.42 Mб
Скачать

Толстобров А.П.

Управление

данными

Воронеж 2006

2

УДК 681.3.07

ISBN

Толстобров А.П. Информационные системы с базами данных: Учебное пособие: – Воронеж: Из-во Воронежского ун-та, 2006. - 203 с.

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

Учебное пособие полностью соответствует требованиям стандарта по дисциплине «Управление данными» по направлению 654700 «Информационные системы» и «Теория баз данных» по направлению 010300 «Математика. Компьютерные науки».

Автор с благодарностью примет любые замечания, пожелания, исправления, которые будут способствовать улучшению качества пособия, по адресу 394693, Воронеж, Университетская пл., д.1, e-mail: tap@main.vsu.ru.

Рецензенты:

Печатается по решению методического совета Воронежского государственного университета

©Толстобров Александр Павлович, 2006

©Воронежский государственный университет, 2006

Предисловие

Целью данного учебного пособия является изложение основных принципов построения современных информационных систем с базами данных в объеме, предусмотренном государственными стандартами по дисциплине «Управление данными» направления 654700 «Информационные системы» и дисциплине «Теория баз данных» направления 010300 «Математика. Компьютерные науки». Пособие подготовлено по материалам семестрового лекционного курса, который на протяжении ряда лет читался автором на факультете компьютерных наук Воронежского государственного университета.

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

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

Разделы 6-9 посвящены описанию реляционной модели данных, являющейся в настоящее время доминирующей при построении современных систем с базами данных.

Вразделе 6 дается описание структур данных, используемых в реляционной модели, таких базовых понятий, как реляционное отношение, кортеж, атрибут, домен, обсуждаются свойства реляционных отношений.

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

4

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

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

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

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

нормальные формы отношений (1НФ, 2НФ, 3НФ, НФБК, 4НФ, 5НФ), преобразование отношений в нормальные формы более высокого порядка.

Структурам хранения данных и методам, повышающим эффективность доступа к ним, посвящен раздел 11. В этом разделе описывается широко используемый метод повышения скорости доступа к данным основанный на их индексировании. Описывается использование при индексировании данных структур типа В-деревьев.

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

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

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

5

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

6

Введение

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

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

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

компьютер, электронная вычислительная машина – подчеркивают тот факт,

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

Рассматривая подходы, используемые при организации и проектировании такого рода традиционных («вычислительных») систем, можно обратить внимание на следующие их особенности:

ориентация каждой такой системы на эффективное решение

конкретной частной задачи;

тесная взаимосвязь и взаимозависимость между алгоритмом и организацией, используемых при его выполнении данных;

первичность алгоритма решения задачи перед формой организации используемых программой данных (входных, промежуточных, выходных);

высокие требования к квалификации решающих задачу специалистов в

области программирования.

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

7

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

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

Присущая информационным системам с базами данных специфика определяется следующими факторами.

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

Повышение требований к эффективности режимов обработки больших объемов данных (поиск, сортировка, обновление и т.д.).

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

Значительное увеличение числа возможных пользователей информации,

сопровождаемое снижением уровня их подготовки в области

информационных технологий.

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

8

во-первых, данные должны быть независимы от программ,

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

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

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

достоверности и непротиворечивости хранимых данных, реализации эффективных средств и режимов обработки данных (поиска, обновления, сортировки и т.д.).

1. Информация и данные

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

Соответственно двум этим понятиям – информация и данные, в системах с базами данных при их разработке различают два аспекта рассмотрения вопросов: инфологический и датологический.

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

о каких объектах или явлениях требуется накапливать или использовать информацию;

какие их основные характеристики и взаимосвязи должны при этом

учитываться.

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

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

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

10

которые по своему уровню и выразительности могут лишь в большей или меньшей степени приближаться к естественным языкам.