Курс лекцій ( частина 1 ) для студентів спеціальності icon

Курс лекцій ( частина 1 ) для студентів спеціальності




НазваКурс лекцій ( частина 1 ) для студентів спеціальності
Сторінка6/6
Дата конвертації31.03.2013
Розмір0.67 Mb.
ТипКурс лекцій
1   2   3   4   5   6
1. /Конспект лекций/Использование SQL Server Management Studio.doc
2. /Конспект лекций/Лекция 0. Знайомство з SQL Server 2005.doc
3. /Конспект лекций/Лекция 1. Створення й керування базою даних SQL Server (short).doc
4. /Конспект лекций/Лекция 2. Синтаксичн_ елементи мови.doc
5. /Конспект лекций/Лекция 3. Виб_рка даних з бази даних.doc
6. /Конспект лекций/Лекция 4. Модиф_кац_я даних у базах даних SQL Server.doc
7. /Конспект лекций/Лекция 5. Збережен_ процедури.doc
8. /Конспект лекций/Лекция 5. Створення тригер_в _ керування ними ними.doc
9. /Конспект лекций/Мова SQL.Doc
10. /Конспект лекций/Создание триггеров и управление ими.doc
11. /Конспект лекций/Ц_л_сн_сть даних (short).doc
12. /Лабораторна робота малий формат.doc
Что такое sql server
Лекція Основи роботи з Microsoft sql| Server| 2005 Питання лекції Основні
Лекція Створення І керування базою даних sql server
Синтаксичні елементи мови Transact-sql
Вибірка даних з бази даних sql server
Модифікація даних у базах даних sql server
Збережені процедури
Створення|створіння| тригерів|трігерів| і керування ними (Тут додати що таке тригер і як він використовується)
Курс лекцій ( частина 1 ) для студентів спеціальності
Создание триггеров и управление ими
Цілісність даних
Методичні рекомендації для виконання лабораторних робіт для студентів спеціальності

3.Визначення підзапитів усередині операторів SELECT


Підзапитом називається оператор, що повертає єдине значення SELECT, вкладений в інший оператор SELECT, INSERT, UPDATE, DELETE або в інший підзапит. Підзапит дозволяється застосовувати в будь-якому місці, де дозволене використання виразу. Підзапит також називається внутрішнім запитом або внутрішньою вибіркою, а утримуючий підзапит оператор - зовнішнім запитом або зовнішньою вибіркою. У наступному прикладі підзапит вкладений у конструкцію WHERE зовнішнього оператора

SELECT:

USE Northwind

SELECT ProductName

FROM Products

WHERE UnitPrice =

(

SELECT UnitPrice

FROM Products

WHERE ProductName = 'Sir Rodney"s Scones'

)

Убудований оператор SELECT спочатку визначає значення UnitPrice для товару за назвою ’Sir Rodney's Scones’, який дорівнює $10, Після цього значення $10 використовується в зовнішньому операторі SELECT для добування імен всіх продуктів, ціна яких $10. Якщо таблиця фігурує тільки в підзапиті, але не в зовнішньому запиті, то стовпці цієї таблиці не вдається включити у вихідну інформацію (у список вибору зовнішнього запиту). У деяких операторах Transact-SQL підзапит обробляється так, ніби це був незалежний запит і його результати підставляються в зовнішній запит.
Типи підзапитів

Підзапити можна задавати у всіх місцях оператора SELECT. Однак оператори, у складі яких є підзапит, як правило складені в одному з наступних форматів:

  • WHERE <вираз> [NOT] IN (<підзапит>)

  • WHERE <вираз> <оператор_порівняння> [ANY | ALL] (<підзапит>)

  • WHERE [NOT] EXISTS (<підзапит>)


Підзапити із ключовими словами IN або NOT IN

Результатом підзапиту із ключовим словом IN (або NOT IN) є список, що складається з нуля або більшої кількості значень. Результат, що повертає підзапит, використовується зовнішнім запитом.

