Любую структуру данных можно преобразовать в простую двумерную таблицу. Такое представление является наиболее удобным и для пользователя, и для машины, - подавляющее большинство современных информационных систем работает именно с такими таблицами. Базы данных, которые состоят из двумерных таблиц, называются реляционными.
Основная идея реляционного подхода состоит в том, чтобы представить произвольную структуру данных в виде простой двумерной таблицы или, как говорят, нормализовать структуру.
Из всех систем баз данных реляционные относятся к самым распространенным в мире. Эти системы способны разрешить многие из тех проблем, которые усложняли работу с нереляционными продуктами прежних поколений. Программисты и администраторы таких баз данных были вынуждены тщательно изучать, как структурирована информация и как она представлена в базе данных, что значительно усложнило разработку этих приложений и модификацию самих программ. Реляционные системы способны работать на более высоком уровне. Все операции с данными реализуются программой, называемой DBMS (система управления базой данных Обращаться к ней можно только с помощью операторов языка высокого уровня. Хотя некоторые продукты по-прежнему поддерживают работу в терминах своих собственных языков, язык SQL (Standard Query Language) стал тем технологическим стандартом, на базе которого созданы все, более или менее известные, реляционные продукты.
Язык для взаимодействия с БД SQL появился в середине 70-х и был разработан в рамках проекта экспериментальной реляционной СУБД System R. Исходное название языка SEQUEL (Structered English Query Language) только частично отражает суть этого языка. Конечно, язык был ориентирован главным образом на удобную и понятную пользователям формулировку запросов к реляционной БД, но на самом деле уже являлся полным языком БД, содержащим помимо операторов формулирования запросов и манипулирования БД средства определения и манипулирования схемой БД. В языке отсутствовали средства синхронизации доступа к объектам БД со стороны параллельно выполняемых транзакций: с самого начала предполагалось, что необходимую синхронизацию неявно выполняет СУБД.
В основе современных реляционных баз данных (и стандарта SQL) лежит несколько правил и принципов:
· Все значения данных состоят из простых типов данных. В SQL отсутствуют массивы, указатели, векторы и другие сложные типы данных.
· Все данные в реляционной базе данных изображаются в форме двумерных таблиц (на языке математики – «отношений»). Каждая таблица содержит некоторое число строк (в том числе 0), называемых «картежами» и один или несколько столбцов, называемых «атрибутами». Все строки в таблице имеют одну и ту же последовательность столбцов, в которых записаны различные значения, однако наборы значений в столбцах отличаются.
На рисунке 1 приведена простейшая таблица такого типа.
· После того как данные введены в БД, можно сравнивать значения в различных столбцах (в том числе и для разных таблиц) или объединять строки, в которых найдено совпадение. Это позволяет соотносить между собой строки и производить очень сложные операции обработки над всеми данными, находящимися в базе.
· Все операции определяются только логикой, а не положением строки в таблице. Например, можно запросить все строки, со значением 2 и не возможно запросить первую или, третью или пятую строку. Строки в реляционной базе данных расположены в произвольном порядке. Он не обязательно соответствует тому порядку, в котором они были занесены или в котором хранятся на диске.
· Поскольку невозможно определить строку по ее положению (порядку в таблице), необходимо иметь один или несколько столбцов с уникальным значением для идентификации каждой строки. Эти столбцы называются первичными ключами таблицы.
В примере на рис. 1 это первый столбец.
ID | Имя | Телефон | Город |
2 | Иван И. Иванов | 555-001 | Москва |
1 | Константин В. Волков | 555-330 | Екатеринбург |
3 | Василий В. Грабер | 555-607 | Санкт-Петербург |
Рисунок 1
Одним из преимуществ реляционного подхода к построению БД – отсутствие необходимости заботится о таких деталях, как способы представления данных или их физическое размещение в самой базе. Старые иерархические и сетевые базы данных, в которых приходилось иметь дело с подобными вопросами реализации, имели громоздкую структуру и были сложными в управлении.
Взаимодействие SQL и СУБД.
Увеличение объема и структурной сложности хранимых данных, расширение круга пользователей информационных систем привели к широкому распространению наиболее удобных и сравнительно простых для понимания реляционных (табличных) СУБД. Для обеспечения одновременного доступа к данным множества пользователей, нередко расположенных достаточно далеко друг от друга и от места хранения баз данных, созданы сетевые мультипользовательские версии СУБД. В них тем или иным путем решаются специфические проблемы параллельных процессов, целостности (правильности) и безопасности данных, а также санкционирования доступа.
SQL стал унифицированным средством общения и стандартным языком манипулирования с базами данных, обладающим средствами для реализации перечисленных выше возможностей. После появления на рынке двух пионерских СУБД – SQL/DS (1981 год) и DB2 (1983 год) – он приобрел статус стандарта де-факто для профессиональных реляционных СУБД. В 1987 году SQL стал официальным международным стандартом языка баз данных, а в 1992 году вышла вторая версия этого стандарта.
Важной отличительной чертой SQL является его независимость от компьютерной среды (операционной системы и архитектуры). Такой язык назвали SQL – это аббревиатура структурированного языка запросов (Structured Query Language). SQL является инструментом, предназначенным для обработки и чтения информации, содержащейся в компьютерной базе данных.
При создании языка запросов нового поколения разработчики старались сделать его простым и легким в освоении инструментом для обращения к БД. В итоге SQL стал слабо структурированным языком, особенно по сравнению с такими языками, как С или Pascal, и в то же время достаточно мощным и относительно легким для изучения.
Дата: 2019-04-23, просмотров: 213.