Альтернативный ключ – это атрибут (или группа атрибутов), несовпадающий с первичным ключом и уникально идентифицирующий экземпляр объекта.
Для каждой сущности определим атрибуты, которые будем хранить в БД.
Атрибуты, включаемые в состав БД, приведены в таблице 2.1. информационная модель после третьего этапа проектирования приведена на рис. 2.13
Таблица 2.1. Атрибуты и первичные ключи сущностей информационной модели
Сущность | Первичный ключ | Атрибуты |
ЖИЛЬЦЫ | Табельный номерУлицаДомКвартира | Табельный номерУлицаДомКвартираФ.И.ОНомер телефонаКвадратные метрыЛьготаКод льготы№ удостоверения (по льготе)Дата, с которой будет начисляться льготаДата окончания начислений по льготеСтарое значение счетчикаНовое значение счетчикаОпределение плательщикаКоличество проживающих (в 1-й квартире)Дата оплаты за предоставленные услугиОстаток денежных средствВвод оплатыНачисления квартплаты (Есть\Нет)Начисления радио (Есть\Нет)Начисления телефона (Есть\Нет)Начисления горячей воды (Есть\Нет)Начисления холодной воды (Есть\Нет)Начисления коммунальн. услуг (Есть\Нет)Начисления отопления (Есть\Нет)Начисления электроэнергии (Есть\Нет) |
ЛЬГОТА | Код льготы | Код льготыОписание льготыПроцентная ставка по квартплатеПроцентная ставка по радиоПроцентная ставка по телефонуПроцентная ставка по горячей водеПроцентная ставка по холодной водеПроцентная ставка по ком. услугамПроцентная ставка по отоплению |
ТАРИФ | Описание тарифаСтавка оплатыПорядок начисления (на 1-го чел.\ на 1 м2)Выбор: на 1-го человека или на 1 м2 | |
Сущность | Первичный ключ | Атрибуты |
СТАВКИ | Табельный номер | Табельный номерОписание льготыСтавка по квартплатеСтавка по радиоСтавка по телефонуСтавка по горячей водеСтавка по холодной водеСтавка по коммунальным услугамСтавка по отоплениюСтавка по электроэнергии |
НАЧИСЛЕНИЯ | Табельный номерУлицаДомКвартира | Табельный номерУлицаДомКвартираКвадратные метрыКод льготыВыбор плательщикаКоличество проживающихЛьгота (Да\Нет)Начисления квартплаты (Да\Нет)Начисления радио (Да\Нет)Начисления телефона (Да\Нет)Начисления гор. Воды (Да\Нет)Начисления хол. Воды (Да\Нет)Начисления ком. Услуг (Да\Нет)Начисления эл. Энергии (Да\Нет)Начисления отопления (Да\Нет)Сумма начисления квартплатыСумма начисления телефонаСумма начисления радиоСумма начисления ком.услугСумма начисления отопленияСумма начисления эл\энергииСумма начисления гор.водыСумма начисления хол.водыНач. квартплаты (по льготе) на 1-го чел.Нач.телефона (по льготе) на 1-го чел.Нач. радио (по льготе) на 1-го чел.Нач. ком.услуг (по льготе) на 1-го чел.Нач. отопления (по льготе) на 1-го чел.Нач. эл\энергии (по льготе) на 1-го чел.Нач. гор.воды (по льготе) на 1-го чел. Нач. хол.воды (по льготе) на 1-го чел.Сумма нач. квартплаты по льготеСумма нач. гор. Воды по льготеСумма нач. хол. Воды по льготеСумма нач. ком. Услуг по льготеСумма нач. отопления по льготеСумма нач. телефона по льготеСумма нач. радио по льготеИтог сумм начислений по льготеИтог сумм начисленийИтоговая сумма к оплате |
Этап 4. Физическое описание модели
На этом этапе составим базы данных, которые будут в дальнейшем реализовываться в СУБД. Назначения имен БД и их атрибутов отражены в табл. 2.2.
Таблица 2.2. Структура, используемых Баз Данных.RABOT.DBF (Жильцы)
Имя | Тип | Длина | примечание | |
TAB | N | 4 | 0 | Табельный номер |
FAM | C | 40 | - | Ф.И.О |
TEL | N | 8 | 0 | Номер телефона |
YL | C | 15 | - | Улица |
DOM | С | 3 | 0 | Дом |
KW_RA | С | 3 | 0 | Квартира |
KV_M | N | 6 | 2 | Квадратные метры |
N_LG | N | 1 | 0 | Код льготы |
N_YD | С | 9 | 0 | Номер удостоверения (по льготе) |
DAT_C | D | 8 | - | Дата, с которой будет начисляться льгота |
DAT_PO | D | 8 | - | Дата окончания начислений по льготе |
ELEC | N | 6 | 0 | Старое значение счетчика |
ELEC1 | N | 6 | 0 | Новое значение счетчика |
OR_R | N | 1 | 0 | Определение плательщика |
KOL_VO | N | 2 | 0 | Количество проживающих |
D_OPL | D | 8 | - | Дата оплаты |
OST_K | N | 8 | 2 | Остаток денежных средств |
OPL_TA | N | 8 | 2 | Ввод оплаты |
LGOT | L | 1 | - | Льгота (Да\Нет) |
RAD_L | L | 1 | - | Начисления радио (Да\Нет) |
TEL_L | L | 1 | - | Начисления телефона (Да\Нет) |
KW_L | L | 1 | - | Начисления квартплаты (Да\Нет) |
G_W_L | L | 1 | - | Начисления гор. воды (Да\Нет) |
X_W_L | L | 1 | - | Начисления хол. воды (Да\Нет) |
K_YS_L | L | 1 | - | Начисления ком. услуг (Да\Нет) |
EL_C_L | L | 1 | - | Начисления эл. энергии (Да\Нет) |
OTOP_L | L | 1 | - | Начисления отопления (Да\Нет) |
OPLATA.DBF (Начисления)
Имя | Тип | Длина | Примечание | |
TAB | N | 4 | 0 | Табельный номер |
YL | C | 15 | - | Улица |
DOM | С | 3 | 0 | Дом |
KW_RA | С | 3 | 0 | Квартира |
KV_M | N | 6 | 2 | Квадратные метры |
N_LG | N | 1 | 0 | Код льготы |
OR_R | N | 1 | 0 | Выбор плательщика |
KOL_VO | N | 2 | 0 | Количество проживающих |
DAT_C | D | 8 | - | Дата, с которой будет начисляться льгота |
DAT_PO | D | 8 | - | Дата окончания начислений по льготе |
ELEC | N | 6 | 0 | Старое значение счетчика |
ELEC1 | N | 6 | 0 | Новое значение счетчика |
TEL_L | L | 1 | - | Начисления телефона (Да\Нет) |
G_W_L | L | 1 | - | Начисления гор. Воды (Да\Нет) |
X_W_L | L | 1 | - | Начисления хол. Воды (Да\Нет) |
K_YS_L | L | 1 | - | Начисления ком. Услуг (Да\Нет) |
EL_C_L | L | 1 | - | Начисления эл. Энергии (Да\Нет) |
OTOPL_L | L | 1 | - | Начисления отопления (Да\Нет) |
KW_PL | N | 8 | 2 | Сумма начисления квартплаты |
TEL_R | N | 8 | 2 | Сумма начисления телефона |
RAD_R | N | 8 | 2 | Сумма начисления радио |
K_YSL | N | 8 | 2 | Сумма начисления ком.услуг |
OTOPL | N | 8 | 2 | Сумма начисления отопления |
EL_C | N | 8 | 2 | Сумма начисления эл\энергии |
G_W | N | 8 | 2 | Сумма начисления гор.воды |
X_W | N | 8 | 2 | Сумма начисления хол.воды |
KW_PLL | N | 8 | 2 | Нач. квартплаты (по льготе) на 1-го чел. |
TEL_RL | N | 8 | 2 | Нач.телефона (по льготе) на 1-го чел. |
RAD_RL | N | 8 | 2 | Нач. радио (по льготе) на 1-го чел. |
K_YSLL | N | 8 | 2 | Нач. ком.услуг (по льготе) на 1-го чел. |
OTOPLL | N | 8 | 2 | Нач. отопления (по льготе) на 1-го чел. |
EL_CL | N | 8 | 2 | Нач. эл\энергии (по льготе) на 1-го чел. |
G_WL | N | 8 | 2 | Нач. гор.воды (по льготе) на 1-го чел. |
X_WL | N | 8 | 2 | Нач. хол.воды (по льготе) на 1-го чел. |
*SUM_KW | N | 8 | 2 | Сумма нач. квартплаты по льготе |
*SUM_GW | N | 8 | 2 | Сумма нач. гор. Воды по льготе |
*SUM_XW | N | 8 | 2 | Сумма нач. хол. Воды по льготе |
*SUM_KYSL | N | 8 | 2 | Сумма нач. ком. Услуг по льготе |
*SUM_OT | N | 8 | 2 | Сумма нач. отопления по льготе |
*SUM_TL | N | 8 | 2 | Сумма нач. телефона по льготе |
*SUM_RD | N | 8 | 2 | Сумма нач. радио по льготе |
*SUM_IT | N | 9 | 2 | Итог сумм начислений по льготе |
ITOG_N | N | 9 | 2 | Итог сумм начислений |
ITOG_L | N | 9 | 2 | Итог сумм начислений по льготе |
ITOG | N | 9 | 2 | Итог сумм начислений (к оплате) |
* - Сумма начислений по льготам жильцов, проживающих в одной квартире
LGOT.DBF (Льготы)
Имя | Тип | Длина | Примечание | |
N_LG | N | 1 | 0 | Код льготы |
INFO | C | 20 | - | Описание льготы |
KWP_L | N | 4 | 2 | Ставка начислений по квартплате |
RD_L | N | 4 | 2 | Ставка начислений по радио |
GW_L | N | 4 | 2 | Ставка начислений по горячей воде |
XW_L | N | 4 | 2 | Ставка начислений по холодной воде |
K_L_L | N | 4 | 2 | Ставка начислений по ком. Услугам |
OT_L | N | 4 | 2 | Ставка начислений по отоплению |
TL_L | N | 4 | 2 | Ставка начислений по телефону |
TABLE_R .DBF (Ставки)
Имя | Тип | Длина | Примечание | |
TAB | N | 4 | 0 | Табельный номер |
KWP_L | N | 5 | 2 | Ставка начислений по квартплате |
RD_L | N | 5 | 2 | Ставка начислений по радио |
GW_L | N | 5 | 2 | Ставка начислений по гор. Воде |
XW_L | N | 5 | 2 | Ставка начислений по хол. Воде |
K_L_L | N | 5 | 2 | Ставка начислений по ком. Услугам |
OT_L | N | 5 | 2 | Ставка начислений по отоплению |
EL_L | N | 5 | 2 | Ставка начислений электроэнергии |
TL_L | N | 5 | 2 | Ставка начислений по телефону |
TARIF.DBF (Тарифы)
Имя | Тип | Длина | Примечание | |
INFO | C | 25 | - | Описание тарифа |
ST_KA | N | 5 | 2 | Ставка оплаты |
K_INFO | C | 11 | - | Помощь начисления (на 1-го чел.\на 1 кв.м) |
K_CH | L | 1 | - | Выбор: .T. – на 1-го человека .F. – на 1 м2 |
HELP.DBF – БД, содержащая описание помощи.