У наступному прикладі підзапит вкладений у конструкцію WHERE і використається ключове слово IN:

USE Pubs

SELECT Pub_name

FROM Publishers

WHERE Pub_id IN

(

SELECT Pub_id

FROM Titles

WHERE Type = 'business'

)

Спочатку внутрішній запит повертає номери ідентифікаторів видавництв, що випустили літературу, що визначена типом business (1389 і 0736). Потім ці значення підставляються в зовнішній запит, що знаходить назви, що відповідають номерам ідентифікаторів з таблиці Publishers. Підзапити із ключовими словами NOT IN також повертають список, що складається з нуля або більшої кількості значень. Ці запити абсолютно аналогічні підзапитам із ключовим словом IN і відрізняються тільки тим, що ключове слово IN замінене на NOT IN.
Підзапити з операторами порівняння

В операторах порівняння, які використовуються з підзапитами, дозволяється застосовувати ключові слова ALL або ANY. Ключове слово SOME у стандарті SQL-92 уважається еквівалентом ANY. Підзапити в операторах порівняння повертають нуль або більше значень і можуть містити в собі конструкції GROUP BY або HAVING. Ці підзапити можна перевизначити за допомогою ключового слова EXISTS. Ключові слова ALL і ANY порівнюють скалярне значення з набором значень одного стовпця. Ключове слово ALL застосовується до всіх значень, а ключове слово ANY - як мінімум до одному. У наступному прикладі ключове слово ANY використовується з оператором порівняння ’більше’ (>):

USE Pubs

SELECT Title

FROM Titles

WHERE Advance > ANY

(

SELECT Advance

FROM Publishers INNER JOIN Titles

ON Titles. Pub_id = Publisher. Pub_id

AND Pub_name = ' Algodata Infosystems '

)

Цей оператор знаходить видання, які авансовані сумою, що перевищує мінімальну суму авансу, сплаченого Algodata Infosystems (у цьому випадку він становить $5 000). Конструкція WHERE у зовнішньому операторі SELECT містить підзапит, за допомогою з'єднання який витягає суми авансу для Algodata Infosystems. Після цього мінімальна сума авансу використовується для визначення видань, які необхідно витягти з таблиці Titles.
Підзапити із ключовими словами EXISTS і NOT EXISTS

Коли підзапит містить ключове слово EXISTS, він функціонує як перевірка наявності тієї або іншої сутності. Конструкція WHERE зовнішнього запиту перевіряє, є чи рядки, які повертає підзапит. Цей підзапит насправді не видає ніяких даних, замість цього він повертає значення TRUE або FALSE. У наступному прикладі конструкція WHERE із зовнішнього оператора SELECT містить підзапит і використовує ключове слово EXISTS:

USE Pubs

SELECT Pub_name

FROM Publishers

WHERE EXISTS

(

SELECT * FROM Titles

WHERE Titles. Pub_id = Publishers. Pub_id

AND Type = 'business'

)

Щоб визначити результат цього запиту, необхідно по черзі розглянути назву кожного видавництва. У цьому випадку першим буде видавництво Algodata Infosystems з ідентифікаційним номером 1389. Чи є в таблиці Titles рядки, значення поля Pub_id яким дорівнює 1 389, а тип - business? Якщо так, то Algodata Infosystems повинне бути серед обраних значень. Цей процес повторюється для кожної назви видавництва. Ключові слова NOT EXISTS працюють аналогічно EXISTS за винятком того, що умова конструкції WHERE, де використовується NOT EXISTS, виконується, коли підзапит не повертає жодного рядка.
Узагальнення даних

В Transact-SQL входять кілька елементів, що дозволяють генерувати прості зведені звіти. Для цього застосовують оператори CUBE або ROLLUP, які є частиною конструкції GROUP BY оператора SELECT. Крім того, можна використати оператори COMPUTE і COMPUTE BY, які також пов'язані з конструкцією GROUP BY. Оператори COMPUTE і COMPUTE BY підтримуються заради зворотної сумісності.
Узагальнення даних за допомогою оператора CUBE

