- •Введение
- •1. Анализ предметной области
- •1.1 Общие сведения
- •1.2 Основные сведения о предметной области
- •1.3 Перечень хранимой информации: таблицы, поля, типы
- •1.4 Выделение справочных и оперативных данных
- •2.3 Проектирование диаграммы сущность - связь в еа
- •2.4 Подготовка диаграммы сущность-связи в еа к переносу на целевую субд и автоматизированная генерация кода sql
- •2.5 Создание бд в mssqlsqrver. Перенос схемы из еа
- •2.6 Создание диаграммы средствами ms sql server и ms sql server management studio
- •2.7 Начальное заполнение бд
- •2.8 Выводы по разделу
- •3. Создание и запуск базовых запросовsql
- •3.1 Общие сведения
- •3.2 Запросы на выборку данных
- •3.5 Выводы по разделу
- •4. Создание и запуск продвинутых запросовsql
- •4.1 Общие сведения
- •4.2 Запросы на выборку данных
- •4.3 Выводы по разделу
- •Заключение
- •Список литературы:
- •Список сокращений:
1.3 Перечень хранимой информации: таблицы, поля, типы
Как говорилось выше, все, что связано со студентами стоит хранить, записывать. Основной хранимой информацией является, информация о свободных комнатах в общежитии. Для удобства хранения и организации доступа к информации, она будет храниться в таблицах.
Таблица 2 – Таблица данных
|
Название таблицы |
Поле |
Тип |
|
Студент |
Код студента |
число |
|
Фамилия |
текст | |
|
Имя |
текст | |
|
Отчество |
текст | |
|
Номер зачётки |
число | |
|
Код комнаты |
число | |
|
Коменданты |
Код коменданта |
число |
|
Фамилия |
текст | |
|
Имя |
текст | |
|
Отчество |
текст | |
|
Номер телефона |
число | |
|
Общежития |
Номер общежития |
число |
|
Адрес |
текст | |
|
Код коменданта |
число | |
|
Комнаты |
Код комнаты |
число |
|
Номер общежития |
число | |
|
Номер комнаты |
число | |
|
Этаж |
число | |
|
Кол-во мест |
число | |
|
Заселение студентов |
Номер заселения |
число |
|
Код студента |
число | |
|
Код комнаты |
число |
1.4 Выделение справочных и оперативных данных
Таблицы БД делятся на два вида: оперативные и справочные. В справочных таблицах хранится постоянная информация, которая не изменятся, а все операции связанные с ней, являются лишь чтением. Таблицы оперативных данных постоянно изменяются.
Таблица 3 – Справочные и оперативные данные
|
Справочные таблицы |
Общежитие |
|
Комнаты | |
|
Коменданты | |
|
Оперативные таблицы |
Студенты |
|
Заселение студентов |
1.5 Предполагаемые запросы к БД
Исходя из анализа запросов в реальных базах данных, составим список: 1. Вывести фамилии студента по номеру зачётки или же по номеру комнаты, в которой он проживает;
2. Поиск свободных комнат;
3. Поиск студентов проживающих вместе;
4. Поиск комендантов по его коду или имени;
5. Поиск комнат по коду студента.
1.6 Вывод по разделу
В данном разделе была проанализирована предметная область. Определена информация, хранимая в БД. Обозначены таблицы, поля и типы полей. Разделены таблицы, на справочные и оперативные. Составлены необходимые запросы, которые нужно будет реализовать в БД.
2. МОДЕЛИРОВАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ
2.1 Общие сведения
В данном разделе будет моделироваться проработанная теоретически предметная область в среде EnterpriseArchitect, с измененными и усовершенствованными таблицами, полями и типом данных. Выделение и добавлением ключей, связей, атрибутов. Экспортирование получившейся базы данных в среду SQL, где непосредственно и будет заполняться база.
2.2 Выделение сущностей, атрибутов, ключей, связей
Исходя из проанализированных баз данных, созданы основные таблицы с полями и типом данных, они приведены в 4 таблице.
Таблица 4 – Типы полей и данных моей БД
|
Название таблицы |
Атрибуты |
Тип Данных |
|
Students |
StudentCode |
bigint |
|
Surname |
nvarchar | |
|
Name |
nvarchar | |
|
SecondName |
nvarchar | |
|
NumberZachetki |
bigint | |
|
RoomCode |
bigint | |
|
Comendants |
ComendantCode |
bigint |
|
Surname |
nvarchar | |
|
Name |
nvarchar | |
|
SecondName |
nvarchar | |
|
NmberPhone |
bigint | |
|
Obsejitia |
NumberObsejitia |
bigint |
|
Address |
nvarchar | |
|
ComendantCode |
bigint | |
|
Rooms |
RoomCode |
bigint |
|
NumberObsejitia |
bigint | |
|
NumberRoom |
bigint | |
|
Floor |
bigint | |
|
KolvoMest |
bigint | |
|
ZaselenieStudents |
NumberZaselenia |
bigint |
|
StudentCode |
bigint | |
|
RoomCode |
bigint |
Первичный ключ - это уникальный идентификатор, который идентифицирует каждую запись в таблице. Помимо первичного ключа в таблице существуют внешние ключи для связи с другими таблицами, они создаются в соответствии с полями, с которыми связана другая таблица.
Таблица 5 – Выделение первичного(PK) и вторичного(FK) ключей
|
№ |
Наименование таблицы |
Первичный ключ(РК) |
Вторичный ключ(FK) |
|
1 |
Students |
StudentCode |
RoomCode |
|
2 |
Comendants |
ComendantCode |
- |
|
3 |
Obsejitia |
NumberObsejitia |
ComendantCode |
|
4 |
Rooms |
RoomCode |
NumberObsejitia |
|
5 |
ZaselenieStudents |
NumberZaselenia |
StudentCode,RoomCode |
Исходя из таблицы выше, видно какие поля в таблице являются первичными, а какие вторичными ключами.
