Введение 2
Постановка задачи 5
Обзор литературы 6
Глава 1. Проектирование базы данных 8
1.1 Концепции построения баз данных 8
1.2. Сравнение вариантов проекта базы данных 10
1.2.1. Агрегатная ассоциация 15
1.2.2. Связь многие-ко-многим 19
1.2.3. Наследование 21
Глава 2. Программная реализация базы данных 26
Глава 3. Программная реализация приложения 30
Выводы 35
Заключение 35
Список литературы 36
Приложение
СПбГУ в лице сотрудников биологического, геологического, а также факультета ПМ - ПУ ведет активную работу по сохранению объектов культурного наследия. Специалистами были исследованы и отреставрированы многочисленные памятники Санкт - Петербурга.
Накопленная в результате многолетних исследований проектная документация, представленная в виде паспортов, отчетов, фотографий и других документов, хранится в архивах.
Необходимость разработки и внедрения электронной базы данных возникает естественным образом: специалисты в области сохранения объектов культурного наследия нуждаются в инструменте для электронного структурированного хранения и обработки проектной документации. База данных (а также приложение для работы с ней) позволит автоматизировать процессы регистрации, обновления и извлечения информации.
Целью данной выпускной квалификационной работы является создание базы данных, удовлетворяющей запросам специалистов по сохранению объектов культурного наследия, а также разработка приложения для работы с указанной базой данных.
Приведем основные понятия и положения, используемые в работе, необходимые для дальнейшего понимая работы.
Под уже использованным термином «данные» будем понимать многократно интерпретируемое представление информации в формализованном виде, доступном для коммуникации и обработки [1].
Предполагается, что данные в базе являются постоянно хранимыми, так как после того как они были обработаны средствами системы управления базой данных для внесения в базу данных, их удаление возможно только с помощью явного запроса к базе данных.
Под базой данных будем подразумевать совокупность постоянно хранимых данных, используемых прикладным программным обеспечением.
К.Дж. Дейт определял [2] понятие модели данных как совокупность следующих трех элементов: набор типов данных, набор правил целостности и набор операций, применимых к типам данных. Таким образом, модель данных задает структуру данных, методы манипулирования ими, а также их ограничения целостности.
Предполагается, что создание базы данных, ее поддержка и обеспечение доступа пользователей к ней осуществляется с помощью отдельного комплекса языковых и программных средств называемого СУБД - система управления базой данных.
Следует также упомянуть понятия файла и файловой системы.
Файл - информация, хранимая на электронном носителе рассматриваемая как единое целое [5].
СУБД работает под управлением файловой системы — программного обеспечения, в задачи которого входит организация структуры данных, хранящимся в файле, обеспечение доступа к ним, распределению памяти и отображение имен файлов в соответствующие адреса памяти [5].
Под предметной областью будем понимать представление в БД объектов реального мира (с учетом их связей и ограничений), относящихся к определенной области знаний и обладающих практической ценностью для пользователя.
Приложение — программное обеспечение, функции которого заключаются в выполнении типовых работ с БД, в том числе, посредством СУБД.
Постановка задачи
Для достижения поставленной цели требуется решить следующие задачи:
• провести полный цикл проектирования базы данных, включающий в себя сбор и всесторонний анализ информации, представляющей предметную область, формулирование требований предъявляемых к базе данных, получение проектных решений, готовых для дальнейшей программной реализации, а также проведение сравнительного анализа этих решений с целью окончательного выбора;
• предоставить программную реализацию базы данных на основе выбранного проектного решения;
• предоставить программную реализацию приложения для работы с базой данных.
База данных должна отвечать следующим общим требованиям:
• независимость данных. Любые изменения технического или программного обеспечения, а также характера хранения данных, не должны менять представления пользователей о базе данных.
• Совместное использование базы данных многими пользователями.
• Безопасность данных.
• Адекватность отображения данных предметной области.
• Другие, специфические требования, которые будут сформированы в параграфе 1.2.
Приложение должно предоставлять функции создания, обновления, чтения и удаления данных из базы данных с учетом требуемой структуры, а также обеспечивать возможность пересылать файлы.
Обзор литературы
Сфере проектирования баз данных посвящено большое количество литературы [2-5,9,10]. В учебном пособии С. Кузнецова [5] представлен небольшой исторической экскурс, описывающий первые способы организации хранения данных на электронных вычислительных системах, изложены предпосылки возникновения баз данных и СУБД. Вопросу реляционной модели данных, как наиболее востребованной модели данных на рынке СУБД, посвящены книги К. Дж. Дейта [2-3], C. Кузнецова [5]. В них подробно описаны понятия реляционных баз данных, изложены основные положения и свойства отношений, а также рассмотрены два основополагающих способа оперированием данными: реляционная алгебра и реляционное исчисление. Кроме того, даются основы языка запросов SQL вместе с примерами.
Одним из этапов проектирования базы данных являлось создание семантической модели данных с помощью языка объектного моделирования UML. Спецификация языка доступна на сайте консорциума, занимающегося разработкой этого языка [7].
Для удовлетворения некоторых требований, предъявляемых к базе данных при отображении предметной области, приходится рассматривать несколько архитектурных решений. Книги Б.Карвина [9] и М.Фоулера [10] освещают возможные пути решения некоторых проблем, возникающих в процессе проектирования баз данных.
В процессе создания базы данных была использована реляционная СУБД свободной лицензии My S QL . Информация о технических характеристиках и возможностях, предоставляемой этой СУБД, была получена из учебного пособия [11], справочной документации на сайте производителя [12], а также из курса по базам данных, проводившемся на факультете ПМ — ПУ.
В этой работе разрабатывается серверное приложение на основе программной платформы Java. Описание сферы применения, принципов создания и использования сервлетов (приложений) указано в книгах [13,14] а также на сайте компании — поставщика программного обеспечения
К разработанной базе данных в дальнейшем могут быть добавлены новые требования, которые воплотятся в виде таблиц, связей между ними, ограничений, дополнительных столбцов и других проявлений. Приложение, несомненно, тоже должно учитывать эти изменения и отражать их в своем функционале. Дальнейшая работа по базе данных может включать в себя рассмотрение других моделей данных и, соответственно, других систем управления базами данных. Кроме того, с течением времени возможно возникнет необходимость реализовать дополнительные функции, представленные в приложении, которые будут удовлетворять отдельные, специфические запросы специалистов. Требует реализации также и клиентское приложение, предназначенное для конечного пользователя.
1. ISO/IEC 2382-1:1993, Information technology — Vocabulary — Part 1: Fundamental terms: a reinterpretable representation of information in a formalized manner suitable for communication, interpretation, or communication, or processing
2. Дейт К. Дж. Реляционная модель выдержит испытание временем (пер. с Date, C.J. The relational model will stand the test of time // Intelligent Enterprise, June 1, 1999, Volume 2, Number 8)
3. Дейт К.Дж. Введение в системы баз данных, 8-е издание.: Пер. с англ. — М.: Издательский дом "Вильяме", 2005. — 1328с
4. Карпова И.П. Базы данных. Учебное пособие. - Московский государственный институт электроники и математики (Технический университет). - М., 2009.
5. Кузнецов С.Д. Основы баз данных: учебное пособие. М.: Интернет - Университет Информационных Технологий; БИНОМ. Лаборатория знаний, 2007. - 484с.
6. History of ODMS. http://www.odbms.org/introduction-to- odbms/history/
7. OMG Formal versions of UML. http://www.omg.org/spec/UML/
8. Object-Oriented Design with Applications.3rd ed.,Grady Booch, 720
p., 2007 ISBN-10: 0-201-89551-X
9. B. Karwin. SQL Antipatterns: Avoiding the Pitfalls of Database Programming. Pragmatic Programmers. 1 Edition, 2010. - 328p.
10. M. Fowler. Patterns of Enterprise Application Architecture.Addison- Wesley Professional .1 Edition, 2002 - 560p.
11. Кузнецов М.В.MySQL на примерах / М. В. Кузнецов, И.В. Симдянов. - Спб.: БХВ-Петербург, 2007. - 592 с.
12. MySQL Documentation https://dev.mysql.com/doc/
13. Java 8. Полное руководство, 9-е изд.: Пер.с англ. -М.:ООО «И.Д.Вильямс», 2015. - 1376с.ил: - Парал. Тит.англ
14. J.Murach, M.Urban. Murach's Java Servlets and JSP.Mike Murach & Associates; 3rd edition, 2014 - 758p.
15. Java Platform, Standard Edition 7 API Specification https://d0cs.0racle.c0m/j avase/7/docs/api/
16. 13. Федеральный закон от 25.06.2002 N 73-ФЗ (ред. от 09.03.2016) "Об объектах культурного наследия (памятниках истории и культуры) народов Российской Федерации"