Разработка ИС отдела кадров ЧОПа

Автор работы: Пользователь скрыл имя, 14 Июня 2013 в 00:27, курсовая работа

Описание работы

Цели курсового проекта:
-Проектирование АИС для ведения отчетности в отделе кадров;
-Повышение навыков в области проектирования информационных систем;
-Повышение навыков использования интегрального пакета инструментальных средств системного анализа.
При разработке курсового проекта использовались следующие продукты компании Computer Associates:
-All Fusion Process Modeler (BPwin);
-All Fusion Erwin Data Modeler (Erwin).

Файлы: 1 файл

Курсовая.docx

— 699.78 Кб (Скачать файл)

Из результата декартова  произведения отберем только те кортежи, в которых:

  • совпали значения ключевых атрибутов (условие1), т.е.

Охр1.id_охранника = Охр2. id_охранника,

  • среди неключевых атрибутов не совпала любая из пар атрибутов (условие2), т.е.

Ох1.Фамилия ≠ Охр2.Фамилия Ú Охр1.Имя ≠ Охр2.Имя Ú

Охр1.Отчество≠ Охр2.Отчество Ú Охр1.Дата рождения ≠ Охр2.Дата рождения

Поскольку условие 1 соединяется с условием 2 через операцию И (Ù), а в условии 2 применяется операция ИЛИ (Ú), условие 2 при записи ограничения должно быть записано в скобках:

sусловие1 Ù (условие2) Охр1 (Охранник) Х ρ Охр2 (Охранник)) = Æ

 

 

Создадим ограничение  уникальности для первичного ключа  на примере отношения Объект с простым (не составным) первичным ключом: Объект (id_объекта, Название объекта, Адрес, Телефон).

Чтобы выполнить декартово  произведение двух копий одного отношения, необходимо переименовать хотя бы одну из копий. Для улучшения восприятия ограничения переименуем обе: левую  часть назовем Об1, правую – Об2.

Из результата декартова  произведения отберем только те кортежи, в которых:

  • совпали значения ключевых атрибутов (условие1), т.е.

Об1. id_объекта = Об2. id_объекта,

  • среди неключевых атрибутов не совпала любая из пар атрибутов (условие2), т.е.

Об1.Название объекта ≠ Об2.Название объекта

ρ Об1 (Объект) Х ρ Об2 (Объект) = Æ

 

Создадим ограничение  уникальности для первичного ключа  на примере отношения Нарушение с простым (не составным) первичным ключом: Нарушение (id_нарушения, Название нарушения).

Чтобы выполнить декартово  произведение двух копий одного отношения, необходимо переименовать хотя бы одну из копий. Для улучшения восприятия ограничения переименуем обе: левую  часть назовем Нар1, правую – Нар2.

Из результата декартова  произведения отберем только те кортежи, в которых:

  • совпали значения ключевых атрибутов (условие1), т.е.

Нар1. id_нарушения = Нар2. id_нарушения,

  • среди неключевых атрибутов не совпала любая из пар атрибутов (условие2), т.е.

Нар1.Название нарушения ≠ Нар2.Название нарушения

ρ Нар1 (Нарушение) Х ρ Нар2 (Нарушение) = Æ

 

Создадим ограничение  уникальности для первичного ключа  на примере отношения Стоимость нарушения с простым (не составным) первичным ключом: Стоимость нарушения (id_нарушения, id_стоимости, Дата назначение размера штрафа, Штраф).

Чтобы выполнить декартово  произведение двух копий одного отношения, необходимо переименовать хотя бы одну из копий. Для улучшения восприятия ограничения переименуем обе: левую  часть назовем СтНар1, правую – СтНар2.

Из результата декартова  произведения отберем только те кортежи, в которых:

  • совпали значения ключевых атрибутов (условие1), т.е.

СтНар1. id_стоимости = СтНар2. id_стоимости,

ρ СтНар1 (Стоимость нарушения) Х ρ СтНар2 (Стоимость нарушения) = Æ

 

Создадим ограничение  уникальности для первичного ключа  на примере отношения Табель учета рабочего времени с простым (не составным) первичным ключом: Табель учета рабочего времени (id_табеля, id_охранника, id_объекта, id_вахты, id_нарушения, Дата нарушения, id_стоимости, Количество отработанных часов).

