Урок 30: Основы языка sql содержание урока 30 icon

Урок 30: Основы языка sql содержание урока 30



НазваниеУрок 30: Основы языка sql содержание урока 30
страница1/3
Дата конвертации17.07.2012
Размер465.66 Kb.
ТипУрок
  1   2   3
1. /Введение в DELPHI/Alexs.rtf
2. /Введение в DELPHI/Les00.rtf
3. /Введение в DELPHI/Les11.rtf
4. /Введение в DELPHI/Les110.rtf
5. /Введение в DELPHI/Les12.rtf
6. /Введение в DELPHI/Les13.rtf
7. /Введение в DELPHI/Les14.rtf
8. /Введение в DELPHI/Les15.rtf
9. /Введение в DELPHI/Les16.rtf
10. /Введение в DELPHI/Les17.rtf
11. /Введение в DELPHI/Les18.rtf
12. /Введение в DELPHI/Les19.rtf
13. /Введение в DELPHI/Les21.rtf
14. /Введение в DELPHI/Les22.rtf
15. /Введение в DELPHI/Les23.rtf
16. /Введение в DELPHI/Les31.rtf
17. /Введение в DELPHI/Les310.rtf
18. /Введение в DELPHI/Les311.rtf
19. /Введение в DELPHI/Les32.rtf
20. /Введение в DELPHI/Les33.rtf
21. /Введение в DELPHI/Les34.rtf
22. /Введение в DELPHI/Les35.rtf
23. /Введение в DELPHI/Les36.rtf
24. /Введение в DELPHI/Les37.rtf
25. /Введение в DELPHI/Les38.rtf
26. /Введение в DELPHI/Les39.rtf
27. /Введение в DELPHI/Les41.rtf
28. /Введение в DELPHI/Les42.rtf
29. /Введение в DELPHI/Les43.rtf
30. /Введение в DELPHI/Les44.rtf
31. /Введение в DELPHI/Les45.rtf
32. /Введение в DELPHI/Menu.doc
HighWay Soft Group
Borland Delphi
Среда программирования Delphi Содержание
Средства создания мультимедийных приложений Содержание
html">Проект Delphi Пункт меню "File"
Обзор Палитры Компонент Содержание
Рисование и закраска Содержание
Печать текстовая и графическая Содержание
Свойства в Delphi Содержание Îáçîð -error: Reference source not found
Обзор
Обработка исключительных ситуаций в Delphi Содержание
События в Delphi Содержание
Dynamic Data Exchange получило свое имя потому, что позволяет двум приложениям обмениваться данными (текстовыми, через глобальную память) динамически во время выполнения. Связь между двумя программа
Ole содержание Обзор Основы ole объект tolecontainer Пример ole приложения Сохранение ole объекта в базе данных Обзор
Использование dll в Delphi Содержание
Обзор
Управление транзакциями Содержание
Local InterBase Содержание
Настройка bde содержание Обзор 2 Обзор
Создание таблиц с помощью Database Desktop Содержание
Создание таблиц с помощью sql-запросов Содержание
Содержание
Компонент ttable. Создание таблиц с помощью компонента ttable Содержание
Содержание
Содержание
Управление соединением с базой данных (класс tdataBase,объект Session) Содержание
Создание собственных компонент Содержание
Редакторы свойств Содержание
Содержание
Урок 30: Основы языка sql содержание урока 30
Обзор Local InterBase 0 les311. rtf Подменю «Сложный материал» Создание собственных компонент les41. rtf Создание редакторов свойств компонент les42. rtf Генератор отчет

32 óðîêà ïî Delphi





Урок 30: Основы языка SQL


Содержание урока 30:


- Обзор

Состав языка SQL

Реляционные операции. Команды языка манипулирования данными

Команда SELECT

Простейшие конструкции команды SELECT

Список полей

Все поля

Все поля в произвольном порядке

Блобы

Вычисления

Литералы

Конкатенация

Использование квалификатора AS

Работа с датами

Агрегатные функции

Предложение FROM команды SELECT

Ограничения на число выводимых строк

Операции сравнения

BETWEEN

IN

LIKE

CONTAINING

IS NULL

Логические операторы

Преобразование типов (CAST)

Изменение порядка выводимых строк (ORDER BY)

Упорядочивание с использованием имен столбцов

Упорядочивание с использованием номеров столбцов

Устранение дублирования (модификатор DISTINCT)

Соединение (JOIN)

Внутренние соединения

Самосоединения

Внешние соединенияError: Reference source not found

Обзор


SQL (обычно произносимый как "СИКВЭЛ" или “ЭСКЮЭЛЬ”) символизирует собой Структурированный Язык Запросов. Это - язык, который дает Вам возможность создавать и работать в реляционных базах данных, являющихся наборами связанной информации, сохраняемой в таблицах.


Информационное пространство становится более унифицированным. Это привело к необходимости создания стандартного языка, который мог бы использоваться в большом количестве различных видов компьютерных сред. Стандартный язык позволит пользователям, знающим один набор команд, использовать их для создания, нахождения, изменения и передачи информации - независимо от того, работают ли они на персональном компьютере, сетевой рабочей станции, или на универсальной ЭВМ.

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

Элегантность и независимость от специфики компьютерных технологий, а также его поддержка лидерами промышленности в области технологии реляционных баз данных, сделало SQL (и, вероятно, в течение обозримого будущего оставит его) основным стандартным языком. По этой причине, любой, кто хочет работать с базами данных 90-х годов, должен знать SQL.


Стандарт SQL определяется ANSI (Американским Национальным Институтом Стандартов) и в данное время также принимается ISO (Международной Организацией по Стандартизации). Однако, большинство коммерческих программ баз данных расширяют SQL без уведомления ANSI, добавляя различные особенности в этот язык, которые, как они считают, будут весьма полезны. Иногда они несколько нарушают стандарт языка, хотя хорошие идеи имеют тенденцию развиваться и вскоре становиться стандартами "рынка" сами по себе в силу полезности своих качеств.

На данном уроке мы будем, в основном, следовать стандарту ANSI, но одновременно иногда будет показывать и некоторые наиболее общие отклонения от его стандарта.

Точное описание особенностей языка приводится в документации на СУБД, которую Вы используете. SQL системы InterBase 4.0 соответствует стандарту ANSI-92 и частично стандарту ANSI-III.

Состав языка SQL

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

Поэтому, в язык SQL в качестве составных частей входят:

язык манипулирования данными (Data Manipulation Language, DML)

язык определения данных (Data Definition Language, DDL)

язык управления данными (Data Control Language, DCL).


Подчеркнем, что это не отдельные языки, а различные команды одного языка. Такое деление проведено только лишь с точки зрения различного функционального назначения этих команд.


Язык манипулирования данными используется, как это следует из его названия, для манипулирования данными в таблицах баз данных. Он состоит из 4 основных команд:


SELECT (âûáðàòü)

INSERT (âñòàâèòü)

UPDATE (îáíîâèòü)

DELETE (óäàëèòü).


Язык определения данных используется для создания и изменения структуры базы данных и ее составных частей - таблиц, индексов, представлений (виртуальных таблиц), а также триггеров и сохраненных процедур. Основными его командами являются:


CREATE DATABASE (ñîçäàòü áàçó äàííûõ)

CREATE TABLE (ñîçäàòü òàáëèöó)

CREATE VIEW (ñîçäàòü âèðòóàëüíóþ òàáëèöó)

CREATE INDEX (ñîçäàòü èíäåêñ)

CREATE TRIGGER (ñîçäàòü òðèããåð)

CREATE PROCEDURE (ñîçäàòü ñîõðàíåííóþ ïðîöåäóðó)

ALTER DATABASE (ìîäèôèöèðîâàòü áàçó äàííûõ)

