Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Разработка реляционной модели

 

Реляционная модель данных — логическая модель данных, прикладная теория, описывающая структурный аспект, аспект целостности и аспект обработки данных в реляционных базах данных.

Реляционная модель для системы “Аварийная служба”.

Смена

id Вид Дата
     

Id – первичный ключ

Бригада

Т.к. как объекты бригада и смена связаны отношение 1:М мы добавляем в таблицу М (Бригада) столбец, который соответствует ключу объекта, мощность со стороны которого равняется “один” т.е. id смены, этот столбец будет внешним ключом

Id Id смены Id рабочего Кол-во рабочих
       

 

Id – первичный ключ

Id смены – вторичный ключ

Id рабочего – вторичный ключ

 

Список работников

Id ФИО Адрес Должность
       

Id – первичный ключ

 

Заявка

Id Название ЧП Дата Адрес
       

 

Список материалов

Этот объект связан отношением 1: М с объектами Склад и ЧП, поэтому в эту таблицу мы добавляем ключи из таблиц со стороны 1. Это id ЧП и id склада.

 

Id Id ЧП Название Стоимость Кол-во
         

Id – первичный ключ

Id чп – вторичный ключ

 

Склад

Id Материал Всего материала на складе
     

Id – первичный ключ

 


 

ЧП

Id Вид ЧП Стоимость Премия Время выполнения
         

Id – первичный ключ

Транспорт

Транспорт связан отношение 1:М с объектом ЧП, поэтому мы добавляем в эту таблицу ключ из объекта с отношением 1, этот ключ id ЧП.

 

Id Id ЧП Тип транспорта Вместимость
       

Id – первичный ключ

Id чп – вторичный ключ

 

При связи М:М создается третья дополнительная таблица, которая включает ключи двух других таблиц.

Это таблицы:

Бригада - Список работников

Id бригады Id работника
   

Бригада – ЧП

Id бригады Id ЧП
   

 

Бригада – транспорт

Id бригады Id транспорта
   

 

Формирование запросов к БД

1. Выбор из нескольких таблиц с сортировкой

1.1 Список айди склада и списка материалов, где используется заданный материал

2. Задание условия отбора с использованием предиката LIKE

2.1Найти название ЧП начинающее на “Боч”

3. Задание условия отбора с использованием предиката BETWEEN.

3.1 Список названий ЧП в последние пол года

4. Использование предиката ALL или ANY

4.1Вывести максимальную стоимость, где название ЧП равно ‘Авария’

5. Запрос на отрицание

5.1Вывести стоимость, где id не равен id ЧП.

6. Операция объединения UNION с включением комментария в каждую строку.

6.1 Список рабочих с комментарием “адрес” и адресом.

Привилегии - это то, что определяет, может ли указанный пользователь выполнить данную команду. Имеется несколько типов привилегий, соответствующих нескольким типам операций.

Группы пользователей

 

Привилегированные пользователи (admin):

В данной группе будет находиться один администратор, который может обращаться к структуре таблиц и работать с регистрационными данными. Будет создавать, удалять таблицы, регистрировать, удалять пользователей и т.д.

Средние пользователи (user):

В этой группе пользователи, у которых есть возможность только просматривать данные, не изменяя их.

Каждый пользователь в этой группе будет просматривать данные, не изменяя их. Смотреть запросы, отчеты.


 

Диаграмма вариантов использования

 

ER Модель с данными и ключами

Рис. 1. ER-модель с данными и ключами

 

Это готовая таблица представления данных в БДSQLServer. Здесь показаны все типы данных для свойств таблицы, а также указаны первичные и внешние ключи.

 

Реализация запросов и отчетов

Запросы на выборку

1. Выбор из нескольких таблиц с сортировкой

1.1 Список айди склада и списка материалов, где используется заданный материал

 

SELECT Материалы.id, Склад.id, Материалы.Название

FROM Материалы, Склад

WHERE Материалы.СНазвание = Склад.Материал

 

2. Задание условия отбора с использованием предиката LIKE

2.1 Найти название ЧП начинающее на “Боч”

 

SELECT [Название_ЧП]

FROM Заявка

WHERE (Адрес LIKE '%Боч%')

 

3. Задание условия отбора с использованием предиката BETWEEN.

3.1 Список названий ЧП в последние пол года.

 

SELECT Название_ЧП FROM Заявка WHERE EndDate BETWEENMONTH(GetDate())-6 ANDGetDate()

 

4. Использование предиката ALL или ANY.

4.1 Вывести максимальную стоимость где название ЧП равно ‘Авария’.

 

SELECT MAX(Стоимость) AS Expr1

FROM Чп

WHERE ([Вид_ЧП] = 'Авария')

 

5. Запрос на отрицание.

5.1 Вывести стоимость где id не равен id_ЧП

 

SELECT Стоимость

FROM Материалы

