Приложение с базой данных для учета договоров с поставщиками и клиентами
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
Тип договора
Контрагент физ
Контрагент юр
Суть договора
Ответственные лица:
Рассмотрел, Оформил, Подписал
) сущность обязательство
Id
Сумма
Дата исполнения
Суть
) сущность тип договора
Id
Название
Исходящий(Флаг)
) сущность ответственное лицо
Id
ФИО
Должность
) сущность контрагент-физическое лицо
Id
Фамилия
Имя
Отчество
Дата рождения
ИНН
) сущность контрагент-юридическое лицо
Id
Название
Адрес
Телефон
ИНН
3.1.2 Описание связей
Классификация связей приведена в таблице 3.1
Таблица 2.1 Классификация связей
Номер связиРодительская сущностьДочерняя сущностьТип связи1ДоговорОбязательство1:М2Ответственное лицоДоговор3:М3Тип договораДоговор1:М4Физическое лицоДоговор1:М5Юридическое лицоДоговор1:М
Выбор связи один ко многим обусловлен предметной областью. Так, например по одному договору может следовать несколько обязательств, а одно ответственное лицо может рассматривать множество договоров.
3.1.3 ER-диаграмма
Рисунок 3.1 - ER-диаграмма
3.2 Даталогическая модель
.2.1 Диаграмма связи по полям
В процессе проектирования базы данных были выявлены следующие функциональные зависимости:
Таблица 3.2- состав таблицы Договор
ИмяФункциональные зависимостиidДата оформленияДата заключенияСрок действияТип договораКонтрагент физСуть договораРассмотрелОформилПодписал
Таблица 3.3- состав таблицы Обязательство
ИмяФункциональные зависимостиidСуммаДата исполненияСуть
Таблица 3.4 - состав таблицы Тип договора
ИмяФункциональные зависимостиidНазваниеИсходящий(Флаг)
Таблица 3.5 - состав таблицы Ответственное лицо
ИмяФункциональные зависимостиidФИОДолжность
Таблица 3.6 - состав таблицы Контрагент-физическое лицо
ИмяФункциональные зависимостиidФамилияИмяОтчествоДата рожденияИНН
Таблица 3.7 - состав таблицы Контрагент- юридическое лицо
ИмяФункциональные зависимостиidНазваниеАдресТелефонИНН
4 Организация выборки информации из базы данных
Ниже приведены использующиеся в данной работе запросы. На основе всех из них, кроме первого, построены представления. Результаты их выполнения приведены в следующем разделе.
.Выборка договоров, подписанных гендиректоромid, ДатаОформления, ДатаЗаключения, СрокДействия, ТипДоговора, КонтрагентФизЛицо, КонтрагентЮрЛицо, СутьДоговора, Рассмотрел, Оформил, Подписал
FROM dbo.Договор(Подписал = (SELECT id
FROM dbo.ОтветственноеЛицо(Должность LIKE '%Гендиректор%')))
.
.
Рисунок 4.1 Результаты первой выборки
2.Выборка договоров с физическими лицамиid, ДатаОформления, ДатаЗаключения, СрокДействия, ТипДоговора, КонтрагентФизЛицо, КонтрагентЮрЛицо, СутьДоговора, Рассмотрел,
Оформил, Подписалdbo.Договор
WHERE (NOT (КонтрагентФизЛицо IS NULL))
.Выборка договоров с юридическими лицами id, ДатаОформления, ДатаЗаключения, СрокДействия, ТипДоговора, КонтрагентФизЛицо, КонтрагентЮрЛицо, СутьДоговора, Рассмотрел,
Оформил, Подписал
FROM dbo.Договор
WHERE (NOT (КонтрагентЮрЛицо IS NULL))
.Выборка договоров, требующих рассмотрения
SELECT id, ДатаОформления, ДатаЗаключения, СрокДействия, ТипДоговора, КонтрагентФизЛицо, КонтрагентЮрЛицо, СутьДоговора, Рассмотрел, Оформил, Подписалdbo.Договор WHERE (ДатаЗаключения IS NULL)
.Выборка исполненных договоровid, ДатаОформления, ДатаЗаключения, СрокДействия, ТипДоговора, КонтрагентФизЛицо, КонтрагентЮрЛицо, СутьДоговора, Рассмотрел,
Оформил, Подписалdbo.Договор(NOT (ДатаЗаключения IS NULL)) AND EXISTS
(SELECT id, Договор, Сумма, ДатаИсполнения, Суть
FROM dbo.Обязательство(Договор = dbo.Договор.id)) AND (NOT EXISTS
(SELECT id, Договор, Сумма, ДатаИсполнения, Сутьdbo.Обязательство AS O1(Договор = dbo.Договор.id) AND (ДатаИсполнения > dbo.Договор.СрокДействия OR
ДатаИсполнения IS NULL)))
.Выборка исходящих договоровid, ДатаОформления, ДатаЗаключения, СрокДействия, ТипДоговора, КонтрагентФизЛицо, КонтрагентЮрЛицо, СутьДоговора, Рассмотрел, Оформил, Подписалdbo.Договор
WHERE (ТипДоговора IN (SELECT idFROM dbo.ТипДоговора(Исходящий = 1)))
.Выборка просроченных договоров id, ДатаОформления, ДатаЗаключения, СрокДействия, ТипДоговора, КонтрагентФизЛицо, КонтрагентЮрЛицо, СутьДоговора, Рассмотрел,
Оформил, Подписал
FROM dbo.Договор
WHERE (СрокДействия < GETDATE()) AND EXISTS
(SELECT id, Договор, Сумма, ДатаИсполнения, Суть FROM dbo.Обязательство WHERE (Договор = dbo.Договор.id) AND (ДатаИсполнения > dbo.Договор.СрокДействия OR ДатаИсполнения IS NULL))
.Выборка текущих договоровid, ДатаОформления, ДатаЗаключения, СрокДействия, ТипДоговора, КонтрагентФизЛицо, КонтрагентЮрЛицо, СутьДоговора, Рассмотрел,
Оформил, Подписалdbo.Договор(СрокДействия >= GETDATE()) AND (NOT (ДатаЗаключения IS NULL)) AND EXISTS
(SELECT id, Договор, Сумма, ДатаИсполнения, Сутьdbo.Обязательство(ДатаИсполнения IS NULL))
.Выборка текущих обязательствСумма, 'Пассивное' AS Типdbo.Обязательство
WHERE (ДатаИсполнения IS NULL) AND (Сумма >= 0)
SELECT Сумма, 'Активное' AS Типdbo.Обязательство AS Обязательство_1(ДатаИсполнения IS NULL) AND (Сумма < 0)
5 Разработка представлений для отображения результатов выборки
Ниже приведены представления, отображающие результаты выборок со второй по девятую. Текст запросов приведен в предыдущей главе
Рисунок 5.1 - представление результатов 2й выборки
Рисунок 5.2 - пр