ALTER TABLE (ìîäèôèöèðîâàòü òàáëèöó)

ALTER VIEW (ìîäèôèöèðîâàòü âèðòóàëüíóþ òàáëèöó)

ALTER INDEX (ìîäèôèöèðîâàòü èíäåêñ)

ALTER TRIGGER (ìîäèôèöèðîâàòü òðèããåð)

ALTER PROCEDURE (ìîäèôèöèðîâàòü ñîõðàíåííóþ ïðîöåäóðó)

DROP DATABASE (óäàëèòü áàçó äàííûõ)

DROP TABLE (óäàëèòü òàáëèöó)

DROP VIEW (óäàëèòü âèðòóàëüíóþ òàáëèöó)

DROP INDEX (óäàëèòü èíäåêñ)

DROP TRIGGER (óäàëèòü òðèããåð)

DROP PROCEDURE (óäàëèòü ñîõðàíåííóþ ïðîöåäóðó).


Язык управления данными используется для управления правами доступа к данным и выполнением процедур в многопользовательской среде. Более точно его можно назвать “язык управления доступом”. Он состоит из двух основных команд:


GRANT (äàòü ïðàâà)

REVOKE (çàáðàòü ïðàâà).


С точки зрения прикладного интерфейса существуют две разновидности команд SQL:

интерактивный SQL

встроенный SQL.

Интерактивный SQL используется в специальных утилитах (типа WISQL или DBD), позволяющих в интерактивном режиме вводить запросы с использованием команд SQL, посылать их для выполнения на сервер и получать результаты в предназначенном для этого окне. Встроенный SQL используется в прикладных программах, позволяя им посылать запросы к серверу и обрабатывать полученные результаты, в том числе комбинируя set-ориентированный и record-ориентированный подходы.

Мы не будем приводить точный синтаксис команд SQL, вместо этого мы рассмотрим их на многочисленных примерах, что намного более важно для понимания SQL, чем точный синтаксис, который можно посмотреть в документации на Вашу СУБД.


Итак, начнем с рассмотрения команд языка манипулирования данными.

Реляционные операции. Команды языка манипулирования данными

Наиболее важной командой языка манипулирования данными является команда SELECT. За кажущейся простотой ее синтаксиса скрывается огромное богатство возможностей. Нам важно научиться использовать это богатство!

На данном уроке предполагается, если не оговорено противное, что все команды языка SQL вводятся интерактивным способом. В качестве информационной основы для примеров мы будем использовать базу данных “Служащие предприятия” (employee.gdb), входящую в поставку Delphi и находящуюся (по умолчанию) в поддиректории \IBLOCAL\EXAMPLES.



Рис. 1: Структура базы данных EMPLOYEE


На рис.1 приведена схема базы данных EMPLOYEE для Local InterBase, нарисованная с помощью CASE-средства S Designor (см. доп. урок). На схеме показаны таблицы базы данных и взаимосвязи, а также обозначены первичные ключи и их связи с внешними ключами. Многие из примеров, особенно в конце урока, являются весьма сложными. Однако, не следует на этом основании делать вывод, что так сложен сам язык SQL. Дело, скорее, в том, что обычные (стандартные) операции настолько просты в SQL, что примеры таких операций оказываются довольно неинтересными и не иллюстрируют полной мощности этого языка. Но в целях системности мы пройдем по всем возможностям SQL: от самых простых - до чрезвычайно сложных.

Начнем с базовых операций реляционных баз данных. Таковыми являются:

выборка (Restriction)

проекция (Projection)

соединение (Join)

объединение (Union).


Операция выборки позволяет получить все строки (записи) либо часть строк одной таблицы.


SELECT * FROM country Ïîëó÷èòü âñå ñòðîêè
òàáëèöû Country


COUNTRY CURRENCY

=============== ==========

USA Dollar

England Pound

Canada CdnDlr

Switzerland SFranc

Japan Yen

Italy Lira

France FFranc

Germany D-Mark

Australia ADollar

Hong Kong HKDollar

Netherlands Guilder

Belgium BFranc

Austria Schilling

Fiji FDollar


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


SELECT * FROM country

WHERE currency = “Dollar” Ïîëó÷èòü ïîäìíîæåñòâî ñòðîê òàáëèöû Country, óäîâëåòâîðÿþùåå óñëîâèþ Currency = “Dollar”


Результат последней операции выглядит следующим образом:


COUNTRY CURRENCY

=============== ==========

USA Dollar


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


SELECT currency FROM country Ïîëó÷èòü ñïèñîê
äåíåæíûõ åäèíèö


CURRENCY

==========

Dollar

Pound

CdnDlr

SFranc

Yen

Lira

FFranc

D-Mark

ADollar

HKDollar

Guilder

BFranc

Schilling

FDollar


На практике очень часто требуется получить некое подмножество столбцов и строк таблицы, т.е. выполнить комбинацию Restriction и Projection. Для этого достаточно перечислить столбцы таблицы и наложить ограничения на строки.


SELECT currency FROM country

WHERE country = “Japan” Íàéòè äåíåæíóþ
åäèíèöó ßïîíèè


CURRENCY

==========

Yen


SELECT first_name, last_name

FROM employee

WHERE first_name = "Roger" Ïîëó÷èòü ôàìèëèè
ðàáîòíèêîâ,
êîòîðûõ çîâóò “Roger”

FIRST_NAME LAST_NAME

=============== ====================

Roger De Souza

Roger Reeves


Эти примеры иллюстрируют общую форму команды SELECT в языке SQL (для одной таблицы):


SELECT (âûáðàòü) ñïåöèôèöèðîâàííûå ïîëÿ

FROM (èç) ñïåöèôèöèðîâàííîé òàáëèöû

WHERE (ãäå) íåêîòîðîå ñïåöèôèöèðîâàííîå óñëîâèå ÿâëÿåòñÿ èñòèííûì


Операция соединения позволяет соединять строки из более чем одной таблицы (по некоторому условию) для образования новых строк данных.


SELECT first_name, last_name, proj_name

FROM employee, project

WHERE emp_no = team_leader Ïîëó÷èòü ñïèñîê
ðóêîâîäèòåëåé ïðîåêòîâ


FIRST_NAME LAST_NAME PROJ_NAME

============== ================= ====================

Ashok Ramanathan Video Database

Pete Fisher DigiPizza

Chris Papadopoulos AutoMap

Bruce Young MapBrowser port

Mary S. MacDonald Marketing project 3


Операция объединения позволяет объединять результаты отдельных запросов по нескольким таблицам в единую результирующую таблицу. Таким образом, предложение UNION объединяет вывод двух или более SQL-запросов в единый набор строк и столбцов.


SELECT first_name, last_name, job_country

FROM employee

WHERE job_country = "France"

UNION

SELECT contact_first, contact_last, country

FROM customer

WHERE country = "France" Ïîëó÷èòü ñïèñîê
ðàáîòíèêîâ è çàêàç÷èêîâ,
ïðîæèâàþùèõ âî Ôðàíöèè


FIRST_NAME LAST_NAME JOB_COUNTRY

=============== ================= ===============

Jacques Glon France

Michelle Roche France


Для справки, приведем общую форму команды SELECT, учитывающую возможность соединения нескольких таблиц и объединения результатов:


SELECT [DISTINCT] ñïèñîê_âûáèðàåìûõ_ýëåìåíòîâ (ïîëåé)

FROM ñïèñîê_òàáëèö (èëè ïðåäñòàâëåíèé)

[WHERE ïðåäèêàò]

[GROUP BY ïîëå (èëè ïîëÿ) [HAVING ïðåäèêàò]]

[UNION äðóãîå_âûðàæåíèå_Select]

