Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Характеристика даталогической модели БД




На основе ER-модели построим даталогическую модель (таблица 7).

Таблица 7

Даталогическая модель

Сущность Идентификатор таблицы Атрибут Идентификатор поля Тип поля
Электронный ключ keys Идентификатор key_id int
Заводской идентификатор factory_key_id nchar(15)
Идентификатор модели (FK) key_model_id smallint
Запись помечена на удаление is_deleted bit
Запись была обновлена is_updated int
Пользователь users Идентификатор пользователя user_id int
Идентификатор статуса (FK) status_id tinyint
Является юрид. лицом is_artificial_person bit
FTP-логин ftp_login varchar(20)
FTP-пароль ftp_password varchar(10)
Контактная информация contact_inf text
Запись помечена на удаление is_deleted bit
Запись была обновлена is_updated int
Юридическое лицо artificial_person Идентификатор пользователя (FK) user_id int
Наименование организации name varchar(100)

Таблица 7 (продолжение)

Физическое лицо natural_person Идентификатор пользователя (FK) user_id Int
Фамилия second_name varchar(50)
Имя first_name varchar(25)
Отчество middle_name varchar(25)
Паспортные данные passport text
Статус status Идентификатор статуса status_id Int
Наименование status_name varchar(20)
Для физических лиц is_for_natural_person Bit
Для юридических лиц is_for_artificial_person bit
Запись помечена на удаление is_deleted bit
Запись была обновлена is_updated Int
Стандартный комплект standard_kit Идентификатор комплекта kit_id smallint
Наименование kit_name varchar(50)
Запись помечена на удаление is_deleted bit
Запись была обновлена is_updated smallint

 


 

Таблица 7 (продолжение)

Приложение application Идентификатор приложения application_id tinyint
Наименование приложения application_name varchar(50)
Актуальность is_actual bit
Порядковый номер application_number tinyint
Запись помечена на удаление is_deleted bit
Запись была обновлена is_updated tinyint
Счет для прихода bill Идентификатор счета bill_id int
Номер счета (AK) bill_number int
Дата предоставления (AK) bill_date date
Идентификатор пользователя (FK) user_id int
Запись помечена на удаление is_deleted bit
Запись была обновлена (AK) is_updated int
Приход ключа key_receipt Идентификатор прихода key_receipt_id int
Заводской идентификатор (AK, FK) factory_key_id nchar(15)
Идентификатор счета (FK) bill_id int
Запись помечена на удаление is_deleted bit
Запись была обновлена (AK) is_updated int

 

Таблица 7 (продолжение)

Модель ключа key_model Идентификатор модели model_id smallint
Название ключа model_name varchar(50)
Идентификатор типа ключа (FK) key_type_id tinyint
Максимальное количество сетевых лицензий max_net_count tinyint
Актуальность is_actual bit
Запись помечена на удаление is_deleted bit
Запись была обновлена is_updated smallint
key_type Идентификатор типа ключа key_type_id tinyint
Наименование key_type_name varchar(25)
Запись помечена на удаление is_deleted bit
Запись была обновлена is_updated tinyint

 


 

Таблица 7 (продолжение)

Договор о технической поддержке support_contract Идентификатор договора ТП support_contract_id int
Номер договора ТП (AK) support_contract_number int
Дата заключения (AK) support_contract_date date
Срок предоставления, мес support_contract_period tinyint
Пользователь (FK) user_id int
Запись помечена на удаление is_deleted bit
Запись была обновлена (AK) is_updated int
Версия приложения build Идентификатор версии build_id smallint
Сборка build_name varchar(7)
Дата сборки build_date date
Идентификатор приложения (FK) application_id tinyint
Комментарий build_text text
Запись помечена на удаление is_deleted bit
Запись была обновлена is_updated smallint

 


 

Таблица 7 (продолжение)

Использование версий build_using Идентификатор build_using_id int
Идентификатор версии (AK FK) build_id smallint
Идентификатор пользователя (AK FK) user_id int
Дата получения build_using_date date
Запись помечена на удаление is_deleted bit
Запись была обновлена (AK) is_updated int
Прошивка firmware_download Идентификатор прошивки firmware_download_id int
Дата прошивки (AK) fd_date date
Заводской идентификатор (AK, FK) factory_key_id nchar(15)
Номер программы prog_number word
Счетчик GP counter_gp word
Маска ключа key_mask binary
Серийный номер serial_number word
Запись помечена на удаление is_deleted bit
Запись была обновлена (AK) is_updated int

 


 

Таблица 7 (продолжение)

Приложения прошивки fd_application Идентификатор fd_application_id int
Идентификатор прошивки (AK, FK) firmware_download_id int
Идентификатор приложения (AK, FK) application_id tinyint
Наличие локальной лицензии is_local bit
Количество сетевых лицензий net_count tinyint
Запись помечена на удаление is_deleted bit
Запись была обновлена (AK) is_updated int
Состав комплекта composition_of_kit Идентификатор composition_od_kit_id smallint
Идентификатор приложения (AK FK) application_id tinyint
Идентификатор комплекта (AK FK) kit_id smallint
Описание description text
Запись помечена на удаление is_deleted bit
Запись была обновлена is_updated smallint

 


 

Таблица 7 (окончание)

Лицензия licence Идентификатор licence_id int
Идентификатор пользователя (AK FK) user_id int
Заводской идентификатор (AK FK) factory_key_id nchar(15)
Дата выдачи licence_date date
Запись помечена на удаление is_deleted bit
Запись была обновлена is_updated int

 

Для всех сущностей, имеющих составные ключи, в соответствующих таблицах создано поле «Идентификатор», при этом были указаны все возможные альтернативные ключи (AK). Это было сделано с целью минимизации объема базы данных. Первичные ключи таблиц выделены жирным шрифтом. Внешние ключи имеют метку «FK».

Для сущности «Пользователь» атрибут «тип» был заменен на «Является юрид. лицом» логического типа. Если значение равно «истина», то пользователь – юридическое лицо, иначе – физическое лицо. Атрибут логического типа будет занимать гораздо меньше памяти ЭВМ, чем хранение строкового. При этом вероятность появления нового типа пользователя крайне мала.

Для сущности «Модель ключа» было создано две таблицы. В главной таблице «key_model» вместо атрибута «тип ключа» имеется «идентификатор типа ключа». Подчиненная таблица представляет собой список возможных типов ключей. Такое преобразование сущности позволит более рационально использовать место на диске, так и обеспечит контроль целостности данных.

Для большинства таблиц добавлены два служебных поля «Запись помечена на удаление» логического типа и «Запись была обновлена», тип данных которого совпадает с типом ключевого поля таблицы.

Во избежание случайного удаления или изменения записи были введены эти поля. Пользователь из клиентской программы может только пометить на запись на удаление. При этим запись будет удалена лишь «визуально», при этом фактически она будет хранится в своей таблице с пометкой, что была удалена пользователем.

При редактировании (обновлении) записи старая запись остается при этом в поле «Запись была обновлена» добавляется ссылка на новую запись, которую пользователь ввел при редактировании. Старые, уже обновленные, записи конечному пользователю также не выводятся.


Поделиться:

Дата добавления: 2015-08-05; просмотров: 63; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты