- •Упражнение 1. Работа с sql Query Analyzer и выполнение запроса
- •Как открыть sql Query Analyzer
- •Настройка размера окон sql Query Analyzer
- •Настройка панели Results
- •Поиск объекта в базе данных
- •Для просмотра содержимого таблицы
- •Отладка хранимой процедуры
- •Исполнение оператора select
- •Просмотр результатов запроса
- •Исправление оператора Transact-sql
- •Вывод вкладки Estimated Execution Plan
- •Изменение способа вывода результирующего набора
- •Упражнение 2. Создание и исполнение операторов
- •Как создать таблицу в базе данных Northwind
- •Модификация таблицы
- •Вывод сведений о таблице
- •Извлечение данных
- •Модификация данных
- •Упражнение 3. Создание сценариев с помощью синтаксических элементов языка Transact-sql
- •Создание таблицы в базе данных Northwind
- •Как объявить и инициализировать переменную и задействовать язык управления ходом выполнения
- •Как выполнить сценарий Transact-sql, а затем удалить таблицу из базы данных
- •Отключение базы данных sql Server 2000 и подключение к sql Server 2005
- •Резервное копирование базы данных sql Server 2000 и ее восстановление на sql Server 2005
- •Задание
Резервное копирование базы данных sql Server 2000 и ее восстановление на sql Server 2005
В этом упражнении вы создадите резервную копию базы данных SQL Server 2000 и восстановите ее на SQL Server 2005.
-
Запустите SQL Server 2000 Enterprise Manager.
-
Раскройте группу, содержащую сервер, на котором находится нужная база данных, а затем откройте папку Databases.
-
Правой кнопкой щелкните на базе данных pubs и выберите All Tasks/Backup Database.
-
Создайте файл резервной копии и щелкните OK, чтобы создать резервную копию базы данных.
-
Щелкните OK по завершении резервного копирования базы данных.
-
Запустите SSMS.
-
Подсоединитесь к экземпляру, на котором нужно подключить базу данных.
-
Правой кнопкой щелкните папку Databases и выберите Restore Database.
-
Введите pubs в поле To Database.
-
Выберите From Device и щелкните кнопку (...).
-
Выберите File в качестве архивного носителя и щелкните Add.
-
Найдите и выберите только что созданный файл резервной копии.
-
Два раза щелкните ОК.
-
Установите флажок под столбцом Restore для резервной копии, которую нужно восстановить. (Если на архивном носителе находится несколько архивных копий, выберите ту, которая была создана последней.)
-
Выберите страницу Options.
-
Под столбцом Restore As введите расположение и имя файла данных, в который нужно восстановить сохраненный файл данных. Или же можно щелкнуть кнопку (...), выбрать другое место для восстановления файла и указать имя физического файла. Для всех основных файлов (primary file) нужно указать расширение mdf, а для всех остальных — ndf.
-
Повторите предыдущий пункт для файла журнала транзакций, указав для него (и для всех файлов журналов) расширение ldf. Щелкните OK, чтобы восстановить резервную копию. По завершении щелкните OK, чтобы закрыть появившееся окно сообщения.
Задание
Дан пример таблицы базы данных:
-
Создать базу данных BookShopDB
-
Добавить новый файл в существующую группу
-
Создать структуру таблицы BookShop базы данных.
-
Проверить созданную структуру.
-
Заполнить таблицу данными (Bookshop.txt)
-
Проверить результат заполнения.
Создать запросы:
-
Найти все книги, дешевле 50 грн.
-
Вывести все книги определенного автора.
-
Увеличить все цены на 10%.
-
Уменьшить на 20% цены на все книги, изданные более чем 4 года назад.
/* 1. Создание базы данных */
USE master GO
CREATE DATABASE BookShopDB
ON PRIMARY
(
NAME = Bookshop_sys,
FILENAME = 'C:\Data\Bookshop.mdf',
SIZE = 40,
MAXSIZE = 1000,
FILEGROWTH = 10%
),
FILEGROUP ProjectData
(
NAME = Bookshop_data1,
FILENAME = 'C:\Data\ProjectData1.ndf',
SIZE = 40,
MAXSIZE = 1000,
FILEGROWTH = 10%
),
(
NAME = Bookshop_data2,
FILENAME = 'C:\Data\ProjectData2.ndf',
SIZE = 40,
MAXSIZE = 1000,
FILEGROWTH = 10%
)
LOG ON
(
NAME = bookshop_log,
FILENAME = 'C:\Data\Bookshop.ldf',
SIZE = 20,
MAXSIZE = 500,
FILEGROWTH = 10%
) GO
/* 2. Изменение структуры базы данных: добавление нового файла */
ALTER DATABASE BookShopDB
ADD FILE
(
NAME = Bookshop_data1,
FILENAME = 'C:\Data\ProjectData3.ndf',
SIZE = 40,
MAXSIZE = 1000,
FILEGROWTH = 10%
)
TO FILEGROUP ProjectData
/*Открытие базы данных BookShopDB */
use BookShopDB
/* 3. Создание таблицы BookShop*/
create table BookShop
(
ID_BookShop int,
Autor varchar(100),
Book varchar(100),
Cost money,
Pages int,
Pereplet varchar(20),
Rubrika varchar(50),
Publika varchar(50),
Seria varchar(50),
Year_publ int,
Publisher varchar(50)
)
ON ProjectData
/*6. Просмотреть содержимое таблицы bookshop*/
select * from bookshop
----Запросы
/*1. Выбрать книги, цена которых меньше 50 грн.*/
select Book, Autor, cost from bookshop
where cost<50
/* 2. Выбрать книги определенного автора*/
select book, autor, cost from bookshop
where autor='Гусев Владимир Сергеевич'
/*3. Увеличить стоимость книг на 10% */
update bookshop
set cost=cost*1.1
/*4. Уценить на 20% книги, старше 4 лет */
update bookshop
set cost=cost*0.8
where year_publ<2007
----Пример нормализации существующей таблицы
/* Возвращение только уникальных строк */
Select distinct author
From bookshop
/* Вывод первых 10 строк */
Select top 10 *
From bookshop
/* Вывод первых 25% строк */
Select top 25 percent author
From bookshop
/*Вывод набора значений поля «Автор» в новую таблицу «Авторы»*/
Select distinct author into authors
From bookshop
/* Добавление ключевого поля */
alter table authors
Add
ID_authors int identity (1, 1) not null
/* Суммирование с группировкой */
Select sum(price) as 'Стоимость книг', rubrika as 'Рубрика'
From bookshop
group by 'Рубрика'
order by 'Стоимость книг'
/*Формирование новой таблицы book*/
select b.*, a.ID_authors into book
from bookshop as b, authors as a
where b.author=a.author
/*Удаление столбца Автор*/
alter table book
drop column author
/*Поиск автора максимального количества книг*/
select top 1 count(b.ID_authors) as 'Количество книг', a.author as 'Автор'
from book as b, authors as a
where b.ID_authors=a.ID_authors
group by a.author
order by 'Количество книг' desc
Код |
Автор |
Наименование |
Цена |
Стр. |
Переплет |
Рубрика |
Аудитория |
Серия |
Год изд. |
Издательство |
213 |
Мак-Клелланд Дик |
Photoshop 7 для "чайников" |
40,00 |
448 |
Мягк |
Издательские и графические приложения |
Популярная |
...для чайников" |
2006 |
Диалектика |
231 |
Ивьен Билл |
Visual Basic .NET. Библия пользователя |
100,00 |
1024 |
Твердый |
Программирование |
Профессиональная |
Библия пользователя ... |
2003 |
Диалектика |
250 |
Хольцшлаг Молли Э. |
Использование HTML и XHTML. Специальное издание |
120,00 |
736 |
Твердый |
Сети и коммуникации |
Профессиональная |
Использование ... Специальное издание |
2004 |
Издательский дом "Вильямс" |
253 |
Праг Керри Н. |
Access 2002. Библия пользователя |
120,00 |
1216 |
Твердый |
Базы данных |
Популярная |
Библия пользователя ... |
2004 |
Диалектика |
271 |
Уэнстром Майкл |
Организация защиты сетей Cisco |
280,00 |
768 |
Твердый |
Сети и коммуникации |
Профессиональная |
Cisco Press |
2003 |
Издательский дом "Вильямс" |
272 |
Смит Родерик |
Сетевые средства Linux |
60,00 |
672 |
Мягк |
Операционные системы |
Профессиональная |
Несерийные |
2003 |
Издательский дом "Вильямс" |
312 |
Тимошок Татьяна Владимировна |
Microsoft Access 2002. Самоучитель |
40,00 |
352 |
Мягк |
Базы данных |
Популярная |
...Самоучитель |
2004 |
Диалектика |