База данных платного спортивного зала

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    344,68 Кб
  • Опубликовано:
    2013-04-01
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

База данных платного спортивного зала














База данных платного спортивного зала

Введение

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

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

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

1. Описание предметной области

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

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

Данный спортивный клуб предлагает широкую систему клубных карт с гибкой системой скидок. Любая из карт дает возможность клиенту пользоваться всеми услугами клуба с учётом предоставляемых клубом скидок. Например, Золотая карта (VIP) - годовая клубная карта стоимостью 50.000 руб, которая даёт возможность посещать спортивный клуб и пользоваться скидками 25% на все услуги клуба. Все карты для учета их количества полежат нумерации.

Все услуги спортивного клуба оказываются оказываются индивидуальным инструктором. При этом клиент может не иметь инструктора и заниматься индивидуально. Инструктор же в любом случае будет иметь хотя бы одного клиента. Каждый инструктор может иметь определенное звание( кмс, мс, мсмк).

.1 Требования к данным

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

Клиент:

Ø Паспортные данные клиента

Ø ФИО

Ø Дата регистрации

Ø История посещений

Ø История оплаты

Ø Телефон

Услуги:

Ø Наименование услуги

Ø Стоимость месячного абонемента

Ø Стоимость разового посещения

Ø Место проведения

Ø Телефон

Ø Адрес

Инструктор:

Ø Паспортные данные иснтруктора

Ø ФИО инструктора

Ø Стаж работы

Ø Телефон

Ø Звания и награды

Клубная карта:

Ø Дата выдачи

Ø Номер карты

Ø Срок действия

Ø Скидка на услуги и товары

Спортивное питание:

Ø Наименование

Ø Стоимость

Ø Количество упаковок

Ø Инструкция по применению

2. Инфологическое проектирование

На данном этапе проектирования базы данных выделим необходимые сущности и определим взаимосвязь между ними.

На основании описания предметной области и требований к данным, можно выделить следующие сущности:

ü Услуга

ü Клиент

ü Инструктор

ü Спортивное питание

ü Клубная карта

Взаимосвязь сущностей определим следующим образом:

Сущность “Услуга” и “Клиент” взаимосвязаны по типу “многие ко многим”, поэтому необходимо ввести ассоциацию, т.к. в нашем спортивном зале клиент может получать несколько услуг и эти услуги также могут получать и другие клиенты.

Сущность “Клиент” также связана и с другими сущностями.

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

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

Связь с сущностью “Инструктор” также обозначена необязательной, т.к. клиент вправе проводить свои занятия, руководствуясь своими программами. Связь “Инструктора” с “Клиентом” также необязательная и множественная, т.к., возможна ситуация, когда инструктору ещё не дали клиентов.

Для связи сущностей “Клиент” и “Услуга”, а также “Клиент” и “Спортивное питание” необходимо ввести ассоциации, чтобы избавиться от связей типа “многие ко многим”.

) Сущность “Клиент” определяет самого клиента и его данные. Свойства:

а) ФИО клиента - свойство предназначено для хранения фамилии, имени и отчества клиента.

б) Паспортные данные - используется для хранения серии и номера паспорта клиента.

в) Дата регистрации - предназначается для отслеживания регистрации клиентов.

г) История посещений - предназначено для хранения информации о посещениях спортзала клиентом.

д) Сведения об оплате - свойство хранит информацию об оплате предоставленных клиенту услуг.

е) Телефон - предназначено для хранения телефона клиента

) Сущность “Инструктор” определяет предоставляемого клиенту инструктора. Свойства:

а) Паспортные Д. инструктора - предназначено для хранения серии и номера паспорта инструктора.

б) ФИО инструктора - хранятся фамилия, имя и отчество инструктора.

в) Стаж работы - предназначено для хранения данных о сроке работы инструктора.

г) Телефон - предназначено для хранения телефона инструктора.

