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  фраза]

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

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


 

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

49883. Использование эффекта оптической активности для измерения физических величин 375 KB
  Очень интересно явление вращение плоскости поляризации света при его прохождении через среду. Свойство вещества поворачивать плоскость поляризации света называется естественной оптической активностью. Оптическая активность способность вещества: твердого жидкого или газа ─ вращать плоскость поляризации проходящего через него света. Он же установил что: а угол j поворота плоскости поляризации линейно зависит от толщины l слоя активного вещества или его раствора и концентрации с этого вещества:...
49884. ИСПОЛЬЗОВАНИЕ ХИМИЧЕСКИХ И БИОЛОГИЧЕСКИХ СВОЙСТВ ДЛЯ ИЗМЕРЕНИЯ ФИЗИЧЕСКОЙ ВЕЛИЧИНЫ 168.83 KB
  Характеристики химических и биологических сенсоров. Устройство и принципы работы химических сенсоров. Устройство и принципы работы электрохимических сенсоров. Устройство и принципы работы биологических сенсоров.
49885. Использование оптического эффекта Керра для измерения физических величин 476.22 KB
  Вместе с тем явление Керра нашло за последние годы ряд чрезвычайно важных научных и научно-технических применений, основанных на способности его протекать практически безынерционно, т.е. следовать за очень быстрыми переменами внешнего поля. Таким образом, и по теоретической, и по практической ценности явление двойного лучепреломления в электрическом поле принадлежит к числу крайне интересных и важных
49886. Игра Кубики-перевертыши 132.5 KB
  Цель выполнения данной курсовой работы – формирование представления о взаимосвязи различных стадий единого процесса проектирования сложных программных систем. В результате выполнения работы приобретаются навыки реализации основных стадий разработки: системного анализа, проектирования, программирования и тестирования.
49887. Поняття шлюбу. Особи, які не можуть перебувати у шлюбі між собою 100 KB
  Регулювання шлюбно-сімейних відносин, в усі часи були в центрі уваги держави. В даний час інтерес у цій найважливішій соціобудуючій структурі суспільства ще більше зріс. Саме шлюб є ​​початком і ядром сімї, він повязаний переважно з народженням дітей і їх вихованням
49889. Легальна влада, її сутність та особливості. Процес легітимізації державної влади 142 KB
  Теоретичний і методологічний аналіз категорії влади. Політична влада виникла раніше за владу державну і визначає реальну здатність соціальної групи чи індивіда проводити свою волю; вона є невідємною складовою загального визначення влади як форми соціальних відносин якій властивий всеохоплюючий характер здатність проникати в усі види людської діяльності. Міждисциплінарна сутність категорії влади що розглядається як соціологією так і політологією психологією та ін складність у визначенні співвідношення фактичної та формальної влади...
49890. СПЕЦИАЛЬНАЯ ТЕХНИКА ПРАВООХРАНИТЕЛЬНОЙ ДЕЯТЕЛЬНОСТИ 855 KB
  ИВАНОВ СПЕЦИАЛЬНАЯ ТЕХНИКА ПРАВООХРАНИТЕЛЬНОЙ ДЕЯТЕЛЬНОСТИ теоретические правовые и организационные аспекты Курс лекций В курсе лекций рассматриваются теоретические правовые и организационные вопросы применения специальной техники и обеспечения безопасности информации в деятельности сотрудников правоохранительных органов Российской Федерации. В настоящее время для дезорганизации деятельности правоохранительных органов криминалитетом разрабатываются системы несанкционированного съема добывания анализа и обработки оперативнослужебной...