Разработка структуры базы данных

 

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

каждое поле любой таблицы должно быть уникальным;

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

для каждого значения первичного ключа должно быть одно и только одно значение любого из столбцов данных, и это значение должно относиться к объекту таблицы;

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

Каждый объект будет представлен отдельной таблицей базы данных. Элементы данных будут представлены полями таблиц. Имена таблиц и их полей подберем исходя из имен объектов и элементов данных. Проект базы данных включает в себя 5 таблиц:

таблицу фидеров (Phider);

таблицу абонентов "Abonent-inf";

таблицу расхода на фидерах "Phider - Rashod";

таблицу расхода юридических абонентов "Abonent_Pashod";

таблицу расхода бытовых абонентов "Bit".

Опишем базу данных в табличной форме.

 

Таблица 3.1 - Структура таблицы "Phider"

Имя поля Описание Тип Размер Ключ
Name Наименование фидера Текстовый 25 *
N_schetchik № счетчика Числовой Длинное целое  
Koef Коэффициент Числовой Короткое целое  
Pokaz Показания Числовой Значение с плавающей точкой  
Temp Поле для хранения промежуточной информации Числовой Длинное целое  

 

Таблица "Phider - Rashod" (таблица 3.2) является подчиненной таблице "Phider".

 

Таблица 3.2 - Структура таблицы "Phider - Rashod"

Имя поля Описание Тип Размер Ключ
Nomer Номер записи Счетчик Длинное целое *
Name Наименование фидера Текстовый 25  
Data Дата Дата Краткий формат даты  
Pred_Pokaz Предыдущие показания Числовой Длинное целое  
Nast Настоящие показания Числовой Длинное целое  
Raznost Разность Числовой Длинное целое  
Koef Коэффициент Числовой Длинное целое  
Rashod Расход Числовой 6  
Polez Полезный отпуск электроэнергии Числовой Длинное целое  
Poteri Количество неоплаченной электроэнергии Числовой Длинное целое  
Procenti Количество неоплаченной электроэнергии в процентах Числовой Длинное целое  

 

Таблица 3.3 - Структура таблицы "Abonent-inf"

Имя поля Описание Тип Размер Ключ
Name Наименование абонента Текстовый 100 *
N_schetchik № счетчика Числовой Длинное целое  
Nast_Pokaz Настоящие показания Числовой Длинное целое  
Phider Фидер Текстовый 50  
Adres Адрес Текстовый 240  
Tel Телефон Текстовый 10  
Temp Поле для хранения промежуточной информации Числовой Длинное целое  

 

Таблица "Abonent_Pashod" (таблица 3.4) является подчиненной таблице "Abonent-inf".

 

Таблица 3.4 - Структрура таблицы "Abonent_Pashod"

Имя поля Описание Тип Размер Ключ
Nomer Номер записи Счетчик Длинное целое *
Name Наименование абонента Текстовый 255  
Data Дата Дата Краткий формат даты  
Pred_Pokaz Предыдущие показания Числовой Длинное целое  
Nast Настоящие показания Числовой Длинное целое  
Rashod Расход Числовой Длинное целое  
Pokaz_Kontr Показания контрольного съема Числовой Длинное целое  
Data_Rasnost Разность между датой отчета и датой контрольного съема в днях Числовой Короткое целое  
Day_Rashod Среднесуточный расход Числовой Длинное целое  
Ozid_Rashod Ожидаемый расход Числовой Длинное целое  
Rasnost_Rashod Разность между отчетом по расходу и ожидаемым расходом Числовой Длинное целое  
Phider Фидер Текстовый 50  

 

Таблица 3.5 - Структура таблицы "Bit"

Имя поля Описание Тип Размер Ключ
Phider Фидер Текстовый 50  
Data Дата Дата Краткий формат даты  
Pokaz Показания Числовой Длинное целое  

 

Итак, спроектировано 5 таблиц базы данных. Для удобства работы две из них следует проиндексировать.

Таблицу "Phider - Rashod" - по полю Name и Data. Индекс по полю Data необходим для фильтрации записей в таблице по дате отчетного месяца. Индекс по полю Name применяется для фильтрации записей по наименованию фидера.

Таблицу "Abonent_Pashod" - по полю Nast для определения записей, которые содержат показания контрольного съема и не содержат данных о показаниях по отчету, и по полям Name и Data.

Связи между таблицами показаны на рисунке 3.7.


Рисунок 3.7 - Структура базы данных.

 



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: