 
        
        - •Общие положения
- •Организация занятий по курсу
- •Требования к содержанию отчетов о выполнении лабораторных работ
- •Требования к оформлению отчетной документации
- •Задания на лабораторные работы
- •Структурирование предметной области
- •Ms Access: разработка базы данных
- •Ms Access: разработка запросов к бд
- •Ms Access: разработка приложения
- •Ms sql Server: создание базы данных
- •Ms sql Server: формирование области запросов к бд
- •Ms sql Server: формирование и защита клиент-серверной ис
- •Список рекомендуемой литературы
- Ms sql Server: создание базы данных
Цель: освоение инструментальных средств MS SQL Server по созданию и изменению структуры баз данных, изучение способов создания баз данных и таблиц, применения ключей и индексов, использования свойств полей и типов данных SQL Server.
Задание.
- При помощи инструментального средства SQL Server Enterprise Manager создать базу данных студентов с именем SQL_Students. На вкладке Data Files указать имя файла БД «Students» и начальный размер 10 Мб. На вкладке Transaction Log указать имя лог-файла «Students_Log» с начальным размером 2 Мб. Все остальные опции оставить без изменения. 
- При помощи утилиты Query Analyzer и SQL-команды CREATE DATABASE создать новую базу данных преподавателей с именем SQL_Teachers. В качестве имени файла БД указать «Teachers», расположение файла БД определить как C:\Program Files\Microsoft SQL Server\MSSQL\Data\Teachers.mdf, начальный размер 25 Мб, максимальный размер неограничен, параметр увеличения размера фиксированный 5 Мб. В качестве имени лог-файла БД указать «Teachers_Log», расположение файла базы данных на жестком диске определить как C:\Program Files\Microsoft SQL Server\MSSQL\Data\Teachers_Log.ldf, начальный размер 5 Мб, максимальный размер неограничен, параметр увеличения размера фиксированный 1 Мб. 
- Добавить перед командой CREATE DATABASE добавить команду: DROP DATABASE Teachers, а в команде CREATE DATABASE установить ограничение максимального размера лог-файла 10 Мб, а параметр увеличения размера лог-файла установить в значение 10%. Выполнить команды. 
- При помощи утилиты Query Analyzer с применением SQL-команды CREATE TABLE создать и выполнить бланк, содержащий команды для создания заданных таблиц: нечетные варианты — таблица 2.5.1, четные варианты — таблица 2.5.2 
Таблица 2.5.1 − Список таблиц базы данных Students
| № пп | Наименование таблицы | Структура таблицы | Описание | 
| 1 | Faculties | Таблица 2.5.3 | Справочник факультетов | 
| 2 | Specialties | Таблица 2.5.5 | Справочник специальностей по Faculties | 
| 3 | Sets | Таблица 2.5.6 | Наборы студентов по Specialties | 
| 4 | Groups | Таблица 2.5.7 | Группы студентов по Teachform | 
| 5 | Students | Таблица 2.5.9 | Студенты по группам из Groups | 
| 6 | TeachForm | Таблица 2.5.8 | Справочник форм обучения | 
Таблица 2.5.2 − Список таблиц базы данных Teachers
| № пп | Наименование таблицы | Структура таблицы | Описание | 
| 1 | Faculties | Таблица 2.5.3 | Справочник факультетов | 
| 2 | SubFaculties | Таблица 2.5.4 | Справочник кафедр | 
| 3 | Postes | Таблица 2.5.11 | Справочник должностей преподавателей | 
| 4 | Teachers | Таблица 2.5.10 | Преподаватели по кафедрам SubFaculties в должностях Postes | 
| 5 | Subjects | Таблица 2.5.12 | Справочник дисциплин | 
| 6 | Teach_Subj | Таблица 2.5.13 | Преподаватели из Teachers, которые могут читать дисциплины из Subjects | 
Таблица 2.5.3 − Структура таблицы Faculties
| Имя поля | Тип данных | Размер | Пустые поля | Описание | 
| FacultyID | int | 4 | нет | Первичный ключ | 
| FacultyName | Varchar | 10 | нет | Короткое наименование | 
| Descript | Varchar | 70 | нет | Длинное наименование | 
Таблица 2.5.4 − Структура таблицы SubFaculties
| Имя поля | Тип данных | Размер | Пустые поля | Описание | 
| SubFacultiesID | int | 4 | нет | Код кафедры. Первичный ключ | 
| FacultyID | int | 4 | нет | Код факультета из Faculties | 
| ShortName | char | 10 | нет | Короткое наименование | 
| LongName | char | 75 | нет | Длинное наименование | 
| LetOut | bit | 1 | нет | Признак выпускающей | 
Таблица 2.5.5 − Структура таблицы Specialities
| Имя поля | Тип данных | Размер | Пустые поля | Описание | 
| SpecialtyID | int | 4 | нет | Код специальности. Первичный ключ | 
| FacultyID | int | 4 | нет | Код факультета из Faculties | 
| SpecialtyName | Varchar | 15 | нет | Короткое наименование | 
| SpecialtyCode | Varchar | 10 | да | Номер специальности | 
| Descript | Varchar | 70 | нет | Длинное наименование | 
Таблица 2.5.6 − Структура таблицы Sets
| Имя поля | Тип данных | Размер | Пустые поля | Описание | 
| SetID | int | 4 | нет | Первичный ключ | 
| SetName | Varchar | 25 | нет | Наименование набора | 
| SetYear | int | 4 | нет | Год набора | 
| SpecialtyID | int | 4 | нет | Код специальности из Specialities | 
Таблица 2.5.7 − Структура таблицы Groups
| Имя поля | Тип данных | Размер | Пустые поля | Описание | 
| GroupID | int | 4 | нет | Первичный ключ | 
| SetID | int | 4 | нет | Код набора из Sets | 
| GroupName | Varchar | 15 | нет | Название группы | 
| TeachformID | int | 4 | нет | Код формы обучения из TeachForm | 
Таблица 2.5.8 − Структура таблицы TeachForm
| Имя поля | Тип данных | Размер | Пустые поля | Описание | 
| TeachformID | int | 4 | нет | Первичный ключ | 
| Descript | Varchar | 20 | нет | Название формы обучения | 
Таблица 2.5.9 − Структура таблицы Students
| Имя поля | Тип данных | Размер | Пустые поля | Описание | 
| StudentID | int | 4 | нет | Первичный ключ | 
| GroupID | int | 4 | нет | Код группы из Groups | 
| Surname | varchar | 25 | нет | Фамилия | 
| Firstname | varchar | 15 | нет | Имя | 
| Lastname | varchar | 25 | нет | Отчетсво | 
| Birthday | datetime | 8 | нет | Дата рождения | 
| Birthplace | varchar | 50 | нет | Место рождения | 
| Phone | varchar | 50 | нет | Телефоны | 
| Address | varchar | 50 | нет | Адрес проживания | 
Таблица 2.5.10 − Структура таблицы Teachers
| Имя поля | Тип данных | Размер | Пустые поля | Описание | 
| TeachersID | int | 4 | нет | Код преподавателя. Первичный ключ. | 
| SubFacultiesID | int | 4 | нет | Код кафедры из SubFaculties | 
| Surname | varchar | 25 | нет | Фамилия | 
| Firstname | varchar | 15 | нет | Имя | 
| Lastname | varchar | 25 | нет | Отчетсво | 
| PostesID | int | 4 | нет | Код должности из Postes | 
| Degree | char | 20 | нет | Ученая степень | 
| Birthday | datetime | 8 | нет | Дата рождения | 
| Birthplace | varchar | 50 | да | Место рождения | 
| Phone | varchar | 50 | да | Телефоны | 
| Address | varchar | 50 | да | Адрес проживания | 
Таблица 2.5.11 − Структура таблицы Postes
| Имя поля | Тип данных | Размер | Пустые поля | Описание | 
| PostesID | int | 4 | нет | Код должности. Первичный ключ. | 
| Post | char | 25 | нет | Название должности | 
| Rate | float | 8 | да | Тарифная ставка | 
Таблица 2.5.12 − Структура таблицы Subjects
| Имя поля | Тип данных | Размер | Пустые поля | Описание | 
| SubjectID | int | 4 | нет | Код дисциплины. Первичный ключ. | 
| SubjectName | varchar | 20 | нет | Короткое название дисциплины | 
| Descript | varchar | 75 | нет | Длинное название дисциплины | 
Таблица 2.5.13 − Структура таблицы Teach_Subj
| Имя поля | Тип данных | Размер | Пустые поля | Описание | 
| Teach_SubjID | int | 4 | нет | Код записи. Первичный ключ | 
| TeachersID | int | 4 | нет | Код преподавателя из Teachers. | 
| SubjectID | int | 4 | нет | Код дисциплины из Subjects. | 
- При помощи утилиты Query Analyzer с применением SQL-команды ALTER TABLE создать и выполнить бланк, содержащий команды для создания ключей и связей между таблицами: нечетные варианты — рисунок 2.5.1, четные варианты — рисунок 2.5.2 
 
Рисунок 2.5.1 Диаграмма базы данных Students
 
Рисунок 2.5.2 Диаграмма базы данных Teachers
- При помощи утилиты Enterprise Manager ввести данные в таблицы, начиная со справочников, по 5 − 20 записей в каждую. 
В отчет включить: перечень созданных ключей и screen-копию схемы данных.