д) Звания и награды - содержит возможные звания и награды, которыми обладает инструктор.

) Сущность “Клубная карта” определяет карту, которой может обладать клиент. Свойства:

а) Паспортные данные - хранятся серия и номер паспорта клиента.

б) Дата выдачи - предназначено для хранения даты выдачи карты клиенту.

в) Номер карты - свойство хранит индивидуальный номер карты клиенты.

г) Срок действия - хранится дата конца срока действия карты.

д) Скидка на услуги и товары - хранится фиксированная скидка на услуги и товары, предлагаемые спортзалом.

) Сущность “Спортивное питание” определяет виды продуктов спортивного питания, предлагаемые спортзалом. Свойства:

а) Наименование - хранится название продукции.

б) Стоимость - хранится цена за единицу продукции.

в) Количество упаковок - хранится имеющееся в наличии количество упаковок.

г) Инструкция по применению - хранится сведения об правильном использовании продукта.

) Сущность “Услуга” описывает предлагаемы спортзалом услуги. Свойства:

а) Наименование услуги - свойство предназначено для хранения названия предлагаемой услуги.

б) Стоимость месяч. Абонемента - хранится цена за месячный абонемент.

в) Стоимость разов. Посещения - хранится цена за разовое посещение спортзала.

г) Место проведения - хранится название места проведения услуги.

д) Телефон - хранится телефон того места, где проводится услуга.

е) Адрес - хранится адрес места предоставления услуги.

Введенные ассоциации

) Список потребляемого питания - дополнительное отношение, описывающее товары, которые клиент приобретает. Свойства:

а) Паспортные данные - хранятся серия и номер паспорта клиента.

б) Наименование - хранится название используемого клиентом продукта.

в) Дата применения - хранится дата употребления клиентом купленного товара.

г) Количество потреблённого - хранится количество употреблённого клиентом товара.

) Предоставление услуги - дополнительное отношение, определяющее данные по предоставляемой клиенту услуге. Свойства:

а) Паспортные данные - хранятся серия и номер паспорта клиента.

б) Наименование услуги - хранится название предоставленной услуги.

в) Дата проведения - хранится дата проведения услуги.

Рисунок 2.1 - Графическое представление инфологической модели

3. Даталогическое проектирование

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

Переход к даталогической модели можно осуществить в следующей последовательности:

Для связи сущностей “клиент” и “спортивное питание” введём дополнительную ассоциацию “Список потребляемого питания”, а ассоциация “Предоставление услуги” перейдёт в сущность, связывающую сущности “клиент” и “услуга”.

В каждой таблице были введены первичные и внешние ключи.

В сущности “Клиент” определён первичный ключ “паспортные данные”, и посредством этого ключа осуществлена связь с сущностями “Клубная карта”, “Предоставление услуги”, “Список потребляемого питания”. С сущностью “Инструктор” связь реализуется по первичному ключу “паспортные данные инструктора”.

.1 Назначение отношений и атрибутов отношений

) Клиент - главное отношение, описывающее самого клиента

а) Паспортные данные - первичный ключ, уникальное числовое значение, числовая строка.

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

в) ФИО - текстовая строка.

г) Дата регистрации - дата регистрации клиента в базе спортзала.

д) История посещений - текстовое поле (“memo”).

е) История оплаты - текстовое поле (“memo”).

ж) Телефон - символьная строка (для возможности введения номеров, начинающихся с “+7”).

) Инструктор - описывает инструктора. предоставляемого клиенту

а) Паспортные Д. инструктора - первичный ключ, числовая строка, уникальное значение.

б) ФИО инструктора - текстовая строка.

в) Стаж работы - числовая строка.

г) Телефон - символьная строка (для возможности введения номеров, начинающихся с “+7”).

д) Звания и награды - текстовая строка, позволяет вводить значения кмс, мс, мсмк.

) Клубная карта - отношение описывает карту, предоставляющую владельцу определённую скидку на услуги.

