- •Глава 1
- •§1. Классификация баз данных.
- •Классификация баз данных по принципам обработки.
- •Классификация баз данных по используемой модели данных.
- •§1. Требования к реляционной модели данных. Основные понятия.
- •§1. Логическое проектирование баз данных.
- •Нормализация.
- •Универсальное отношение.
- •I нормальная форма.
- •II Нормальная форма.
- •III нормальная форма.
- •Нормальная форма Бойса-Кодда (нфбк).
- •Типы связей между таблицами.
- •§1. Понятие о субд (dbms).
- •§1. Общение пользователя с бд. Sql как язык реляционных баз данных.
§1. Общение пользователя с бд. Sql как язык реляционных баз данных.
Совершенно очевидно, что поддержка общения пользователя с базой данных является одной из важнейших функций СУБД. Каким образом пользователь может обратиться к базе данных. Посредством языка запросов. В последние годы доминирующее положение среди подобных языков занял SQL (Structured Query Language). Особенно это касается наиболее распространенного класса СУБД – Систем Управления Реляционными БД (СУРБД).
В начале 70-х годов фирме IBM потребовался метод, с помощью которого пользователи могли бы извлекать нужную информацию из баз данных. Первым прообразом языка SQL был язык QBE (Query By Example). В середине 70-х доктор Е.Ф. Кодд предложил язык SEQUEL (Structured English Query Language) как средство выбора информации из реляционной БД, модель которой он разработал в 70-м году. В процессе дальнейшего развития языка аббревиатура SEQUEL превратилась в SQL.
SQL стал единственным языком баз данных клиент-сервер. Первый американский стандарт на SQL был зарегистрирован в 1986 г. (ANSI X.3.135-1986). В 1992 г. был принят современный, используемый до сих пор стандарт SQL-92 ANSI X.3.135-1992. Появившийся позже стандарт SQL-99 полностью не внедрен ни в одной СУБД.
Каждый производитель начал улучшать и модернизировать возможности языка, подстраивая его под конкретную СУБД. Таким образом, появилось несколько версий (диалектов) языка SQL, базирующихся на грамматике SQL-92. Примеры диалектов: Transact-SQL, PL/ SQL.
SQL является языком баз данных, а не языком системного программирования. SQL - язык, ориентированный на работу с множествами. Таким образом, SQL (с точки зрения стандарта) не включает ни средств управления выполнением программы (ветвлений и циклов), ни средств создания форм или отчетов. Однако, некоторые версии SQL, например, Transact- SQL все же расширены такими операторами как If..Else, While.