Автор работы: Пользователь скрыл имя, 12 Декабря 2011 в 10:13, курсовая работа
Целью данной курсовой работы является проектирование базы данных отдела кадров фирмы, которая должна решать задачу учета сотрудников фирмы и их распределение по отделам фирмы, быстрый поиск требуемой информации, удаления устаревшей информации.
Введение…………………………………………………………………...…3
Глава 1. Основные понятия БД и СУБД ………………………..……….....4
Данные и ЭВМ……………………………………………...…....……4
Архитектура СУБД………………………………………...………….6
Модели данных…………………………………………………...…...9
Глава 2. Инфологическая модель данных "Сущность-связь"………..….11
Основные понятия………………………………………………...…..11
Характеристика связей и язык моделирования………………….….13
Классификация сущностей…………………………………………...15
Первичные и внешние ключи………………………………………..17
Ограничения целостности………………………………………...….22
Глава 3. Реляционный подход………………………………………….…24
Реляционная структура данных……………………………...………24
Реляционная база данных……………………………………...……..27
Манипулирование реляционными данными…………………….….29
Глава 4. Проектирование и реализация базы данных……………………30
4.1 Проектирование концептуальной модели базы данных……………...30
4.2 Проектирование логической модели базы данных…………………...32
4.3 Реализация базы данных в СУБД MS Access…………………………..36
Заключение………………………………………………………………….44
Список используемой литературы………………………………………...45
Основное правило при создании таблиц сущностей – это каждой сущности желательно сопоставить отдельную таблицу. Поля таблиц сущностей могут быть ключевыми или не ключевыми. Введение ключей позволяет обеспечить уникальность значений в записи, ускорить обработку записи и выполнить обработку. Если в таблице есть значительное повторение по нескольким полям и их объем существенен, то лучше их выделить в отдельную таблицу. Новую сущность легко добавить и изменить, но при удалении следует уничтожить все ссылки на нее из таблиц связей, в противном случае возникает некорректность.
В данном курсовом проекте была проведена
нормализация базы данных были устранены
функциональные зависимости и исключена
явная избыточность в таблицах. Также
удалось избавиться от транзитивных зависимостей.
4.3 Реализация базы данных в СУБД MS Access
Для реализации базы данных «Отдел кадров фирмы» в СУБД MS Access первоначально требуется создать таблицы для соответствующих отношений, полученных в ходе процедуры нормализации на предыдущем этапе проектирования базы данных. В режиме конструктора было создано четыре таблицы: совещание, отдел, сотрудники, оклад. Полям таблицы были заданы определённые форматы, что способствует контролю целостности данных. Далее в схеме данных было проведено связывание этих таблиц, схема данных представлена на рис. 2
Рисунок 2 – Схема данных базы данных «Отдел кадров фирмы»
Данные в таблицу можно вводить как непосредственно в режиме таблицы, так с помощью форм ввода и редактирования записей, которые были созданы для всех таблиц базы данных. Формы были созданы с помощью автоматизированных средств создания форм MS Access, где в качестве источников данных выбирались соответствующие таблицы.
Создание таблицы в режиме конструктора.
Для перехода в окно базы данных нажмите
клавишу F11. Выберите Таблицы в списке
Объекты и нажмите кнопку Создать
на панели инструментов окна базы данных.
Дважды щелкните строку Режим
конструктора. Определите все нужные
поля в таблице. Откройте таблицу в режиме
конструктора.
Рисунок
3 – Создание таблицы в режиме
конструктора
Чтобы вставить в таблицу поле, щелкните строку, над которой его нужно поместить, и нажмите кнопку Добавить строки на панели инструментов.
Чтобы добавить поле в конец таблицы, щелкните первую пустую строку. Щелкните ячейку в столбце Имя поля и введите уникальное имя поля. В столбце Тип данных можно оставить настройку по умолчанию (Текстовый) или выбрать из раскрывающегося списка ячейки столбца Тип данных другой тип данных.
В столбце Описание введите описание данных, которые будет содержать это поле. Текст описания будет выводиться в строке состояния при добавлении данных в поле, а также будет включен в описание объекта таблицы. Вводить описание не обязательно. До того, как сохранить таблицу, определите первичный ключ. Откройте таблицу в режиме конструктора. Выделите одно или несколько полей, которые требуется определить как поля первичного ключа. Для выделения одного поля щелкните область выделения строки нужного поля. Для выделения нескольких полей щелкните область выделения для каждого поля, удерживая нажатой клавишу CTRL. Нажмите кнопку Ключевое поле на панели инструментов.
В процессе проектирования были созданы следующие таблицы данных.(рисунок 4)
Рисунок
4 – Таблицы базы данных «Отдел кадров
фирмы»
Следующим шагом реализации базы данных в MS Access явилось создание запросов, требуемых в техническом задании на курсовое проектирование. При создании запросов использовался язык SQL. Этот язык является декларативным: с его помощью можно указать результат, который требуется получить в результате запроса, написанного на SQL, но не указывается процедура достижения этого результата. SQL является общепризнанным стандартом и поддерживается большинством систем управления реляционных баз данных. Далее приводятся коды запросов к базе данных «Отдел кадров фирмы» на языке SQL.
Запрос, используемый для удаления из базы данных информации об уволенном сотруднике (удаление):
DELETE сотрудники.[ФИО Сотрудника]
FROM сотрудники
WHERE сотрудники.[ФИО Сотрудника]=[Кого уволить?];
Запрос, используемый для перевода сотрудника из отдела в отдел (обновление):
UPDATE отдел INNER
JOIN сотрудники ON отдел.[Код Отдела]=сотрудники.
WHERE сотрудники.[ФИО Сотрудника]=[Введите ФИО];
Запрос на получение сведений о сотруднике (общие данные о сотруднике):
SELECT сотрудники.[Табельный Номер], сотрудники.[ФИО Сотрудника], сотрудники.[Домашний Адрес], сотрудники.[Номер Телефона], сотрудники.[Дата Приёма], сотрудники.Должность, оклад.Оклад, отдел.[Название Отдела], отдел.[Начальник Отдела], отдел.Этаж, отдел.[Номер Кабинета]
FROM отдел
INNER JOIN (оклад INNER JOIN сотрудники ON оклад.Должность=сотрудники.
WHERE сотрудники.[ФИО
Сотрудника]=[Введите ФИО
Запрос, используемый для получения сведений о номере телефона сотрудника (номер телефона):
SELECT сотрудники.[ФИО Сотрудника], сотрудники.[Номер Телефона]
FROM сотрудники
WHERE сотрудники.[ФИО
Сотрудника]=[Введите ФИО
Запрос на получение сведений о кол-ве сотрудников в каждом отделе (количество сотрудников отделе):
SELECT отдел.[Название Отдела], Count(сотрудники.[ФИО Сотрудника]) AS [Кол-во Сотрудников]
FROM отдел INNER
JOIN сотрудники ON отдел.[Код Отдела]=сотрудники.
GROUP BY отдел.[Название Отдела];
Запрос на получение сведений о фонде заработной платы (сумма):
SELECT отдел.[Название Отдела], Sum(оклад.Оклад) AS [фонд заработной платы]
FROM отдел INNER
JOIN (оклад INNER JOIN сотрудники ON оклад.Должность=сотрудники.
GROUP BY отдел.[Название Отдела];
Запрос, используемый для упорядочивания сотрудников по ФИО (упорядочение по ФИО сотрудников):
SELECT сотрудники.*
FROM сотрудники
ORDER BY сотрудники.[ФИО Сотрудника];
Запрос, используемый для упорядочивания сотрудников по отделам (упорядочивание по отделам):
SELECT сотрудники.*, отдел.[Название Отдела]
FROM отдел INNER
JOIN сотрудники ON отдел.[Код Отдела]=сотрудники.
ORDER BY отдел.[Название
Отдела] DESC;
Запрос на поиск сотрудников, работающих на одном этаже (этаж):
SELECT сотрудники.[ФИО Сотрудника]
FROM отдел INNER
JOIN сотрудники ON отдел.[Код Отдела]=сотрудники.
WHERE отдел.Этаж Like [введите этаж];
Запрос на удаление обеспечивает удаление записи о сотруднике в таблице сотруднике, но за счёт связывания таблиц, где задано каскадное удаление связанных полей, происходит удаление всех данных связных с туром.
Для просмотра результатов созданных запросов созданы формы (кроме запроса на удаление и на обновление).
Форму можно создать тремя различными способами:
Рисунок
5 – Главная форма базы данных
«Отдел кадров фирмы»
Заключение
На сегодняшний день реляционные базы данных остаются самыми распространенными, благодаря своей простоте и наглядности как в процессе создания так и на пользовательском уровне.
Основным
достоинством реляционных баз данных
совместимость с самым
В процессе анализа
Литература