WHERE (id <> [id_ЧП]


 

6. Операция объединения UNION с включением комментария в каждую строку.

6.1 Список рабочих с комментарием “адрес” и адресом. select id, 'адрес', Адрес from Рабочие

 

Реализация отчетов

 

С того момента как пользователь вошел в систему, ведутся так называемые «системные логи» о данном сотруднике: его имя, действие, дата входа и выхода. Для реализации данной возможности, после каждой функции выполняется запись таблицу logi, со всеми необходимыми данными.

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

 

Интерфейс ИС

 

Система начинается с авторизации и регистрации. В Данной системе пользователя зарегистрировать может только админ.

 

Рис.1. Вход в систему


 

Рис.2. Регистрация пользователя

 

Если пользователь вошел успешно, появляется главное окно программы (рис.3)

 

Рис. 3. Главное окно

 

В главном окне есть таблицы, при открытии какой-нибудь таблицы, открывается новая форма с ее данными и на каждой такой форме есть объект, с помощью которого можно добавлять и удалять данные и какой-нибудь запрос. При необходимости добавить данные мы нажимаешь на плюс, вносим данные, потом сохраняем и выходим.

 

Рис. 4. Просмотр и редактированние данных(Admin)


 

Рис. 5. Просмотр данных(User)

 

Просмотр данных таблицы Смена

 

Рис. 6. Просмотр и редактированние данных

 

Просмотр данных таблицы Материалы

 

Рис. 7. Просмотр и редактирование данных

 

Просмотр данных таблицы Бригада


 

Рис. 8. Просмотр и редактированние данных

 

Просмотр данных таблицы Рабочие

 

Рис. 9. Просмотр и редактированние данных

 

Просмотр данных таблицы Заявка

 

Рис. 10. Просмотр и редактированние данных

 


 

Просмотр данных таблицы Склад

 

Рис. 11. Просмотр и редактированние данных

 

Просмотр данных таблицы Транспорт

 

Рис. 12. Просмотр и редактированние данных

 

Из главного меню программы можно перейти в отчеты, где можно посмотреть какой пользователь, в какую дату и время вошел и вышел.

 

Рис. 13. Просмотр отчетов


Руководство пользователя

 

Перед тем как начать работу в системе, требуется зарегистрироваться. После прохождения регистрации, можно входить в систему под тем логином, который Вы указали при регистрации. После входа Вам будем присвоен уровень доступа 2 – возможность только просматривать данные некоторых таблиц. Для работы, требуется иметь 1 уровень, который может присвоить только администратор системы.

Как видно из предыдущего пункта, программа состоит из множества диалоговых окон, в каждом из которых есть своя таблица. Таблица служит только для просмотра данных из БД, чтобы добавить туда запись следует нажать на кнопку «Редактор», появиться новое диалоговое окно управления записями в заданной таблице. Там можно создать новую запись, либо изменить уже существующую, нажав на соответствующие клавиши. Также в этом окне можно произвести поиск по таблице, заполнив любые поля. Если требуется изменить данные о уже существующей записи в таблице БД, следует ей выделить в поле таблицы, затем нажать на кнопку «Дополнительно», в новом окне уже будут заполнены все поля, остается только изменить нужное нам поле и нажать на соответствующую кнопку.

Для просмотра дополнительной информации об интересующей нас записи следует выделить нужную нам запись в таблице, а затем нажать на кнопку «Дополнительно» и в новом окне отобразиться информация о данной записи.

В любом окне, где есть таблица, присутствуют два текстовых поля: поле для ввода SQLзапроса и поля для вывода результата. Например, можно ввести select Name, Addrfrom Users нажать на кнопку «Выполнить» и будет выведен результат запроса. Также чтобы узнать поля в той или иной таблице требуется ввести запрос следующей структуры: getcolumns form [Имя таблицы], результатом будет имена всех полей в той таблице, в которой Вы указали в запросе.

Контрольный пример

 

Рассмотрим некоторые действия со стороны нового пользователя системы. В окне авторизация пройдем регистрацию как в рис 2. Нажмем на «ОК». В случае если мы заполнили все поля верно, то получим сообщение об успешном создании новой учетной записи. Войдем в систему под тем логином, под которым зарегистрировались – login. Как уже писалось выше, по умолчанию мы получили 2-ой уровень доступа, когда все заблокировано, чтобы это исправить войдем в систему под администратором, с логином admin. Теперь перейдем из главного меню в пункт «Пользователи». Будет предоставлена таблица со всеми зарегистрированными пользователями в системе. Нажимаем на кнопку «Редактор» и логин: login, а в поле уровень доступа выбираем 1. Нажимаем на ОК и теперь данный пользователь может работать с системой, редактируя и добавляя новые записи в таблицы БД.

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

Для просмотра «логов», достаточно зайти в директорию программы, и найди файл с именем login.log, где login интересующий нас пользователь. В файле будем предоставлены все действия совершенные этим пользователем: посылаемые запросы к СУБД, результат запроса, а также системные ошибки, если таковы имеются.

 


ЗАКЛЮЧЕНИЕ

 

Пройдя все этапы конструирования баз данных, начиная от выявления требований и поиска проблем до проектирования программных классов и построением таблиц в СУБД, была написана система для налоговой инспекции на языке высокого уровня Java с использованием СУБД MSSQL Server. Этапы проектирования БД помогли выявить и определить все требования заказчика к системе, а также определить на раннем этапе все трудности и ошибки будущей системы. Также построенная диаграмма сущность-связь наглядно показала, какие объекты взаимодействуют с системой, их атрибуты и связи между ними, что в дальнейшем позволило уже спроектировать нашу БД для данной предметной области.

Работу системы помог проверить контрольный пример, где мы выступали как со стороны обычного пользователя, так и со стороны администратора.


СПИСОК ЛИТЕРАТУРЫ

 

1. Вячеслав П. Основы программных требований.

2. Ноутон П., Шилдт Г. - Java 2. Наиболее полное руководство. BHV - Санкт - Петербург, 2007.

3. Брюс Эккель. Философия Java, 4-е издание. Питер, 2009.

4. http://khpi-iip.mipk.kharkiv.edu/library/case/leon/index.html - Леоненков А. Самоучитель UML.

5. Джеймс Р. Грофф, Пол Н. Вайнберг – SQL полное руководство. BHV, “Ирина”, Киев, 2001.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...