Чтобы выполнить декартово  произведение двух копий одного отношения, необходимо переименовать хотя бы одну из копий. Для улучшения восприятия ограничения переименуем обе: левую  часть назовем Таб1, правую – Таб2.

Из результата декартова  произведения отберем только те кортежи, в которых:

  • совпали значения ключевых атрибутов (условие1), т.е.

Таб1. id_табеля = Таб2. id_табеля,

ρ Таб1 (Табель учета рабочего времени) Х ρ Таб2 (Табель учета рабочего времени) = Æ

Ограничения ссылочной целостности.

Запишем ограничение ссылочной  целостности для отношений Охранник и Табель учета рабочего вреени:

Охранник (id_охранника, Фамилия, Имя, Отчество, Дата рождения, Дата начала работы, Дата конца работ)

Табель учета рабочего времени (id_табеля, id_охранника, id_объекта, id_вахты, id_нарушения, Дата нарушения, id_стоимости, Количество отработанных часов)

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

p id_охранника(Охранник) Í p id_охранника(Табель учета рабочего времени).

То же ограничение может  быть записано в виде: 

p id_охранника(Охранник) - p id_охранника(Табель учета рабочего времени)= Æ

Действительно, разность отношений  должна создать пустое множество, поскольку  проекция отношения Охранник по id_охранника является подмножеством проекции отношения Табель учета рабочего времени по id_охранника. Если результат оказался не пустым множеством, значит в учебную группу поместили ошибочное значение идентификатора факультета и его необходимо исправить.

 

Запишем ограничение ссылочной  целостности для отношений Объект и Табель учета рабочего времени:

Объект (id_объекта, Название объекта, Адрес, Телефон)

Табель учета рабочего времени (id_табеля, id_охранника, id_объекта, id_вахты, id_нарушения, Дата нарушения, id_стоимости, Количество отработанных часов)

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

p id_объекта(Объект) Í p id_объекта(Табель учета рабочего времени).

То же ограничение может  быть записано в виде: 

p id_объекта(Объект) - p id_объекта(Табель учета рабочего времени)= Æ

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

 

Запишем ограничение ссылочной  целостности для отношений Вахта и Табель учета рабочего времени:

Вахта (id_вахты, Номер вахты, Дата начала, Дата конца)

Табель учета рабочего времени (id_табеля, id_охранника, id_объекта, id_вахты, id_нарушения, Дата нарушения, id_стоимости, Количество отработанных часов)

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

p id_вахты(Вахта) Í p id_вахты(Табель учета рабочего времени).

То же ограничение может  быть записано в виде: 

p id_вахты(Вахта) - p id_вахты(Табель учета рабочего времени)= Æ

Действительно, разность отношений  должна создать пустое множество, поскольку  проекция отношения Вахта по id_вахты является подмножеством проекции отношения Табель учета рабочего времени по id_вахты. Если результат оказался не пустым множеством, значит в учебную группу поместили ошибочное значение идентификатора факультета и его необходимо исправить.

 

Запишем ограничение ссылочной  целостности для отношений Список Нарушение и Стоимость нарушения:

Нарушение (id_нарушения, Название нарушения)

Стоимость нарушения (id_нарушения, id_стоимости, Дата назначение размера штрафа, Штраф)

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

p id_нарушения(Нарушение) Í p id_нарушения(Стоимость нарушения).

То же ограничение может  быть записано в виде: 

p id_нарушения(Нарушение)- p id_нарушения(Стоимость нарушения)= Æ

Действительно, разность отношений  должна создать пустое множество, поскольку  проекция отношения Нарушение по id_нарушения является подмножеством проекции отношения Стоимость нарушения по id_нарушения. Если результат оказался не пустым множеством, значит в учебную группу поместили ошибочное значение идентификатора факультета и его необходимо исправить.

 

Запишем ограничение ссылочной  целостности для отношений Стоимость нарушения и Табель учета рабочего времени:

Стоимость нарушения (id_нарушения, id_стоимости, Дата назначение размера штрафа, Штраф)

Табель учета рабочего времени (id_табеля, id_охранника, id_объекта, id_вахты, id_нарушения, Дата нарушения, id_стоимости, Количество отработанных часов)

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

