Компьютерная безопасность. Тема 3и. Основы построения баз данных Базы данных и информационные системы
Скачать 250 Kb.
|
Тема 3 Введение в предмет «Базы данных» 1.1. Базы данных и информационные системыОдним из важнейших условий обеспечения эффективного функционирования любой организации является наличие развитой информационной системы. Информационная система представляет собой систему, реализующую автоматизированный сбор, обработку и манипулирование данными и включающая технические средства обработки данных, программное обеспечение и обслуживающий персонал. Современной формой информационных систем являются банки данных, которые включают в свой состав вычислительную систему, одну или несколько баз данных (БД), систему управления базами данных (СУБД) и набор прикладных программ (ПП). Основными функциями банков данных являются: хранение данных и их защита, изменение (обновление, добавление и удаление) хранимых данных; поиск и отбор данных по запросам пользователей; обработка данных и вывод результатов. База данных обеспечивает хранение информации и представляет собой поименованную совокупность данных, организованных по определенным правилам, включающим общие принципы описания, хранения и манипулирования данными. Система управления базами данных представляет собой пакет прикладных программ и совокупность языковых средств, предназначенных для создания, сопровождения и использования баз данных. Прикладные программы (приложения) в составе банков данных служат для обработки данных, вычислений и формирования выходных документов по заданной форме. Процесс создания информационной системы обычно включает следующие этапы: проектирование БД; создание файла проекта БД; создание БД (формирование и связывание таблиц, ввод данных); создание меню приложения; создание запросов; создание экранных форм, отчетов; генерация приложения как исполняемой программы. Приведенный перечень этапов не является строгим в смысле очередности и обязательности. В частности, этап создания файла проекта БД поддерживается не всеми СУБД и является не обязательным. Процесс создания информационной системы, как правило, имеет итерационный характер. Приложение представляет собой программу или комплекс программ, использующих БД и обеспечивающих автоматизацию обработки информации из некоторой предметной области. Приложения могут создаваться как в среде СУБД или вне СУБД - с помощью системы программирования, к примеру, Delphi или C++ Builder, использующей средства доступа к БД. Для работы с базой данных во многих случаях можно обойтись только средствами СУБД, скажем, создавая запросы и отчеты. Приложения разрабатывают главным образом в случаях, когда требуется обеспечить удобство работы с БД неквалифицированным пользователям или интерфейс СУБД не устраивает пользователя. Архитектура информационной системы Эффективность функционирования информационной системы во многом зависит от ее архитектуры. В настоящее время перспективной является архитектура клиент-сервер. В достаточно распространенном варианте она предполагает наличие компьютерной сети и распределенной базы данных, включающей БД корпоративную (БДК) и БД персональные (БДП). БДК размещается на компьютере-сервере, БДП размещаются на компьютерах сотрудников подразделений, являющихся клиентами корпоративной БД. Сервером определенного ресурса в компьютерной сети называется компьютер (программа), управляющий этим ресурсом, клиентом - компьютер (программа), использующий этот ресурс. В качестве ресурса компьютерной сети могут выступать, к примеру, базы данных, файловые системы, службы печати, почтовые службы. Тип сервера определяется видом ресурса, которым он управляет. Например, если управляемым ресурсом является база данных, то соответствующий сервер называется сервером базы данных. Достоинством организации информационной системы по архитектуре клиент-сервер является удачное сочетание централизованного хранения, обслуживания и коллективного доступа к общей корпоративной информации с индивидуальной работой над персональной информацией. Структура распределенной БД, построенной по архитектуре клиент-сервер, показана на . Рис. 1.1. Структура распределенной БД Корпоративная БД создается, поддерживается и функционирует под управлением сервера БД, например, Microsoft SQL Server или Oracle Server. Для создания и управления функционированием персональных БД и приложений, работающих с ними, используются СУБД такие, например, как Access и Visual FoxPro фирмы Microsoft, Paradox фирмы Borland. В зависимости от размеров организации и особенностей решаемых задач информационная система может иметь одну из следующих конфигураций: компьютер-сервер, содержащий корпоративную и персональные базы; компьютер-сервер и персональные компьютеры с БДП; несколько компьютеров-серверов и персональных компьютеров с БДП. Использование архитектуры клиент-сервер дает возможность постепенного наращивания информационной системы предприятия, во-первых, по мере развития предприятия; во-вторых, по мере развития самой информационной системы. Разделение общей БД на корпоративную БД и персональные БД позволяет уменьшить сложность проектирования БД по сравнению с централизованным вариантом, а значит снизить вероятность ошибок при проектировании и стоимость проектирования. Важнейшим достоинством применения БД в информационных системах является обеспечение независимости данных от прикладных программ. Это позволяет пользователям быть непосвященными в проблемы представления данных на физическом уровне: размещения данных в памяти, методов доступа к ним и т.д. Такая независимость достигается поддерживаемым СУБД многоуровневым представлением данных в БД на логическом (пользовательском) и физическом уровнях. Благодаря СУБД и наличию логического уровня представления данных обеспечивается отделение концептуальной (понятийной) модели БД от ее физического представления в памяти ЭВМ. Модели данных Хранимые в базе данные имеют определенную логическую структуру - иными словами, представлены некоторой моделью, поддерживаемой СУБД. К числу важнейших относятся следующие модели данных: иерархическая, сетевая, реляционная, объектно-ориентированная. В иерархической модели данные представляются в виде древовидной (иерархической) структуры. Она удобна для работы с иерархически упорядоченной информацией и громоздка для информации со сложными логическими связями. Сетевая модель означает представление данных в виде произвольного графа. Достоинством сетевой и иерархической моделей данных является возможность их эффективной реализации по показателям затрат памяти и оперативности.Недостатком сетевой модели данных является высокая сложность и жесткость схемы БД, построенной на ее основе. Реляционная модель данных (РМД) название получила от английского термина relation - отношение. Ее предложил в 70-е годы сотрудник фирмы IBM Эдгар Кодд. При соблюдении определенных условий отношение представляется в виде двумерной таблицы, привычной для человека. Большинство современных БД для персональных ЭВМ являютсяреляционными. Достоинствами реляционной модели данных являются ее простота, удобство реализации на ЭВМ, наличие теоретического обоснования и возможность формирования гибкой схемы БД, допускающей настройку при формировании запросов. Реляционная модель данных используется в основном в БД среднего размера. При увеличении числа таблиц в базе данных заметно падает скорость работы с ней. Определенные проблемы использования РМД возникают при создании систем со сложными структурами данных, например, систем автоматизации проектирования. Объектно-ориентированные БД объединяют в себе две модели данных реляционную и сетевую и используются для создания крупных БД со сложными структурами данных. Системы управления базами данных СУБД, как правило, разделяют по используемой модели данных (как и базы данных) на следующие типы: иерархические, сетевые, реляционные и объектно-ориентированные. По характеру использования СУБД делят на персональные (СУБДП) и многопользовательские (СУБДМ). К персональным СУБД относятся Visual FoxPro, Paradox, Clipper, dBase, Access и др. К многопользовательским СУБД относятся, например, СУБД Oracle и Informix. Многопользовательские СУБД включают в себя сервер БД и клиентскую часть, работают в неоднородной вычислительной среде - допускаются разные типы ЭВМ и различные операционные системы. Поэтому на базе СУБДМ можно создать информационную систему, функционирующую по технологии клиент-сервер. Универсальность многопользовательских СУБД отражается соответственно на высокой цене и компьютерных ресурсах, требуемых для их поддержки. СУБД представляет собой совокупность языковых и программных средств, предназначенных для создания, ведения и использования БД. Персональные СУБД обеспечивают возможность создания персональные БД и недорогих приложения, работающих с ними, и при необходимости создания приложений, работающих с сервером БД. Управляющим компонентом многих СУБД является ядро, выполняющее следующие функции: управление данными во внешней памяти; управление буферами оперативной памяти (рабочими областями, в которые осуществляется подкачка данных из базы для повышения скорости работы); управление транзакциями. Транзакция - это последовательность операций над БД, рассматриваемая СУБД как единое целое.При выполнении транзакция может быть либо успешно завершена, и СУБД зафиксирует произведенные изменения во внешней памяти, либо, например, при сбое в аппаратной части ПК, ни одно из изменений не отразится в БД. Понятие транзакции необходимо для поддержания логической целостности БД. Язык современной СУБДП включает подмножества команд, относившиеся ранее к следующим специализированным языкам: язык описания данных - высокоуровневый непроцедурный язык декларативного типа, предназначенный для описания логической структуры данных; язык манипулирования данными - командный язык СУБД, обеспечивающий выполнение основных операций по работе с данными - ввод, модификацию и выборку данных по запросам; структурированный язык запросов - Structured Query Language (SQL), обеспечивает манипулирование данными и определение схемы реляционной БДП, является стандартным средством доступа к серверу БД. Для обработки команд пользователя или операторов программ в СУБДП используются интерпретаторы команд (операторов) и компиляторы. С помощью компиляторов в ряде СУБДП можно получать исполняемые автономно приложения - EXE-программы. Обеспечение целостности БД - необходимое условие успешного функционирования БД. Целостность БД - свойство БД, означающее, что база данных содержит полную и непротиворечивую информацию, необходимую и достаточную для корректного функционирования приложений. Для обеспечения целостности БД накладывают ограничения целостностив виде некоторых условий, которым должны удовлетворять хранимые в базе данные. Примером таких условий может служить ограничение диапазонов возможных значений атрибутов объектов, сведения о которых хранятся в БД, или отсутствие повторяющихся записей в таблицах реляционных БД. Обеспечение безопасностидостигается в СУБД шифрованием прикладных программ, данных, защиты паролем, поддержкой уровней доступа к базе данных, к отдельной таблице. Расширение возможностей пользователя СУБДП достигается за счет подключения систем построения графиков и диаграмм, а также подключения модулей, написанных на языках Си или Ассемблера. Поддержка функционирования в сети обеспечивается: средствами управления доступом пользователей к совместно используемым данным, т.е. средствами блокировки файлов (таблиц), записей, полей, которые в разной степени реализованы в разных СУБДП; средствами механизма транзакций, обеспечивающими целостность БД при функционировании в сети. Поддержка взаимодействия c Windows-приложениями позволяет СУБДП внедрять в отчет сведения, хранящиеся в файлах, созданных с помощью других приложений, например, в документе Word или в рабочей книге Exсel, включая графику и звук. Для этого в СУБДП поддерживаются механизмы, разработанные для cреды Windows, такие как: DDE (Dynamic Data Exchange) - динамический обмен данными и OLE (Object Linking and Embedding) - связывание и внедрение объектов. |