Федеральное агентство по образованию
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Кафедра комплексной информационной безопасности
электронно-вычислительных систем (КИБЭВС)
Проектирование учебно-исследовательской базы данных
"Клиенты"
Пояснительная записка к курсовой работе по дисциплине
«Базы данных»
Студент гр. № 523-3
Елисеев В.Н.
«____» _________2005
Руководитель
Сопов М. А.
«____» _________2005
Томск – 2005
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ
УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Кафедра комплексной информационной безопасности электронно-
вычислительных систем (КИБЭВС)
ЗАДАНИЕ
по курсовому проектированию по дисциплине “Базы данных” студенту Елисееву Василию Николаевичу группы 523-3 факультета ВС.
Тема проекта: ”Клиенты”
2. Срок сдачи студентом законченного проекта _______________________
3. Исходные данные к проекту: Исследовать заданную предметную область, выбрать существенные атрибуты. Построить концептуальную модель предметной области. На основе концептуальной модели построить реляционную модель, установить связи между объектами. Задать первичные и внешние ключи. Провести нормализацию. Объяснить выполненные преобразования. Провести исследование полученной модели, задав несколько сложных запросов к полученной модели.
Предметная область: Клиент, проект, плата за проект, исполнитель, соисполнитель. Клиент может заказать несколько проектов. Плата за проект не может меняться. Один проект может быть заказан несколькими клиентами. Проект может выполняться полностью исполнителем или с помощью соисполнителей. В проекте может быть несколько соисполнителей и один соисполнитель может выполнять несколько проектов.
4.Дата выдачи задания: _________________________________________ Задание принял к исполнению (дата)_________________________________
Елисеев В.Н______________(подпись студента)
Содержание
1. Введение………………………………………………….……………………..4
2. Построение концептуальной модели……………….…………………….…5
3. Проектирование реляционной модели данных на основе принципов нормализации…………………………………………….………………………..7
3.1 Нормализация…………………………………………………..……….……7
3.2 Глоссарий……………………………………………………………..………9
4. Проектирование базы данных в MicrosoftAccess……………………..……10
4.1 Построение таблиц…………………………………………………...…….10
4.2 Создание запросов…………………………………………………………...11
4.3 СозданиеSQL – запросов (Structured Query Language)………………....14
5. Заключение……………………………………………………………….……18
Список использованных источников………………………………………..….19
1. Введение
Клиенты заказывают проекты и вносят за них определенную плату. Проект выполняется исполнителями, иногда исполнителям помогают соисполнители. Необходимо спроектировать учебно-исследовательскую базу данных, в которую заносится информация о клиентах, заказанных ими проектах, стоимости проектов, а также исполнителях и соисполнителях, разрабатывающих эти проекты. Для проектирования выбрать любую систему проектирования.
2. Построение концептуальной модели
Объектами модели являются: клиент, проект, плата, исполнитель, соисполнитель. К объектам модели выбираем основные атрибуты.
Основные атрибуты для клиента:
· Идентификационный номер клиента:
· Имя
· Фамилия
· Отчество
· Адрес
· Телефон
Основные атрибуты для проекта:
· Идентификационный номер проекта
· Название
· Стоимость
· Длительность
· Техническое задание
Основные атрибуты для платы за проект:
· Идентификационный номер платежа
· Сумма платежа
Основные атрибуты для исполнителя:
· Идентификационный номер исполнителя
· Фамилия
Основные атрибуты для соисполнителя:
· Идентификационный номер соисполнителя
· Фамилия
После выбора атрибутов определяются связи между объектами. В зависимости от условий, связи между объектами могут быть: один к одному, один ко многим и многие ко многим. Между объектами исполнитель и проект имеется связь один ко многим, так как один исполнитель может выполнять множество проектом, но один проект не могут выполнять несколько исполнителей. Объекты клиент и проект, клиент и плата, исполнитель и соисполнитель взаимодействуют с помощью связей многие ко многим, так как много клиентов могут заказать много проектов, много клиентов могут внести много платежей и много исполнителей могут иметь много соисполнителей. В результате спроектирована концептуальная модель, изображенная на рисунки 2.1
3 Проектирование реляционной модели данных на основе принципов нормализации
На основе концептуальной модели строится реляционная модель, т.е. для каждого объекта создается таблица, содержащая все атрибуты данного объекта. Уникальный атрибут будет являться первичным ключом. Для построения связей между таблицами добавляются поля, которые будут внешними ключами. В результате, построив связи с помощью первичных и внутренних ключей, получаем реляционную модель.
3.1 Нормализация
Нормализация – это процесс, позволяющий гарантировать, эффективность структур данных в реляционной базе данных. Реляционная база данных считается эффективной, если она обладает следующими характеристиками: отсутствие избыточности, минимальное использование null-значений, предотвращение потери информации.
Первая нормальная форма (1НФ). Говорят, что реляционная таблица находится в первой нормальной форме, если и только если все значения полей атомарные.
Все таблицы реляционной модели данных находится в 1НФ по определению.
Вторая нормальная форма (2НФ). Говорят, что таблица находится во второй нормальной форме, если и только если каждый его неключевой атрибут зависит от первичного ключа.
Для приведения таблиц ко второй нормальной форме необходимо выделить в отдельные таблицы группы атрибутов, зависящих от части возможного ключа таблицы 1НФ.
3.2 Глоссарий
Таблица 3.2.1 Сопоставление некоторых физических и логических имен модели
Физическое имя | Логическое имя | Тип поля | Описание |
Id_Client | Номерклиента | Числовое | Уникальный идентификатор клиента |
Id_Project | Номер проекта | Числовое | Уникальный идентификатор проекта |
Id_Buy | Номер платежа | Числовое | Уникальный идентификатор платежа |
Id_isp | Номер исполнителя | Числовое | Уникальный идентификатор исполнителя |
Id_soisp | Номер соисполнителя | Числовое | Уникальный идентификатор соисполнителя |
4. Проектирование базы данных в MicrosoftAccess
Для проектирования базы данных была выбрана программная система разработки MicrosoftAccess, как наиболее распространенная и, на мой взгляд, наиболее удобная система.
4.1 Построение таблиц
Таблицы создаем в режиме конструктора – указываем имена полей (ими будут являться атрибуты объекта, для которого строится таблица), для каждого поля определяем тип. Также выбираем ключевое поле
Далее приступаем к заполнению таблицы данными. Данные в каждое поле вводим вручную
4.2 Создание запросов.
После того как все необходимые таблицы построены, в них занесены все требующиеся данные, приступаем к созданию запросов на выборку.
Для этого переходим на вкладку “Запросы”. В режиме конструктора добавляем таблицы, необходимые для запроса.
После того как необходимые таблицы добавлены, приступаем к формированию запроса. В строке “Имя таблицы” выбираем таблицы, по которым будет осуществляться выборка, соответственно в строке “Поле” поля для выборки. В строке “Условие отбора” указываем условие для поля, по которому будет выполняться выборка. В строке “Вывод на экран” ставим “флажки” под тем полем, которое необходимо вывести на экран после выполнения запроса. Для примера добавим таблицу “Клиенты”. Из таблицы “Клиенты” осуществим выборку по полям: “Имя”, “Фамилия” и “Отчество”. Условие отбора - “Like "А"” для поля “Имя”. (Рисунок 4.2.2).
ператор Likeпонимается как “подобно чему-либо”, а оператор “*”, обозначает, что после буквы “А” следует любая комбинация из любого количества символов. Т.е. мы создали запрос на выборку всех клиентов из таблицы “Клиенты”, чьё имя начинается на «А»
4.3 Создание SQL – запросов (Structured Query Language)
SQL позволяет пользователю базы данных создавать и удалять, содержащиеся в отношениях данные, налагать обеспечивающие целостность реляционных данных правила и выполнять полный набор операций реляционной алгебры.
Для создания SQL – запроса перейдем в режим конструктора, затем перейдем в режим SQL
На языке SQLнапишем запрос следующего содержания
SELECT Плата.сумма, Клиенты.Имя, Клиенты.Фамилия, Клиенты.Отчество
FROM Плата, Клиенты
WHERE Плата.сумма BETWEEN 55000 AND 70000;
В данном примере создан SQL – запрос, который осуществляет выборку (SELECT) по полям “Сумма”, “Имя”, “Фамилия”, “Отчество” из (FROM) таблиц “Плата” и “Клиенты”, где (WHERE) значение поля “Сумма“ находится между (BETWEEN) 55000 и (AND) 70000.
5 Заключение
Курсовая работа выполнена в соответствии с техническим заданием.