Файл: Разработка и проектирование базы данных в Microsoft SQL Server.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 22.05.2023

Просмотров: 2411

Скачиваний: 30

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Вторым этапом является генерация физической модели с последующей генерацией скрипта для создания базы данных.

Последним этапом является выполнение созданного скрипта в SSMS и проверка созданной базы данных.

ЗАКЛЮЧЕНИЕ

В данной курсовой работе было проведено исследование на тему «Базы данных»

В главе 1 был проведен обзор и анализ различных баз данных, проведена их классификация.

Отдельно в данной главе рассмотрены реляционные базы данных, которые, получили наибольшее распространение на современном этапе развития компьютерных технологий. Они представляют собой совокупность таблиц, в которых содержаться данные об, описывающие различные объекты нашего мира. Благодаря своей логичности и структурированности данные могут быть легко добавлены, удалены или изменены.

В главе также рассматривает язык запросов SQL, который по факту является стандартом при работе с реляционными базами данных.

В главе 2 рассмотрены основные характеристики, история развития и архитектура системы управления базами данных Microsoft SQL Server . Отдельно описана среда Microsoft SQL Server Management Studio, которая поставляется вместе с MS SQL Server и служит для разработки и управления базами данных.

Система управления базами данных Microsoft SQL Server является мощным средством для создания и управления современными базами данных. Наряду с продуктами от Oracle и IBM, он занимает лидирующие позиции на рынке систем управления базами данных. Он используется как в стационарных приложениях, так и в облачных и распределенных системах.

Вместе с Microsoft SQL Server поставляется среда разработки Microsoft SQL Server Management Studio, в которой создана база данных этого проекта. Она представляет собой удобное средство для создания и обслуживания баз данных. Она позволяет в интерактивном режиме создавать таблицы базы данных и определять связи между ними.

В главе 3 описана разработка базы данных информационной системы. База данных создана в несколько этапов с применением программных средства, таким как PowerDesigner и Microsoft SQL Server Measurement Studio. На первом этапе создана концептуальная модель, которая описывает сущности и их отношения в будущей информационной системе. База данных состоит из шести сущностей:

  • Employer (Сотрудники)
  • Post (Должности)
  • TimeSheet (Учет рабочего времени)
  • Order (Начисления)
  • Penalty (Штрафы)

Вторым этапом является генерация физической модели с последующей генерацией скрипта для создания базы данных.


Последним этапом является выполнение созданного скрипта в SSMS и проверка созданной базы данных.

Таким образом, в ходе выполнения курсовой работы были изучены возможности MS SQL Server и создана базы данных на его основе.

СПИСОК ЛИТЕРАТУРЫ

  1. Александров, В.В.; Вишняков, Ю.С.; Горская, Л.М. и др. Информационное обеспечение интегрированных производственных комплексов - Л.: Машиностроение, 2012. - 511 c.
  2. Аткинсон, Леон MySQL. Библиотека профессионала - М.: Вильямс, 2012. - 624 c.
  3. Бек, Кент Шаблоны реализации корпоративных приложений - М.: Вильямс, 2012. - 369 c.
  4. Веймаер, Р.; Сотел, Р. Освой самостоятельно Microsoft SQL Server 2000 за 21 день (+ CD-ROM) - М.: Вильямс, 2013. - 549 c.
  5. Гандерлой, Майк; Харкинз, Сьюзан Сейлз Автоматизация Microsoft Access с помощью VBA - М.: Вильямс, 2013. - 416 c.
  6. Гетц, Кен; Джинберт, Майкл; Литвин, Пол Access 2000. Руководство разработчика. Том 1. Настольные приложения. том 1 - Киев: BHV, 2014. - 576 c.
  7. Голицына, О.Л. и др. Базы данных; Форум; Инфра-М, 2013. – 399 c.
  8. Гринченко, Н.Н. и др. Проектирование баз данных. СУБД Microsoft Access - Горячая Линия Телеком, 2012. - 613 c.
  9. Дейт, К.Дж. Введение в системы баз данных; К.: Диалектика - Издание 6-е, 2012. - 360 c.
  10. Дэвидсон, Луис проектирование баз данных на SQL Server 2000 -Бином, 2012. - 631 c.
  11. Дюваль, Поль М. Непрерывная интеграция. Улучшение качества программного обеспечения и снижение риска - М.: Вильямс, 2014. - 497 c.
  12. Каратыгин, С.; Тихонов, А. Работа в Paradox для Windows 5.0 на примерах - М.: Бином, 2012. - 512 c.
  13. Каратыгин, Сергей Access 2000 на примерах. Руководство пользователя с примерами - М.: Лаборатория Базовых Знаний, 2012. - 376 c.
  14. Кауфельд, Джон Microsoft Office Access 2003 для "чайников" - М.: Диалектика, 2013. - 439 c.
  15. Каучмэн, Джейсон; Швинн, Ульрике Oracle 8i CertifiedProfessionaql DBA Подготовка администраторов баз данных - ЛОРИ, 2012. - 510 c.
  16. Луни, Кевин; Брила, Боб Oracle 10g. Настольная книга администратора баз данных - М.: Лори, 2014. - 365 c.
  17. Мак-Федрис, Пол Формы, отчеты и запросы в Microsoft Access 2003 - М.: Вильямс, 2012. - 416 c.
  18. Наумов, А.Н.; Вендров, А.М.; Иванов, В.К. и др. Системы управления базами данных и знаний - М.: Финансы и статистика, 2012. - 352 c.
  19. Нимик, Ричард Дж Oracle9i. Оптимизация производительности. Советы и методы - М.: Лори, 2012. - 648 c.
  20. Озкарахан, Э. Машины баз данных и управление базами данных - М.: Мир, 2013. - 551 c.
  21. Постолит, Анатолий Visual Studio .NET: разработка приложений баз данных - СПб: БХВ, 2013. - 544 c.
  22. Редько, В.Н.; Бассараб, И.А. Базы данных и информационные системы - Знание, 2012. - 602 c.
  23. Тимошок, Т.В. Microsoft Office Access 2007: самоучитель - Вильямс, 2013. - 464 c.
  24. Тоу, Дэн Настройка SQL - СПб: Питер, 2012. - 539 c.
  25. Туманов, В.Е. Основы проектирования реляционных баз данных - Бином, 2012. - 420 c.
  26. Уорден, К. Новые интеллектуальные материалы и конструкции. Свойства и применение - М.: Техносфера, 2012. - 456 c.

