SQL Server 2005 1. 2. 3. 4. 5. 6. Создание БД Student Создание 2 таблиц в БД (Students и Groups) Создание первичного и вторичного ключа Создание запросов Создание встроенных процедур Создание отчета
Создание БД
После запуска Management Studio в окне Connect to Server не обходимо указать: 1. 2. Server Name – имя сервера Authentification – режим аутентификации • • Windows Authentification mode (заходим под учетной записью Windows, логин и пароль не нужны) SQL Server (заходим под учетной записью SQL Server)
Щёлкнуть правой кнопкой мыши по Databases в Object Explorer, выбрать New Data. Base В окне New Database указать: 1. Database name - имя БД По умолчанию будет предложено создать 2 файла типов: Data (БД), Log (Журнал) (при необходимости можно добавить файлы) 1. Logical Name – логическое имя файла 2. Initial Size – начальный размер 3. Autogrowth – приращение 4. Path – физический адрес файла
БД можно создать при помощи скрипта на языке T-SQL. Шаблон кода можно найти в Template Explorer (имя шаблона Create. Database). Можно создать файлы 3 видов: *. mdf – основной файл БД(только один) *. ndf – вторичный файл БД *. log – журнал транзакций
Создание таблиц
1. 2. В Object Explorer правой кнопкой мыши щелкнуть правой кнопкой по Tables и выбрать New Table. Создаем поле Number. Zachet – уникальный номер зачетки (в будущем первичный ключ) – – Тип decimal(6, 0)- 6 цифр до запятой и 0 после запятой Allow Nulls false
Создаем следующие поля в таблице Student: 1. 2. 3. 4. 5. First. Name, Last. Name тип nvarchar(50) IDGroup –идентификационный номер группы (в будущем вторичный ключ, поэтому Allow. Nulls - false) Birth. Date - дата рождения тип datetime Sex – пол тип char Stip – стипендия тип numeric
Перед заполнением таблицы следует задать проверочные ограничения 1. 2. Нажимаем правой кнопкой мыши на интересующий столбец и выбираем «Проверочные ограничения» В строку «Выражение» вписываем те ограничения, которые нас интересуют
При введении значения, которое не соответствует нашим ограничениям SQL Server выводит соответствующее сообщение
Получаем такую таблицу Student. Теперь в поля таблицы можно вводить данные.
Создаем таблицу Group: 1. Group. Name – номер группы тип int. В дальнейшем ПЕРВИЧНЫЙ КЛЮЧ!!! 2. Count. Members – количество студентов 3. Study. Years – срок обучения 4. Starosta – Фамилия старосты группы 5. Specializacia – специализация группы В итоге получаем 2 таблицы: Students и Group. Состав таблиц можно посмотреть в Object Explorer.
Создание первичного и вторичного ключа
Для создания первичного ключа (Number. Zachet), необходимо выбрать поле Number. Zachet и нажать ключ.
Если мы попытаемся ввести в поле Number. Zachet таблицы Student два одинаковых значения то SQL выведет ошибку, т. к первичный ключ должен быть уникальным для каждой строки БД ! ! !
Для создания первичного ключа Group. Name выбираем поле и нажимаем ключ. Для создания отношения между таблицами Students и Groups(при помощи поля Group. Name): 1. Выбрать поле Group. Name и нажать на Relationships(рядом с ключом) 2. В открывшимся окне выбрать Tables and Columns Specification. 3. В открывшемся окне выбрать Primary key – Groups, Group. Name Foreign key – Students, Group. Name Созданные ключи можно увидеть в Object Explorer
Создание запросов Запрос можно создать 2 способами: 1. При помощи дизайнера. 2. Самому написать скрипт на языке T-SQL. Для этого необходимо знать синтаксис языка(см. Учебник по SQL) Примеры запросов с пояснениями: 1. USE Students // данный скрипт будет выполняться в БД students SELECT Nomer. Zachet, First. Name FROM students // Выводит 2 поля Nomer. Zachet и First. Name таблицы students 2. USE Students // аналогично SELECT * FROM students // выводит все поля таблицы WHERE IDGroup = 1 // где поле IDgroup = 1 и т. п =)
Для создания запроса выбираем New. Query. Щёлкаем правой кнопкой мыши и выбираем Desing Query in Editor (графический способ создания запроса). Далее в открывшемся окне выбираем таблицы которые мы хотим использовать запросе. (в данном случае мы хотим получить информацию из 2 -х таблиц)
Выбираем поля которые хотим запросить из БД. Ниже можно увидеть код запроса, который дизайнер автоматически генерирует. Примерно этот код можно перевести как: Select (запрос) поля таблиц которые хотим получить From(откуда) имя таблицы N 1 Inner join(объединение) имя таблицы N 2 По первичному ключу IDGroup
В итоге мы получаем код. Данный код выведет информацию о всех студентах неупорядоченно. Для того чтобы упорядочить студентов по группе пишем ещё строку ORDER BY Group. Name запускаем ! (нажать восклицательный знак) В итоге внизу мы получим итог выполнения нашего запроса.
Для того чтобы объединить студентов по группам и cосчитать сколько студентов в каждой группе, необходимо добавить ещё cтроку COMPUTE COUNT(Number. Zachet) BY Group. Name Т. е COUNT(считаем) все поля Number. Zachet в каждой группе запускаем
Создание процедур
Для создания встроенной процедуры необходимо: 1. В Object Explorer правой кнопкой по Stored Procedure и выбираем New. Stored. Procedure. 2. Между BEGIN и END вставляем код из прошлого запроса. 3. Create Procedure и далее имя процедуры 4. Выполняем скрипт. 5. Полученную процедуру можно увидеть в Object Explorer
Для того чтобы вывести студентов только определенной группы необходимо создать процедуру с одним входным параметром. @Nomer тип decimal или int Добавляем строчку в запрос и комментируем две последних. WHERE Group. Name = @Nomer , т. е WHERE (где) номер группы равен входному параметру @Nomer
Запускаем встроенную процедуру и вводим значения параметра @Nomer. Нажимаем OK ! ! !
Получаем таблицу студентов из заданной группы. Чуть выше мы видим скрипт, который генерируется для того чтобы запустить процедуру.
Для того чтобы найти конкретного студента добавим ещё два параметра. И исправим строку WHERE. (чтобы в ней сравнивалось ещё два поля с двумя входными параметрами Name и LName)
Запускаем встроенную процедуру и вводим значения параметров @Nomer, @Name, @LName Нажимаем OK ! ! !
Получаем конкретного студента
Создание отчёта
Для создания отчета необходимо: 1. Щелкнуть правой кнопкой мыши по View и выбрать New View 2. В окне выбрать таблицы, данные из которых используются в отчете 3. Выбрать поля которые необходимо поместить в отчет, а также условия сортировки и т. п
В итоге получаем отчет