а) Паспортные данные - первичный ключ, уникальное числовое значение, числовая строка..

б) Дата выдачи - дата выдачи карты клиенту.

в) Номер карты - числовая строка, уникальное значение.

г) Срок действия - указывается дата конца срока действия карты.

д) Скидка на услуги и товары - указывается фиксированная скидка.

) Список потребляемого питания - дополнительное отношение, описывающее товары, которые клиент приобретает, соединяет таблицы “клиент” и ”спортивное питание”.

а) Паспортные данные - внешний ключ по отношению к таблице “Клиент”.

б) Наименование - название купленного товара, внешний ключ.

в) Дата применения - дата употребления клиентом купленного товара.

г) Количество потреблённого - указывается в упаковках, числовая строка

) Спортивное питание - отношение, описывающее виды продуктов спортивного питания, предлагаемые спортзалом.

а) Наименование - первичный ключ для данной таблицы, текст.

б) Стоимость - цена за единицу товара, числовая строка.

в) Количество упаковок - имеющееся в наличии количество упаковок, числовая строка.

г) Инструкция по применению - текстовое поле (“memo”).

) Предоставление услуги - дополнительное отношение, определяющее данные по предоставляемой клиенту услуге.

а) Паспортные данные - пасп. данные клиента, внешний ключ по отношению к таблице “Клиент”.

б) Наименование услуги - внешний ключ для связи с таблицей “Услуга”.

в) Дата проведения - дата проведения услуги.

) Услуга - отношение, описывающее предлагаемый спортзалом услуги

а) Наименование услуги - первичный ключ, символьная строка.

б) Стоимость месяч. Абонемента - числовая строка.

в) Стоимость разов. Посещения - числовая строка.

г) Место проведения - текстовая строка.

д) Телефон - символьная строка (для возможности введения номеров, начинающихся с “+7”).

е) Адрес - адрес места предоставления услуги, символьная строка.

3.2 Характеристики атрибутов

Название

Тип

Размерность

Уникальность

Обязательность

Клиент

Паспортные данные

Числовой

11

+

+

Паспортные Д. инструктора

Числовой

11

+

+

ФИО

Текстовый

40

-

+

Дата регистрации

Дата

8

-

+

История посещений

Текстовый

4

-

+

История оплаты

Текстовый

4

-

+

Телефон

Симольный

11

-

-

Инструктор

Паспортные Д. инструктора

Числовой

11

+

+

ФИО инструктора

Текстовый

40

-

+

Стаж работы

Целый

4

-

-

Телефон

Симольный

11

-

-

Звания и награды

Символьный

40

-

-

Клубная карта

Паспортные данные

Числовой

11

+

+

Дата выдачи

Дата

8

-

+

Номер карты

Целый

4

+

+

Срок действия

Дата

8

-

+

Скидка на услуги и товары

Символьный

10

-

+

Список потребляемого питания

Паспортные данные

Числовой

11

+

+

Наименование

Символьный

30

-

+

Дата применения

Дата

8

-

+

Количество потреблённого

Целый

4

-

-

Спортивное питание

Наименование

Символьный

30

-

+

Стоимость

Числовой

10

-

+

Количество упаковок

Целый

4

-

+

Инструкция по применению

Текстовый

4

-

+

Предоставление услуги

Паспортные данные

Числовой

11

+

+

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

Символьный

30

-

+

Дата проведения

Дата

8

-

-

Услуга

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

Символьный

30

-

+

Стоимость месяч. Абонемента

Числовой

10

-

-

Стоимость разов. Посещения

Числовой

10

-

-

Место проведения

Символьный

20

-

+

Телефон

Символьный

11

-

-

Адрес

Символьный

30

-

+


Рисунок 3.1 - Даталогическая модель

4. Реализация ИС

.1 Описание полей таблиц

Название в ДМ

Название в ФМ

Клиент (Client)

Паспортные данные

passport

Паспортные Д. инструктора