Оператор CUBE генерує результуючий набір у вигляді багатомірного куба - розширення фактичних даних або даних, що реєструють окремі події. Таке розширення засноване на стовпцях, які хоче проаналізувати користувач. Стовпці називаються вимірами. Куб являє собою результуючий набір, що містить зведені дані із всіх можливих комбінацій вимірів. У наступному операторі SELECT у конструкції GROUP BY використаний оператор CUBE:

USE Pubs

SELECT SUBSTRING(Title, 1, 65) AS Title,

SUM(qty) AS 'Quantity'

FROM Sales INNER JOIN Titles

ON Sales.Title_id = Titles.Title_id

GROUP BY Title

WITH CUBE

ORDER BY Title

Оператор SELECT відповідає відношенню один до багатьох між книгами й кількістю проданих екземплярів кожної книги. За допомогою оператора CUBE він повертає додатковий рядок. Вона містить порожнє значення в стовпці Title результуючого набору й представляє всі значення стовпця Title таблиці Titles. Результуючий набір повертає значення кількості проданих екземплярів кожної книги й сумарну кількість проданих екземплярів всіх книг. У цьому випадку оператори CUBE і ROLLUP повертають той самий результат.
Узагальнення даних за допомогою оператора ROLLUP

Оператор ROLLUP генерує звіти з підсумками і проміжними підсумками. Створюваний його засобами результуючий набір схожий на результуючий набір оператора CUBE. Однак є й розходження:

  • результуючий набір, згенерований оператором CUBE, показує підсумкові значення для всіх комбінацій значень обраних стовпців;

  • результуючий набір, згенерований оператором ROLLUP, показує підсумкові значення для ієрархії значень в обраних стовпцях.

Наступний оператор SELECT містить оператор ROLLUP у конструкції GROUP BY:

USE Pubs

SELECT Pub_name, Au.lname, Title, SUM(qty) AS 'Sum'

FROM Authors a INNER JOIN TitleAuthor ta

ON a.Au_id = ta.Au_id INNER JOIN Titles t

ON t.Title_id = ta.Title_id INNER JOIN Publishers p

ON p.Pub_id = t.Pub_id INNER JOIN Sales s

ON s.Title_id - t.Title.id

GROUP BY Pub_name, Au_lname, Title

WITH ROLLUP

Оператор ROLLUP дозволяє створювати угруповання в результуючому наборі. Для подання всіх значень поля в згрупованих рядках використовується порожнє значення (за винятком поля Sum). При використанні без оператора ROLLUP оператор SELECT генерує тільки одну групу. Оператор CUBE повертає набагато більше груп. При вказівці в конструкції GROUP BY наступних стовпців: Pub_name, Aujname, і Title оператор ROLLUP повертає наступні дані:

  • кількість екземплярів кожної книги кожного автора, проданих кожним видавництвом;

  • сумарна кількість екземплярів книг кожного автора, проданих кожним видавництвом;

  • сумарна кількість всіх книг, проданих кожним видавництвом;

  • сумарна кількість всіх книг всіх авторів, проданих всіма видавництвами.

На завершення наведемо декілька практичних прикладів для закріплення матеріалу лекції. Наберемо наведені нижче приклади у редакторі запитів та виконаємо їх. Після цього пропонується самостійно проаналізувати результат роботи кожної команди SELECT.
Приклади

Одержання даних за допомогою внутрішнього з'єднання

USE Northwind

SELECT o.Customerl. o.Qrderl, s.CompanyName

FROM Orders про JOIN Shippers s

ON o.ShipVia = s.Shipperl

WHERE ShipCountry = 'USA'

ORDER BY o.Customerl, s.CompanyName

