База данных для информационной системы "Туристическое агентство"

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 09.12.2010
Размер файла 1,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Связи «Контакт» функции 2 и «Контакт» функции 3 удалены как избыточные.

4.3 Спецификации ограничений и правил

В данном подразделе локальные ограничения и правила, сформулированные в разд. 3 для локальных ER-моделей, трансформированы применительно к глобальной модели, а именно:

- ограничения атрибутов сущностей (таблица 4.1);

- ограничения кортежей (таблица 4.2);

- ограничения уникальности (таблица 4.3);

- динамические ограничения (таблица 4.4);

- прочие ограничения (таблица 4.5);

- операционные правила (таблица 4.6).

- правила ссылочной целостности (таблица 4.7);

Таблица 4.1

Ограничения атрибутов

Имя атрибута

или агрегата

Источник (табл.3.1)

Тип

Размер

Границы

или

допустимые

значения

Структура

Условие

Значение

по умолчанию

1. Сотрудник.Табельный номер

1.1

строка цифр

6

1)

2. Сотрудник.ФИО

1.2

агрегат

2)

3. Сотрудник.Дата рождения

1.6

дата

3)

4. Сотрудник.Стаж

1.7

положит. целое

вычисл. 4)

5. Телефон.Номер

1.10

строка

5)

6. Телефон.Тип

1.11

строка рус. букв

6)

7. Контакт.Нпп

1.9

положит. целое

инкр. 7)

8. Контакт.Примечание

1.21

текст

<=255

9. Место.Нпп

1.14

положит. целое

инкр. 8)

10. Место.Дата прихода

1.17

дата

11. Место.Дата ухода

1.18

дата

12. Подразделение.Код подразделения

1.15

строка цифр

4

13. Подразделение.Название подразд.

1.16

текст

<=255

14. Карьера.Дата назначения

1.23

дата

15. Карьера.Дата снятия

1.24

дата

16. Должность.Код должности

1.21

строка цифр

6

17. Должность.Название должности

1.22

текст

<=255

18 Карьера.Нпп

1.20

положит. целое

инкр. 9)

19. Клиент.Код

2.1

строка цифр

6

20. Клиент.ФИО

2.2

агрегат

21. Клиент.Дата рождения

2.6

дата

22. Клиент.Пол

2.7

строка рус. букв

10)

23. Клиент.Полных лет

2.8

целое

вычисл. 11)

24.Гражданство.Гражданство Код

2.9

строка цифр

6

25.Гражданство.Гражданство Страна

2.10

текст

<=100

26. Клиент.Категория

2.11

строка рус. букв

12)

27. Клиент.Место работы

2.12

текст

<=255

28. Клиент.E-mail

2.13

текст

<=50

29. Документ.Код

2.20

строка цифр

6

30. Документ.Вид

2.21

строка рус. букв

13)

31. Паспорт.Серия

2.22

текст

<=20

32. Паспорт.Номер

2.23

строка цифр

<=10

33. Паспорт.Дата выдачи / Действителен до

2.24

дата

34. Паспорт.Место выдачи

2.25

текст

<=255

35. Туроператор.Код

3.1

строка цифр

6

36. Туроператор.Наименование

3.2

текст

<=255

37. Туроператор.Юридическое наименование

3.3

текст

<=255

38. Туроператор.ИНН

3.4

строка цифр

12

39. Туроператор.Размер комиссии

3.5

вещественный

40. Туроператор.Размерность комиссии

3.6

строка рус. букв

14)

41. Туроператор.ФИО руководителя

3.7

агрегат

42.Туроператор.Контактное лицо

3.11

агрегат

43. Туроператор.Сайт

3.23

текст

<=50

44. Туроператор.E-mail

3.24

текст

<=50

45. Реквизиты.Нпп

3.26

положит. целое

инкр. 15)

46. Банк.Код банка

3.27

строка цифр

6

инкр. 16)

