Основные понятия и определения бд. Связи между объектами. Безопасность систем баз данных

Развития вычислительной техники осуществлялось по двум основным направлениям:

· применение вычислительной техники для выполнения численных расчетов;

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

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

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

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

Существуют 4 основные модели данных – списки (плоские таблицы), реляционные базы данных, иерархические и сетевые структуры.

В течение многих лет преимущественно использовались плоские таблицы (плоские БД) типа списков в Excel. В настоящее время наибольшее распространение при разработке БД получили реляционные модели данных. Реляционная модель данных является совокупностью простейших двумерных таблиц – отношений (англ. relation),т.е. простейшая двумерная таблица определяется как отношение (множество однотипных записей объединенных одной темой) .

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

Основные понятия реляционных БД: нормализация, связи и ключи

1. Принципы нормализации :

· В каждой таблице БД не должно быть повторяющихся полей;

· В каждой таблице должен быть уникальный идентификатор (первичный ключ);

· Каждому значению первичного ключа должна соответствовать достаточная информация о типе сущности или об объекте таблицы (например, информация об успеваемости, о группе или студентах);


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

2. Виды логической связи .

Связь устанавливается между двумя общими полями (столбцами) двух таблиц. Существуют связи с отношением «один-к-одному», «один-ко-многим» и «многие-ко-многим».

Отношения, которые могут существовать между записями двух таблиц:

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

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

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

· многие – ко - многим, множеству записей из одной таблицы соответствует несколько записей в другой таблице.

Тип отношения в создаваемой связи зависит от способа определения связываемых полей:

· Отношение «один-ко-многим» создается в том случае, когда только одно из полей является полем первичного ключа или уникального индекса.

· Отношение «один-к-одному» создается в том случае, когда оба связываемых поля являются ключевыми или имеют уникальные индексы.

· Отношение «многие-ко-многим» фактически является двумя отношениями «один-ко-многим» с третьей таблицей, первичный ключ которой состоит из полей внешнего ключа двух других таблиц

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

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

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

Существует три типа первичных ключей : ключевые поля счетчика (счетчик), простой ключ и составной ключ.

Поле счетчика (Тип данных «Счетчик»). Тип данных поля в базе данных, в котором для каждой добавляемой в таблицу записи в поле автоматически заносится уникальное числовое значение.

Простой ключ . Если поле содержит уникальные значения, такие как коды или инвентарные номера, то это поле можно определить как первичный ключ. В качестве ключа можно определить любое поле, содержащее данные, если это поле не содержит повторяющиеся значения или значения Null .

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

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

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

Программы, которые предназначены для структурирования информации, размещения ее в таблицах и манипулирования данными называются системами управления базами данных (СУБД ). Другими словами СУБД предназначены как для создания и ведения базы данных, так и для доступа к данным. В настоящее время насчитывается более 50 типов СУБД для персональных компьютеров. К наиболее распространенным типам СУБД относятся: MS SQL Server, Oracle, Informix, Sybase, DB2, MS Access и т. д.

Основные понятия о базах данных и СУБД

Наименование параметра Значение
Тема статьи:
Рубрика (тематическая категория) Связь

Лекция 3. Тема 4.3 Представление об организации баз данных и системах управления базами данных.

1 Основные понятия о базах данных

2 СУБД Microsoft Access

Основные понятия о базах данных и СУБД

Информационная система (ИС) - ϶ᴛᴏ система, построенная на базе компьютерной техники, предназначенная для хранения, поиска, обработки и передачи значительных объёмов информации, имеющая определœенную практическую сферу применения.

База данных - ϶ᴛᴏ ИС, которая хранится в электронном виде.

База данных (БД) – организованная совокупность данных, предназначенная для длительного хранения во внешней памяти ЭВМ, постоянного обновления и использования.

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

Классификация баз данных:

1. По характеру хранимой информации:

- Фактографические – содержат краткие сведения об описываемых объектах, представленных в строго определённом формате (картотеки, н-р: БД книжного фонда библиотеки, БД кадрового состава учреждения),

- Документальные – содержат документы (информацию) самого разного типа: текстового, графического, звукового, мультимедийного (архивы, н-р: справочники, словари, БД законодательных актов в области уголовного права и др.)

2. По способу хранения данных:

- Централизованные (хранятся на одном компьютере),

- Распределœенные (используются в локальных и глобальных компьютерных сетях).

3. По структуре организации данных:

- Реляционные (табличные),

- Нереляционные.

Термин ʼʼреляционныйʼʼ (от лат. relatio – отношение) указывает на то, что такая модель хранения данных построена на взаимоотношении составляющих её частей. Реляционная база данных, по сути, представляет собой двумерную таблицу . Каждая строка такой таблицы принято называть записью. Столбцы таблицы называются полями: каждое поле характеризуется своим именем и типом данных. Поле БД - ϶ᴛᴏ столбец таблицы, содержащий значения определœенного свойства.

