39064

Работа с базами данных. Язык SQL

Доклад

Информатика, кибернетика и программирование

Большинство современных СУБД построено на реляционной модели данных. Для получения информации из отношений таблиц базы данных в качестве языка манипулирования данными в теоретическом плане используются три абстрактных языка: язык реляционной алгебры; язык реляционного исчисления на кортежах; язык реляционного исчисления на доменах. Накопленная информация в современных информационных технологиях хранится и организованна в базах данных.

Русский

2013-09-30

44 KB

11 чел.

Работа с базами данных. Язык SQL.

Большинство современных СУБД построено на реляционной модели данных. Для получения информации из отношений (таблиц) базы данных в качестве языка манипулирования данными в теоретическом плане используются три абстрактных языка: язык реляционной алгебры; язык реляционного исчисления на кортежах; язык реляционного исчисления на доменах.

Накопленная информация в современных информационных технологиях хранится и организованна в базах данных. Эти базы данных создаются и работают с помощью систем управления базами данных (СУБД).

Развитие компьютерных технологий, увеличение объема и структурной сложности хранимых данных, увеличение числа пользователей информационных систем привели к распространению реляционных СУБД.

Реализация в SQL концепции операций, ориентированных на табличное представление данных, позволило создать компактный язык с небольшим (менее 30) набором предложений. SQL может использоваться как интерактивный (для выполнения запросов) и как встроенный (для построения прикладных программ).

Программисты пользуются языком SQL, чтобы писать приложения, в которых содержатся обращения к базам данных. Одни и те же операторы SQL используются как для интерактивного, так и для программного доступа, поэтому части программ, содержащие обращения к базе данных, можно вначале тестировать в интерактивном режиме, а затем встраивать в программу. В традиционных базах данных для программного доступа используются одни программные средства, а для выполнения немедленных запросов — другие, без какой либо связи между этими двумя режимами доступа.

Многие современные СУБД имеют собственные языки программирования, ряд которых включает в себя SQL. Другие работают с программами, написанными на одном из распространенных алгоритмических языков (Си, Паскаль или Фортран), в которые включаются предложения SQL. Для обмена информацией с частями программы, написанными на любых из этих языков, существуют специальные конструкции SQL, позволяющие работать с переменными и (или) отдельными строками таблиц.

SQL

Структурированный язык запросов SQL - стандартный язык запросов для работы с реляционными базами данных. Появился сразу после возникновения реляционной алгебры. Первый прототип создан в конце 70-х годов. Первый стандарт SQL1 - 1989 г., в 1992 г. - SQL2, а в 1999 г. - SQL3, в который были добавлены новые типы данных, новый раздел на события и триггеры, а также структурированные типы.

Составные части SQL.

В отличие от обычной реляционной алгебры, SQL является полным языком, в котором кроме описания запросов используется описание данных.

1. Операторы определения данных.

2. Операторы манипуляции данными (создание, удаление, изменение данных).

3. Оператор, реализующий язык запросов.

4. Средства управления транзакциями.

5. Средства администрирования данных.

6. Программы на SQL.

Базовые таблицы создаются с помощью предложения CREATE TABLE (создать таблицу) Предложение CREAT TABLE специфицирует имя базовой таблицы, которая должна быть создана, имена ее столбцов и типы данных для этих столбцов (а также, возможно, некоторую дополнительную информацию, не иллюстрируемую данным примером). CREAT TABLE - выполняемое предложение. Если его ввести с терминала, система тотчас построит таблицу Блюда, которая сначала будет пустой: она будет содержать только строку заголовков столбцов, но не будет еще содержать никаких строк с данными. Однако можно немедленно приступить к вставке таких строк данных, возможно, с помощью предложения INSERT и создать таблицу.

Оператор выбора SELECT.

SELECT { ALL / DISTINCT } { поля / * }

FROM таблицы

[WHERE условие GROUP BY поля HAVING условие ORDER BY поля]

