39064

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

Доклад

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

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

Русский

2013-09-30

44 KB

18 чел.

Работа с базами данных. Язык 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  фраза]

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

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


 

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

32693. Система управления демонстратора патронного керамического фильтра 1.14 MB
  Автоматическое управление системой водоочистки; увеличение надежности работы очистного оборудования, составляющего ДПКФ благодаря возможности контроля всех его элементов в частности и всей системы в целом; уменьшение затрат на затрачиваемые при очистке воды ресурсы за счет более оптимального их использования; увеличение точности и оперативности получения информации о состоянии системы водоочистки, а также о расходе ресурсов, с целью принятия значимых управленческих решений...
32694. Всі уроки з англійської мови 169.01 KB
  Повторення тем «Привітання. Знайомство», «Алфавіт». Шкільні речі. Кольори. Пори року. Частини тіла. Домашні улюбленці. Країни Європи. Літній табір відпочинку...
32695. Ведение регистров бухгалтерского учета 238 KB
  Регистры бухгалтерского учета – это важная составляющая ведения на предприятии бухгалтерского учета. Именно в них отражается вся информация, которая находится в принятых первичных документах.
32696. Фармацевтическая химия и фармакология парацетамола 865.5 KB
  Последнее замечание немаловажно для наших реалий, поскольку именно лекарствами с парацетамолом многие спасаются от головных болей после вечеринок, сопровождающихся приемом алкогольных напитков, зачастую не понимая, что играют с огнем. А реклама средств для снятия похмельного синдрома вселяет уверенность...
32697. Реклама в системе маркетинговых коммуникаций 137 KB
  Система маркетинговых коммуникаций – это комплекс различных инструментов, целью которых является установление связи между компанией – производителем товаров или услуг и покупателем.
32698. Развитие внимания 441 KB
  В настоящее время стали первостепенными проблемы развития внимания и проведения психокоррекционной работы с людьми, имеющими нарушения внимания. Однако рекомендации для практических психологов по данным вопросам относятся в основном к начальной школе и не освещают опыт
32699. Разработка программного обеспечения для построения статистической модели методом наименьших квадратов 3.21 MB
  Обработка экспериментально полученной зависимости состоит в проведении по зарегистрированным точкам теоретической кривой, рассчитанной для заданного набора численных значений параметров. Варьируя параметры, добиваются наилучшего совпадения теоретической кривой с экспериментальными данными.
32700. ПРОТИВОМАЛЯРИЙНЫЕ СРЕДСТВА 106 KB
  Возбудитель: малярийный плазмодий который имеет два цикла развития → бесполый шизогония в организме человека полый спорогония в теле комара СХЕМА: Противомалярийные средства отличаются по химическому строению и по влиянию на различные формы плазмодиев. Комар Зигота ♂ ♀ созревание Спорозойды...
32701. Планирование экономических показателей работы зоны ТР 318.5 KB
  Соответствие развития транспорта общим направлениям социально – экономического развития страны, что необходимо для своевременного удовлетворения спроса на перевозки пассажиров и грузов; опережающее развитие транспортной отрасли по сравнению с другими отраслями экономики, что позволит смягчить ограничения, накладываемые транспортом на производство, сферу обращения и социальную сферу...