1. Введение в базы данных Сегодня, практически любая задача, решаемая с помощью компьютеров, насыщена различного рода информацией. Для управления этой информацией требуются хранилища, средства манипуляции и управления этой информацией. Для этой цели созданы множество систем – системы управления базами данных, предназначенных для этой цели. Мощь современных баз данных основывается на результатах исследований и технологических разработок, полученных на протяжении нескольких десятилетий, и заключена в специализированных программных продуктах, которые принято называть системами управления базами данных (СУБД) (Database Management System - DBMS), или просто системами баз данных (database systems). Термины базы данных (БД) и система управления базами данных (СУБД) чаще всего употребляются как относящиеся к компьютерам. Понятие БД можно применить к любой связанной между собой по определенному признаку информации, хранимой и организованной особым образом – как правило, в виде таблиц. По сути, БД – это некоторое подобие электронной картотеки, которое хранится в компьютере в одном или нескольких файлах. При этом возникает потребность выполнения следующих операций: · Добавление информации в существующие таблицы · Добавление новых таблиц · Изменение информации в таблицах · Поиск информации в БД · Удаление информации из существующих таблиц · Удаление таблиц из БД Информационная система - это программный комплекс, задачи которого состоят в поддержке надежного хранения БД в компьютере, выполнения преобразований информации и соответствующих вычислений, представлении пользователям удобного и легко осваиваемого интерфейса. Пример. Система заказа билетов. Банковские системы. Бухгалтерская система. Любая подобная система хранит большое количество данных. Да и вообще, любой программный продукт, который обслуживает потребности бизнес процессов, создает и накапливает огромное количество информации (для сведения размеры типичной базы данных достигают порядка 10-100Мб, количество таблиц порядка 50-100).
В качестве примера приведем небольшую БД (Рисунок 1 Пример таблицы БД «Стипендия»).
поле
Рисунок 1 Пример таблицы БД «Стипендия»
Данные о студентах заносятся в таблицу, имеющую строгую структуру данных. Информация внутри таблицы состоит из полей, имеющих имя и тип хранимых данных. В примере это поля: · KOD – номер студенческого билета · NAME – фамилия и инициалы студента · GROUP – учебная группа · BALL – средний балл · STIP – размер стипендии
Каждую строку таблицы нужно рассматривать как запись, при этом информация заносится в соответствующие поля. В тоже время все записи состоят из одинакового набора полей, а характер информации для каждого поля носит одинаковый характер, но разные поля могут иметь разный тип данных. Основное назначение БД в первую очередь – быстрый доступ к данным. При значительном размере «бумажной БД» ручной поиск, а также модификация занимает значительное время. Использование компьютера для ведения БД устраняет эти недостатки. Операции над БД производятся быстро, а сама база данных может поместиться на дискете. Существуют специальные программы для организации БД, помещения информации в БД и манипуляции над данными. Такие программы называются СУБД. Основная особенность СУБД – наличие инструментов для ввода и хранения не только самих данных, но и описания их структуры. СУБД относятся к категории наиболее сложных программных продуктов, имеющихся на рынке в настоящее время. СУБД предлагают следующие функциональные возможности: 1. Средства постоянного хранения данных. СУБД, подобно файловым системам, поддерживают возможность хранения чрезвычайно больших объемов информации, которые существуют независимо от каких либо процессов их использования. СУБД, однако, превосходят файловые системы в отношении гибкости предоставления информации, предлагая структуры, обеспечивающие доступ к большим порциям данных. 2. Интерфейс программирования. СУБД позволяют пользователю или прикладной программе обращаться к данным и изменять их посредством команд развитого языка запросов. Преимущества СУБД по сравнению с файлами проявляются в том, что первые дают возможность манипулировать данными самыми разнообразными способами, гораздо более гибкими, нежели обычные операции чтения и записи файлов. 3. Управление транзакциями. СУБД поддерживают параллельный доступ к данным, т.е. возможность единовременного обращения к одной и той же порции данных со стороны нескольких различных процессов, называемых транзакциями (transactions). В первую очередь транзакции необходимы для поддержания логической целостности данных в многопользовательских системах. Для этого СУБД реализуют механизмы обеспечения изолированности (isolation) транзакций, их атомарности (atomicity) и устойчивости (durability). · изолированность (isolation) транзакций - транзакции выполняются независимо одна от другой, так как если бы они выполнялись не параллельно, а последовательно. · атомарность (atomicity) - каждая транзакция выполняется целиком, либо не выполняется вовсе. · устойчивости (durability) – системы содержат средства надежного сохранения результатов выполнения транзакций и самовосстановления после различного рода сбоев и ошибок.
СУБД обязаны обеспечивать реализацию следующих требований. 1. Позволять пользователям создавать новые базы данных и определять их логические схемы (schemata) (логические структуры данных) с помощью некоторого специализированного языка, называемого языком определения данных (Data Definition Language - DDL). 2. Предлагать пользователям возможности задания запросов (queries) и модификации данных средствами соответствующего языка запросов (query language), или языка управления данными (Data Manipulation Language - DML). 3. Поддерживать возможность сохранения больших объемов информации – до многих гигабайтов и более на протяжении длительного времени, предотвращая возможность несанкционированного доступа к данным и гарантируя эффективность операций их просмотра и изменения. 4. Управлять единовременным доступом к данным со стороны многих пользователей, исключая возможность влияния действия одних пользователей на результаты, получаемые другим, и запрещая совместное обращение к данным, чреватое порчей.
|