ALL  означает, что в результат будут включены все строки, удовлетворяющие заданным условиям (задается по умолчанию).

DISTINCT  означает, что в результат будут включены только различные строки.

*  означает, что в результирующий набор включаются все столбцы из исходных таблиц.

В  FROM  задается список исходных таблиц через запятую.

В  WHERE  задается условие отбора строк результата или условие соединения.

В  GROUP BY  задается список полей группировки.

В  HAVING  задается условие, которое накладывается на группу.

В  ORDER BY  задается список полей …..

В выражениях условий могут использоваться:

   -  знаки  <>, =, >, <, >=, <=;

   -  предикат  BETWEEN A AND B, принимающий значение, находящееся между A и B;

   -  предикат  NOT BETWEEN A AND B;

   -  предикат вхождения в множество  IN (множество). Истинен, когда сравниваемое значение попадает в множество. Множество значений может быть задано перечислением или вложенным запросом;

   -  предикат  NOT IN (множество);

   -  предикат сравнения с образом  LIKE шаблон. В шаблоне могут использоваться знаки "_" - любой символ в текущей позиции, "%" - произвольная последовательность символов;

   -  предикат  NOT LIKE шаблон;

   - предикат сравнения с неопределенным значением  IS NULL. Означает, что значение атрибута в данный момент времени не определено;

   -  предикат  IS NOT NULL;

   -  предикаты существования и несуществования EXIST и NOT EXIST - используются при работе с вложенными запросами;

   - предикаты AND, OR, NOT (в порядке убывания приоритетов).

Применение агрегатных функций.

Агрегатные функции позволяют вычислять обобщенные групповые значения, т. е. предполагается, что есть группировка:

COUNT - количество строк или непустых значений полей, которые будут выбраны в запросе.

В выражении COUNT (*) символ * означает подсчет всех строк в группе.

SUM (поле) - сумма значений, аргумент - числовое значение.

AVG (поле) - среднее арифметическое из всех значений.

MIN (поле), MAX (поле) - минимальное и максимальное значения (могут быть символьные данные).

Все агрегатные функции используются подобно именам полей, но имя поля здесь используется как аргумент.

Результатом этого запроса будет одна строка.

Аргументом агрегатных функций могут быть отдельные столбцы таблицы. Для того, чтобы вычислить количество различных элементов столбца, перед именем столбца указывается DISTINCT.

В результат можно включать несколько полей группировки и несколько агрегатных функций. При этом группы образуются по набору заданных полей.

Агрегатные функции использовать в WHERE нельзя, если есть группировка; их можно использовать в HAVING.

Аргументы HAVING должны иметь единственные значения для группы. Если такого ……………

Результат выполнения HAVING - это таблица, которая содержит те группы строк, для которых результат вычисления условия истина. Если HAVING присутствует в таблице, где нет группировки, то результат выполнения либо пустая таблица, либо как одна группа.

Вложенные запросы.

SQL позволяет вкладывать один запрос в другой. Это означает, что результат вложенного запроса генерирует значение, которое проверяется в предикате внешнего запроса. Вместе с подзапросом можно использовать предикат EXIST, если результат не пустой. В подзапросе можно использовать синонимы таблиц, заданных во внешнем запросе.

Операторы манипулирования данными.

1. Оператор ввода данных.

INSERT

INTO    {базовая таблица | представление} [(столбец [,столбец] ...)]

VALUES ({константа | переменная} [,{константа | переменная}] ...);

или

INSERT

INTO {базовая таблица | представление} [(столбец [,столбец] ...)]

    подзапрос;

С помощью оператора можно ввести данные только в одну строку. Список столбцов необязателен, если вводятся значения во все поля. Если значения столбцов не вводятся, то они получают значение NULL. Если при описании структуры таблицы задан обязательный столбец, то вводить значение в поле обязательно.

В значения могут вставляться специальные функции и выражения. На момент ввода данных значение выражения должно быть определено.

