Получившийся результат обозначим
Заметим, что из отношения Инструменты мы берем только два атрибута: «Код инструмента» и «Имя инструмента». Чтобы это осуществить мы, как можно заметить из записи отношения
Интересно заметить, что два первых шага, нами уже рассмотренных, являются достаточно общими, т. е. они могут быть использованы и для реализации каких-либо других запросов.
А вот два следующих пункта, в свою очередь, представляют собой конкретные шаги для достижения поставленной перед нами конкретной задачи.
3. Напишем унарную операцию выборки по условию <«Имя инструмента» = «Плоскогубцы»> применительно к отношению
Итак:
(
В результирующем отношении, обозначенном через
4. Сначала составим разность отношения «Поставщики» и отношения
(Поставщики \
Результат обозначили
Итак, мы показали, как можно с помощью выражений и операций реляционной алгебры осуществлять всевозможные действия с произвольными базами данных, выполнять различные заказы и т. п.
Лекция № 6. Язык SQL
Дадим сначала небольшую историческую справку.
Язык SQL, предназначенный для взаимодействия с базами данных, появился в середине 1970-х гг. (первые публикации датируются 1974 г.) и был разработан в компании IBM в рамках проекта экспериментальной реляционной системы управления базами данных. Исходное название языка – SEQUEL (Structured English Query Language) – только частично отражало суть этого языка. Первоначально, сразу после его изобретения и в первичный период эксплуатации языка SQL, его название являлось аббревиатурой от словосочетания Structured Query Language, что переводится как «Язык структурированных запросов». Конечно, язык был ориентирован главным образом на удобную и понятную пользователям формулировку запросов к реляционным базам данных. Но, в действительности, он почти с самого начала являлся полным языком баз данных, обеспечивающим, помимо средств формулирования запросов и манипулирования базами данных, следующие возможности:
1) средства определения и манипулирования схемой базы данных;
2) средства определения ограничений целостности и триггеров (о которых будет упомянуто позднее);
3) средства определения представлений баз данных;
4) средства определения структур физического уровня, поддерживающих эффективное выполнение запросов;
5) средства авторизации доступа к отношениям и их полям.
В языке отсутствовали средства явной синхронизации доступа к объектам баз данных со стороны параллельно выполняемых транзакций: с самого начала предполагалось, что необходимую синхронизацию неявно выполняет система управления базами данных.
В настоящее время SQL – это уже не аббревиатура, а название самостоятельного языка.