Реляционные (табличные) базы данных
Реляционные базы данных имеют табличную форму организации. Главное достоинство таблиц — в их понятности. С табличной информацией мы имеем дело практически каждый день. Загляните, например, в свой дневник: расписание занятий там представлено в виде таблицы. Когда мы приходим на вокзал, смотрим расписание электричек. Какой вид оно имеет? Это таблица! А еще есть таблица футбольного чемпионата. И журнал учителя, куда он выставляет вам оценки, — тоже таблица. Видите, как много примеров, и их еще можно продолжить. Мы настолько привыкли к таблицам, что обычно не требуется никому объяснять, как ими пользоваться. Ну разве что маленькому ребенку, который только учится читать. Кратко особенности реляционной базы данных можно сформулировать следующим образом: Данные хранятся в таблицах, состоящих из столбцов («атрибутов», «полей») и строк («записей»); На пересечении каждого столбца и строчки стоит в точности одно значение; У каждого столбца есть своё имя, которое служит его названием, и все значения в одном столбце имеют один тип. Запросы к базе данных возвращают результат в виде таблиц, которые тоже могут выступать как объект запросов. Строки в реляционной базе данных неупорядочены - упорядочивание производится в момент формирования ответа на запрос. Обычно информация в базах данных хранится не в одной таблице, а в нескольких взаимосвязанных. Но для простоты будем рассматривать примеры баз данных с одной таблицей. Рассмотрим, например, базу данных «Школьные экзамены» (табл.), представляющую собой перечень результатов учеников по различным предметам школьного курса.
Еще пример. База данных «Ученики» хранит информацию об учениках школы (фамилия, имя, класс, адрес, дата рождения, рост, вес). В реляционных БД строка таблицы называется записью, а столбец — полем. Каждое поле таблицы имеет имя. В нашем примере присутствуют поля: код, фамилия, имя, класс, адрес, дата рождения, рост и вес. Одна запись содержит информацию об одном объекте той реальной системы, модель которой представлена в таблице. В данном примере одна запись – это информация об одном ученике. Поля — это различные характеристики (иногда говорят – атрибуты) объекта. Значения полей в одной строке относятся к одному объекту. Как отличить одну запись от другой? В каждой таблице должно быть, по крайней мере, одно ключевое поле, содержимое которого уникально для любой записи в этой таблице. Значения ключевого поля однозначно определяют каждую запись в таблице. Первичным ключом в базе данных называют поле (или совокупность полей), значение которого не повторяется у разных записей. С каждым полем связано еще одно очень важное свойство – тип поля. Тип поля определяет множество значений, которые может принимать данное поле в различных записях. В реляционных базах данных используются четыре основных типа поля: числовой; символьный; дата; логический. От типа величины зависят те действия, которые можно с ней производить. Любую работу компьютер выполняет под управлением программ. Значит, и для работы с базами данных требуется специальное программное обеспечение. Такое программное обеспечение называется системой управления базами данных или сокращенно СУБД. Система управления базами данных (СУБД) — программное обеспечение, которое позволяет создавать базы данных и обеспечивает обработку, сортировку и поиск данных. Примеры СУБД: Microsoft Office Access из офисного пакета Microsoft Office - одна из самых распространенных СУБД; MySQL – широко распространенная в Интернет СУБД. Системы, работающие с реляционными базами данных, называются реляционными СУБД. С помощью реляционной СУБД можно работать как с однотабличной базой данных, так и с базой, состоящей из множества связанных между собой таблиц. Основные функции СУБД: управление данными во внешней памяти (на дисках); управление данными в оперативной памяти; журнализация изменений и восстановление базы данных после сбоев; поддержание языков БД (язык определения данных, язык манипулирования данными). Общепринятым стандартом языка работы с реляционными базами данных является язык SQL. SQL (англ. Structured Query Language — язык структурированных запросов) — универсальный язык, применяемый для создания, модификации и управления данными в реляционных базах данных. Например, запрос «SELECT Таблица1.Фамилия, Таблица1.Имя, Таблица1.Вес FROM Таблица1 WHERE Таблица1.Вес>60;» позволяет выбрать учеников у которых вес больше 60 и выдать их фамилию, имя и вес. Данные в БД хранятся в неупорядоченном виде - упорядочивание производится в момент формирования ответа на запрос. Например, запрос «SELECT Таблица1.Фамилия, Таблица1.Имя, Таблица1.Вес FROM Таблица1 WHERE Таблица1.Вес>60 ORDER BY Таблица1.Фамилия;» вернет учеников вес которых больше 60 упорядочив записи по фамилии.
В командах СУБД условие выбора записывается в форме логического выражения. Логическое выражение, подобно математическому выражению, выполняется (вычисляется), но в результате получается не число, а логическое значение: истина (true) или ложь (false). Выражение, состоящее из одной логической величины или одного отношения, будем называть простым логическим выражением. Часто встречаются задачи, в которых используются не отдельные условия, а совокупность связанных между собой условий (отношений). Например, нужно выбрать учеников у которых вес больше 60 и рост меньше 168. Вот пример запроса: «SELECT Таблица1.Фамилия, Таблица1.Имя, Таблица1.Вес, Таблица1.Рост FROM Таблица1 WHERE (Таблица1.Вес>60) AND (Таблица1.Рост<168) ORDER BY Таблица1.Фамилия;». Выражение, содержащие логические операции, будем называть сложным логическим выражением. Объединение двух (или нескольких) высказываний в одно с помощью союза «и» называется операцией логического умножения или конъюнкцией. В результате логического умножения (конъюнкции) получается истина, если истинны все логические выражения. Объединение двух (или нескольких) высказываний с по мощью союза «или» называется операцией логического сложения или дизъюнкцией. В результате логического сложения (дизъюнкции) получается истина, если истинно хотя бы одно логическое выражения. Присоединение частицы «не» к высказыванию называется операцией логического отрицания или инверсией. Составим еще один сложный запрос. Пусть необходимо вывести фамилию, имя, класс и рост учеников из 9 А или 9 Б, отсортировав сначала по классам, а затем по росту. Получим: «SELECT Таблица1.Фамилия, Таблица1.Имя, Таблица1.Класс,Таблица1.Рост FROM Таблица1 WHERE (Таблица1.Класс="9 А") Or (Таблица1.Класс="9 Б") ORDER BY Таблица1.Класс, Таблица1.Рост DESC;».
С помощью запросов к СУБД можно выполнять с данными в БД различные действие: добавлять, сортировать, выбирать по условию, удалять и т.д.
|