Одержання даних за допомогою лівого зовнішнього з'єднання

USE Northwind

SELECT o.OrderID, o.CustomerID, c.ContactNane. c.City

FROM Orders про LEFT JOIN Customers c

ON o.CustomerID - c.CustomerID

AND o.ShipCity = c.City

ORDER BY o.OrderID

Одержання даних за допомогою правого зовнішнього з'єднання

USE Northwind

SELECT o.QrderID, o.CustomerID, c.ContactName, c.City

FROM Orders про RIGHT JOIN Customers c

ON o.CustomerID = c.CustomerID

AND o.ShipCity = c . C i t y

ORDER BY o.OrderID
Одержання даних за допомогою повного зовнішнього з'єднання

Скористайтеся тим же оператором SELECT, що й у двох попередніх прикладах, тільки змініть у операторі відповідну частину команди для утворення повного зовнішнього з’єднання.

Використання в підзапиті ключового слова IN

USE Northwind

SELECT OrderID, EmployeeID AS EmpID

FROM Orders

WHERE EmployeeID IN (

SELECT EmployeeID

FROM Employees

WHERE City = 'Seattle'

ORDER BY OrderID )

Застосування підзапита з операторами порівняння й ключовим словом ALL

USE Northwind

SELECT Orderl, UnitPrice

FROM [Order Details]

WHERE UnitPrice > ALL

SELECT UnitPrice

FROM [Order Details] JOIN Orders

ON [Order Details].OrderID = Orders.OrderID

AND Orders.EmployeeID = 5

ORDER BY UnitPrice, OrderID

Застосування підзапита із ключовим словом EXISTS

USE Northwind

SELECT OrderID, CustornerID

FROM Orders

WHERE EXISTS

(

SELECT * FROM Customers

WHERE Customers. CustomerID - Orders. CustornerID

AND City = 'London'

)

ORDER BY OrderID

Створення зведених даних за допомогою оператора ROLLUP

USE Northwind

SELECT ProductID. UnitPrice, SUM(Quantity) AS 'Sum'

FROM [Order Details]

GROUP BY ProductID, UnitPrice

WITH ROLLUP

ORDER BY ProductID


Список літератури


  1. Проектирование и реализация баз данных Microsoft SQL Server 2000. Учебный курс MCAD/MCSE, MCDBA/Пер. с англ. — 2-е изд., испр. — М.: Издательско-торговый дом «Русская Редакция», 2003. – 512 стр.: ил.

  2. Microsoft SQL Server 2005. Реализация и обслуживание. Учебный курс Microsoft. / Пер. с англ. – М.: «Русская редакция», СПБ.: «Питер», 2007. – 768 стр. : ил.

  3. С. Байдачный, Д. Маленко, Ю. Лозинский SQL Server 2005: Новые возможности для разработчиков - М: СОЛОН-Пресс, 2006. - 208 стр:. ил.

  4. Браст Эндрю Дж., Форте Стивен Разработка приложений на основе MS SQL Server 2005. Мастер-класс. / Пер. с англ. – М.: Издательство «Русская редакция», 2007. – 880 стр.: ил.



Зміст


Вступ 3

Лекція 1. Основи роботи з Microsoft SQL Server 2005 4

1. Основні відомості про SQL Server 2005 та принципи його роботи 4

2. Використання SQL Server Management Studio 7

Лекція 2. Створення і керування базою даних SQL Server 14

1. Створення бази даних у середовищі MS SQL Server 2005 14

2. Створення таблиць у базі даних та накладання обмежень 20

Лекція 3. Синтаксичні елементи мови Transact-SQL 45

1.Ідентифікатори 45

2. Функції та інші конструкції мови 48

3. Типи даних та фирази 52

4. Елементи мови керування ходом виконання 53

Лекція 4 Вибірка даних з бази даних SQL Server 60

1. Основи оператора SELECT 60