passport_ins

ФИО

fio

Дата регистрации

date_reg

История посещений

history_pos

История оплаты

Телефон

telefon

Инструктор (instruktor)

Паспортные Д. инструктора

passport_ins

ФИО инструктора

fio_ins

Стаж работы

staj

Телефон

telefon

Звания и награды

zvania_nagrady

Клубная карта (klub_kart)

Паспортные данные

passport

Дата выдачи

date_vyda4

Номер карты

num_karty

Срок действия

srok_konec

Скидка на услуги и товары

skidka

Список потребляемого питания (spisok_food)

Паспортные данные

passport

Наименование

name

Дата применения

date_prim

Количество потреблённого

kol_potr

Спортивное питание (sport_food)

Наименование

name

Стоимость

price

Количество упаковок

kol_upak

Инструкция по применению

instrukcia

Предоставление услуги (predostavlenie_uslugi)

Паспортные данные

passport

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

name

Дата проведения

date_prov

Услуга (usluga)

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

name

Стоимость месяч. Абонемента

stoim_month

Стоимость разов. Посещения

stoim_one

Место проведения

mesto_prov

Телефон

telefon

Адрес

adres


.2 Реализация БД для СУБД Visual FoxPro

При создании БД на Visual FoxPro окно конструктора БД выглядит следующим образом (Рисунок 4.1.1).

Рисунок 4.1 - Окно конструктора БД

Как видно из рисунка БД включает в себя 7 таблиц(Client, Instruktor, club_kart, spisok_food, sport_food, predostavlenie_uslugi, usluga)

4.3 Описание полей таблиц

Таблица

Описания полей


Name

Type

Width

Client

passport

Double

8


passport_ins

Double

8


fio

Character

40


date_reg

Date

8


history_pos

Memo

4


history_opl

Memo

4


telefon

Character

11

instruktor

passport_ins

Double

8


fio_ins

Character

40


staj

Integer

4


telefon

Character

11


zvania_nagrady

Character

40

klub_kart

passport

Double

8


date_vyda4

Date

8


num_karty

Integer

4


srok_konec

Date

8


skidka

Float

10

spisok_food

passport

Double

8


name

Character

30


date_prim

Date

8


kol_potr

Float

4

sport_food

name

Character

40


price

Float

10


kol_upak

Integer

4


instrukcia

Memo

4

predostavlenie_uslugi

passport

Double

8


name

Character

30


date_prov

Date

8

usluga

name

Character

30


stoim_month

Float

5


stoim_one

Float

5


mesto_prov

Character

20


telefon

Character

11


adres

Character

30


4.4 Описание индексов таблиц

Таблица

Описания индексов


Name

Type

Expression

Client

PASSPORT

Primary

passport


PASSPORT_INS

Regular

passport_ins

instruktor

PASSPORT_INS

Primary

passport_ins

club_kart

PASSPORT

Primary

passport

spisok_food

Name

Regular

name


PASSPORT

Regular

passport

sport_food

Name

Candidate

name

predostavlenie_uslugi

Name

Regular

name


PASSPORT

Regular

passport

usluga

Name

Primary

name


4.5 Описание ограничений целостности

Для всех таблиц определены первичные и внешние индексы в соответствии с даталогической моделью.

Первичные индексы для всех таблиц состоят из одного поля.

В окне конструктора условий целостности данных задали условие ограничение ссылочной целостности (Рисунок 4.2).

Определим правила для поддержки отношений следующим образом.

1)   Выберем реакции для попытки изменения в родительской таблице значения ключа.

Для отношения Client - club_kart при изменении в родительской таблице Client значение ключевого поля - passport должно автоматически осуществлятся каскадное изменение passport в таблице club_kart(CASCADE)

Аналогичный тип действий задается в отношении Client - spisok_food, Client - predostavlenie_uslugi.

Аналогичный тип действий задается в отношении Instruktor - Client, spisok_food - sport_food, usluga - predostavlenie_uslugi.

