База данных должна содержать данные о ролях, пользователях, графике работы докторов, специализации врача, и реализована возможность редактирования, поиск, сортировка, удаления и добавления данных. В соответствии с предметной областью система строится с учётом следующих особенностей:
Проверка на вводимые данные: проверка на вводимые символы, на заполненное поле, на содержание определённого количества символов, на уникальность логина и правильность ввода данных для поиска;
Данные поликлинике и специализации врача должные выбирается из списка доступных вариантов;
Данные о зарегистрированном пользователе не удаляются, но могут изменяться.
Выделим базовые сущности этой предметной области (таблица 4.1-4.6):
Пользователь системы. Сущность содержит: личный номер, ФИО, дату рождения, адрес прописки, кантатные данные, данные для входа в систему, комментарий.
Поликлиника. Сущность содержит: идентификационный номер поликлиники, название, адрес.
Специальность врача. Сущность содержит: номер специальности, личный номер пользователя.
Рабочий график. Сущность содержит: номер доктора, кабинет, признак первой смены, признак четного дня месяца.
Роль. Сущность содержит: номер роли, название.
Таблица 4.1 - Схема отношения Роль (Role)
Содержание поля |
Имя поля |
Тип, длина |
Примечания |
Идентификационный номер роли |
Id |
N(10) |
первичный ключ |
Наименование роли |
Name |
C(256) |
обязательное поле |
Описание |
Description |
C(Max) |
не обязательное поле |
Флаг блокировки |
IsActive |
B |
не обязательное поле, по умолчанию =1 |
Таблица 4.2 - Схема отношения Пользователь (User)
Содержание поля |
Имя поля |
Тип, длина |
Примечания |
Идентификационный номер пользователя |
Id |
N(10) |
первичный ключ |
Идентификационный номер роли |
RoleInfoId |
N(10) |
внешний ключ (к Role) |
Логин пользователя |
UserName |
C(15) |
Обязательное поле от 5 до 15 символов |
Пароль пользователя |
Password |
C(12) |
Обязательное поле от 6 до 12 символов |
Фамилия |
FirstName |
C(30) |
обязательное поле от 3 до 30 символов |
Имя |
LastName |
C(30) |
обязательное поле от 2 до 30 символов |
Отчество |
SurName |
C(30) |
обязательное поле от 3 до 30 символов |
Контактный телефон |
PhoneNumber |
C(50) |
обязательное поле |
Электронная почта |
|
C(256) |
обязательное поле |
Почтовый индекс |
ZipCode |
С(8) |
обязательное поле |
Адрес проживания |
Address |
С(100) |
обязательное поле |
Дата регистрации |
DateRegistration |
D |
текущая дата, по умолчанию = GetDate() |
Дата последнего входа |
DateLogIn |
D |
не обязательное поле |
Флаг блокировки |
IsActive |
B |
не обязательное поле, по умолчанию =1 |
Таблица 4.3 - Схема отношения Поликлиника (Policlinic)
Содержание поля |
Имя поля |
Тип, длина |
Примечания |
Идентификационный номер |
Id |
N(10) |
первичный ключ |
Название |
Name |
C(100) |
обязательное поле от 10 до 100 символов |
Адрес |
Address |
C(100) |
обязательное поле от 10 до 100 символов |
Статус |
IsActive |
B |
не обязательное поле, по умолчанию =1 |
Таблица 4.4 - Схема отношения Специальность (Position)
Содержание поля |
Имя поля |
Тип, длина |
Примечания |
Идентификационный номер |
Id |
N(10) |
первичный ключ |
Название |
Name |
C(100) |
обязательное поле от 10 до 100 символов |
Статус |
IsActive |
B |
не обязательное поле, по умолчанию =1 |
Таблица 4.5 - Схема отношения Доктор (Personal)
Содержание поля |
Имя поля |
Тип, длина |
Примечания |
Идентификационный номер сотрудника |
Id |
N(10) |
первичный ключ |
Номер поликлиники |
PoliclinicId |
N(10) |
Внешний ключ к Policlinic |
Номер специальности |
PositionId |
N(10) |
Внешний ключ к Posiotion |
Статус |
IsActive |
B |
не обязательное поле, по умолчанию =1 |
Таблица 4.6 - Схема отношения Расписание (Schedule)
Содержание поля |
Имя поля |
Тип, длина |
Примечания |
Идентификационный номер расписания |
Id |
N(10) |
первичный ключ |
Идентификационный номер врача |
PersonalId |
N(10) |
внешний ключ к Personal |
Кабинет |
Cabinet |
N(3) |
обязательное поле |
Статус |
IsActive |
B |
не обязательное поле, по умолчанию =1 |
Четное число месяца |
Even |
B |
не обязательное поле, по умолчанию =0 |
Признак первой смены |
IsFirstShift |
B |
не обязательное поле, по умолчанию =0 |
Физическая модель данных показана на рисунке 4.1:
Рисунок 4.1 – Физическая модель данных
Дата | Выполнено, % |
---|---|
2020-05-29 19:23:46 | 10 |