47. Банк.Наименование банка

3.28

текст

<=255

48. Реквизиты.РС

3.29

строка цифр

20

49. Банк.КС

3.30

строка цифр

20

50. Банк.БИК

3.31

строка цифр

9

51. Реквизиты.Адрес

3.32

текст

<=255

52. Туроператор.Номер в реестре

3.33

строка цифр

20

53. Туроператор.Фин. обеспечение

3.34

текст

<=255

54. Туроператор.Название, адрес гарантирующей организации

3.35

текст

<=255

55. Туроператор.Банковская гарантия

3.36

текст

<=255

56. Туроператор.Договор страхования

3.37

текст

<=255

57. Туроператор.Примечание

3.38

текст

<=255

58. Заказ.Код

4.1

строка цифр

6

58. Заказ.Номер

4.2

строка цифр

6

инкр. 17)

60. Курс.Дата

4.3

дата

61.Курс.Курс доллара

4.4

вещественный

6

19)

62.Курс.Курс евро

4.5

вещественный

6

20)

63. Менеджер

4.6

агрегат

64. Заказ.Количество туристов

4.12

целое

вычисл. 18)

66. Покупатель.Код

4.14

строка цифр

6

67. Покупатель.ФИО

4.15

агрегат

68. Услуга.Код

4.20

строка цифр

6

69. Услуга.Наименование

4.21

текст

<=255

70. Услуга .Статус

4.22

строка рус. букв

21)

71. Валюта.Код валюты

4.31

строка цифр

6

72. Валюта.Наименование валюты

4.32

текст

<=100

73. Услуга.Стоимость к оплате

4.33

денежный

74. Услуга.Размер предоплаты

4.34

денежный

75. Услуга.Дата последней предоплаты

4.35

дата

76. Сотрудник.Категория

+

22)

Примечания:

1) ггппнн, где гг - год поступления; пп - номер подразделения; нн - порядковый номер сотрудника в подразделении;

2) Русскоязычные фамилии, имена, отчества (первая буква прописная, остальные -- строчные; возможны двойные фамилии, разделенные дефисом, многословные имена, разделенные пробелами.

3) Дата рождения > Текущая дата - 100 лет; Дата рождения < Текущая дата - 16 лет.

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

5)Следующее значение (инкремент).

6) Необязательный (цифровой код города) цифровой номер, допустимы разделители-дефисы.

7)«служ», «дом», «мбл», «проч»

8)Следующее значение (инкремент)

9) Следующее значение (инкремент)

10) «мужской», «женский»

11)Вычисляется как разница между текущей датой и датой рождения (в годах)

12) «обычный», «VIP»

13) «российский», «заграничный»

14) «%», «руб.», «долл.», «евро»

15) Следующее значение (инкремент)

16) Следующее значение (инкремент)

17) Следующее значение (инкремент) внутри календарного года

18)Вычисляется как количество неповторяющихся клиентов по всем услугам заказа

19) Принимает значение >0

20) Принимает значение >0

21) «рассматривается», «заказана» и т.д.

22) «менеджер»

Таблица 4.2.

Ограничения кортежей

п/п

Источник

(табл. 3.2)

Группа атрибутов

Ограничение

1

1.1

Сотрудник.Дата рождения, Место.Дата прихода

Дата прихода - Дата рождения >= 18 лет

2

1.2

Место.Дата прихода, Место.Дата ухода

Дата ухода > Дата прихода

3

1.3

Дата рождения, Дата назначения

Дата назначения - Дата рождения >= 18 лет

4

1.4

Дата назначения, Дата снятия

Дата снятия > Дата назначения

5

2.1

Клиент.Дата рождения, Паспорт.Дата выдачи/Действительно до

Дата рождения < Дата выдачи

6

3.1

Туроператор.Размер комиссии, Туроператор.Размерность комиссии

Если Размерность комиссии = ”%”, то Размер комиссии <=100

