Саратовский Государственный университет им. Н.Г. Чернышевского
Курсовая работа
на тему: «Особенности разработки триггеров и хранимых процедур в СУБД»
(на примере базы данных отдела кадров)
студентки 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 |
|
Схемы баз данных (Database Diagrams) — это тип объектов, который присутствует только в проектах Access. Они являются аналогом схемы данных в базах данных Access, однако в проектах Access это понятие существенно расширено.
Во-первых, таких схем в одном проекте может быть несколько. Это значит, что всю совокупность таблиц можно разделить на логические области и построить для каждой из них свою схему данных. Это очень важно, т. к. количество таблиц в базе данных на сервере может быть очень велико, и, если разместить их все на одной схеме, она может быть просто необозрима. Кроме того, могут быть созданы схемы данных для определенных целей, когда нужно выделить и выразить специфический взгляд на подмножество таблиц базы.
Во-вторых, сам инструментарий для создания схем баз данных более богат: он позволяет не только определять связи между существующими таблицами, но и изменять структуру и свойства таблиц, создавать новые таблицы и т. д. В этом смысле он является альтернативой обычному способу описания таблиц — с помощью режима Конструктора.
Вы можете выполнять операции как с отдельным объектом этой структуры, так и с группой объектов. Причем все изменения, которые вносятся в структуру базы данных, не сохраняются не сервере до тех пор, пока вы не сохраните измененную схему. Это удобно, когда нужно внести много изменений. Тогда сохранить можно только конечный результат, когда вы убедились, что все изменения согласованы.
Программы реляционной базы данных разрабатывались для того чтобы обрабатывать большие и сложные совокупности данных такого типа, что очевидно является более универсальным методом в деловом мире. Даже если бы база данных отдела кадров содержала сотни или тысячи имен - как это вероятно и бывает на практике - одна команда SQL может выдать мне информацию в которой он нуждался почти немедленно.
В отличии от строк, столбцы таблицы упорядочиваются и нумеруются, так в таблице № 3 OCLAD первый столбец слева K_O содержит код оклада. Во избежание неоднозначности все столбцы таблицы должны иметь разные имена. Кроме того, он является первичным ключом - важным элементом в структуре базы данных. Каждый столбец имеет определенный тип данных. Все данные конкретного столбца относятся к одному типу: текст, число, дата и т.д., так как содержит однотипную информацию.
//Вывод общее количество кодов оклада // Interbase
SELECT COUNT(*)
FROM OCLAD;
COUNT
=====
9
// Вывод максимального оклада //MS Access
ELECT DISTINCTROW Max([оклады].[оклад]) AS [Max - оклад]
FROM оклады;
оклады max |
Max - оклад |
5 999,55р. |
Таблицы DAN, PROF, OCLAD образуют простую реляционную БД, она мала, с ней легко работать, но содержит все необходимые компоненты для иллюстрации основных принципов и приемов применения SQL. Первый столбец каждой таблицы содержит №№, разные для каждой строки (первичные ключи). Некоторые из номеров встречаются в других столбцах таблиц. Это внешние ключи, которые ссылаются на первичные ключи (для удобства имеют одинаковые имена). Выполнение условия «прикрепления» таблиц, говорит, что система находится в состоянии «ссылочной целостности»
... чем перейти непосредственно к разработке пользовательского интерфейса (ПИ), определим основные требования, предъявляемые к разработке интерфейса пользователя. Разработка пользовательского интерфейса (ПИ) ведется параллельно разработке архитектуры Автоматизированной Системы Управления документооборотом и разработке баз данных в целом и в основном предшествует её имплементации. Процесс разработки ...
... , с одной стороны, воспрепятствовать созданию излишних запасов сырья, а с другой устранить такой недостаток, как отсутствие готовности к поставкам. 1.2.2 Основные требования к информационной системе На предприятии ОАО «Знаменский сахарный завод» приобретение сырья осуществляется путем закупки, или агрохозяйства поставляют сырье для переработки, после которой предприятие рассчитывается с ...
... типов запросов предоставляет иные средства для изменения данных. 3. Microsoft Visual FoxPro 7.0 Visual FoxPro 7.0 представляет собой новую версию широко известной системы управления базами данных (СУБД) Visual FoxPro, которая функционирует в среде Windows и представляет собой полноценное 32-х разрядное приложение. Visual FoxPro является объектно-ориентированным, визуально-программируемым ...
... постоянно необходимо переключатся (Database Desktop – создание таблиц, Borland C++ Builder – компоновщик и визуальный язык программирования). В) Плохая наглядность проекта во время разработки. Для создания информационной системы «Служба занятости» на основе проведенных исследований и имеющихся возможностей был выбран Database Desktop и Borland C++ Builder. 4. Разработка экранных форм 4.1. ...
0 комментариев