[ORDER BY ïîëå (èëè ïîëÿ) èëè íîìåð (íîìåðà)];

Рис. 2: Общий формат команды SELECT

Отметим, что под предикатом понимается некоторое специфицированное условие (отбора), значение которого имеет булевский тип. Квадратные скобки означают необязательность использования дополнительных конструкций команды. Точка с запятой является стандартным терминатором команды. Отметим, что в WISQL и в компоненте TQuery ставить конечный терминатор не обязательно. При этом там, где допустим один пробел между элементами, разрешено ставить любое количество пробелов и пустых строк - выполняя желаемое форматирование для большей наглядности.


Гибкость и мощь языка SQL состоит в том, что он позволяет объединить все операции реляционной алгебры в одной конструкции, “вытаскивая” таким образом любую требуемую информацию, что очень часто и происходит на практике.
  1   2   3




Похожие:

Урок 30: Основы языка sql содержание урока 30 iconКонспект урока по информатике учителя Оганьян Э. А. Тема урока : Основные операторы языка Бейсик Тип урока: урок обобщение План урока
Каждый из них должен написать, что появится на экране при выполнении данных задач
Урок 30: Основы языка sql содержание урока 30 iconУрок русского языка в 6 классе Тема урока: Урок решения правописательных задач
Цели урока: организовать деятельность учащихся по закреплению изученного материала, обеспечить у школьников развитие умений работать...
Урок 30: Основы языка sql содержание урока 30 iconУрок русского языка в 10 классе. Тема: «Функции языка»
...
Урок 30: Основы языка sql содержание урока 30 icon"Страницы биографии А. С. Пушкина" Сообщение темы и цели урока
Ребята, сегодня у нас необычный урок. Это урок литературы и английского языка одновременно
Урок 30: Основы языка sql содержание урока 30 icon«Везение и суеверия» (Unit 16 Good luck, bad luck). Место урока в учебном процессе: третий урок в теме после практикумов по чтению и грамматике
План-конспект урока по английскому языку в 11А классе с углубленным изучением английского языка по учебнику fce star (by Luke Prodromou)...
Урок 30: Основы языка sql содержание урока 30 iconПлан-конспект урока русского языка в 6 б классе. Учитель: Гречаниченко М. В. Тема урока : Устаревшие слова. Цели урока
Ознакомить учащихся с устаревшей лексикой русского языка, закрепить навыки пользования словарем
Урок 30: Основы языка sql содержание урока 30 iconУрок русского языка в 4 классе. Тема урока: Местоимение (обобщение). Цель урока: Обобщить знания учащихся по теме «Местоимение»
Закреплять умения заменять имя существительное местоимением соответствующего рода
Урок 30: Основы языка sql содержание урока 30 iconОсновы творческой разработки урока
Данные материалы написаны доцентом кафедры алгебры и геометрии Армавирского государственного педагогического института Сергеем Георгиевичем...
Урок 30: Основы языка sql содержание урока 30 iconОсновы творческой разработки урока
Данные материалы написаны доцентом кафедры алгебры и геометрии Армавирского государственного педагогического института Сергеем Георгиевичем...
Урок 30: Основы языка sql содержание урока 30 iconУрока дата Класс Предмет Тема урока Тип урока и его структура
Каково место данного урока в теме? Как этот урок связан с предыдущим, как этот урок работает на последующие уроки?
Урок 30: Основы языка sql содержание урока 30 iconУрока: «Радости Масленицы». Тип урока: урок праздник. Цель урока: приобщение детей к глубинному традиционному наследию русской народной культуры
Учитель: Сегодня у нас, ребята, не обычный урок, а урок – праздник. А всё потому, что зима кончается, весна начинается, а люди с...
Разместите кнопку на своём сайте:
Документы


База данных защищена авторским правом ©podelise.ru 2000-2014
При копировании материала обязательно указание активной ссылки открытой для индексации.
обратиться к администрации
Документы

Разработка сайта — Веб студия Адаманов