7

4.1

Заказ.Дата, Услуга.Дата последней предоплаты

Дата <= Дата последней предоплаты

8

4.2

Услуга.Стоимость к оплате, Услуга.Размер предоплаты

Стоимость к оплате >= Размер предоплаты

Таблица 4.3.

Ограничения уникальности

п/п

Источник

(табл.3.3)

Атрибут или группа атрибутов

Среди каких экземпляров какой сущности

или связи имеет место уникальность

Функция 1 «Учет кадров»

1

1.1

Сотрудник.Табельный номер

всех экз. сущности Сотрудник

2

1.2

Сотрудник.ФИО

всех экз. сущности Сотрудник

3

1.3

Контакт.Нпп

всех экз. связи Контакт одного сотрудника

4

1.4

Телефон.Номер

всех экз. сущности Телефон

5

1.5

Место.Нпп

всех экз. связи Место одного сотрудника

6

1.6

Место.Дата прихода

всех экз. связи Место одного сотрудника

7

1.7

Место.Дата ухода

всех экз. связи Место одного сотрудника

8

1.8

Карьера.Нпп

всех экз. связи Карьера одного сотрудника на одном месте

9

1.9

Карьера.Дата назначения

всех экз. связи Карьера одного сотрудника на одном месте

10

1.10

Подразделение.Код подразделения

всех экз. сущности Подразделение

11

1.11

Должность.Код должности

всех экз. сущности Должность

12

2.1

Клиент.Код

всех экз. сущности Клиент

13

2.2

Гражданство .Гражданство Код

всех экз. сущности Гражданство

14

2.5

Документ.Код

всех экз. связи Документ

15

2.6

Паспорт.Серия, Паспорт.Номер

всех экз. сущности Паспорт

16

3.1

Туроператор.Код

всех экз. сущности Туроператор

17

3.2

Туроператор.ИНН

всех экз. сущности Туроператор

18

3.4

Реквизиты.Нпп

всех экз. связи Реквизиты одного туроператора

19

3.5

Банк.Код банка

всех экз. сущности Банк

20

4.1

Заказ.Код

всех экз. сущности Заказ

21

4.2

Заказ.Номер, Дата.Дата

всех экз. сущности Заказ

22

4.3

Заказ.Номер

всех экз. сущности Заказ

23

4.5

Покупатель.Код

всех экз. сущности Покупатель

24

4.6

Услуга.Код

всех экз. связи Услуга

25

4.7

Туроператор.Код

всех экз. сущности Туроператор

26

4.9

Валюта.Код

всех экз. сущности Валюта

Таблица 4.4.

Динамические ограничения

п/п

Источник

(табл. 3.4)

Группа атрибутов

Ограничение

1

1.1

Контакт.Нпп

Нпп < Нпп + 1 -- значение атрибута «Нпп» может лишь увеличиваться на единицу

2

1.2

Место.Нпп

Нпп < Нпп + 1 -- значение атрибута «Нпп» может лишь увеличиваться на единицу

3

1.3

Карьера.Нпп

Нпп < Нпп + 1 -- значение атрибута «Нпп» может лишь увеличиваться на единицу

4

2..1

Телефон.Нпп

Нпп < Нпп + 1 -- значение атрибута «Нпп» может лишь увеличиваться на единицу

5

3.2

Реквизиты.Нпп

Нпп < Нпп + 1 -- значение атрибута «Нпп» может лишь увеличиваться на единицу

6

3.3

Банк.Код банка

Код банка < Код банка + 1 -- значение атрибута «Код банка» может лишь увеличиваться на единицу

7

4.1

Заказ.Номер

Номер < Номер + 1 -- значение атрибута «Номер» может лишь увеличиваться на единицу внутри календарного года. Самый первый номер заказа в году = 1

Таблица 4.5.

Другие ограничения

п/п

Источник

(табл. 3.5)

Группа атрибутов

