39064

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

Доклад

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

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

Русский

2013-09-30

44 KB

17 чел.

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

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

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


 

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

22693. Конкурентоспроможність економіки та конкурентна політика України 133 KB
  випущено Світовий звіт що стосується проблем конкурентоспроможності €œПро конкурентоспроможність окремих національних економік€. Результат дослідження: було визначено індекс конкурентоспроможності який визначався за основними групами факторів які є найбільш впливовими. Фактори конкурентоспроможності: відкритість вимірює відкритість до зовнішньої торгівлі і інвестицій політики обмінних курсів і легкості експорту. Україна зайняла 53 місце по індексу конкурентоспроможності.
22694. Експорт в Україні 21.5 KB
  Україна мала позитивне сальдо але за рахунок поточних операцій платіжного балансу. Платіжний баланс співвідношення між сумою всіх грошових надходжень отриманих державою від інших країн за певний період і сумою всіх платежів які здійснювалися за цей період. Структура ПБ в міжнародній статистиці однакова і складається з наступних частин: баланс надходжень і платежів із зовнішньої торгівлі баланс надходжень і платежів за послуги баланс некомерційних надходжень і платежів баланс надходжень і платежів із закордонних капіталовкладень...
22696. Вільні економічні зони в Україні 35.5 KB
  На Україні існують вільні ВЕЗ чи спеціальні СЕЗ економічні зони та території пріоритетного розвитку ТПР і являють собою частину території України на якій встановлюються i діють спеціальний правовий режим економічної діяльності та порядок застосування i дії законодавства України. 2001 року зареєстровано: 11 СЕЗ і 9 ТПР. Загальна територія на яку поширюється режим СЕЗ та ТПР 105 території України. Кількість областей України на які поширюються режим СЕЗ та ТПР 12.
22697. Проблеми тінізації Економіки України та її олігархізації 23 KB
  Світовою практикою доведено: чим слабша держава тим вищий ступінь тінізації економіки. Зв'язок між традиційними проявами тіньової економіки: корупція відмивання коштів поширення сфери дії кримінальних угруповань діяльність €œфіктивних фірм€ поширення проявів тінізації національної економіки в цілому. Автор робить висновок що будьякі прояви нелегальної економіки які не знаходять відповідної протидії з боку органів державної влади не тільки спотворюють пропорції розширеного відтворення виробництва а й знецінюють демократичні...
22698. Національний банк України 24.5 KB
  2 Забезпечити високий рівень довіри в суспільстві до банків завдяки створенню дієвої системи нагляду за банківською діяльністю системи захисту інтересів вкладників та інвесторів системи оперативного кредитування комерційних банків з метою підвищення їх ліквідності. 3 Забезпечити високий ступінь незалежності і самостійності НБУ в проведенні монетарної політики з питань що стосуються сталості грошей чітко розмежувати кредитну діяльність банківської системи і фінансову діяльність уряду виключити пряме кредитування НБУ бюджетних витрат...
22699. Залучення іноземних інвестицій в Україну 27 KB
  На приплив іноземних інвестицій можна впливати лише побічно а саме: шляхом приведення інституційних та правових норм в Україні відповідно до міжнародних вимог. Для залучення іноземних інвестицій в Україну та їх ефективного використання необхідно: 1. На державному рівні відмовитися від мети залучення іноземних інвестицій будьякою ціною тобто не ставити іноземні компанії в більш привілейоване положення ніж національні.
22700. Ситсема держорганів, щ о регулюють ЗЕД 34 KB
  ситсема держорганів щ о регулюють ЗЕД Державне регулювання зовнішньоекономічної діяльності здійснюється для того щоб забезпечити: 1 захист економічних інтересів України та законних інтересів субєктів зовнішньоекономічної діяльності; 2 створення рівних можливостей для субєктів зовнішньоекономічної діяльності розвивати всі види підприємницької діяльності незалежно від форм власності та всі напрями використання доходів і здійснення інвестицій; 3 заохочення конкуренції та ліквідацію монополізму в сфері зовнішньоекономічної діяльності....
22701. Експорт та імпорт України 26.5 KB
  Існує заборона експорту або імпорту того чи іншого товару для захисту національних інтересів економічна безпека захист культурних цінностей фінансові положення тощо. Сьогодні ні розміри експорту ні його структура не можуть задовольнити Україну. Розміри експорту поки що недостатні: в 1995 р. У його структурі найбільшу частку мають сировина матеріали і товари народного споживання 876; машини і устаткування 103 інші товари у тому числі послуги 21 що вказує на дуже неефективну структуру експорту оскільки майже 90 його...