39064

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

Доклад

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

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

Русский

2013-09-30

44 KB

13 чел.

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

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

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


 

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

31379. ЭКОНОМИЧЕСКИЙ МЕХАНИЗМ ОПЕРАТИВНОГО УПРАВЛЕНИЯ ТЕКУЩИМИ АКТИВАМИ КОРПОРАЦИЙ 448 KB
  Как правило, при проведении научных исследований процесса управления, рассматриваются различные стратегические задачи, такие как маркетинг, персонал. На наш взгляд, однако, большое внимание должно также уделяться оперативному (текущему) управлению, от которого зависит повседневная деятельность предприятий, то есть та, которая, в основном, и приносит коммерческий доход.
31380. Корпоративная культура: методы ее формирования и развития в организации 463 KB
  Выбор темы дипломной работы: Корпоративная культура: методы ее формирования и развития в организации обусловлен тем что корпоративная культура напрямую связанна с коммерческий успехом компании. Компания будет успешной только в случае если сотрудники будут понимать важность своей работы чувствовать что их профессиональный уровень пропорционален успеху компании. Мотивация сотрудников построение отношений между сотрудниками принципы и методы работ используемых в деятельности организации все это является важнейшим фактором в борьбе...
31381. ПРАВОВОЕ ГОСУДАРСТВО И ГРАЖДАНСКОЕ ОБЩЕСТВО 506 KB
  Основные признаки правового государства и гражданского общества. Формирование и развитие правового государства и гражданского общества в современной России. Конституционно – правовые основы построения правового государства 37 2. Проблема становления и развития правового государства и гражданского общества до сих пор считается нерешенной и недостаточно разработанной в современной политической и правовой науках хотя период ее изучения измеряется столетиями а время от времени она...
31382. ПРАВОВОЕ РЕГУЛИРОВАНИЕ ДЕЯТЕЛЬНОСТИ ИНДИВИДУАЛЬНЫХ ПРЕДПРИНИМАТЕЛЕЙ, КАК УЧАСТНИКОВ ГРАЖДАНСКИХ ПРАВООТНОШЕНИЙ ПО СОВРЕМЕННОМУ ЗЗАКОНОДАТЕЛЬСТВУ» (НА ПРИМЕРЕ ИП ПОЛЯКОВА Л.А) 511 KB
  Исходные данные к работе: Конституция Российской Федерации Гражданский кодекс Российской Федерации Налоговый кодекс Российской Федерации федеральные конституционные законы иные федеральные нормативные правовые акты. Содержание расчетнопояснительной записки перечень подлежащих разработке вопросов: дать понятие предпринимательской деятельности и ее признаков; определить правовое положение в ней индивидуального предпринимателя; рассмотреть вопросы законодательного регулирования предпринимательской деятельности сформулировать конкретные...
31383. Направления по усовершенствованию системы оплаты труда в ООО «Проект 69» 643 KB
  Теоретические основы системы организации и оплаты труда. Формы и системы оплаты труда на предприятии. Основные принципы организации оплаты труда состав фонда оплаты труда. Анализ организации оплаты труда в ООО Проект 69. Анализ существующей системы оплаты труда ООО Проект 69...
31384. Себестоимость продукции промышленного предприятия и пути ее оптимизации на примере ОАО «Сарановская шахта «Рудная» 621.5 KB
  Технологический процесс получения продукции и формирование себестоимости в ОАО Сарановская шахта Рудная. Анализ и оценка структуры затрат в себестоимости продукции. Мероприятия по снижению себестоимости продукции в ОАО Сарановская шахта Рудная как путь повышения производства.
31385. Методические рекомендации по выполнению дипломных проектов (работ) 108.5 KB
  В процессе подготовки квалификационной (дипломной) работы каждому студенту-выпускнику назначается научный руководитель. Научным руководителем квалификационной (дипломной) работы студента-выпускника может быть как преподаватель выпускающей лаборатории, так и сторонние ведущие отраслевые специалисты.
31386. Методические рекомендации для выполнения выпускных квалификационных работ (бакалаврских работ) 763.5 KB
  Выполнение бакалаврских работ является завершающим этапом обучения студентов в высшем учебном заведении, а их публичная защита перед Государственной аттестационной комиссией (ГАК) - объективной формой аттестации.