
- •Общие положения
- •Организация занятий по курсу
- •Требования к содержанию отчетов о выполнении лабораторных работ
- •Требования к оформлению отчетной документации
- •Задания на лабораторные работы
- •Структурирование предметной области
- •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-копию схемы данных.