Свойства реляционной модели данных:

Каждый элемент таблицы – один элемент данных;

Всœе поля таблицы являются однородными, ᴛ.ᴇ. имеют один тип;

Одинаковые записи в таблице отсутствуют;

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

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

Узел – информационная модель элемента͵ находящегося на данном уровне иерархии.

Свойства иерархической модели данных:

Несколько узлов низшего уровня связано только с одним узлом высшего уровня;

Иерархическое дерево имеет только одну вершину (корень), не подчинœено никакой другой вершинœе;

Каждый узел имеет своё имя (идентификатор);

Существует только один путь от корневой записи к более частной записи данных.

Иерархической базой данных является Каталог папок Windows, с которым можно работать, запустив Проводник. Верхний уровень занимает папка Рабочий стол. На втором уровне находятся папки Мой компьютер, Мои документы, Сетевое окружение и Корзина, которые представляют из себяпотомков папки Рабочий стол, будучи между собой близнецами. В свою очередь, папка Мой компьютер – предок по отношению к папкам третьего уровня, папкам дисков (Диск 3,5(А:), С:, D:, E:, F:) и системным папкам (Принтеры, Панель управления и др.).

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

Сетевой базой данных фактически является Всемирная паутина глобальной компьютерной сети Интернет. Гиперссылки связывают между собой сотни миллионов документов в единую распределœенную сетевую базу данных.

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

Система управления базами данных (СУБД) - ϶ᴛᴏ система, обеспечивающая поиск, хранение, корректировку данных, формирование ответов на запросы. Система обеспечивает сохранность данных, их конфиденциальность, перемещение и связь с другими программными средствами.

Основные действия, которые пользователь может выполнять с помощью СУБД:

Создание структуры БД;

Заполнение БД информацией;

Изменение (редактирование) структуры и содержания БД;

Поиск информации в БД;

Сортировка данных;

Защита БД;

Проверка целостности БД.

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

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

Популярные СУБД - FoxPro, Access for Windows, Paradox.

Τᴀᴋᴎᴍ ᴏϬᴩᴀᴈᴏᴍ, крайне важно различать собственно базы данных (БД) – упорядоченные наборы данных, и системы управления базами данных (СУБД) – программы, управляющие хранением и обработкой данных. К примеру, приложение Access, входящее в офисный пакет программ Microsoft Office, является СУБД, позволяющей пользователю создавать и обрабатывать табличные базы данных.

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

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

- Минимальные затраты. Низкая стоимость хранения и использования данных, минимизация затрат на внесение изменений.

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

- Простота внесения изменений. База данных может увеличиваться и изменяться без нарушения имеющихся способов использования данных.

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

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

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

Далее на примере одной из самых распространенных систем управления базами данных – Microsoft Access входит в состав популярного пакета Microsoft Office – мы познакомимся с основными типами данных, способами создания баз данных и с приемами работы с базами данных.

Основные понятия о базах данных и СУБД - понятие и виды. Классификация и особенности категории "Основные понятия о базах данных и СУБД" 2017, 2018.

Введение

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

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

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

1. Основные понятия баз данных

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

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

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

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

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

· Позволяет вставлять, обновлять, удалять и извлекать информацию из базы данных, что обычно осуществляется с помощью языка управления данными (DML - Data Manipulation Language). Наличие централизованного хранилища всех данных и их описаний позволяет использовать язык DML как общий инструмент организации запросов, который иногда называют языком запросов.

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

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

Языковые средства включают языки программирования, языки запросов и ответов, языки описания данных.

Методические средства - это инструкции и рекомендации по созданию и функционированию банка данных, выбору СУБД.

Технической основой банка данных является ЭВМ, удовлетворяющая оп­ределенным требованиям по своим техническим характеристикам.

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

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

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

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

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

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

Централизованное управление данными освобождает при­кладных программистов от организации данных, обеспечива­ет независимость прикладных программ от данных;

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

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

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

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

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

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

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

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

Объективная необходимость распределенной формы организа­ции данных обусловлена требованиями, предъявляемыми конеч­ными пользователями:

Централизованное управление рассредоточенными информа­ционными ресурсами;

Повышение эффективности управления базами и банками данных и уменьшение времени доступа к информации;

Поддержка целостности, непротиворечивости и защиты дан­ных;

Обеспечение приемлемого уровня в соотношении «цена - производительность - надежность».

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

2. Функции СУБД

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

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

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

· имена, типы и размеры элементов данных;

· имена связей;

· накладываемые на данные ограничения поддержки целостности;

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

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

