Автор: Пользователь скрыл имя, 16 Декабря 2010 в 13:07, курсовая работа
База данных обеспечивает хранение информации и представляет собой поименованную совокупность данных, организованных по определенным правилам, включающим общие принципы описания, хранения и манипулирования данными.
Система управления базами данных представляет собой пакет прикладных программ и совокупность языковых средств, предназначенных для создания, сопровождения и использования баз данных.
1. Теоретическая часть 3
2. Проектирование базы данных 16
3. Разработка объектов БД 29
4. Список литературы 31
Приложение 1. Сценарий создания структуры базы данных 32
Приложение 2. Скрипт создания запросов 41
Приложение 3. Скрипт создания хранимых процедур и триггеров 42
8
Этап. Построение
схемы БД.
В курсовом проекте были созданы пользовательские типы данных:
В базе данных созданы правила:
В базе данных созданы умолчания:
В рамках курсового проекта были разработаны представления:
Были разработаны хранимые процедуры:
При разработке данной БД были спроектированы триггеры:
1. И.Ф. Астахова, А.П. Толстобров, В.М. Мельников «SQL в примерах и задачах» М., Новое знание, 2002 г.
2. А.Д. Хомоненко «Базы данных» СПб, Корона-принт, 2004 г
3. Мартин Грубер «Понимание SQL» М., 1993 г
4. Кевин Клайн «SQL справочник» М, Кудиц-образ, 2006
5. Леон Аткинсон «MySQL. Библиотека профессионала» M, «Вильяме», 2002
6. Артеменко Ю.Н. «MySQL. Справочник по языку» M, «Вильяме», 2005
7. INTUIT.RU
8. Роб Хортон. Разработка баз данных Microsoft SQL Server 2000 на примерах. Вильямс. 2001
9. Функции SQL. Справочник программиста, Эйри Джоунс, Райан К. Стивенз, Рональд Р. Плю, Роберт Ф. Гарретт, Алекс Кригель
10. Луис
Дэвидсон. Проектирование баз данных на
SQL Server 2000.: Бином. Лаборатория знаний, 2003»
и «Kursach_Log.mdl» а также текстовых файлов,
содержащих скрипты создания БД, запросов,
триггеров, хранимых процедур.
if exists (select * from dbo.sysobjects
where id = object_id(N'[dbo].[FK_
ALTER TABLE [dbo].[Сотрудники] DROP CONSTRAINT FK_Сотрудники_Должности
GO
if exists (select * from dbo.sysobjects
where id = object_id(N'[dbo].[FK_
ALTER TABLE [dbo].[Препараты] DROP CONSTRAINT FK_Препараты_Отделы
GO
if exists (select * from dbo.sysobjects
where id = object_id(N'[dbo].[FK_
ALTER TABLE [dbo].[Сотрудники] DROP CONSTRAINT FK_Сотрудники_Отделы
GO
if exists (select * from dbo.sysobjects
where id = object_id(N'[dbo].[FK_
ALTER TABLE [dbo].[Поставляемые препараты] DROP CONSTRAINT FK_Поставляемые препараты_Поставки
GO
if exists (select * from dbo.sysobjects
where id = object_id(N'[dbo].[FK_
ALTER TABLE [dbo].[Поставки] DROP CONSTRAINT FK_Поставки_Поставщики
GO
if exists (select * from dbo.sysobjects
where id = object_id(N'[dbo].[FK_
ALTER TABLE [dbo].[Поставляемые препараты] DROP CONSTRAINT FK_Поставляемые препараты_Препараты
GO
if exists (select * from dbo.sysobjects
where id = object_id(N'[dbo].[FK_
ALTER TABLE [dbo].[Препараты по рецептам] DROP CONSTRAINT FK_Препараты по рецептам_Препараты
GO
if exists (select * from dbo.sysobjects
where id = object_id(N'[dbo].[FK_
ALTER TABLE [dbo].[Препараты по рецептам] DROP CONSTRAINT FK_Препараты по рецептам_Рецепты
GO
if exists (select * from dbo.sysobjects
where id = object_id(N'[dbo].[FK_
ALTER TABLE [dbo].[Зарплаты] DROP CONSTRAINT FK_Зарплаты_Сотрудники
GO
if exists (select * from dbo.sysobjects
where id = object_id(N'[dbo].[FK_Отпуска_
ALTER TABLE [dbo].[Отпуска] DROP CONSTRAINT FK_Отпуска_Сотрудники
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[ПОСТ3]') and OBJECTPROPERTY(id, N'IsView') = 1)
drop view [dbo].[ПОСТ3]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Преппрод]') and OBJECTPROPERTY(id, N'IsView') = 1)
drop view [dbo].[Преппрод]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[сотрвыс]') and OBJECTPROPERTY(id, N'IsView') = 1)
drop view [dbo].[сотрвыс]
GO
if exists (select * from dbo.sysobjects
where id = object_id(N'[dbo].[Должности]'
drop table [dbo].[Должности]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Зарплаты]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Зарплаты]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Отделы]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Отделы]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Отпуска]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Отпуска]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Поставки]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Поставки]
GO
if exists (select * from dbo.sysobjects
where id = object_id(N'[dbo].[
drop table [dbo].[Поставляемые препараты]
GO
if exists (select * from dbo.sysobjects
where id = object_id(N'[dbo].[Поставщики]
drop table [dbo].[Поставщики]
GO
if exists (select * from dbo.sysobjects
where id = object_id(N'[dbo].[Препараты]'
drop table [dbo].[Препараты]
GO
if exists (select * from dbo.sysobjects
where id = object_id(N'[dbo].[Препараты
drop table [dbo].[Препараты по рецептам]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Рецепты]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Рецепты]
GO
if exists (select * from dbo.sysobjects
where id = object_id(N'[dbo].[Сотрудники]
drop table [dbo].[Сотрудники]
GO
if exists (select * from dbo.systypes where name = N'adr')
exec sp_droptype N'adr'
GO
if exists (select * from dbo.systypes where name = N'data')
exec sp_droptype N'data'
GO
if exists (select * from dbo.systypes where name = N'phone')
exec sp_droptype N'phone'
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Num ]') and OBJECTPROPERTY(id, N'IsRule') = 1)
drop rule [dbo].[Num ]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[ZAGLAV]') and OBJECTPROPERTY(id, N'IsRule') = 1)
drop rule [dbo].[ZAGLAV]
GO
if exists (select * from dbo.sysobjects
where id = object_id(N'[dbo].[price_rule]
drop rule [dbo].[price_rule]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Бомж]') and OBJECTPROPERTY(id, N'IsDefault') = 1)
drop default [dbo].[Бомж]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Обр-е]') and OBJECTPROPERTY(id, N'IsDefault') = 1)
drop default [dbo].[Обр-е]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[год]') and OBJECTPROPERTY(id, N'IsDefault') = 1)
drop default [dbo].[год]
GO
create default [Бомж] as 'n/a'
GO
create default [Обр-е] as 'среднее'
GO
create default [год] as 2009
GO
create rule [Num ] as --правило, определяющее начало слова с цифры
(@name LIKE '[0-9]%'
)
GO
CREATE RULE ZAGLAV
AS
(@Наименование
LIKE '[А-Я, A-Z]%')
GO
CREATE RULE price_rule AS
(@Цена >= .01 AND @Цена
<= 1000.00)
GO
setuser
GO
EXEC sp_addtype N'adr', N'char (100)', N'null'
GO
setuser
GO
setuser
GO
EXEC sp_addtype N'data', N'smalldatetime', N'null'
GO
setuser
GO
setuser
GO
EXEC sp_addtype N'phone', N'char (10)', N'null'
GO
setuser
GO
CREATE TABLE [dbo].[Должности] (
[Должность] [char] (50) COLLATE Cyrillic_General_CI_AS NOT NULL ,
[Требуемое образование] [char] (20) COLLATE Cyrillic_General_CI_AS NULL ,