Ограничение

1

1.1

Место.Дата ухода

Дата ухода, соответствующая данному сотруднику, может быть незаполненной только для последнего места его работы (текущей)

2

1.2

Место.Нпп, Дата прихода,

Дата ухода

Хронологическая последовательность значений Дата прихода, Дата ухода в связях Место, соответствующих одному сотруднику, упорядоченных по Нпп

3

1.3

Карьера.Нпп, Дата назначения

Хронологическая последовательность значений Дата назначения в связях Карьера, соответствующих одному Месту одного сотрудника, упорядоченных по Нпп

4

1.4

Место.Нпп

Последовательность номеров, соответствующая одному Месту одного сотрудника, должна начинаться с 1 и не иметь пропусков

5

1.5

Карьера.Нпп

Последовательность номеров в связи Карьера одного сотрудника должна начинаться с 1 и не иметь пропусков

6

1.6

Сотрудник.Дата рождения,

Место.Дата прихода

для одного сотрудника:

Дата прихода - Дата рождения >= 25 лет

7

4.1

Заказ.Номер, Дата.Дата

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

Таблица 4.6.

Операционные правила

п/п

Источник

(табл. 3.6)

Группа атрибутов

Ограничение

1

1.1

Атрибуты, относящиеся к сотруднику:

Табельный номер, Фамилия, Имя, Отчество, … и т.д.

При удалении записи о каком-либо сотруднике все сведения о нем переносятся в архивную базу с указанием даты-времени, причины удаления и имени пользователя, выполнившего удаление. Эти сведения хранятся в архивной базе не менее 1 года, а затем могут быть автоматически удалены

2

2.1

Атрибуты, относящиеся к клиенту:

Код, Фамилия, Имя, Отчество и т.д.

При изменении каких-либо сведений о клиенте произвести изменения соответствующих атрибутов без сохранения старых сведений

3

3.1

Атрибуты, относящиеся к туроператору

При изменении каких-либо сведений о туроператоре произвести изменения соответствующих атрибутов без сохранения старых сведений

4

4.1

Атрибуты, относящиеся к заказу

При изменении каких-либо сведений о заказе произвести изменения соответствующих атрибутов с сохранением истории изменений

Таблица 4.7.

Ссылочные правила

п/п

Источник

(табл. 3.7)

Родительская

сущность/связь

Дочерняя

сущность/связь

Правило

удаления

Другие

правила

1

1.1

Сотрудник

Место

каскадное

2

1.2

Подразделение

Место

строгое

3

1.3

Место

Карьера

каскадное

4

1.4

Должность

Карьера

строгое

5

1.5

Сотрудник

Контакт

каскадное

6

1.6

Телефон

Контакт

строгое

7

2.1

Клиент

Контакт

каскадное

8

2.3

Клиент

Документ

каскадное

9

2.4

Паспорт

Документ

строгое

10

2.5

Клиент

Гражданство

строгое

11

3.1

Туроператор

Контакт

каскадное

12

3.3

Туроператор

Услуга

строгое

13

3.4

Туроператор

Реквизиты

каскадное

14

3.5

Банк

Реквизиты

строгое

15

4.1

Заказ

Дата

каскадное

16

4.2

Курс

Дата

строгое

17

4.3

Заказ

Покупатель

строгое

18

4.4

Заказ

Услуга

строгое

19

4.5

Заказ

Сотрудник

строгое

20

4.6

Валюта

Услуга

строгое

21

4.7

Клиент

Услуга

строгое

22

4.8

Туроператор

Услуга

строгое

4.4 Вывод

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

5. SQL-код создания таблиц

В данном подразделе в соответствии с реляционной моделью записываются SQL-операторы CREATE TABLE, обеспечивающие создание таблиц базы данных. При этом с помощью средств задания табличных ограничений реализуются стандартные ограничения, специфицированные на предыдущем этапе в таблицах 4.1-4.3 и 4.7. При программировании ориентировались на стандартный SQL2 или на диалект Transact-SQL для Microsoft SQL Server 2000. Результаты приведены в таблице 5.1.

