Курсовая работа: Особенности разработки триггеров и хранимых процедур в СУБД
Курсовая работа: Особенности разработки триггеров и хранимых процедур в СУБД
Саратовский Государственный
университет им. Н.Г. Чернышевского
Курсовая работа
на тему: «Особенности
разработки триггеров и хранимых процедур в СУБД»
(на примере базы данных отдела
кадров)
студентки I V курса заочного отделения КН и ИТ
(прикладная математика и информатика)
ФРОЛОВОЙ Марии Александровны
Содержание
1.
Ведение
2.
Реляционная база данных
3.
Хранимые
процедуры
4.
Триггеры
Заключение
Список
использованной литературы
1. ВВЕДЕНИЕ
·
Базы данных
С появлением
магнитных дисков началась история систем управления данными во внешней памяти.
До этого каждая прикладная программа, которой требовалось хранить данные во
внешней памяти, сама определяла расположение каждой порции данных на магнитной
ленте или барабане и выполняла обмены между оперативной и внешней памятью с
помощью программно-аппаратных средств низкого уровня (машинных команд или
вызовов соответствующих программ операционной системы). Такой режим работы не
позволяет или очень затрудняет поддержание на одном внешнем носителе нескольких
архивов долговременно хранимой информации. Кроме того, каждой прикладной
программе приходилось решать проблемы именования частей данных и структуризации
данных во внешней памяти.
База данных (БД) – это структурированный набор постоянно
хранимых данных. Постоянность означает, что данные не уничтожаются по
завершении программы или пользовательского сеанса, в котором они были созданы.
База данных- это набор, совокупность файлов, в которых
находится информация. Программная система (приложение), обеспечивающая работу с
базой данных (файлами данных) называется системой управления базой данных
(СУБД).
В зависимости от расположения программы, которая использует
данные, и самих данных, а также от способа разделения данных между несколькими
пользователями различают локальные и удаленные базы данных.
По структуре организации данных базы делятся на реляционные и
нереляционные.
Для работы с базами
данных используются специальные языки, в целом называемые языками баз данных. В
ранних СУБД поддерживалось несколько специализированных по своим функциям
языков. Чаще всего выделялись два языка - язык определения схемы БД (SDL -
Schema Definition Language) и язык манипулирования данными (DML - Data
Manipulation Language). SDL служил главным образом для определения логической
структуры БД, т.е. той структуры БД, какой она представляется пользователям.
DML содержал набор операторов манипулирования данными, т.е. операторов,
позволяющих заносить данные в БД, удалять, модифицировать или выбирать существующие
данные.
В современных СУБД
обычно поддерживается единый интегрированный язык, содержащий все необходимые
средства для работы с БД, начиная от ее создания, и обеспечивающий базовый
пользовательский интерфейс с базами данных. Стандартным языком наиболее
распространенных в настоящее время реляционных СУБД является язык SQL
(Structured Query Language).
Прежде всего, язык
SQL сочетает средства SDL и DML, т.е. позволяет определять схему реляционной БД
и манипулировать данными. При этом именование объектов БД (для реляционной БД -
именование таблиц и их столбцов) поддерживается на языковом уровне в том
смысле, что компилятор языка SQL производит преобразование имен объектов в их
внутренние идентификаторы на основании специально поддерживаемых служебных
таблиц-каталогов. Внутренняя часть СУБД (ядро) вообще не работает с именами
таблиц и их столбцов.
2.
РЕЛЯЦИОННЫЕ
БАЗА ДАННЫХ (РБД)
Реляционная база данных - это тело связанной информации,
сохраняемой в двумерных таблицах. Напоминает адресную или телефонную книгу.
Были созданы таблицы DAN (Interbase) и данные (MS Access) со столбцами:
Interbase |
MS Access |
TAB_NO – табельный номер
FAM – фамилия работника
IMIA – имя работника
OTSH – отчество работника
G_R - год рождения работника
ADRES - адрес работника
TEL - телефон
DATA_P – дата приема
DATA_U - дата увольнения
OBRAZ -
образование
SEM_POLOJ – семейное положение
S_N_PASPORT – паспортные данные
K_V - код выслуги
K_O - код оклада
K_P - код профессии
|
табельный номер
фамилия работника
имя работника
отчество работника
год рождения работника
адрес работника
телефон
дата приема
дата увольнения
образование
семейное положение
паспортные данные
код выслуги
код оклада
код профессии
|
и заполненными строками. Каждая строка (называемая также
записью - основной элемент БД) будет соответствовать определенной особенности;
каждый столбец будет содержать значение для каждого типа данных - имени,
телефонного номера, и адреса представляемого в каждой строке.
То что мы получили - является основой реляционной базы данных
как и было определенно, а именно, двумерной (строка и столбец) таблицей
информации. Однако реляционные базы данных редко состоят из одной таблицы. Такая
таблица меньше чем файловая система. Создав несколько таблиц взаимосвязанной
информации, мы сможем выполнить более сложные и мощные операции с данными.
Мощность базы данных зависит от связи, созданной между фрагментами информации,
а не от самого фрагмента информации.
Но на примере наших таблиц можно показать реальное использование
в деловой ситуации. Предположим, что персонажи в наших первых таблицах - это работники
МЧС России. В другой таблице, мы могли бы запомнить дополнительную информацию них.
Столбцы второй таблицы PROF (Interbase) и
профессия (MS Access) профессия выглядят так:
SELECT *
FROM PROF;
|
SELECT
профессия.[код профессии], профессия.[название профессии]
FROM профессия;
|
Interbase |
MS Access |
K_P NAZ
==== ========
1 пожарный
2 водитель
3 бухгалтер
4 инспектор
5 начальник караула
6 диспетчер
7 секретарь
8 водометчик
9 командир отделения
10 начальник части
11 заместитель по тылу
12 наводчик
|
код название
профессии профессии
= = = = = = = = = = = == = = = = =
= = ==
1 пожарный
2 водитель
3 бухгалтер
4 инспектор
5 начальник караула
6 диспетчер
7 секретарь
8 водометчик
9 командир отделения
10 начальник части
11 заместитель по тылу
12 наводчик
|
Вся таблица:
Много мощных функций можно выполнить, извлекая информацию из
этих таблиц согласно указанным параметрам, особенно когда эти параметры
включают в себя фрагменты информации связанные в различных таблицах друг с
другом. Например, возьмем запрос: Вывод сотрудников с соответствующими им
профессиями:
Interbase |
SELECT
TAB_NO,FAM,IMIA,OTSH,G_R,PROF.NAZ
FROM DAN,PROF
WHERE
DAN.K_P=PROF.K_P;
|
MS Access |
SELECT
данные.[табельный номер], данные.фамилия, данные.имя, данные.отчество,
данные.[год рождения], профессия.[название
профессии]
FROM
профессия INNER JOIN данные ON профессия.[код
профессии] = данные.[код профессии];
|
Interbase |
TAB_NO FAM IMIA OTSH
G_R NAZ
====== ========= ========== ===============
==== ================
1001 Петров Петр Петрович 01.12.1971
инспектор
1002 Сидоров Павел Сергеевич 10.03.1975
начальник караула
1003 Кортунов Сергей Владимирович 17.07.1963
начальник части
1004 Семенова Пелагея Никитична 01.06.1985
диспетчер
1005 Романова Евлампия Апполинарьевна
04.12.1982 диспетчер
1006 Несмелая Агрофена Агриповна 04.11.1976
секретарь
1007 Сердюков Игорь Игнатьевич 27.05.1978
пожарный
1008 Любимов Петр Николаевич 17.02.1967
водометчик
1009 Шарипов Руслан Имранович 14.08.1960
пожарный
1010 Ухабистова Авдотья Владиленовна
07.10.1956 бухгалтер
1011 Игумнов Андрей Дмитриевич 25.03.1962
заместитель по тылу
1012 Ильюшин Дмитрий Александрович
19.11.1958 наводчик
1013 Туполев Эдуард Валентинович 06.01.1969
пожарный
1014 Рабинович Ицхак Абрамович 23.09.1984
водитель
1000 Иванов Иван Иванович 12.04.1968
водитель
|
MS Access |
Таб №
|
фамилия |
имя |
отчество |
год рождения |
название профессии |
1 |
ИВАНОВ |
Иван |
Иванович |
1988 |
пожарный |
|
2 |
ПЕТРОВ |
Петр |
Петрович |
1988 |
пожарный |
|
3 |
СИДОРОВ |
Сидор |
Сидорович |
1977 |
пожарный |
|
4 |
ФРОЛОВА |
Мария |
Александровна |
1970 |
секретарь |
|
5 |
ФРОЛОВА |
Анастасия |
Дмитриевна |
1990 |
инспектор |
|
5 |
КУКУШКИН |
Антон |
Викторович |
1955 |
заместитель по тылу |
Страницы: 1, 2, 3, 4, 5, 6 |
|
|
|
|
|