Если Вы уже работали с базами данных, то наверняка уже знаете что такое реляционные БД. В этом случае смело можете пропускать эту статью, ибо ничего нового Вы в ней не узнаете.
Если же с реляционными СУБД Вы еще не сталкивались, то вкратце рассмотрим основные понятия реляционных баз данных.
Итак, реляционая база данных - это структурированный набор данных, представленный в виде совокупности двумерных таблиц. Вообще, понятие "реляционный" (от relation - отношение) было заложено в работах известного английского специалиста в области систем баз данных Эдгара Кодда еще в 70-е годы прошлого века. Реляционные модели характеризуются простотой структуры данных, удобным для пользователя табличным представлением и возможностью использования формального аппарата алгебры отношений и реляционного исчисления для обработки данных.
Каждая таблица реляционной БД состоит из столбцов (атрибутов) и строк (записей). У каждого столбца таблицы есть своё имя, которое служит его названием, и все значения в одном столбце имеют один тип. Таблицы БД должны содержать первичный ключ. Первичный ключ обозначает поле (столбец) или группу полей таблицы, значение которого (или комбинация значений которых) используется в качестве уникального идентификатора строки (записи) этой таблицы. То есть значение полей столбцов, входящих в первичный ключ, для каждой строки должно быть уникальным.
Также таблица может содержать внешние (вторичные) ключи - поля таблицы, в которых хранятся значения первичного ключа из другой таблицы. Внешние ключи служат для организации связи между этими таблицами.
Чтобы получить или изменить данные в реляционной БД ей надо отправить запрос. Общепринятым языком, стандартом, на котором пишутся запросы к базе данных, является язык SQL - Structured Query Language (язык структурированных запросов).
Для работы с базами данных используют системы управления базами данных (СУБД). СУБД - это специальная программа, точнее комплекс программ, предназначенный для манипулирования базой данных. Наиболее известные реляционные СУБД - это Oracle, MS SQL Server, IBM DB/2, Sybase, MySQL, PostgreSQL, MS Access и другие. Все из перечисленных СУБД поддерживают работу на языке SQL, но в равной степени. То есть, SQL-запрос, который работает в одной из СУБД не обязательно будет работать в другой. Также некоторые СУБД имеют расширения над языком SQL, как например PL/SQL в Oracle или Transact-SQL в SQL Server. Понятно, что каждая компания гнет свою линию и программы на таких языках будут не совместимы.