Таблица 5.1. SQL-код создания таблиц базы данных

п/п

Источник

SQL-операторы

1

CREATE TABLE Сотрудник (

2

1 (табл. 4.1)

[Табельный номер] CHAR (6) NOT NULL,

3

2 (табл. 4.1)

[ФИО] VARCHAR (50) NOT NULL,

4

3 (табл. 4.1)

[Дата рождения] DATETIME NOT NULL

5

)

6

CREATE TABLE Покупатель (

7

66 (табл. 4.1)

[Код] CHAR (6) NOT NULL,

8

67 (табл. 4.1)

[ФИО] VARCHAR (50) NOT NULL

9

)

10

CREATE TABLE Клиент (

11

19 (табл. 4.1)

[Код] CHAR (6) NOT NULL,

12

20 (табл. 4.1)

[ФИО] VARCHAR (50) NOT NULL,

13

21 (табл. 4.1)

[Пол] CHAR (7) NOT NULL,

14

22 (табл. 4.1)

[Дата рождения] DATETIME NOT NULL,

15

23 (табл. 4.1)

[Полных лет] AS datediff(year, [Дата рождения],getdate())-1

16

)

17

CREATE TABLE Услуга (

18

68 (табл. 4.1)

[Код] CHAR (6) NOT NULL,

19

69(табл. 4.1)

[Наименование] VARCHAR (255) NOT NULL,

20

70(табл. 4.1)

[Статус] VARCHAR (50) NOT NULL,

21

73(табл. 4.1)

[Стоимость к оплате] MONEY NOT NULL,

22

74(табл. 4.1)

[Размер предоплаты] MONEY NULL,

23

75 (табл. 4.1)

[Дата последней проплаты] DATETIME NULL

24

)

25

CREATE TABLE Заказ (

26

58 (табл. 4.1)

[Код] CHAR (6) NOT NULL,

27

59 (табл. 4.1)

[Номер] CHAR (6) NOT NULL,

28

64 (табл. 4.1)

[Количество туристов] INT NOT NULL

29

)

30

CREATE TABLE Курс (

31

60 (табл. 4.1)

[Дата] DATETIME NOT NULL,

32

61 (табл. 4.1)

[Курс доллара] FLOAT NOT NULL,

33

62 (табл. 4.1)

[Курс евро] FLOAT NOT NULL

34

)

35

CREATE TABLE Валюта(

36

71 (табл. 4.1)

[Код] CHAR (6) NOT NULL,

37

72(табл. 4.1)

[Наименование] VARCHAR (255) NOT NULL

38

)

39

CREATE TABLE Туроператор (

40

35 (табл. 4.1)

[Код] CHAR (6) NOT NULL,

41

36(табл. 4.1)

[Наименование] VARCHAR (255) NOT NULL

42

)

Таблица 5.2. SQL-код создания ограничений уникальности

п/п

Источник

SQL-операторы

1

ALTER TABLE Сотрудник (

2

1 (табл. 4.3)

ADD CONSTRAINT PK_Сотрудник

3

PRIMARY KEY ([Табельный номер]),

4

2 (табл. 4.3)

ADD CONSTRAINT UN_ФИО

5

UNIQUE (ФИО)

6

)

7

ALTER TABLE Покупатель (

8

23 (табл. 4.3)

ADD CONSTRAINT PK_Покупатель

9

PRIMARY KEY ([Код])

10

)

11

ALTER TABLE Клиент (

12

12 (табл. 4.3)

ADD CONSTRAINT PK_Клиент

13

PRIMARY KEY ([Код])

14

)

15

ALTER TABLE Заказ (

16

20 (табл. 4.3)

ADD CONSTRAINT PK_Заказ

17

PRIMARY KEY ([Код]),

18

22 (табл. 4.3)

ADD CONSTRAINT UN_Номер

19

UNIQUE (Номер)

20

)

