- •Н.И. Коваленко
- •Коваленко н.И., Банчук г.Г.
- •Коваленко Надежда Ивановна
- •Тема I. Общие сведения о ms sql Server 2000
- •1. Базы данных типа клиент/сервер
- •Система типа клиент/сервер
- •2. История sql Server
- •Основные количественные показатели системы sql – сервер
- •3. Обзор sql Server 2000
- •4. Стандартные объекты sqlServer
- •ТемаIi. Работа с ms sqlServer2000 и его компонентами
- •1. Запуск, приостановка и завершение работы sqlServer
- •2. SqlServerEnterpriseManager
- •3. Программа sqlServerQueryAnalyzer
- •Панель инструментов утилиты Query Analyzer
- •4. Обслуживание баз данных
- •Файлы операционной системы, используемые sql Server 2000:
- •Структура базы данных
- •5. УстановкаMicrosoftSqlServer2000
- •Ограничения инсталляции sql-сервера
- •ТемаIii. Работа с базой данных создание и использование индексов и ключей
- •1. Базы данных и их свойства
- •Описание ролей, используемых для доступа к базе данных и серверу баз данных
- •Дополнительные опции настройки базы данных
- •Настройка параметров доступа к базе данных
- •2. Таблицы базы данных.
- •3. Типы данных, используемые в sql-сервере
- •Текстовые типы данных
- •Типы данных даты и времени
- •Типы данных для хранения больших объемов информации
- •Типы данных специального назначения:
- •4. Основные операции с базами данных
- •5. Восстановление бд (администрированиеSqlServer2000)
- •6. Создание и использование индексов и ключей в системе sql Server.
- •7. Использование ограничений
- •8. Использование диаграмм для разработки структуры базы данных
- •9. Создание представлений (видов)
- •ТемаIv. Правила и создание значения
- •1. Инструменты контроля целостности данных
- •2. Создание правил и стандартных значений
- •ТемаV. Триггеры в системеSql–сервер
- •1. Понятие триггера. Типы триггеров
- •2. Создание триггеров
- •3. Использование триггеров. Виды триггеров
- •ТемаVi. Оптимизация запросов и основы sql
- •1. Оптимизация запросов
- •2. Основные операторы sql в sql Server 2000
- •3. Объединение таблиц в операторе select
- •From titles
- •4. Использование директив group by иHaving
- •5. Оператор insert
- •6. ОператорUpdate
- •7. ОператорDelete
- •8. ОператорCreatetable
- •ТемаVii. Создание и работа с представлениями
- •1. Основные сведения о представлениях
- •2. Создание представлений. Отображение представлений
- •3. Редактирование представлений. Отображение зависимостей представлений. Создание представлений и представлений
- •4. Переименование столбцов представлений. Переименование представлений. Удаление представлений
- •5. Изменение данных посредством представлений. Обновление данных с помощьюSqlServerEnterpriseManager
- •ТемаViii. Создание и использование курсоров
- •1. Понятие курсора
- •2. Выборка данных из курсора
- •3. Операторы и глобальные переменные для работы с курсорами
- •4. Примеры использования курсоров
- •ТемаIx. Использование хранимых процедур
- •1. Достоинства и недостатки хранимых процедур
- •2.Создание хранимой процедуры
- •3. Операторы языка управления программой. Оператор declare
- •4. Операторы goto, begin…end и if…else
- •5. Операторы waitfor, return, while, break и continue
- •6. Операторы print и raiserror
- •7. Использование параметров в хранимых процедурах
- •8. Глобальные переменные. Отладка хранимых процедур
- •Тема X. Транзакции и блокировки
- •1. Определение транзакции. Ограничения для транзакций. Уровни изоляции транзакций
- •2. Базовая информация о блокировках. Типы блокировок
- •3. Создание транзакций и работа с ними. Точки сохранения
- •4.Отображение информации о блокировках. Явное задание блокировки
- •Описание параметров для явного задания блокировок
- •ТемаXi. Система безопасностиSqlServer2000
- •1. Типы безопасности. Создание и управление бюджетами пользователей
- •Стандартные роли сервера
- •Стандартные роли базы данных
- •2. Добавление новых пользователей. Удаление идентификаторов и пользователей
- •3. Создание ролей. Удаление ролей
- •4. Права доступа. Управление правами доступа
- •ТемаXii. Использование распределенных объектов управления.
- •1.Sql-dmo. Назначение, возможности
- •2. Экспорт данных с помощью команды вср
- •3. Использование объектовSql-dmOв хранимых процедурах
- •ТемаXiii. Основные сведения о хранилищах данных
- •1. Хранилища данных. Системы поддержки принятия решений (dss). Интерактивная аналитическая обработка (olap)
- •Сравнение субд и хранилища данных
- •2. Компоненты хранилища данных. Хранилища данных и магазины данных
- •3. Преобразование данных. Метаданные
- •4. Разработка плана хранилища данных
- •Microsoft Repository
- •С помощью мастера dts можно выполнять также простые преобразования данных, сложные преобразования выполняются с помощью dts Designer.
- •ТемаXiv. Использование служб преобразования данных
- •1. Службы преобразования данных (dts).DtSи хранилища данных
- •2. СредствоDtsDataPump
- •3. МастераDts
- •4. ИспользованиеDtsDesigner
- •Тема XV. Службы olap Microsoft sql Server
- •1.OlaPи многомерные данные
- •2. Хранение данных в бдolap
- •3. Оптимизация базы данныхOlap
- •4. Доступ к многомерным данным
6. ОператорUpdate
Оператор UPDATE используется для обновления значений столбцов в существующих строках таблицы. В операторе нужно указать обновляемую таблицу и столбцы, подлежащие обновлению, а также новые значения, присваиваемые этим столбцам, и критерии отбора модифицируемых строк.
Компоненты оператора UPDATE
UPDATE |
Задает таблицу, подлежащую обновлению
|
SET |
Задает обновляемые столбцы и их новые значения
|
FROM |
Задает таблицы, включаемые в оператор UPDATE
|
WHERE |
Задает критерий для определения, в каких строках должны быть модифицированы столбцы |
Примеры:
1) Использование оператора UPDATE для присвоения столбцам фиксированных значений:
UPDATE newtitles
SET procdate=’1/1/1997’
WHERE procdate=NULL
2) Обновление столбцов с использованием значений существующих столбцов. В таблице titles требуется увеличить цену каждой книги на 10% от текущей цены:
UPDATE titles
SET price=price*10
7. ОператорDelete
Оператор DELETE – удаляет строки из таблицы, в этом операторе нужно указать таблицу, из которой удаляются строки, и критерий отбора строк, подлежащих удалению.
Компоненты оператора DELETE:
DELETEFROM |
Задает таблицу, из которой удаляются строки |
WHERE |
Задает критерий для определения критерия удаляемых строк |
Примеры:
1) Использование оператора DELETE для удаления определенных строк таблицы: (удалить только те строки, в которых идентификационный номер равен MC2222)
DELETE FROM titles
WHERE title_id=’MC2222’
2) Удалить все названия из таблицы titles, которые имеют автора:
DELETE FROM titles
WHERE title_id NOT IN
(SELECT title_id FROM titleauthor)
8. ОператорCreatetable
Оператор CREATETABLEпозволят создать в БД новую таблицу. Сама БД должна быть уже создана и подключена к системе администратором БД.
Компоненты оператора:
CREATETABLE– указывает имя создаваемой таблицы;
(список столбцов) – задает столбцы и их атрибуты.
Примеры:
1) Создание таблицы authors:
CREATE TABLE authors
(au_id INT NOT NULL PRIMARY KEY,
au_lname VARCHAR(40),
au_fname VARCHAR(20),
phone CHAR(12),
address VARCHAR(40),
city VARCHAR(20),
state CHAR(2),
zip CHAR(5),
contract BIT NOT NULL
2) Создание таблицы titleauthor:
CREATE TABLE titleauthor
(au_id INT NOT NULL FOREIGN KEY
REFERENCES authors(au_id),
title_id INT NOT NULL FOREIGN KEY
REFERENCES titles(title_id),
CONSTRAINT at PRIMARY KEY (au_id, title_id),
au_ord INT,
royaltyper money)
В SQLServer2000 можно выбирать таблицы из различных баз данных:
FROM <имя БД>.<имя владельца>.<имя таблицы>
Пример:
SELECT*
FROM pubs.dbo.Authors
В масках оператора LIKEвTransactSQLможно использовать символы:
1) “%”- любые символы в любом количестве.
Пример:
SELECT*
FROM Authors
WHERE an_fname LIKE “Б%”
2) “-” (подчеркивание) - один любой символ, например маска
“_ _4_ _ _ _” означает 6 символов, третий из которых 4.
3) “[ ]” - диапазон значений, например, [Д-Н]% означает строки, начинающиеся с букв между Д и Н.
4) “^” (каретка) - означает диапазон значений, которые не должны содержаться в считываемых строках, например [^Д-Н]% означает те строки, которые начинаются с любой буквы, кроме тех, что находятся между Д и Н.
Предложение COMPUTE BY в инструкции SELECT можно использовать с агрегатными функциями SUM(), AVG(), MIN(), MAX(),COUNT(). Оно генерирует итоговые значения, отображаемые как итоговые дополнительные строки. Предложение COMPUTE удобно для получения итоговых значений в группах и для вычислений в каждой группе с помощью разнообразных функций.
Пример:
SELECT pub_id, type, title_id
FROM Titles
ORDER BY pub_id, type
COMPUTE COUNT(title_id) BY pub_id, type
COMPUTE COUNT(title_id) BY pub_id
Получим значения строк, итоги по группам и подгруппам.
Пример использования UNION:
Пусть цена книг до 7руб. снижается на 20%, от 7 руб. до 15 руб. – на 10%, более 15 руб. - на 30%.
SELECT ‘на 20%’, title, price, price*0.80
FROM Titles
WHERE price<7.00
UNION
SELECT ‘на 10%’, title, price, price*0.90
FROM Titles
WHERE price Between 7.00 AND 15.00
UNION
SELECT ‘на 30%’, title, price, price*0.70
FROM Titles
WHERE price.>15.00
Рассмотрим использование в подзапросах ключевых слов ANY и ALL.
Условие больше, чем ALL означает “больше каждого”, т.е. больше наибольшего, например, >ALL(1,2,3) означает “больше 3”. Условие больше, чем ANY означает – больше, чем наименьшее, т.е. >ANY(1,2,3) означает “больше 1”.
Примеры:
1) Аванс за какие книги превышает наибольший аванс, выплаченный издательством “Орион”:
SELECT title
FROM Titles
WHERE advance> ALL
(SELECT advance
FROM Publishers, Titles
WHERE Publishers.pub_id= Titles.pub_id AND
pub_name=’Орион’)
2) если ALL заменить на ANY, то будут найдены книги, за которые выплачен аванс, превышающий минимальный аванс для издательства “Орион”.
Ключевое слово EXISTS в предложении WHERE выполняет проверку на существование данных, удовлетворяющих критериям соответствующего подзапроса. Если подзапрос возвращает хотя бы одну строку, то результат EXISTS –“истина”, иначе – “ложь”.
Пример: Вывести названия всех издательств, которые выпускают книги по бизнесу:
SELECT DISTINCT pub_name
FROM Publishers
WHERE EXISTS
(SELECT*
FROM Titles
WHERE pub_id= Publishers.pub_id AND type=’ бизнес’).