Файл: Проектирование базы данных Книги клиентов и услуг на юридическом портале.pdf
Добавлен: 29.06.2023
Просмотров: 53
Скачиваний: 3
Введение
Актуальность данной темы заключается в том, что обычно данные хранятся в бумажном виде, возникает проблема поиска информации по клиентам, невозможность предоставления нотариальных и юридических услуг удаленно. Создание электронной Базы Данных (далее БД) позволяет экономить время при поиске информации о клиенте, возможность охватить большее число клиентов как из своего города, так и из других городов при этом не теряя время на дорогу.
Предметом данной работы выступает созданная БД. Главными объектами моей темы есть обеспечение юридическими услугами всех желающих, а также сбор информации по всем клиентам компании ТОО «ИнтерПраво» и историю представляемых услуг.
Цель и задачи работы. Целью курсовой работы является создание БД для сбора информации в едином источнике по клиентам компании ТОО «ИнтерПраво» и истории и анализа предоставленных услуг организацией.
В данной курсовой работе был использован метод концептуального моделирования, который заключается в замещении реального объекта другим, специально для этого созданным и в использовании модели как средства исследования. Данная БД может использоваться в любых юридических организациях или нотариальных конторах, как главная или второстепенная для автоматизации процесса учета предоставляемых услуг организацией.
БД планировалась для организации производства, хранения отчетности, регистрации новых клиентов. БД разработана в программной среде MySQL и может взаимодействовать, при необходимости, с другими базами данных.
1. Аналитическая часть
1.1 Описание предметной области. Постановка задачи
Юридические фирмы могут осуществлять свою деятельность в различных организационно-правовых формах, которые определяются законодательством страны, на территории которой создается соответствующая фирма.
Например, существуют юридические фирмы, созданные в форме товариществ, обществ с ограниченной ответственностью, акционерных обществ.
В законодательстве отдельных стран могут быть предусмотрены специальные организационно-правовые формы для осуществления деятельности организаций, оказывающих квалифицированную юридическую помощь. Такие организации тоже могут быть отнесены к категории «юридическая фирма».
Основой для создания базы данных для фирмы стала необходимость каким-то образом сгруппировать всю информацию, которая производится в результате разнородной деятельности нотариусов и юристов в компании. В конечном этапе запроектирована БД позволит просматривать информацию о клиентах, удобно и быстро планировать работу по оказанию юридических услуг, вести предварительную запись клиентов по расписанию работы специалистов, оперативно оказывать юридические услуги напрямую специалисту и начислить ему заработную плату, идентифицировать клиента и работника, продажа юридических услуг; проводить различные типы оплат, наличными, банковской картой, анализировать востребованность различных направлений услуг.
1.2.Выбор СУБД.
Целью курсовой работы было создание интернет-системы для обработки заказов на оказание юридических услуг, сбора информации по клиентам, анализ по продажам услуг клиентам. Естественно, возникает вопрос, в каком виде должна храниться эта информация и с помощью каких средств её следует обрабатывать. Так как, например, информация о каждом отдельном клиенте представляет собой типичный набор данных (фамилия, имя, отчество, почтовый адрес, резидентство и т. д.), то очевидно, что в этом случае целесообразно хранить их в реляционной базе данных на сервере. Посредством запросов к базе данных пользователь может получать нужные ему сведения, а администратор может добавлять и изменять данные.
Выбор конкретной СУБД в качестве сервера баз данных осуществлялся исходя из тех преимуществ, которые она имеет перед другими, а также удобства работы с ней. В данном случае был выбрана клиент-серверная СУБД MySQL. Её архитектура изображена на рисунок 1.
Рисунок 1. Клиент-серверная архитектура MySQL
Самая подходящая для MySQL сфера применения - это Интернет, благодаря хорошей системе безопасности этого пакета, стабильной работе и высокому быстродействию. Для создания скриптов был выбран язык программирования PHP, а MySQL – самая популярная СУБД, которая поддерживается этим языком. В PHP есть множество функций, которые позволяют удобно и эффективно работать с базами данных – и это одна из причин выбора данной СУБД.
Рассмотрим преимущества MySQL:
1) Быстродействие
Благодаря внутреннему механизму многопоточности быстродействие MySQL весьма высоко. Для разработчиков MySQL скорость всегда являлась ключевым параметром. Новые возможности добавлялись в пакет MySQL только после того, как их удавалось реализовать без ущерба для производительности. Иногда это означало, что некоторые возможности добавлялись не так быстро, как хотелось бы пользователям, но зато всегда гарантировало быструю работу MySQL.
2) Безопасность
Довольно высокий уровень безопасности обеспечивается благодаря базе данных MySQL, создающейся при установке пакета и содержащей пять таблиц. При помощи этих таблиц можно описать, какой пользователь из какого домена с какой таблицей может работать и какие команды он может применять. Пароли, хранящиеся в базе данных, можно зашифровать при помощи встроенной в MySQL функции password().
3) Лицензия
Раньше лицензирование MySQL было немного запутанным; сейчас эта программа для некоммерческих целей распространяется бесплатно.
4) Открытость кода
Благодаря этому программист может сам добавлять в пакет нужные функции, расширяя его функциональность так, как ему требуется. За отдельную плату это могут сделать и сами авторы MySQL.
5) Простота использования
Для начала работы с MySQL не требуется сложной процедуры конфигурации. MySQL Server начнёт работать соответствующим образом сразу. По умолчанию выбираются значения, соответствующие минимальному использованию ресурсов диска и памяти. Для получения оптимальной производительности и для специальных условий (например, для проверки входа в систему), конечно же, потребуется дополнительная настройка. Чтобы помочь выполнить такую настройку, предлагаются соответствующие примеры файлов типовой конфигурации.
6) Сообщество
Как следствие открытости кода, бесплатности программы, стабильной и надежной ее работы образовалось сообщество людей, которые не просто лояльны к MySQL, но и всячески участвуют как в развитии самого пакета, так и в обучении менее опытных людей работе с ним. Существует огромное количество листов рассылки и конференций, где можно получить бесплатную помощь в любое время суток.
7) Переносимость
В настоящее время существуют версии программы для большинства распространенных компьютерных платформ. Это говорит о том, что вам не навязывают определенную операционную систему. Вы сами можете выбрать, с чем работать, например с Linux или Windows, но даже в случае замены ОС вы не потеряете свои данные и вам даже не понадобятся дополнительные инструменты для их переноса.
Конечно же, как и любое программное средство, СУБД MySQL не избавлена от некоторых недостатков. Например, можно назвать отсутствие вложенных запросов, что приводит к необходимости находить нужные значения отдельно и подставлять их в другой запрос непосредственно в CGI-сценарии, что, несомненно, сказывается на производительности.
Несмотря на это, СУБД MySQL была выбрана как наиболее подходящий сервер баз данных для интернет-ресурса «ipravo» для компании ТОО «ИнтерПраво».
Для построения ER-модели БД будет использоваться программа Microsoft Visio так как она построена исключительно на профессиональном уровне, что обеспечивает правильное построение технических проектов и моделей. Такая платформа дает по-настоящему эффективную и удобную работу. Позволяет легко и просто создавать технические проекты, диаграммы, модели, а также редактировать их, выравнивать, изменяя размеры.
1.3. Проектирование логической структуры базы данных
На этом этапе логического проектирования необходимо определить типы и длины полей, связи между объектами. Для получения функциональной и удобной системы БД нормализована до третей нормальной формы. Представим описание объектов и связей между ними в виде ER-модели БД ipravo, которая предоставлена ниже.
Рисунок 2. ER-модель БД ipravo
Рассмотрим подробнее объект «Пользователи» (users) таблица 1.
Таблица 1
Атрибуты |
Тип |
Ключ |
Описание |
id |
Int |
primary |
Код пользователя |
name |
Varchar (191) |
Имя для приветсвия |
|
|
Varchar (191) |
Почта(Логин) |
|
password |
Varchar (191) |
Пароль |
|
is_active |
Tinyint(1) |
Активность записи пользователя |
|
remember_token |
Varchar(100) |
Криптографический токен |
|
created_at |
timestamp |
Когда создано |
|
updated_at |
timestamp |
Когда обновлено |
Рассмотрим подробнее объект «Профиль пользователя» (profile) таблица 2. У пользователя может быть несколько профилей, в связи с чем создана отдельная таблица от таблицы «Пользователи».
Таблица 2
Атрибуты |
Тип |
Ключ |
Описание |
id |
Int |
primary |
Код профиля пользователя |
user_id |
Int |
foreign |
Код пользователя |
profile_state_type_id |
Smallint(5) |
Статус: юр. или физ. лицо |
|
phone |
Varchar (32) |
Телефон |
|
|
Varchar (191) |
Дополнительная почта |
|
last_login_date |
datetime |
Дата последнего входа |
|
is_resident |
Tinyint(1) |
Резидентство |
|
full_name |
Varchar (191) |
ФИО пользователя |
Рассмотрим подробнее объект «Тип статуса» (profile_state_type) таблица 3. Это справочник типов статусов клиента: Физическое и Юридическое лицо. Необходим для того чтобы на уровне БД разделить услуги для разных типов клиентов.
Таблица 3
Атрибуты |
Тип |
Ключ |
Описание |
profile_state_type_id |
Int |
primary |
Код типа статуса |
name |
Varchar (32) |
Название (юр. или физ. лицо) |
Рассмотрим подробнее объект «Профиль организации» (profile_legal) таблица 4.
Таблица 4
Атрибуты |
Тип |
Ключ |
Описание |
id |
Int |
primary |
Код статуса |
profile_id |
Int |
foreign |
Код профиля |
company_name |
Varchar (128) |
Название организации |
|
business_identification_number |
Varchar (16) |
БИН |
|
contact_person |
Varchar (128) |
Контактное лицо (КЛ) |
|
position |
Varchar (256) |
Должность КЛ |
|
scope_activity |
Varchar (1024) |
Описание Деятельности |
Рассмотрим подробнее объект «Документы профиля» (profile_document) таблица 5.
Таблица 5
Атрибуты |
Тип |
Ключ |
Описание |
id |
Int |
primary |
Код статуса |
profile_id |
Int |
foreign |
Код профиля |
document_id |
Int |
foreign |
Код документа |
Рассмотрим подробнее объект «Документы» (document) таблица 6.
Таблица 6
Атрибуты |
Тип |
Ключ |
Описание |
id |
Int |
primary |
Код статуса |
name |
Varchar (256) |
Наименование |
|
path |
Varchar (1024) |
Путь к папке |
|
document_type_id |
Int |
foreign |
Код типа документа |
Рассмотрим подробнее объект «Тип документа» (document_type) таблица 7.
Таблица 7
Атрибуты |
Тип |
Ключ |
Описание |
id |
Int |
primary |
Код типа документа |
name |
Varchar (32) |
Наименование |