Приложение А

Скрипт создания базы данных

/*==============================================================*/

/* DBMS name: Microsoft SQL Server 2012 */

/* Created on: 31.05.2018 15:45:34 */

/*==============================================================*/

if exists (select 1

from sys.sysreferences r join sys.sysobjects o on (o.id = r.constid and o.type = 'F')

where r.fkeyid = object_id('Employer') and o.name = 'FK_EMPLOYER_EMPLOYER-_POST')

alter table Employer

drop constraint "FK_EMPLOYER_EMPLOYER-_POST"

go

if exists (select 1

from sys.sysreferences r join sys.sysobjects o on (o.id = r.constid and o.type = 'F')

where r.fkeyid = object_id('"Order"') and o.name = 'FK_ORDER_EMPLOYER-_EMPLOYER')

alter table "Order"

drop constraint "FK_ORDER_EMPLOYER-_EMPLOYER"

go

if exists (select 1

from sys.sysreferences r join sys.sysobjects o on (o.id = r.constid and o.type = 'F')

where r.fkeyid = object_id('Penalty') and o.name = 'FK_PENALTY_EMPLOYER-_EMPLOYER')

alter table Penalty

drop constraint "FK_PENALTY_EMPLOYER-_EMPLOYER"

go

if exists (select 1

from sys.sysreferences r join sys.sysobjects o on (o.id = r.constid and o.type = 'F')

where r.fkeyid = object_id('TimeSheet') and o.name = 'FK_TIMESHEE_EMPLOYER-_EMPLOYER')

alter table TimeSheet

drop constraint "FK_TIMESHEE_EMPLOYER-_EMPLOYER"

go

if exists (select 1

from sysindexes

where id = object_id('Employer')

and name = 'Relationship_1_FK'

and indid > 0

and indid < 255)

drop index Employer.Relationship_1_FK

go

if exists (select 1

from sysobjects

where id = object_id('Employer')

and type = 'U')

drop table Employer

go

if exists (select 1

from sysindexes

where id = object_id('"Order"')

and name = 'Employer-Order_FK'

and indid > 0

and indid < 255)

drop index "Order"."Employer-Order_FK"

go

if exists (select 1

from sysobjects

where id = object_id('"Order"')

and type = 'U')

drop table "Order"

go

if exists (select 1

from sysindexes

where id = object_id('Penalty')

and name = 'Employer-Penalty_FK'

and indid > 0

and indid < 255)

drop index Penalty."Employer-Penalty_FK"

go

if exists (select 1

from sysobjects

where id = object_id('Penalty')

and type = 'U')

drop table Penalty

go

if exists (select 1

from sysobjects

where id = object_id('Post')

and type = 'U')

drop table Post

go

if exists (select 1

from sysindexes

where id = object_id('TimeSheet')

and name = 'Employer-TimeSheet_FK'

and indid > 0

and indid < 255)

drop index TimeSheet."Employer-TimeSheet_FK"

go

if exists (select 1

from sysobjects

where id = object_id('TimeSheet')

and type = 'U')