2.Витяг даних за допомогою з\'єднань 71

3.Визначення підзапитів усередині операторів SELECT 75

Список літератури 83

Зміст 84




1   2   3   4   5   6



Схожі:

Курс лекцій ( частина 1 ) для студентів спеціальності iconКонспект лекцій для студентів спеціальності ксм
Операційні системи. Конспект лекцій для студентів спеціальності ксм денної та заочної форми навчання. / проф. Бурчак І. Н., Здолбіцький...
Курс лекцій ( частина 1 ) для студентів спеціальності iconКонспект лекцій з дисципліни "Міжнародна економіка" для студентів спеціальності «Облік і аудит»
Конспект лекцій з дисципліни “Міжнародна економіка” для студентів спеціальності «Облік І аудит» /М. В. Яковенко. Олександрія: кіруе,...
Курс лекцій ( частина 1 ) для студентів спеціальності iconКурс лекцій з дисципліни „Релігієзнавство (для студентів 1-3 курсів усіх спеціальностей академії)
Курс лекцій з дисципліни “Релігієзнавство” (для студентів 1-3 курсів усіх спеціальностей академії) // Укл. Толстенко С. М. – Харків...
Курс лекцій ( частина 1 ) для студентів спеціальності iconКурс лекцій Для студентів освітньо-кваліфікаційного рівня "бакалавр" економічних спеціальностей усіх форм навчання Суми
України [Текст] : курс лекцій / [уклад.: А. І. Зякун, В. Г. Троян]; Державний вищий навчальний заклад “Українська академія банківської...
Курс лекцій ( частина 1 ) для студентів спеціальності iconКонспект лекцій призначається для студентів бакалаврського рівня спеціальності «Мінералогія, геохімія»
Скакун Л. З. Мінералогія. Конспект лекцій. Ч. – Львів: Видав-ничий центр лну ім. Івана Франка, 2002. – 51 с
Курс лекцій ( частина 1 ) для студентів спеціальності iconПрограма та плани семінарських занять для студентів Філософського факультету
Курс “Аналіз соціальних систем” є обов’язковим навчальним курсом, який читається для студентів ІІ курсу спеціальності “політологія”...
Курс лекцій ( частина 1 ) для студентів спеціальності iconКурс лекцій для студентів всіх форм навчання. Дніпропетровськ, ддфа, 2007. 143с
Мікроекономіка: Курс лекцій для студентів всіх форм навчання. – Дніпропетровськ, ддфа, 2007. 143с
Курс лекцій ( частина 1 ) для студентів спеціальності iconПрограма для студентів спеціальності 0304 "Міжнародні відносини" напряму "Міжнародне право" Затверджено
України " є нормативним курсом для студентів спеціальності '60304 "Міжнародні відносини" напряму "Міжнародне право". Викладається...
Курс лекцій ( частина 1 ) для студентів спеціальності iconПрограма для студентів спеціальності "Міжнародне право" Затверджено
Дисципліна “Міжнародна інформація” є базовою нормативною дисципліною для спеціальності “міжнародне право”, що викладається на ІV...
Курс лекцій ( частина 1 ) для студентів спеціальності iconПрограма курсу Курс "Вибори та виборчі системи"
Курс “Вибори та виборчі системи” є обов’язковим навчальним курсом, який читається для студентів ІV курсу Філософського факультету...
Курс лекцій ( частина 1 ) для студентів спеціальності iconПрограма «Ергономіка інформаційних технологій» (назва дисципліни) Для студентів спеціальності (ей)
Для студентів спеціальності (ей) 010104. 36 «Професійне навчання. Комп’ютерні технології в управлінні та навчанні»
Додайте кнопку на своєму сайті:
Документи


База даних захищена авторським правом ©te.zavantag.com 2000-2017
При копіюванні матеріалу обов'язкове зазначення активного посилання відкритою для індексації.
звернутися до адміністрації
Документи