Базы данных. 4
ВВЕДЕНИЕ
Важнейшая задача компьютерных
систем - хранение и обработка данных.
Для ее решения были предприняты
усилия, которые привели к появлению
в конце 60-х - начале 70-х годов
В самом широком смысле
любая программа имеет дело с
некоторой внешней по отношению
к ее коду информацией, задающей какие-либо
параметры или режим ее работы.
Такую информацию также называют
данными программы. Очевидно, что
в зависимости от типа решаемых задач
проблемы организации работы с данными
будут качественно различными. В
подавляющем большинстве
Современные информационные системы, основаны на концепции интеграции данных, характеризуются огромными объемами хранимых данных, сложной организацией, необходимостью удовлетворять разнообразные требования многочисленных пользователей.
Данная тема направлена на формирование представления о базах данных (БД), возможностях систем управления базами данных (СУБД) и их использовании.
- БАЗА ДАННЫХ. ОСНОВНЫЕ ПОНЯТИЯ БАЗ ДАННЫХ
База данных — важнейшая составная часть информационных систем. Информационные системы предназначены для хранения и обработки больших объемов информации. Изначально такие системы существовали в письменном виде. Для этого использовались различные картотеки, папки, журналы, библиотечные каталоги и т.п. Базы данных это реализованная с помощью компьютера информационная структура (модель), отражающая состояния объектов и их отношения.
В общем смысле термин «база данных» можно применить к любой совокупности связанной информации, объединенной вместе по определенному признаку. Примерами баз данных могут служить адресная книга, картотека, словарь, энциклопедия или кафедральный журнал. При этом в качестве базы данных рассматривается только набор данных, организованных определенным образом.
База данных предполагает наличие комплекса программных средств, обслуживающих эту базу данных и позволяющих использовать содержащуюся в ней информацию. Такие комплексы программ называются СУБД (системы управления базой данных). Это комплекс программных средств, предназначенных для создания структуры новой базы, наполнение ее содержимым, редактирование содержимого и визуализации информации. Под визуализацией информации базы понимается отбор отображаемых данных в соответствии с заданным критерием, их упорядочение, оформление и последующая выдача на устройства вывода или передачи по каналам связи.
Основные функции СУБД:
1. Определение данных — определить, какая именно информация будет храниться в базе данных, задать свойства данных, их тип, а также указать, как эти данные связаны между собой.
2. Обработка данных — данные могут обрабатываться самыми разными способами. Можно выбирать любые поля, фильтровать и сортировать данные. Можно объединять данные со связанной информацией, вычислять итоговые значения.
3. Управление данными — можно указать, кому разрешено знакомиться с данными, корректировать их или добавлять новую информацию. Можно определить правило коллективного доступа.
СУБД поддерживают один из возможных типов моделей данных — сетевую, иерархическую или реляционную, которые являются важнейшими признаками классификации СУБД.
Основными средствами СУБД являются:
● средства задания структуры данных;
● средства конструирования экранных форм, предназначенных для ввода данных, просмотра и обработки в диалоговом режиме;
● средства создания запросов для выборки данных при заданных условиях, а также выполнения операций по их обработке;
● средства создания отчетов
из базы данных для вывода на печать
результатов обработки в
● языковые средства — макросы, встроенный алгоритмический язык, язык запросов и т.п., которые используются для реализации нестандартных алгоритмов обработки данных, а также процедур обработки событий в задачах пользователя;
● средства создания приложений пользователя, позволяющие объединять различные операции работы с базой данных в единый технологический процесс.
Архитектура СУБД состоит из двух основных компонентов: языка описания данных и языка манипулирования данными. Язык описания данных (ЯОД) — средства описания данных в БД и связей между ними. Средствами этого языка описывается структура БД, форматы записей, пароли, защищающие данные.
Язык манипулирования
данными (ЯМД) — язык для выполнения
операций над данными, позволяющий
менять их строение. Для разных СУБД
реализация этих уровней языков может
быть различной. В одних случаях
ЯОД и ЯМД требует составления
пользователем программы
СУБД имеет два режима работы: проектировочный и пользовательский. Первый режим предназначен для создания или изменения структуры базы и ее объектов. Во втором режиме происходит использование ранее подготовленных объектов для наполнения базы или получения данных из нее.
Выбор СУБД для практического приложения пользователем определяется многими факторами, к которым относятся:
● имеющееся техническое
и базовое программное
● потребности разрабатываемых приложений пользователя;
● тип поддерживаемой модели данных, специфика предметной области и т.п.;
● требования к производительности при обработке данных;
● наличие в СУБД необходимых функциональных средств;
● наличие русифицированной версии СУБД;
● уровень квалификации пользователей и наличие в СУБД диалоговых средств разработки и работы с базой данных.
Кратко рассмотрим характеристики наиболее известных СУБД.
Paradox
Paradox был разработан компанией
Ansa Software. В конце 80–х — начале
90–х годов Paradox, принадлежавший
тогда компании Borland International, был
весьма популярной СУБД, в том
числе и в нашей стране,
где он одно время
занимал устойчивые позиции
на рынке средств разработки
настольных приложений с
Принцип хранения данных в Paradox сходен с принципами хранения данных в dBase. Однако, в отличие от dBase, формат данных Paradox не является открытым, поэтому для доступа к данным этого формата требуются специальные библиотеки.
Отметим, однако, что отсутствие
«открытости» формата данных имеет
и свои достоинства. Так как в
этой ситуации доступ к данным осуществляется
только с помощью «знающих» этот
формат библиотек, простое редактирование
подобных данных по сравнению с данными
открытых форматов типа dBase существенно
затруднено. В этом случае возможны
такие недоступные при
Microsoft FoxPro и Visual FoxPro
FoxPro ведет свое происхождение
от настольной СУБД FoxBase фирмы
Fox Software. По сравнению с аналогичными
версиями dBase, FoxBase и более поздняя
версия этого продукта, получившая
название FoxPro, предоставляли своим
пользователям несколько более
широкие возможности, такие,
Впоследствии этот продукт был приобретен компанией Microsoft. Его последние версии (начиная с версии 3.0, выпущенной в 1995 г.) получили название Visual FoxPro. В состав Visual FoxPro в течение нескольких последних лет входят средства переноса данных FoxPro в SQL Server и средства доступа к данным этого сервера из Visual FoxPro и созданных с его помощью приложений.
Одна из последних версий этого продукта — Visual FoxPro 6.0 — доступна и отдельно, и как составная часть Microsoft Visual Studio 6.0. Отличительной особенностью этой настольной СУБД от двух рассмотренных выше является интеграция этого продукта с технологиями Microsoft, в частности поддержка COM (Component Object Model — компонентная объектная модель, являющаяся основой функционирования 32–разрядных версий Windows и организации распределенных вычислений в этой операционной системе), интеграция с Microsoft SQL Server, возможности создания распределенных приложений, основанных на концепции Windows DNA (Distributed interNet Applications).
Microsoft Access
Первая версия СУБД Access появилась в начале 90–х годов. Это была первая настольная реляционная СУБД для 16–разрядной версии Windows. Популярность Access значительно возросла после включения этой СУБД в состав Microsoft Office.
В отличие от Visual FoxPro, фактически превратившегося в средство разработки приложений, Access ориентирован в первую очередь на пользователей Microsoft Office, в том числе и незнакомых с программированием. Это, в частности, проявилось в том, что вся информация, относящаяся к конкретной базе данных, а именно таблицы, индексы (естественно, поддерживаемые), правила ссылочной целостности, бизнес–правила, список пользователей, а также формы и отчеты хранятся в одном файле, что в целом удобно для начинающих пользователей.
Поддержка COM в Access выражается в возможности использовать элементы управления ActiveX в формах и Web–страницах, созданных с помощью Access. В отличие от Visual FoxPro создание COM–серверов с помощью Access не предполагается.
Microsoft Access может
быть использован, с
одной стороны, в качестве
настольной СУБД и составной
части офисного пакета, а с
другой стороны, в
качестве клиента Microsoft
SQL Server, позволяющего осуществлять
его администрирование,
В Microsoft Access пользователь может выбрать, какой механизм доступа к данным следует применять: Microsoft Jet — стандартный набор библиотек доступа к данным или MSDE (в этом случае управление базой данных осуществляется с помощью отдельного процесса). Возможно преобразование имеющихся баз данных Access в базу данных MSDE из среды разработки Access.
OpenOffice.org Base
OpenOffice.org Base является
некоммерческим аналогом
СУБД Microsoft Access. Сама программа
очень проста и приятна
в использовании. Но за всей
ее простотой есть много
Мастер отчетов отображает нужный вам отчет в приложении Writer. Там же можно вручную отредактировать этот отчет, чего не может обеспечить Access. Следует учитывать, что при всей похожести OpenOffice.org Base не совместим с Microsoft Access.
Для домашнего использования
или для использования
Классификация баз данных
Рассмотрим классификацию баз данных. По технологии обработки данных базы данных подразделяются на централизованные и распределенные. Централизованная база данных хранится в памяти одной вычислительной системы. Эта вычислительная система может быть мэйнфреймом — тогда доступ к ней организуется с использованием терминалов — или файловым сервером локальной сети ПК. Распределенная база данных состоит из нескольких, возможно, пересекающихся или даже дублирующих друг друга частей, которые хранятся в различных ЭВМ вычислительной сети. Работа с такой базой осуществляется с помощью системы управления распределенной базой данных (СУРБД).
База данных может
быть в монопольном
распоряжении пользователя одного
персонального компьютера. В этом
случае она размещается только
на дисках данного
компьютера и к информационной
базе не обеспечивается
одновременный доступ нескольких
пользователей. При наличии
сети персональных компьютеров
открывается возможность
хранить и использовать централизованные
базы данных, размещаемые на машине–сервере,
в многопользовательском
Существуют разные подходы к организации баз данных. Иерархические базы данных — в основе данной модели лежит иерархическая модель данных. В этой модели имеется один главный объект и остальные — подчиненные — объекты, находящиеся на разных уровнях иерархии. Взаимосвязи объектов образуют иерархическое дерево с одним корневым объектом. Иерархическая БД состоит из упорядоченного набора нескольких экземпляров одного типа дерева. Автоматически поддерживается целостность ссылок между предками и потомками. Основное правило: никакой потомок не может существовать без своего родителя.
Другой подход к организации баз данных — сетевые базы данных. Сетевой подход к организации данных является расширением иерархического. В иерархических структурах запись–потомок должна иметь в точности одного предка; в сетевой структуре данных потомок может иметь любое число предков.
К современным базам данных относят реляционные системы. Реляционные системы далеко не сразу получили широкое распространение. В то время как основные теоретические результаты в этой области были получены еще в 70–х годах и тогда же появились первые прототипы реляционных СУБД, долгое время считалось невозможным добиться эффективной реализации таких систем. Однако постепенное накопление методов и алгоритмов организации реляционных баз данных и управления ими привели к тому, что уже в середине 80–х годов реляционные системы практически вытеснили с мирового рынка ранние СУБД. Реляционная модель данных основывается на математических принципах, вытекающих непосредственно из теории множеств и логики предикатов. Эти принципы впервые были применены в области моделирования данных в конце 60–х годов доктором Е.Ф. Коддом, в то время работавшим в IBM, а впервые опубликованы в 1970 г.
Реляционные базы данных характеризуются
тем, что информация в них хранится
в одной или нескольких таблицах.
Между таблицами могут
Каждая таблица
состоит из строк и
столбцов, которые в компьютерной
базе данных называются
записями и полями соответственно.
Каждая запись содержит информацию об
отдельном объекте системы: одном
ученике в школе, одной книге
в библиотеке и т.п. А
каждое поле — это
определенная характеристика
(свойство, атрибут) объектов: фамилия
ученика, год рождения, название книги,
автор книги и т.п. Поля таблицы
должны иметь несовпадающие имена.
Каждое поле таблицы имеет определенный
тип. Тип — это множество значений,
Таблица 1
Поле |
Тип |
Автор, название, издательство |
Символьный |
Инв_номер, год_изд |
Числовой |
Дата_поступления |
Дата |
Чтобы автоматизировать процесс нужных записей в таблицах баз данных, необходимо указать поле или несколько полей, значения которых позволяют однозначно выбрать из всей совокупности записей в таблице именно ту запись, которая интересует запрашивающего информацию. Такое поле или группа полей называется первичным ключом или просто ключом таблицы. Значение первичного ключа должно быть уникальным. Для каждой таблицы реляционной базы данных должен быть определен первичный ключ.
Первичный ключ не допускает значение Null. Если первичный ключ состоит из одного поля, он считается простым. В противном случае, то есть если ключ образован из нескольких полей, его называют составным.
Важным требованием, предъявляемым
к таблицам реляционной модели,
является нормализация данных,
представленных таблицей. Первично
нормализованная таблица
Понятие нормальной формы было введено Эдгаром Коддом при создании реляционной модели баз данных. Основное назначение нормальных форм — приведение структуры базы данных к виду, обеспечивающему минимальную избыточность. Устранение избыточности производится за счет декомпозиции отношений (таблиц) таким образом, чтобы свести к минимуму функциональные зависимости между их атрибутами (полями).
Нормализация может применяться к таблице, первоначально отвечающей следующим требованиям:
● Таблица содержит нуль или более записей.
● Все записи таблицы имеют одно и то же множество полей, причем одноименные поля относятся к одинаковым типам данных.
● Таблица не может содержать двух полностью идентичных записей. Приведем два примера первых двух нормальных форм. Первая нормальная форма (1NF). Таблица находится в первой нормальной форме, если каждый ее атрибут атомарен и все строки различны. Под выражением «атрибут атомарен» понимается, что атрибут может содержать только одно значение. Таким образом, не соответствуют 1NF таблицы, в полях которых могут храниться списки значений. Для приведения таблицы к 1NF обычно требуется разбить таблицу на несколько отдельных таблиц, например, исходная, ненормализованная, таблица (табл. 2):
Таблица 2
Сотрудник |
Номер телефона |
Иванов И. П. |
25–56–82 39–89–34 |
Семенова А. Ю. |
58–92–34 |
Таблица, приведенная к 1NF (табл. 3):
Таблица 3
Сотрудник |
Номер телефона |
Иванов И. П. |
25–56–82 |
Иванов И. П. |
39–89–34 |
Семенова А. Ю. |
58–92–34 |
Теперь разберем пример второй нормальной формы (2NF). Таблица находится во второй нормальной форме, если она находится в первой нормальной форме, и при этом любой ее атрибут, не входящий в состав первичного ключа, функционально полно зависит от первичного ключа. Функционально полная зависимость означает, что атрибут функционально зависит от всего первичного ключа, но при этом не находится в функциональной зависимости от какой–либо его части. Пример приведения таблицы ко второй нормальной форме (табл. 4):
Таблица 4
Сотрудник |
Должность |
Зарплата |
Иконников |
Директор |
30 000 |
Семенов |
Завуч |
25 000 |
Селезнева |
Завуч |
25 000 |
В результате приведения к 2NF получим две таблицы (табл. 5 и 6):
Таблица 5
Сотрудник |
Должность |
Иконников |
Директор |
Семенов |
Завуч |
Селезнева |
Завуч |
Таблица 6
Должность |
Зарплата |
Директор |
30 000 |
Завуч |
25 000 |
Обычно выделяют пять нормальных форм.
Объекты базы данных
Если в базе нет никаких данных (пустая база), то это все равно полноценная база данных. Этот факт имеет методическое значение. Хотя данных в базе и нет, но информация в ней все–таки есть — это структура базы. Она определяет методы занесения данных и хранения их в базе. Простейший «не компьютерный» вариант базы данных — деловой ежедневник, в котором каждому календарному дню выделено по странице. Даже если в нем не записано ни строки, он не перестает быть ежедневником, поскольку имеет структуру, четко отличающую его от записных книжек, рабочих тетрадей и прочей писчебумажной продукции.
Базы данных могут содержать различные объекты. Основными объектами любой базы данных являются ее таблицы. Простейшая база данных имеет хотя бы одну таблицу. Соответственно структура простейшей базы данных тождественно равна структуре ее таблицы.
Структуру двумерной таблицы образуют столбцы и строки. Их аналогами в простейшей базе данных являются поля и записи. Если записей в таблице пока нет, значит, ее структура образована только набором полей. Изменив состав полей базовой таблицы (или их свойства), мы изменяем структуру базы данных и соответственно получаем новую базу данных.
Рассмотрим объекты базы данных (на примере СУБД OpenOffice.org Base).
Таблицы — это основные объекты любой базы данных. Во–первых, в таблицах хранятся все данные, имеющиеся в базе, а во–вторых, таблицы хранят и структуру базы (поля, их типы и свойства). Таблица предназначена для хранения данных в виде записей (строк) и полей (столбцов). Обычно каждая таблица используется для хранения сведений по одному конкретному вопросу.
Запросы. Эти объекты служат для извлечения данных из таблиц и предоставления их пользователю в удобном виде. С помощью запросов выполняют такие операции, как отбор данных, их сортировку и фильтрацию. С помощью запросов можно выполнять преобразования данных по заданному алгоритму, создавать новые таблицы, выполнять автоматическое наполнение таблиц данными, импортированными из других источников, выполнять простейшие вычисления в таблицах и многое другое.
Формы. Если запросы — это специальные средства для отбора и анализа данных, то формы — это средства для ввода данных. Смысл их тот же — предоставить пользователю средства для заполнения только тех полей, которые ему заполнять положено. Одновременно с этим в форме можно разместить специальные элементы управления (счетчики, раскрывающиеся списки, переключатели, флажки и прочее) для автоматизации ввода. Преимущества форм раскрываются особенно наглядно, когда происходит ввод данных с заполненных бланков. В этом случае форму делают графическими средствами так, чтобы она повторяла оформление бланка — это заметно упрощает работу наборщика, снижает его утомление и предотвращает появление печатных ошибок.
Отчеты. По своим свойствам и структуре отчеты во многом похожи на формы, но предназначены только для вывода данных, причем для вывода не на экран, а на принтер. В связи с этим отчеты отличаются тем, что в них приняты специальные меры для группирования выводимых данных и для вывода специальных элементов оформления, характерных для печатных документов.
2. БЕЗОПАСНОСТЬ БАЗ ДАННЫХ
Базы данных - это тоже
файлы, но работа с ними отличается
от работы с файлами других типов,
создаваемых прочими

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