Автотехцентр: база данных

Автор: Пользователь скрыл имя, 15 Сентября 2013 в 10:21, курсовая работа

Краткое описание

Целью курсового проектирования является применение на практике знаний, полученных в процессе изучения курса "Базы данных" и получение практических навыков проектирования и реализации баз данных, для последующего создания информационных систем.
В курсовой работе будет разработана базы данных по теме «Автотехцентр», которая занимается ремонтом автомобилей и реализована в виде программного продукта, также будут получены навыки по моделированию структуры баз и созданию средствами языка SQL.

Оглавление

Введение…………………………………………………………………………4
1 Проектирование базы данных……………………………………………..5
1.1 Описание предметной области………………………………………...5
1.2 Инфологическая модель базы данных………………………………...6
1.3 Даталогическая модель базы данных………………………………….7
1.4 Стратегия резервного копирования и восстановления……………….9
2 Реализация базы данных…………………………………………………12
2.1 Характеристика используемой СУБД………………………………...12
2.2 Создание структуры базы данных……………………………………15
2.2.1 База данных и таблицы…………………………………………..15
2.2.2 Создание индексов……………………………………………….19
2.3 Создание представлений……………………………………………....21
2.3.1 Однотабличный запрос на выборку по условиям……………...21
2.3.2 Многотабличный запрос………………………………………....22
2.3.3 Запрос с использованием подзапроса.............................................22
2.3.4 Итоговый запрос……………………………………………….....23
2.4 Примеры запросов на модификацию данных………………………..24
2.4.1 Простые запросы…………………………………………………24
2.4.2 Запросы с использованием подзапросов………………………..26
2.5 Описание триггеров…………………………………………………....28
2.6 Создание пользователей и назначение привилегий………………….32
Заключение………………………………………………………………….37
Список использованной литературы……………………………………...38
Приложение 1. Пример инфологической модели………………………...39

Файлы: 1 файл

Avtotekhtsentr.doc

— 450.00 Кб (Скачать)

В таблице «Ремонт» существует поле  Стоимость_ремонта. Введем ограничение стоимости ремонта 6000. Иными словами, пользователь не сможет ввести стоимость ремонта больше 6000.

Текст создания триггера на вставку будет выглядеть  следующим образом:

CREATE TRIGGER Триггер_ins

ON Ремонт FOR INSERT

AS

IF @@ROWCOUNT=1

BEGIN

  IF NOT EXISTS(SELECT *

      FROM inserted

      WHERE inserted.Стоимость_ремонта <'6000')

    BEGIN

      ROLLBACK TRAN

    PRINT

     'Предупреждение: Стоимость ремонта не должна  превышать 6000'

    END

END

Исходя из текста, видно, что в случае возникновения  ошибки появится сообщение, в котором  будет сообщено пользователю, что  стоимость ремонта не должна превышать 6000'. Данное окно можно посмотреть на рисунке 1.1.

Попытке добивать новые данные в таблицу ремонт:

Результат запроса  показан на рисунке 1.1

Рисунок 1.1 –  запрос добавления новых данных в  таблицу ремонт

 

Появляется  сообщение с предупреждением (рисунок 1.2):

Рисунок 1.2 –  сообщение об ошибке при вставке  записи

 

 

 

 

 

 

 

 

    1. Создание пользователей и привилегий

В базе данных «Автотехцентр»  были созданы группы пользователей  и соответствующие привилегия. Создание пользователя базы данных, сопоставленного с именем входа, с помощью среды  SQL ServerManagementStudio или Transact-SQL.

Пользователь  базы данных — это идентификатор  имени входа при подключении  к базе данных. Имя пользователя базы данных может совпадать с именем входа, но это не является обязательным требованием. Пользователь является субъектом безопасности уровня базы данных. Для соединения с базой данных имя входа должно быть сопоставлено с пользователем базы данных. Имя входа может быть сопоставлено с различными базами данных в качестве разных пользователей, но в каждой базе данных ему может быть сопоставлен только один пользователь. В частично автономной базе данных можно создать пользователя, не имеющего имени входа. Если в базе данных включена учетная запись гостя, то под именем входа, не сопоставленным с пользователем базы данных, можно войти от пользователя guest.

Администраторы  баз данных, сами создают пользователей  и дают им привилегии. С другой стороны пользователи, которые создают таблицы, сами имеют права на управление этими таблицами. Каждый пользователь в SQL базе данных имеет набор привилегий. Это то что пользователю разрешается делать. Эти привилегии могут изменяться со временем - новые добавляться, старые удаляться.  Привилегии даются, отменяются двумя командами SQL: - GRANT (ДОПУСК) и REVOKE (ОТМЕНА).

Рассматривается система безопасности, принятая в  языке SQL. Излагаются общие правила разграничения доступа. Описываются режимы аутентификации и компоненты структуры безопасности (пользователи, роли баз данных), администрирование системы безопасности (создание учетных записей и управление ими, управление пользователями и ролями). Дается определение прав пользователя на доступ к объектам базы данных. Рассматриваются неявные права, вопросы запрета доступа и неявного отклонения доступа, а также конфликты доступа.     

