Вы находитесь на странице: 1из 33

SQL Server 2005

1. Создание БД Student
2. Создание 2 таблиц в БД (Students и Groups)
3. Создание первичного и вторичного ключа
4. Создание запросов
5. Создание встроенных процедур
6. Создание отчета
Создание БД
После запуска Management Studio в окне Connect to Server не
обходимо указать:

1. Server Name – имя сервера


2. Authentification – режим аутентификации
• Windows Authentification mode (заходим под учетной записью Windows, логин и
пароль не нужны)
• SQL Server (заходим под учетной записью SQL Server)
Щёлкнуть правой кнопкой мыши по Databases в Object Explorer, выбрать New DataBase
В окне New Database указать:
1. Database name - имя БД
По умолчанию будет предложено создать 2 файла типов: Data (БД), Log (Журнал)
(при необходимости можно добавить файлы)
1. Logical Name – логическое имя файла
2. Initial Size – начальный размер
3. Autogrowth – приращение
4. Path – физический адрес файла
БД можно создать при помощи скрипта на языке T-SQL.
Шаблон кода можно найти в Template Explorer (имя шаблона CreateDatabase).
Можно создать файлы 3 видов:
*.mdf – основной файл БД(только один)
*.ndf – вторичный файл БД
*.log – журнал транзакций
Создание таблиц
1. В Object Explorer правой
кнопкой мыши щелкнуть
правой кнопкой по Tables и
выбрать New Table.
2. Создаем поле NumberZachet –
уникальный номер зачетки
(в будущем первичный ключ)
– Тип decimal(6,0)- 6 цифр до
запятой и 0 после запятой
– Allow Nulls false
Создаем следующие поля в таблице Student:
1. FirstName, LastName тип nvarchar(50)
2. IDGroup –идентификационный номер группы (в будущем вторичный ключ,
поэтому AllowNulls - false)
3. BirthDate - дата рождения тип datetime
4. Sex – пол тип char
5. Stip – стипендия тип numeric
Перед заполнением таблицы следует задать проверочные
ограничения
• Нажимаем правой кнопкой мыши на интересующий столбец и выбираем
«Проверочные ограничения»
• В строку «Выражение» вписываем те ограничения, которые нас
интересуют
При введении значения, которое не соответствует нашим ограничениям SQL Server
выводит соответствующее сообщение
Получаем такую таблицу Student. Теперь в поля таблицы можно вводить данные.
Создаем таблицу Group:
1. GroupName – номер
группы тип int. В
дальнейшем
ПЕРВИЧНЫЙ КЛЮЧ!!!
2. CountMembers –
количество студентов
3. StudyYears – срок
обучения
4. Starosta – Фамилия
старосты группы
5. Specializacia –
специализация группы
В итоге получаем 2 таблицы:
Students и Group. Состав
таблиц можно посмотреть в
Object Explorer.
Создание первичного и
вторичного ключа
Для создания первичного ключа (NumberZachet), необходимо выбрать поле
NumberZachet и нажать ключ.
Если мы попытаемся ввести в поле NumberZachet таблицы Student два одинаковых
значения то SQL выведет ошибку, т.к первичный ключ должен быть
уникальным для каждой строки БД ! ! !
Для создания первичного ключа GroupName выбираем поле и нажимаем ключ.
Для создания отношения между таблицами Students и Groups(при помощи поля
GroupName):
1. Выбрать поле GroupName и нажать на Relationships(рядом с ключом)
2. В открывшимся окне выбрать Tables and Columns Specification.
3. В открывшемся окне выбрать Primary key – Groups, GroupName
Foreign key – Students, GroupName
Созданные ключи можно увидеть в Object Explorer
Создание запросов
Запрос можно создать 2 способами:
1. При помощи дизайнера.
2. Самому написать скрипт на языке T-SQL.

Для этого необходимо знать синтаксис языка(см.Учебник по SQL)


Примеры запросов с пояснениями:
1. USE Students // данный скрипт будет выполняться в БД students
SELECT NomerZachet,FirstName FROM students // Выводит 2 поля
NomerZachet и FirstName таблицы students
2. USE Students // аналогично
SELECT * FROM students // выводит все поля таблицы
WHERE IDGroup = 1 // где поле IDgroup = 1

и т.п =)
Для создания запроса выбираем NewQuery. Щёлкаем правой кнопкой мыши и
выбираем Desing Query in Editor (графический способ создания запроса).
Далее в открывшемся окне выбираем таблицы которые мы хотим использовать
запросе. (в данном случае мы хотим получить информацию из 2-х таблиц)
Выбираем поля которые хотим запросить из БД. Ниже можно увидеть
код запроса, который дизайнер автоматически генерирует.
Примерно этот код можно перевести как:
Select (запрос) поля таблиц которые хотим получить
From(откуда) имя таблицы N1 Inner join(объединение) имя таблицы N2
По первичному ключу IDGroup
В итоге мы получаем
код. Данный код выведет
информацию о всех
студентах неупорядоченно.

Для того чтобы


упорядочить студентов по
группе пишем ещё строку
ORDER BY GroupName

запускаем !
(нажать восклицательный
знак)

В итоге внизу мы получим


итог выполнения нашего
запроса.
Для того чтобы объединить
студентов по группам и
cосчитать сколько
студентов в каждой группе,
необходимо добавить ещё
cтроку
COMPUTE
COUNT(NumberZachet) BY
GroupName

Т.е
COUNT(считаем) все поля
NumberZachet в каждой группе

запускаем
Создание процедур
Для создания встроенной процедуры необходимо:
1. В Object Explorer правой кнопкой по Stored Procedure и выбираем
NewStoredProcedure.
2. Между BEGIN и END вставляем код из прошлого запроса.
3. Create Procedure и далее имя процедуры
4. Выполняем скрипт.
5. Полученную процедуру можно увидеть в Object Explorer
Для того чтобы вывести студентов только определенной группы необходимо создать процедуру
с одним входным параметром.
@Nomer тип decimal или int
Добавляем строчку в запрос и комментируем две последних.

WHERE GroupName = @Nomer , т.е WHERE (где) номер группы равен входному параметру
@Nomer
Запускаем встроенную процедуру и вводим значения параметра @Nomer.
Нажимаем OK ! ! !
Получаем таблицу студентов из заданной группы. Чуть выше мы видим скрипт,
который генерируется для того чтобы запустить процедуру.
Для того чтобы найти конкретного студента добавим ещё два параметра. И
исправим строку WHERE.(чтобы в ней сравнивалось ещё два поля с двумя
входными параметрами Name и LName)
Запускаем встроенную процедуру и вводим значения параметров @Nomer,
@Name, @LName
Нажимаем OK ! ! !
Получаем конкретного студента
Создание отчёта
Для создания отчета необходимо:
1. Щелкнуть правой кнопкой мыши по View и выбрать New View
2. В окне выбрать таблицы, данные из которых используются в отчете
3. Выбрать поля которые необходимо поместить в отчет, а также условия
сортировки и т.п
В итоге получаем отчет

Оценить