21

ALTER TABLE Курс (

22

21 (табл. 4.3)

ADD CONSTRAINT PK_Курс

23

PRIMARY KEY ([Дата])

24

)

25

ALTER TABLE Туроператор (

26

25 (табл. 4.3)

ADD CONSTRAINT PK_Туроператор

27

PRIMARY KEY ([Код])

28

)

29

ALTER TABLE Услуга (

30

24 (табл. 4.3)

ADD CONSTRAINT PK_Услуга

31

PRIMARY KEY ([Код])

32

)

33

ALTER TABLE Валюта (

34

26 (табл. 4.3)

ADD CONSTRAINT PK_Валюта

35

PRIMARY KEY ([Код])

36

)

Таблица 5.3. SQL-код создания ограничений атрибутов и кортежей

п/п

Источник

SQL-операторы

1

ALTER TABLE Сотрудник (

2

2 (табл. 4.1)

ADD CONSTRAINT CH_ФИО

3

CHECK (ФИО BETWEEN “А” AND “яя”)

4

)

5

ALTER TABLE Клиент (

6

22 (табл. 4.1)

ADD CONSTRAINT CH_Пол

7

CHECK ([Пол] in 'мужской','женский')

8

)

9

ALTER TABLE Услуга (

10

70 (табл. 4.1)

ADD CONSTRAINT CH_Статус

11

CHECK ([Пол] in 'рассматривается','заказана')

12

)

Таблица 5.4. SQL-код создания ограничений ссылочной целостности

п/п

Источник

SQL-операторы

1

ALTER TABLE Сотрудник (

2

19 (табл. 4.7)

ADD CONSTRAINT FK_Заказ

3

FOREIGN KEY ([Код])

4

REFERENCES Заказ ([Код])

5

ON DELETE NO ACTION

6

ON UPDATE NO ACTION

7

)

8

ALTER TABLE Покупатель (

9

17 (табл. 4.7)

ADD CONSTRAINT FK_Заказ

10

FOREIGN KEY ([Код])

11

REFERENCES Заказ ([Код])

12

ON DELETE NO ACTION

13

ON UPDATE NO ACTION

14

)

15

ALTER TABLE Дата (

16

15 (табл. 4.7)

ADD CONSTRAINT FK_Заказ

17

FOREIGN KEY ([Код])

18

REFERENCES Заказ ([Код])

19

ON DELETE CASCADE

20

ON UPDATE CASCADE,

21

16 (табл. 4.7)

ADD CONSTRAINT FK_Курс

22

FOREIGN KEY ([Дата])

23

REFERENCES Курс ([Дата])

24

ON DELETE NO ACTION

25

ON UPDATE NO ACTION

26

)

27

ALTER TABLE Услуга (

28

21(табл. 4.7)

ADD CONSTRAINT FK_Клиент

29

FOREIGN KEY ([Код])

30

REFERENCES Клиент ([Код])

31

ON DELETE NO ACTION

32

ON UPDATE NO ACTION,

33

22 (табл. 4.7)

ADD CONSTRAINT FK_Туроператор

34

FOREIGN KEY ([Код])

35

REFERENCES Туроператор ([Код])

36

ON DELETE NO ACTION

37

ON UPDATE NO ACTION,

38

20 (табл. 4.7)

ADD CONSTRAINT FK_Валюта

39

FOREIGN KEY ([Код])

40

REFERENCES Валюта ([Код])

41

ON DELETE NO ACTION

42

ON UPDATE NO ACTION,

43

18 (табл. 4.7)

ADD CONSTRAINT FK_Заказ

44

FOREIGN KEY ([Код])

45

REFERENCES Заказ ([Код])

46

ON DELETE NO ACTION

47

ON UPDATE NO ACTION

48

)

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.