drop table TimeSheet

go

/*==============================================================*/

/* Table: Employer */

/*==============================================================*/

create table Employer (

id_Emp int not null,

id_Post int null,

emp_FirstName varchar(100) not null,

emp_LastName varchar(100) not null,

emp_MidName varchar(100) not null,

emp_ID varchar(20) not null,

emp_Account varchar(50) not null,

emp_Birthday datetime not null,

constraint PK_EMPLOYER primary key (id_Emp)

)

go

if exists(select 1 from sys.extended_properties p where

p.major_id = object_id('Employer')

and p.minor_id = (select c.column_id from sys.columns c where c.object_id = p.major_id and c.name = 'id_Emp')

)

begin

declare @CurrentUser sysname

select @CurrentUser = user_name()

execute sp_dropextendedproperty 'MS_Description',

'user', @CurrentUser, 'table', 'Employer', 'column', 'id_Emp'

end

select @CurrentUser = user_name()

execute sp_addextendedproperty 'MS_Description',

'Идентификатор сотрудника',

'user', @CurrentUser, 'table', 'Employer', 'column', 'id_Emp'


go

/*==============================================================*/

/* Index: Relationship_1_FK */

/*==============================================================*/

create nonclustered index Relationship_1_FK on Employer (id_Post ASC)

go

/*==============================================================*/

/* Table: "Order" */

/*==============================================================*/

create table "Order" (

id_Order int not null,

id_Emp int null,

or_Year int not null,

or_Month smallint not null,

or_Money money null,

or_Duration decimal(1,1) null,

constraint PK_ORDER primary key (id_Order)

)

go

if exists(select 1 from sys.extended_properties p where

p.major_id = object_id('"Order"')

and p.minor_id = (select c.column_id from sys.columns c where c.object_id = p.major_id and c.name = 'id_Emp')

)

begin

declare @CurrentUser sysname

select @CurrentUser = user_name()

execute sp_dropextendedproperty 'MS_Description',

'user', @CurrentUser, 'table', 'Order', 'column', 'id_Emp'

end

select @CurrentUser = user_name()

execute sp_addextendedproperty 'MS_Description',

'Идентификатор сотрудника',

'user', @CurrentUser, 'table', 'Order', 'column', 'id_Emp'

go

/*==============================================================*/

/* Index: "Employer-Order_FK" */

/*==============================================================*/

create nonclustered index "Employer-Order_FK" on "Order" (id_Emp ASC)

go

/*==============================================================*/

/* Table: Penalty */

/*==============================================================*/

create table Penalty (

id_Penalty int not null,

id_Emp int null,

pen_Year int not null,

pen_Month smallint not null,

pen_Money money not null,

constraint PK_PENALTY primary key (id_Penalty)

)

go

if exists(select 1 from sys.extended_properties p where

p.major_id = object_id('Penalty')

and p.minor_id = (select c.column_id from sys.columns c where c.object_id = p.major_id and c.name = 'id_Emp')

)

begin

declare @CurrentUser sysname

select @CurrentUser = user_name()

execute sp_dropextendedproperty 'MS_Description',

'user', @CurrentUser, 'table', 'Penalty', 'column', 'id_Emp'

end

select @CurrentUser = user_name()

execute sp_addextendedproperty 'MS_Description',

'Идентификатор сотрудника',

'user', @CurrentUser, 'table', 'Penalty', 'column', 'id_Emp'

go

/*==============================================================*/

/* Index: "Employer-Penalty_FK" */

/*==============================================================*/

create nonclustered index "Employer-Penalty_FK" on Penalty (id_Emp ASC)

go

/*==============================================================*/

/* Table: Post */

/*==============================================================*/

create table Post (

id_Post int not null,

p_Name varchar(100) not null,

p_Salary money not null,

constraint PK_POST primary key (id_Post)

)

go

/*==============================================================*/

/* Table: TimeSheet */

/*==============================================================*/

create table TimeSheet (

id_TimeSheet int not null,

id_Emp int null,

ts_Data datetime not null,

ts_StartTime datetime not null,

ts_StopTime datetime not null,

ts_Duration decimal(1,1) null,

constraint PK_TIMESHEET primary key (id_TimeSheet)

)

go

if exists(select 1 from sys.extended_properties p where

p.major_id = object_id('TimeSheet')

and p.minor_id = (select c.column_id from sys.columns c where c.object_id = p.major_id and c.name = 'id_Emp')

)

begin

declare @CurrentUser sysname

select @CurrentUser = user_name()

execute sp_dropextendedproperty 'MS_Description',

'user', @CurrentUser, 'table', 'TimeSheet', 'column', 'id_Emp'

end

select @CurrentUser = user_name()

execute sp_addextendedproperty 'MS_Description',