Проектирование БД учета клиентов финес-клуба. Инфологическая модель БД. Схемы простых объектов и их свойства, страница 4

1

ID Клубной карты

Абонемент/

разовое посещение

Стоимость

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

Вид абонемента

   1

ID занятия

1

ID Администратора

Скидка

Итог

Дата заключения договора

ID Тренера

Фамилия

Имя

Отчество

Категория

Телефон

Стаж

   1

ID Занятия

Зал проведения занятия

Длительность занятия

Название занятия

ID Администратора

ФИО

Телефон

6.1. Расчет объема иерархической БД

Расчет длины сегмента

=+

1) сегмент “клиент” = 2 + 20 + 15 + 15 + 50 + 11 + 4 = 117 байт

2) сегмент “клубная карта” = 2 + 4 + 10 + 2 + 20 + 4 = 42 байт

3) сегмент “занятия-1” = 1 + 4 = 5 байт

4) сегмент “администратор-1” = 1 + 1 + 4 + 7 = 13 байт

5) сегмент “администратор-2” = 1 + 40 + 11 = 52 байт

6) сегмент “тренер” = 1 + 20 + 15 + 15 + 1 + 1 + 11 + 4 = 41 байт

7) сегмент “занятие-2” = 1 + 15 + 1 + 20 + 4 = 41 байт

Количествозаписейвсегменте

1) сегмент “клиент” = 10 строк

2) сегмент “клубная карта” = 13 строк

3) сегмент “занятия-1” = 5 строк

4) сегмент “администратор-1” = 5 строк

5) сегмент “администратор-2” = 5 строк

6) сегмент “тренер” = 7 строк

7) сегмент “занятие-2” = 5 строк

Объёмдерева

=  +  +  ….

1)  = 117 * 10 + 42 * 10 * 13 + 5 * 10 * 13 * 5 + 13 * 10 * 13 * 5 * 5 = 1170 + 5460 + 3250 + 42250 = 52130 байт

2)  = 68 * 7 + 41 * 7 * 5 = 476 + 1435 = 1911 байт

3)  = 52 * 5 = 260 байт

Объём БД

 =   = 52130 + 1911 + 260 = 54301 байт  52,1 Кб

7. SQL-запросы

7.1. Создание таблиц

Таблица  договор

create table dogovor_fit

(clientID number(4)

CONSTRAINT clientID_fk references

informCL_fit(clientid),

kartaID number(4)

CONSTRAINT kartaID_fk references

Karta_fit(kartaID),

adminID number(2)

CONSTRAINT adminID_fk references

administrator_fit(adminID),

zanID number(2)

CONSTRAINT zanID_fk references

vidzanyatiya_fit(zanID),

skidka number(2),

itog number(5),

data date);

SQL> desc dogovor_fit;

Name                            Null?    Type

------------------------------- -------- ---CLIENTID                                 NUMBER(4)

KARTAID                                  NUMBER(4)

ADMINID                                  NUMBER(2)

ZANID                                    NUMBER(2)

SKIDKA                                   NUMBER(2)

ITOG                                     NUMBER(5)

DATA                                     DATE

Таблица клубная карта

create table karta_fit

(kartaID number(4)

CONSTRAINT kartaID_pk Primary key,

stoumost number(5),

pocesh varchar2(10),

srokdeistvdog number(4),

vidabonem varchar2(20));

SQL> DESC  karta_fit;

Name                                Null?              Type

------------------------------- -----------------   ----------------        

KARTAID                         NOT NULL NUMBER(4)

STOUMOST                                         NUMBER(5)

POCESH                                              VARCHAR2(10)

SROKDEISTVDOG                             NUMBER(4)

VIDABONEM                                     VARCHAR2(20)

Таблица администратор

create table administrator_fit

(adminID number(2)

CONSTRAINT adminID_pk Primary key,

fio varchar2(40),

teladmin VARCHAR2(11));

SQL> desc administrator_fit;

Name                            Null?           Type

------------------------------- --------        ---------------ADMINID                   NOT NULL NUMBER(2)

FIO                                                VARCHAR2(40)

TELADMIN                                   VARCHAR2(11)

Таблица личная информация о клиенте

Create table informCL_fit

(clientID number(4)

CONSTRAINT clientID_pk Primary key,

famkl varchar2(20),

namekl varchar2(15),

otchkl varchar2(15),

address varchar2(50),

telkl VARCHAR2(11));

SQL> desc informCL_fit;

Name                            Null?          Type

------------------------------- --------        ------------CLIENTID                    NOT NULL NUMBER(4)