2)   Определим реакции для попытки удаления записи в родительской таблице.

Для отношений Client - club_kart, Client - predostavlenie_uslugi, Client - spisok_food, а также usluga - predostavlenie_uslugi - реакция CASCADE, поскольку удаление записи в родительской таблице должны автоматически удаляться связанные записи в дочерней.

Для отношений же Instruktor - Client и spisok_food - sport_food данное правило должно игнорироваться (IGNORE).

)       Определим реакции для попытки вставки записи в дочерней таблице.

Для отношений Instruktor - Client и Client - club_kart следует игнорировать вставку записи в родительской таблице (IGNORE). В остальных соотношениях необходимо правило запрета на удаление записи в главной таблице, пока к ней привязаны записи подчинённых таблиц.

Рисунок 4.2 - Ограничения целостности

.6 Реализация БД для СУБД InterBase

CREATE DATABASE "c:\BaseSport.gdb""SYSDBA" PASSWORD "masterkey" ;table SportFood //Создание таблцы SportFood

(

nazvanie char(40) not null primary key, //Создание поля символьного типа на 40 символов, первичный ключ

price float, //создание поля, вещественного типа

colvo integer, //создание поля целочисленного типа

instruction char(200) //создание символьного поля на 200 символов

);table Instructor//аналогично предыдущему

(_ins float not null primary key,char(40),integer,integer, char(100)

);; //применение вышеописанногоtable Client

(float not null primary key,_ins float not null,char(40),_reg date,_pos blob, //создание поля массива данных

history_opl blob,integer, key(passport_ins) references instructor(passport_ins) update cascade//создание связи, изменяющейся при обновлении

);;table Usluga

(char(40) not null primary key,_month float,_one float,char(40),integer,char(40)

);;table Run_Usluga

(float not null,char(40) not null,_prov date,key (passport) references Client(passport) delete cascade on update cascade, создание связи, изменяющейся при обновлении и при удалении записи

foreign key (nazvanie) references Usluga(nazvanie)delete cascade on update cascade

);table ClubKart

(float,_vydachi date,_karty integer,_deistviya integer,float, key (passport) references Client(passport)delete cascade on update cascade

);table SpisokFood

(float not null,char(40) not null,_prim date,integer,key (passport) references Client(passport)delete cascade on update cascade,key (nazvanie) references SportFood(nazvanie)delete cascade on update cascade

);;

Таблицы создаются с помощью оператора CREATE TABLE , внутри которого перечисляются все столбцы таблицы, при этом каждому столбцу присваиваем определенный тип (например - INTEGER), ограничения столбца (например - NOT NULL), ограничение ссылочной целостности (например - REFERENCES usluga ON DELETE CASCADE ON UPDATE NO ACTION), ограничивающие условия (например - CHECK(dlitelnost>=0.5 AND dlitelnost<=3)). Ограничения ссылочной целостности соответствуют аналогичному ограничению при реализации БД на Visual FoxPro.

Аналогично определены и первичные ключи: pasport FLOAT NOT NULL PRIMARY KEY - обьявление столбца первичным ключом.

Заключение

программа база спортивный

В ходе выполнения данной курсовой работы была разработана база данных «Учет услуг, клиентов, инструкторов платного спортивного зала» на базе СУБД Visual FoxPro 5.0 и InterBase 5.0.

При разработке были приобретены навыки инфологического, даталогического проектирований, а также освоены основные методы проектирования приложений баз данных в среде Visual FoxPro 5.0 InterBase.

Библиографический список

1 Курс лекций по дисциплине «Информационное обеспечение систем управления», Кислицын А.Б., 2007.

2 Кислицын А.Б. Лабораторный практикум по работе в среде Visual FoxPro. - Киров:изд-во ВятГУ, 2005.- 96с.

3 FOXHELP.HLP

Похожие работы на - База данных платного спортивного зала

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!