Пиши Дома Нужные Работы

Обратная связь

Задачи, решаемые с помощью баз данных

 

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

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

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

Информационная система представляет собой аппаратно-программный комплекс, обеспечивающий выполнение следующих функций:

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

− надежное хранение и защита данных во внешней памяти вычислительной системы;

− дополнение, удаление, изменение данных;

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

− выполнение специфических для данной предметной области преобразований информации;



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

− обобщение данных и составление отчетов.

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

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

Приведём пример неструктурированных данных:

 

Студент по фамилии Петров с именем Петр и отчеством Петрович учится в группе ОБД-Р11, а Иванов Иван Иванович – в ЭТС-Р11. Сидор Сидорович Сидоров учится в группе БМП-Р11.

 

А теперь, для сравнения, приведём пример структурированных данных, в котором представлена, практически та же самая информация:

 

Группа Фамилия Имя Отчество
ОБД-Р11 Петров Петр Петрович
ЭТС-Р11 Иванов Иван Иванович
БМП-Р11 Сидоров Сидор Сидорович

 

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

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

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

 

Классификация БД

 

По технологии обработки данных БД подразделяются на централизованные и распределенные.

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

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

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

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

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

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

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

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

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

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

 

Реляционная модель данных

 

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

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

Каждая реляционная таблица должна обладать следующими свойствами:

• один элемент таблицы — один элемент данных;

• все столбцы таблицы содержат однородные по типу данные (целочисленный, числовой, текстовый, и т.д.);

• каждый столбец имеет уникальное имя;

• число столбцов задается при создании таблицы;

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

• записи не должны повторяться;

• количество записей в отношении не ограничено.

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

Первичным ключом отношения называется поле или группа полей, однозначно определяющие запись. В отношении СТУДЕНТ первичным ключом может быть поле ФАМИЛИЯ, если во всем списке нет однофамильцев — это будет простой ключ. Если есть однофамильцы, то совокупность полей — фамилия, имя, отчество — создадут составной первичный ключ. На практике обычно в качестве простого первичного ключа выбирают поле, в котором совпадения заведомо исключены. Для рассматриваемого примера таким полем может служить номер зачетной книжки или читательского билета, или другой идентификатор, код которого уникален для каждого студента.

Обычно в базе содержится не одна а несколько связанных таблиц. Например, если в отношении СТУДЕНТ надо описать вуз, в котором он обучается, то, на первый взгляд, можно было бы включить в отношение СТУДЕНТ следующие поля: ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ГРУППА, НАЗВАНИЕ вуза, АДРЕС вуза. Но при заполнении такой таблицы для каждого студента придется указывать довольно длинное наименование вуза и его адрес, что неудобно. Более того, любая незначительная ошибка во вводе этих полей приведет к нарушению непротиворечивости базы данных. Например, ошибка в адресе вуза приведет к тому, что в БД появятся два вуза с одинаковым наименованием и разными адресами.

Поступают в таком случае так: в отношение СТУДЕНТ (ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ГРУППА) вводят поле «КОД вуза» (целое число) и добавляют еще одно отношение ВУЗ (КОД вуза, НАЗВАНИЕ, АДРЕС). Таблицы СТУДЕНТ и ВУЗ при этом будут связаны по полю «КОД вуза». В отношении ВУЗ поле «КОД вуза» будет первичным ключом, а в отношении СТУДЕНТ поле «КОД вуза» будет внешним ключом. При работе с такими таблицами повторяться могут только данные в поле «КОД вуза», а все необходимые сведения о вузе можно взять из отношения ВУЗ.

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

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

• один ко многим (1:М или 1:∞) – любая запись одной таблицы может быть связана с несколькими записями другой, но любая запись второй таблицы связана только с одной записью первой таблицы. Связь «один ко многим» была установлена в вышеприведенном примере, так как одной записи таблицы ВУЗ соответствует множество записей таблицы СТУДЕНТ;

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

 

Свойства полей базы данных

 

Поля БД не просто определяют структуру базы – они ещё определяют групповые свойства элементов данных, принадлежащих каждому из полей. Рассмотрим основные свойства полей БД на примере СУБД Microsoft Access:

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

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

• тип поля – определяет тип данных, содержащихся в данном поле;

• обязательное поле – свойство, определяющее обязательность ввода данных;

• пустые строки – в отличие от предыдущего свойства, разрешает ввод пустых строк для некоторых (например, текстовых) типов данных;

• размер поля – задаёт предельную длину (в символах) данных, которые могут размещаться в данном поле;

• формат поля – определяет способ форматирования данных в ячейках, принадлежащих полю;

• маска ввода – определяет форму, в которой вводятся данные в поле;

• значение по умолчанию – автоматически вводимое в поле значение при создании новой записи;

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

• сообщение об ошибке – текстовое сообщение, выдаваемое при попытке ввода ошибочных данных, если задано предыдущее свойство;

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

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

 

Типы данных

 

Таблицы баз данных допускают работу с гораздо большим количеством разных типов по сравнению с многими другими прикладными программами. Перечислим основные типы данных, которые используются в MS Access:

• Текстовый – тип данных для хранения текста длиной до 255 символов;

• Поле МЕМО – тип данных для хранения больших объемов текста (до 65535 символов). Физически текст хранится в другом месте базы данных, а в поле помещается только указатель на него;

• Числовой – тип данных для хранения чисел, формат представления которых (целые, действительные и др.) задаётся свойством Размер поля;

• Дата/время – тип данных для хранения календарных дат и времени;

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

• Счетчик – специальное поле для натуральных чисел с автоматическим наращиванием. Используется для естественной нумерации записей;

• Логический – тип данных для хранения логических величин (вкл/выкл);

• Поле объекта OLE – тип данных для хранения объектов OLE (например, мультимедийных). Как и в поле МЕМО, содержимое хранится в специальном месте БД, иначе работа с базой была бы замедленной;

• Гиперссылка – тип данных для хранения URL адресов Web-объектов Интернета. При щелчке на ссылке запускается браузер, выполняющий загрузку и воспроизведение указанного объекта;

• Вложение – тип данных для хранения внешних файлов, появившийся в версии Access 2007;

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

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

 






ТОП 5 статей:
Экономическая сущность инвестиций - Экономическая сущность инвестиций – долгосрочные вложения экономических ресурсов сроком более 1 года для получения прибыли путем...
Тема: Федеральный закон от 26.07.2006 N 135-ФЗ - На основании изучения ФЗ № 135, дайте максимально короткое определение следующих понятий с указанием статей и пунктов закона...
Сущность, функции и виды управления в телекоммуникациях - Цели достигаются с помощью различных принципов, функций и методов социально-экономического менеджмента...
Схема построения базисных индексов - Индекс (лат. INDEX – указатель, показатель) - относительная величина, показывающая, во сколько раз уровень изучаемого явления...
Тема 11. Международное космическое право - Правовой режим космического пространства и небесных тел. Принципы деятельности государств по исследованию...



©2015- 2024 pdnr.ru Все права принадлежат авторам размещенных материалов.