p id_нарушения,id_стоимости(Стоимость нарушения) Í p id_нарушения,id_стоимости (Табель учета рабочего времени).

 

То же ограничение может  быть записано в виде: 

p id_нарушения,id_стоимости(Стоимость нарушения) - p id_нарушения,id_стоимости (Табель учета рабочего времени)= Æ

Действительно, разность отношений  должна создать пустое множество, поскольку  проекция отношения Стоимость нарушения по id_нарушения и id_стоимости является подмножеством проекции отношения Табель учета рабочего времени по id_нарушения и id_стоимости. Если результат оказался не пустым множеством, значит в учебную группу поместили ошибочное значение идентификатора факультета и его необходимо исправить.

Ограничение домена.

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

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

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

 

Запишем ограничение домена для атрибута Дата рождения в отношении Охранник (id_охранника, Фамилия, Имя, Отчество, Дата рождения, Дата начала работы, Дата конца работы ), на который кроме ограничения типа (дата/время) наложено дополнительное ограничение:

Дата рождения £ Date ( )-365*18.

На языке реляционной  алгебры это ограничение запишется  в виде:

s Дата рождения < Date()-365*18(Охранник) = Æ,

т.е. множество кортежей отношения Охранник, в которых дата рождения больше чем Date ( )-365*18(возраст меньше 18 лет), должно быть пустым.

Запишем ограничение домена для атрибутов Дата начала работы, Дата конца работы в отношении Охранник (id_охранника, Фамилия, Имя, Отчество, Дата рождения, Дата начала работы, Дата конца работы ), на которые наложены ограничения типа (дата/время):

Дата начала работы £ Date ( ).

Дата конца работы £ Date ( ).

На языке реляционной  алгебры эти ограничения запишутся в виде:

s Дата начала работы < Date() (Охранник) = Æ,

s Дата конца работы < Date() (Охранник) = Æ,

т.е. множество кортежей отношении Охранник, в которых дата начала и конца работы больше Date ( ), должно быть пустым.

 

Запишем ограничение домена для атрибутов Дата начала и Дата конца в отношении Вахта (id_вахты, Номер вахты, Дата начала, Дата конца), на которые наложено ограничение типа (дата/время):

Дата начала £ Date( ).

Дата конца £ Date( ).

На языке реляционной алгебры эти ограничения запишутся в виде:

s Дата начала > Date()(Вахта) = Æ,

s Дата конца > Date()(Вахта) = Æ,

т.е. множество кортежей отношения Вахта, в которых Дата начала и Дата конца больше чем Date ( ), должно быть пустым.

 

Запишем ограничение домена для атрибутов Дата назначения размера штрафа в отношении Стоимость нарушения (id_нарушения, id_стоимости, Дата назначение размера штрафа, Штраф), на которые наложено ограничение типа (дата/время):

Дата назначения размера штрафа £ Date( ).

На языке реляционной алгебры эти ограничения запишутся в виде:

s Дата назначения размера штрафа > Date()(Стоимость нарушения) = Æ,

т.е. множество кортежей отношения Стоимость нарушения, в которых Дата назначения размера штрафа больше чем Date ( ), должно быть пустым.

 

Запишем ограничение домена для атрибутов Дата нарушения в отношении Табель учета рабочего времени (id_табеля, id_охранника, id_объекта, id_вахты, id_нарушения,  Дата нарушения, id_стоимости, Количество отработанных часов), на которые наложено ограничение типа (дата/время):

Дата нарушения £ Date( ).

На языке реляционной  алгебры эти ограничения запишутся  в виде:

s Дата нарушения  > Date()(Табель учета рабочего времени) = Æ,

т.е. множество кортежей отношения Стоимость нарушения, в которых Дата нарушения больше чем Date ( ), должно быть пустым.

Ограничения общего вида.

Ограничением общего вида называют произвольное требование, которое  должно быть зафиксировано в базе данных. В рассматриваемых нами отношениях ограничения общего вида необходимо задать:

1.В отношении Табель учета рабочего времени для совокупности атрибутов id_нарушения,  Дата нарушения (если id_нарушения пустое, то и дата будет отсутствовать);

s id_нарушение  (Табель учета рабочего времени)= Æ -> p Дата нарушения(Табель учета рабочего времени)= Æ

Информация о работе Разработка ИС отдела кадров ЧОПа