· статистические данные, например частота транзакций и счетчики обращений к объектам базы данных.

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

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

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

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

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

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

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

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

· Появляются новые возможности организации поддержки целостности данных.

· Может выполняться аудит сохраняемой информации.

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

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

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

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

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

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

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

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

Службы поддержки независимости от данных. СУБД должна обладать инструментами поддержки независимости программ от структуры базы данных.

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

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

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

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

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

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

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

3. Архитектура СУБД

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

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

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

Рис 1. Топология архитектуры телеобработки

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

Рис 2. Архитектура с использованием файлового сервера

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

· Большой объем сетевого трафика.

· На каждой рабочей станции должна находиться полная копия СУБД.

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

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

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

Рис 3. Общая схема построения систем с архитектурой "клиент/сервер"

Клиент:

· Управляет пользовательским интерфейсом;

· Принимает и проверяет синтаксис введенного пользователем запроса;

· Выполняет приложение;

· Генерирует запрос к базе данных и передает его серверу;

· Отображает полученные данные пользователю.

Сервер:

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

· Проверяет полномочия пользователей;

· Гарантирует соблюдение ограничений целостности;

· Выполняет запросы/обновления и возвращает результаты клиенту;

· Поддерживает системный каталог;

· Обеспечивает параллельный доступ к базе данных;

· Обеспечивает управление восстановлением.

Этот тип архитектуры обладает приведенными ниже преимуществами.

· Обеспечивается более широкий доступ к существующим базам данных.

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

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

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

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

· Эта архитектура хорошо согласуется с архитектурой открытых систем.

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

Необходимо заметить, что в настоящее время данная архитектура рассматривается обычно в трехуровневом варианте, при котором функциональная часть прежнего, толстого (интеллектуального) клиента разделяется на две части. В трехуровневой архитектуре тонкий (неинтеллектуальный) клиент на рабочей станции управляет только пользовательским интерфейсом, тогда как средний уровень обработки данных управляет всей остальной логикой приложения. Третьим уровнем здесь является сepвep базы данных. Эта трехуровневая архитектура оказалась более подходящей для некоторых сред - например, для сетей Internet и intranet, где в качестве клиента может использоваться обычный Web-броузер.

Заключение

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

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

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

Список литературы

1. http://cit.vvsu.ru/portal/cifr/1/lek19.htm

2. http://do.bti.secna.ru/lib/book_it/istor_razv.html

3. http://do.bti.secna.ru/lib/book_it/ogr_file.html

4. http://www.lib.csu.ru/dl/bases/prg/kompress/articles/2000_05_dbms3/

5. Microsoft Access 2000: справочник /под ред. Ю. Колесникова. – СПб.: Питер, 2001.

6. Автоматизированные информационные технологии в экономике /под ред. проф. Г.А. Титоренко. – М.: ЮНИТИ, 2005. – 399с.

7. Информатика для юристов и экономистов /под ред. С.В. Симоновича. – СПб.: Питер, 2005. – 688с.

9. Леонтьев В.П. Новейшая энциклопедия персонального компьютера 2005. – М.:ОЛМА-ПРЕСС Образование, 2005. – 800с.

10. Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. Базы данных/ под ред. проф. А.Д. Хомоненко. – СПб.: КОРОНА, 2000. – 416с.

11. Экономическая информатика и вычислительная техника./ Под ред. В.П. Косарева. М.: Финансы и статистика, 2005. –592с.

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

Файл – информация, хранимая на электронном носителе после завершения отдельных заданий и рассматриваемая в процессе обработки как единое целое. Файл имеет имя и требует некоторого объема памяти носителя, в качестве которого может выступать дискета, винчестер, компакт-диск (CD).

Поле – столбец файлового документа (таблицы). Имя поля часто называют атрибутом.

Домен – совокупность значений одного поля.

Универсум – совокупность значений всех полей.

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

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

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

Ключ – поле с уникальными (неповторяющимися) записями, используемое для определения места расположения записи. Ключ может состоять из совокупности полей (составной ключ), называемых суперключом.

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

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

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

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

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

Архитектура – разновидность (обобщение) структуры, в которой какой-либо элемент может быть заменен на другой элемент, характеристики входов и выходов которого идентичны первому элементу. Понятие "принцип открытой архитектуры" используется при построении компьютера. Этот принцип означает, что вместо принтера одной марки (например, Epson) к компьютеру может быть подключен принтер другого типа (например, Hewlett Packard).

Безопасность – защита от преднамеренного или непреднамеренного нарушения секретности, искажения или разрушения.

Блокировка – неделимая операция, которая позволяет только одному процессу иметь доступ к совместно используемому ресурсу.

