Автор работы: Пользователь скрыл имя, 08 Ноября 2011 в 13:19, курсовая работа
Цель данной работы заключается в том, чтобы изучить некую систему управления базами данных (в дальнейшем СУБД), научиться создавать и управлять в ней базами данных (в дальнейшем БД), а также уметь манипулировать самими БД с помощью запросов.
Для примера БД, необходимо спроектировать схему какой либо предметной области, определить её свойства и создать БД в СУБД, а также проверить ее работоспособность и изучить свойства различными запросами.
1. Постановка задачи 3
2. Подготовка к работе 4
3. Схема БД 6
4. Создание таблиц 8
5. Заполнение таблиц 12
6. Работа с таблицами, запросы 15
7. Заключение 19
Министерство образования РФ
Нижегородский государственный университет
имени Н.И. Лобачевского
Экономический факультет
Кафедра экономической
информатики
Курсовая работа по дисциплине: "Базы данных"
На тему: "Отдел кадров"
Выполнил:
Студент 735 группы
Михайлов С. С.
Проверил:
Визгунов А. Н.
Н. Новгород
2010 г.
Оглавление
1. Постановка задачи 3
2. Подготовка к работе 4
3. Схема БД 6
4. Создание таблиц 8
5. Заполнение таблиц 12
6. Работа с таблицами, запросы 15
7.
Заключение 19
1. Постановка задачи
Цель данной работы заключается в том, чтобы изучить некую систему управления базами данных (в дальнейшем СУБД), научиться создавать и управлять в ней базами данных (в дальнейшем БД), а также уметь манипулировать самими БД с помощью запросов.
Для примера БД, необходимо спроектировать схему какой либо предметной области, определить её свойства и создать БД в СУБД, а также проверить ее работоспособность и изучить свойства различными запросами.
Я считаю, что актуальность СУБД в современном мире очень велика, т.к. очень быстро происходит процесс глобальной компьютеризации. Практически любое предприятие использует компьютерные системы, сети, телекоммуникации, для ускорения, удешевления, упрощения техпроцесса и процесса оказания услуг. Особенно это касается больших предприятий или предприятий, обрабатывающих большие количества информации. В таких предприятиях зачастую используются СУБД, различных технологий.
2. Подготовка к работе
Для создания БД мною была выбрана СУБД Oracle, для работы с этой СУБД пользователю необходимо какое либо приложение для того, чтобы подключится к ней и в дальнейшем работать.
После установки СУБД на свой ПК, воспользовавшись стандартным компонентом под названием SQLPlus, я зашел в СУБД под стандартным, системным логином: "SYS"
Как видим, соединение прошло успешно, для дальнейшей работы необходимо создать пользователя.
Для его создания, применяется команда DDL - CREATE USER, она имеет следующий синтаксис:
С помощью запроса: "create user RK identified by KR;", Создаем пользователя "RK" с паролем "KR":
По умолчанию в Oracle пользователь не может ничего, даже подключится к базе данных. Пользователь, которого мы создавали, абсолютно бесправен.
Для того чтобы он мог подключаться к базе данных, работать с ней, с объектами базы данных и данными, ему необходимо выдать разрешения на те или иные действия. Эти разрешения называются привилегиями. Различают три вида привилегий:
Объектные (Object privileges) – это разрешения на объекты схемы, такие как таблицы, представления, последовательности, пакеты. Для использования объектов схемы принадлежащих другому пользователю, необходимы привилегии на этот объект.
Системные (System privileges) – это разрешения на операции уровня базы данных, например подключение к базе данных, создание пользователей, внесение изменений в конфигурацию базы данных.
Ролевые (Role privileges) – это объектные и системные привилегии, которые пользователь получает как роль. Роли – это возможность для администрирования групп или привилегий.
Объектные привилегии позволяют выдать разрешения на объекты, принадлежащие другому пользователю. Некоторые привилегии применимы только к определенным объектам схемы. Например, привилегии INDEX применимы только к таблицам, и привилегия SELECT применима к таблицам, представлениям и последовательностям.
Объектные привилегии позволяют выполнять SELECT, INSERT, UPDATE и DELETE операции, а так же выполнять программные блоки PL/SQL.
Следующие объектные привилегии могут быть выданы индивидуально, группе или с ключевым словом ALL, для неявного назначения всех доступных объектных привилегий для указанной схемы. Ниже приведена таблица со списком привилегий и объектов базы данных, к которым она применима:
Привилегия: | Выдается на: |
SELECT | Таблицы,
представления, |
INSERT | Таблицы, представления, синонимы |
UPDATE | Таблицы, представления, синонимы |
DELETE | Таблицы, представления, синонимы |
ALTER | Таблицы, последовательности |
EXECUTE | Процедуры, функции, пакеты, синонимы |
И полномочия,
и роли предоставляются пользователям
оператором GRANT, а отбираются соответственно
- REVOKE.
Общий синтаксис команды GRANT выглядит так:
Опция WITH GRANT OPTION позволяет передавать привилегии третьим пользователям.
Для простоты, в нашем случае, мы выдадим пользователю RК все привилегии:
Теперь мы можешь отсоединится от БД стандартным системным пользователем и попробуем зайти созданным пользователем RK:
Видим, что под новым пользователем мы успешно присоединились к БД.
3. Схема БД
Т.к. я выбрал предметную область "Отдел кадров", то для сбора информации, нам необходимо несколько таблиц: сотрудники, отделы, должности, города, образование, семейное положение.
Для того, чтобы спроектировать БД было проще, я воспользовался сторонним приложением "Oracle SQL Developer Data Modeler".
Oracle
SQL Developer Data Modeler представляет собой
универсальный, полностью
Созданная схема в Oracle SQL Developer Data Modeler выглядит
так:
В этой реляционной схеме данных в каждой таблице имеется первичный ключ, а в главное таблице "sotrudniki" имеются 5 внешних ключей, для связи с остальными таблицами, данные связи типа "один - ко - многим", т.к. количество сотрудников, может быть, не ограничено.
В схеме также видны типы данных и ограничения, буква F означает что данное поле - внешний ключ, P - первичный, * - обязательное поле ( is not null)
Названия полей и их обозначение:
Таблица "SOTRUDNIKI":
"KODSOTRUD” – код сотрудника;
"TABLENUMBER" – табельный номер сотрудника;
"SURNAME" – фамилия сотрудника;
"NAMES" – имя сотрудника;
"SECONDNAME" – отчество сотрудника;
"BIRTHDAY" – дата рождения;
"STREET" – улица проживания;
"DOM" – дом проживания;
"KVARTIRA" – квартира проживания;
"TELEFON" – телефон сотрудника;
"OTDELY_KODOTDELA" – код отдела работы сотрудника;
"DOLZNOSTI_KODDOLZNOSTI" – код должности сотрудника;
"GORODA_KODGORODA" код города проживания сотрудника;
"OBRAZOVANIE_
"SEMEYNOEPOLZENIE_
Таблица " DOLZNOSTI":
"KODDOLZNOSTI" – код должности;
"DOLZNOST"
– название должности.
Таблица "GORODA":
"KODGORODA" – код города;
"GOROD"
– название города.
Таблица "OTDELY":
"KODOTDELA" – код отдела;
"OTDEL"
– название отдела.
Таблица "OBRAZOVANIE":
"KODOBRAZOVANIYA" – код образования;
"OBRAZOVANIE"
– имеющиеся образование.
Таблица "SEMEYNOEPOLOZENIE":
"KODPOLOZENIYA" – код семейного положения;
"POLOZENIE"
– семейное положение.
4. Создание таблиц
После того, как в Oracle SQL Developer Data Modeler была создана схема БД, воспользуемся встроенной функцией генерации: "Generate DDL". Программа сгенерировала нам DDL код: