Сравнительный анализ архитектурных решений в задаче хранения данных и создание приложения для работы с базой данных
|
Введение 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
Приложение
Постановка задачи 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].
Предполагается, что данные в базе являются постоянно хранимыми, так как после того как они были обработаны средствами системы управления базой данных для внесения в базу данных, их удаление возможно только с помощью явного запроса к базе данных.
Под базой данных будем подразумевать совокупность постоянно хранимых данных, используемых прикладным программным обеспечением.
К.Дж. Дейт определял [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] а также на сайте компании — поставщика программного обеспечения
К разработанной базе данных в дальнейшем могут быть добавлены новые требования, которые воплотятся в виде таблиц, связей между ними, ограничений, дополнительных столбцов и других проявлений. Приложение, несомненно, тоже должно учитывать эти изменения и отражать их в своем функционале. Дальнейшая работа по базе данных может включать в себя рассмотрение других моделей данных и, соответственно, других систем управления базами данных. Кроме того, с течением времени возможно возникнет необходимость реализовать дополнительные функции, представленные в приложении, которые будут удовлетворять отдельные, специфические запросы специалистов. Требует реализации также и клиентское приложение, предназначенное для конечного пользователя.



