- •Глава 1. Анализ предметной области асу «Автосалон» 5
- •Глава 2. Проектирование базы данных для объекта автоматизации автосалон «Lexus» 16
- •Глава 3. Программная реализация бд автосалона «Lexus» 27
- •Введение
- •Глава 1. Анализ предметной области асу «Автосалон»
- •1.1. Анализ объекта автоматизации ооо «Lexus»
- •Информационная модель
- •1.2. Обзор информационных технологий, подходящих для разработки бд
- •1.3. Обзор продуктов аналогов
- •Функциональные возможности:
- •1.4. Требования к разрабатываемой базе данных
- •Глава 2. Проектирование базы данных для объекта автоматизации автосалон «Lexus»
- •2.1. Разработка инфологической модели бд
- •2.2. Обоснование выбора модели данных
- •Сетевая модель
- •Иерархическая модель
- •Объектно-ориентированная модель
- •Реляционная модель
- •2.3. Даталогическое проектирование бд
- •2.4 Нормализация
- •Глава 3. Программная реализация бд автосалона «Lexus»
- •3.1 Анализ и выбор субд
- •3.2. Физическое проектирование бд
- •3.3 Разработка представлений
- •3.4 Разработка отчетов
- •3.5 Реализация ограничений, автоматизация обработки данных в бД
- •3.7. Безопасность и контроль
- •Заключение
- •Список литературы
Глава 3. Программная реализация бд автосалона «Lexus»
В главе рассматривается третий этап разработки базы данных, который включает в себя:
Выбор СУБД
Реализация базы данных в выбранной СУБД
Разработка форм, отчетов, представлений
Реализация ограничений
3.1 Анализ и выбор субд
PostgreSQL также известная как Postgres , представляет собой бесплатную систему управления реляционными базами данных с открытым исходным кодом ( СУБД) с упором на расширяемость и соответствие SQL. Первоначально он назывался POSTGRES, ссылаясь на то, что он был преемником базы данных Ingres , разработанной в Калифорнийском университете в Беркли . В 1996 году проект был переименован в PostgreSQL, чтобы отразить его поддержку SQL . После проверки в 2007 году команда разработчиков решила сохранить название PostgreSQL и псевдоним Postgres.
PostgreSQL поддерживает транзакции со свойствами Atomity, Consistency, Isolation, Durability (ACID), автоматически обновляемыми представлениями , материализованными представлениями , триггерами , внешними ключами и хранимыми процедурами . Он предназначен для обработки различных рабочих нагрузок, от отдельных машин до хранилищ данных или веб-cлужб с множеством одновременных пользователей . Это база данных по умолчанию для MacOS Server , а также доступна для Windows , Linux ,FreeBSD и OpenBSD .
3.2. Физическое проектирование бд
Используя даталогическую модель создадим следующие таблицы в pgAdmin 4 v6:
Additions
carSpecif
Cars
Clients
Deal
Manager
SalManager
Credit
Insuranse
Repairer
InsurRepl
Таблица Additions (Рисунок 7)
Рисунок 7-Additions
Таблица carSpecif (Рисунок 8 )
Рисунок 8- carSpecif
Таблица Cars (Рисунок 9 )
Рисунок 9- Cars
Таблица Clients (Рисунок 10 )
Рисунок 10- Clients
Таблица Deal (Рисунок 11 )
Рисунок 11- Deal
Таблица Manager (Рисунок 12 )
Рисунок 12- Manager
Таблица Credit (Рисунок 13 )
Рисунок 13- Credit
Таблица Insur_repl (Рисунок 14 )
Рисунок 14- Insur_repl
Таблица Insuranse (Рисунок 15 )
Рисунок 15- Insuranse
Таблица Repairer (Рисунок 16 )
Рисунок 16- Repairer
Таблица Sal_manager (Рисунок 17 )
Рисунок 17- Sal_manager
3.3 Разработка представлений
Представление — виртуальная таблица, представляющая собой поименованный запрос, который будет подставлен как подзапрос при использовании представления. В отличие от обычных таблиц реляционных баз данных, представление не является самостоятельной частью набора данных, хранящегося в базе. Поэтому, представления необходимо вызывать с помощью команды SELECT.[12]
Создадим представления, где отобразим всю информацию по покупкам, где будут отображаться имена вместо идентификаторов.(Рисунок 18)
CREATE OR REPLACE VIEW public.cheque
AS
SELECT deal.id,
clients.fio,
deal.managerid,
deal.carid,
deal.date,
deal.insur,
deal.equip,
deal.trams_amount,
deal.credit
FROM deal,
clients
WHERE deal.clientsid = clients.id;
Рисунок 18- public.cheque
Далее создадим второе представление, где покажем количество продаж джипов. (Рисунок 19)
CREATE OR REPLACE VIEW public.dgip
AS
SELECT deal.id,
deal.clientsid,
deal.managerid,
deal.carid,
deal.date,
deal.insur,
deal.equip,
deal.trams_amount,
deal.credit
FROM deal,
car_specif
WHERE deal.carid = car_specif.carid AND car_specif.car_tupe='джип';
Рисунок 19- public.dgip
Так же создадим представление отображающее покупателей оформивших кредит(Рисунок 20)
CREATE OR REPLACE VIEW public.creditpr
AS
SELECT credit.dealid,
clients.fio,
credit.cr_amount
FROM deal,
clients,
credit
WHERE deal.clientsid = clients.id AND deal.id = credit.dealid;
Рисунок 20- public.creditpr