Вид (View) – таблица, вычисленная с помощью навигационной операции на основе исходной таблицы (таблиц). Вид может использоваться почти по тем же правилам, что и исходная таблица.

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

Внутренняя схема – описание данных на физическом уровне.

Время доступа – промежуток времени между выдачей команды записи (считывания) и фактическим получением данных.

Время отклика – промежуток времени от момента запроса к БД до фактического получения данных.

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

Доступ – операция поиска, чтения данных или записи их.

Задание (работа) – программа или совокупность программ и преобразуемые этими программами данные.

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

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

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

Кортеж – совокупность полей или запись (строка).

КОДАСИЛ (CODASIL) – набор стандартов для сетевых баз данных.

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

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

Метаданные – данные о данных, описание информационных ресурсов, их характеристик, местонахождения, способов использования и т. д. Например, перечень таблиц с характеристиками каждой из них (имя, объем памяти и другие параметры).

Многозначная зависимость (MV-зависимость, зависимость 1:М) – для подсхем X, Y, Z, принадлежащих схеме R, Z = R – (XY) и кортежей t2(X) = t1(Х) и t3(Y) = t1(Y) справедливо t3(Z) = t1(Z) и t3(Z) = t2(Z).

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

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

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

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

Объектно-ориентированное программирование – методология программирования, основанная на представлении программ в виде связанной совокупности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию по наследованию.

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

Отношение r на множествах (доменах) S1, ..., Sn – подмножество декартова произведения S,& ... &Sn. Понятие "отношение" является основным в реляционных БД. Пусть имеется таблица с двумя полями S1 и S2 по два значения в каждом (S1 = {al, а2} и S2 = {bl, b2}, т. е. в каждом домене по два значения). "Полная" таблица имеет четыре возможных записи (al, bl; al, b2; а2, М; а2, b2), которые и образуют декартово произведение. Отношением является и часть этой таблицы (например, al, bl; а2, b1). Отношение может быть и составным: r – (r1, ..., rn), составленным, например, из нескольких связанных таблиц.

Подсхема – описание логического представления пользователя данной группы. Иными словами, это схема отдельного пользователя БД, если их несколько. Из подсхем может быть составлена схема БД (для всех пользователей). Нетрудно видеть, что при наличии одного пользователя подсхема является схемой.

Программа – полное и точное описание алгоритма на некотором формальном языке программирования.

Процедура – некоторая подпрограмма.

Распределенная база данных (РЕД) – единая БД, представленная в виде отдельных (возможно, избыточных и перекрывающихся) разделов на разных вычислительных средствах.

Связь – ассоциация между экземплярами примитивных или агрегированных объектов (записей) данных.

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

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

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

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

Системный журнал – журнал регистрации всех изменений БД.

Словарь данных – набор обобщенных описаний данных БД, обеспечивает логически централизованное хранение метаданных.

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

Структура – совокупность элементов и нх связей.

Сущность – примитивный объект данных, отображающий элемент предметной области (человек, место, вещь и т. д.).

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

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

Функциональная зависимость (F-зависимость, зависимость 1:1): схема Y функционально зависит от X, если для кортежей t,(X) = t2(X), справедливо t1(Y) = t2(Y), причем схемы X и Y могут принадлежать схеме R.

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

Хранилище данных – предметно-ориентированный, интегрированный, привязанный ко времени и неизменный набор данных, предназначенный для поддержки принятия решений.

Целостность данных – устойчивость хранимых данных к разрушению (уничтожению), связанному с неисправностями технических средств, системными ошибками и ошибочными действиями пользователей.

Элемент данных – наименьшая единица данных, имеющая смысл при описании информации; наименьшая единица поименованных данных.

Экземпляр – отдельный экземпляр объекта, записи, элемента данных.

Язык базы данных – общий термин, относящийся к классу языков, которые используются для определения и обращения к базам данных.

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

Язык описания данных (ЯОД) – предназначен для описания данных на концептуальном, логическом и физическом уровнях на основе соответствующих схем. Речь идет о командах по формированию структуры (шапки) таблиц и связей между ними. Эти операции могут быть обеспечены визуальным языком программирования QBE или директивным языком программирования SQL.

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

Следует отметить, что три группы операций с БД (описание, манипулирование, запрос) совмещены в языке SQL, а в некоторых СУБД – и в языке QBE.

Исходным элементом базы данных является таблица, структурные составляющие которой – поле и запись. Можно выделить две разновидности структуры таблиц: линейную и нелинейную. В линейной структуре поля располагаются последовательно друг за другом в произвольном порядке (табл. 1.11). В силу произвольности порядка для данной, конкретной реализации следует закрепить определенный вариант, называемый схемой пользователя.

Таблица 1.11

Таблица данных о кафедре

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

Таблица 1.12

Таблица данных о студентах