Если условие отбора не задано, то удаляются все записи в таблице. В части WHERE может быть вложенный запрос, но в нем нельзя упоминать таблицу, из которой удаляются строки.

2. Оператор удаления.

DELETE FROM  таблица

WHERE  условие

и позволяет удалить содержимое всех строк указанной таблицы (при отсутствии WHERE фразы) или тех ее строк, которые выделяются WHERE фразой

Если условие отбора не задано, то удаляются все записи в таблице. В части WHERE может быть вложенный запрос, но в нем нельзя упоминать таблицу, из которой удаляются строки.

3. Операция обновления данных.

UPDATE (базовая таблица | представление}

SET столбец = значение [, столбец = значение] ...

[WHERE фраза]

где значение - это

столбец | выражение | константа | переменная

или

UPDATE  {базовая таблица | представление}

SET столбец = значение [, столбец = значение] ...

FROM    {базовая таблица | представление} [псевдоним],

       {базовая таблица | представление} [псевдоним]

     [,{базовая таблица | представление} [псевдоним]] ...

[WHERE  фраза]

Если условие отбора не записано, то модификация применяется ко всем строкам таблицы.

Операция модификации может использовать вложенный запрос.


 

А также другие работы, которые могут Вас заинтересовать

6203. Реклама как вид маркетинговой коммуникации в журналистике 105.5 KB
  Реклама как вид маркетинговой коммуникации в журналистике Существует великое множество определение рекламы. По мнению Ф. Котлера реклама представляет собой неличные формы коммуникации, осуществляемые через посредство платных средств распростр...
6204. Потребительское поведение 81.5 KB
  Потребительское поведение Закон убывающей предельной полезности. Процесс рационального выбора. Потребительские предпочтения. Кривые безразличия и бюджетные ограничения. Равновесие потребителя. Закон спроса имеет очень большое значение, ...
6205. Пузырчатка. Герпетиформный дерматит Дюринга. Склеродермия. Доброкачественные и злокачественные новообразования кожи 236 KB
  Пузырчатка. Герпетиформный дерматит Дюринга. Красная волчанка. Склеродермия. Определение Этиология Классификация по клиническим формами разновидностям Тактика среднего медицинского работника при данных заболеваниях Прин...
6206. Методы формализованного представления систем 271.5 KB
  Предназначение и вариант классификации методов формализованного представления систем В соответствии с основной идеей системного анализа, которая состоит в сочетании в моделях и методиках формальных и неформальных представлений, что помогает в ...
6207. Диагностика. Системы технического диагностирования 31.01 KB
  Диагностика Основные понятия и термины Техническая диагностика - область знании, охватывающая теорию, методы и средства определения технического состояния объекта. Объект технического диагностирования - изделие и (или) его составные части, подлежащи...
6208. Применение производной в исследовании функций 123 KB
  Применение производной в исследовании функций. Возрастание и убывание функций. Теорема (критерий монотонности дифференцируемой функции). Пусть функция непрерывна на промежутке и дифференцируема во всех его внутренних точках. Тог...
6209. Стабильность лекарственных средств и методы ее определения. Процессы, происходящие при хранении лекарств. Сроки годности лекарственных веществ 65.5 KB
  Стабильность лекарственных средств и методы ее определения. Процессы, происходящие при хранении лекарств. Сроки годности лекарственных веществ Стабильность (устойчивость) - это фактор качества лекарственных средств. Критерием стабильности лека...
6210. Правила представления результатов исследования. Оценка медицинских публикаций 2.86 MB
  Правила представления результатов исследования. Оценка медицинских публикаций Разновидность лекции: аудиторная. Значение темы лекции благодаря развитию доказательной медицины и информационных технологий появилась возможность основывать клиничес...
6211. Оздоровительный пеший поход выходного дня как способ отдыха и проведения свободного времени 251.58 KB
  Актуальность темы в том, что в современном мире человек зачастую прибывает в стрессовой ситуации. Опасность физической, умственной и психологической перегрузки существует практически постоянно у каждого из нас. Особенно это актуально для жи...