Стабильная  система управления пользователями – обязательное условие безопасности данных, хранящихся в любой реляционной СУБД. В языке SQL не существует единственной стандартной команды, предназначенной для создания пользователей базы данных – каждая реализация делает это по-своему. В одних реализациях эти специальные команды имеют определенное сходство, в то время как в других их синтаксис имеет существенные отличия. Однако независимо от конкретной реализации все основные принципы одинаковы.

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

В системе SQL-сервер организована двухуровневая настройка ограничения доступа к данным. На первом уровне необходимо создать так называемую учетную запись пользователя (login), что позволяет ему подключиться к самому серверу, но не дает автоматического доступа к базам данных. На втором уровне для каждой базы данных SQL-сервера на основании учетной записи необходимо создать запись пользователя. На основе прав, выданных пользователю как пользователю базы данных (user), его регистрационное имя (login) получает доступ к соответствующей базе данных. В разных базах данных login одного и того же пользователя может иметь одинаковые или разные имена user с разными правами доступа. Иначе говоря, с помощью учетной записи пользователя осуществляется подключение к SQL-серверу, после чего определяются его уровни доступа для каждой базы данных в отдельности.

В системе SQL-сервер существуют дополнительные объекты  – роли, которые определяют уровень  доступа к объектам SQL-сервера. Они  разделены на две группы: назначаемые для учетных записей пользователя сервера и используемые для ограничения доступа к объектам базы данных.

 

Итак, на уровне сервера система безопасности оперирует  следующими понятиями:

•аутентификация;

•учетная запись;

•встроенные роли сервера.

На уровне базы данных применяются следующие понятия:

•пользователь базы данных;

•фиксированная  роль базы данных;

•пользовательская роль базы данных.

Группы пользователей  и назначенные им привилегии на работу с представлениями и таблицами базы данных приводятся в табличном виде (таблица 1).

Таблица 1

Таблица

Группа пользователей

Admin

Specialist

Director

Клиенты

ALL

SELECT,

UPDATE,

DELETE,

INSERT

SELECT,

INSERT,

UPDATE,

DELETE

Специалисты

ALL

SELECT,

UPDATE,

DELETE,

INSERT

SELECT,

INSERT,

UPDATE,

DELETE

Ремонт

ALL

SELECT,

UPDATE,

DELETE,

INSERT

SELECT,

INSERT,

UPDATE,

DELETE


 

 

Продолжение Таблицы 1

Таблица

Группа пользователей

Admin

Specialist

Director

Договор

ALL

SELECT,

UPDATE,

DELETE,

INSERT

SELECT,

INSERT,

UPDATE,

DELETE


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

Создание в  базе данных учетной записи пользователя, указав для него пароль.

Было создано три учетных записи – это Admin, Specialist и Director. Текст запросов выглядит следующим образом:

  1. CREATE LOGIN Admin

WITH PASSWORD = 'Adm';

GO

CREATE USER Admin FOR LOGIN Admin;

GO

  1. CREATE LOGIN Specialist

WITH PASSWORD = 'Spec';

GO

CREATE USER Specialist FOR LOGIN Specialist;

GO 

  1. CREATE LOGIN Director

WITH PASSWORD = 'Dir';

GO

CREATE USER Director FOR LOGIN Director;

GO

А затем были назначены привилегии для каждой группы пользователей:

  1. GRANT ALL ON Клиенты TO Admin

GRANT ALL ON Специалисты TO Admin

GRANT ALL ON Ремонт TO Admin

GRANT ALL ON Договор TO Admin

  1. GRANT SELECT,UPDATE,DELETE,INSERT ON Клиенты TO Specialist

GRANT SELECT,UPDATE,DELETE,INSERT ON Специалисты TO Specialist

GRANT SELECT,UPDATE,DELETE,INSERT ON Ремонт TO Specialist

GRANT SELECT,UPDATE,DELETE,INSERT ON Договор TO Specialist

  1. GRANT SELECT,UPDATE,DELETE,INSERT ON Клиенты TO Director

GRANT SELECT,UPDATE,DELETE,INSERT ON Специалисты TO Director

GRANT SELECT,UPDATE,DELETE,INSERT ON Ремонт TO Director

GRANT SELECT,UPDATE,DELETE,INSERT ON Договор TO Director

 

 

 

 

 

Заключение

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

Результатом явилось создание реляционной базы данных «Автотехцентр». При создании этой базы данных было освоено:

    1. Создание базы данных посредством запроса, создание таблиц  и наполнение их содержанием, а также построение диаграммы базы данных;
    2. Создание представлений, реализующих различные запросы;
    3. Работы с запросами на модификацию данных (INSERT, DELETE, UPDATE);
    4. Наложение ограничений посредством создания триггеров;
    5. Создание пользователей и назначение им привилегий.

Разработанная база данных позволит облегчить процесс технического обслуживания автомобилей путем ведения учета выполняемых технических работ

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

 

 

 

 

 

 

 

Список  использованной литературы

    1. http://support.microsoft.com
    2. http://pyramidin.narod.ru/rusql/index.htm
    3. http://msdn.microsoft.com
    4. http://www.sql.ru

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приложение 1. Пример инфологической модели

 

 


Информация о работе Автотехцентр: база данных