Тип работы:
Предмет:
Язык работы:


Средство аварийного извлечения данных из хранилища СУБД Microsoft SQL Server 2008 R2

Работа №163453

Тип работы

Бакалаврская работа

Предмет

информатика

Объем работы158
Год сдачи2019
Стоимость4790 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
14
Не подходит работа?

Узнай цену на написание


Введение 8
1. Анализ предметной области 10
1.1. Постановка задачи 10
1.2. Обзор аналогов 10
1.2.1. Microsoft SQL Server 2008 R2 10
1.2.2. SysTools SQL MDF Viewer 11
1.2.3. Aryson SQL Viewer 12
1.2.4. Отличия от аналогов 13
1.3. Базовая информация о Microsoft SQL Server 14
1.4. Средства разработки приложения 17
1.4.1. Язык программирования С# 17
1.4.2. Среда разработки Microsoft Visual Studio 18
1.4.3. Технология Windows Forms 19
2. Разработка программы 21
2.1. Описание приложения 21
2.2. Описание модуля работы с хранилищем 22
2.3. Описание модуля графического интерфейса 27
2.4. Руководство пользователя 28
2.5. Описание работы программы 32
3. Тестирование 38
3.1. Тестирование модуля работы с хранилищем СУБД 38
3.2. Тестирование модуля графического интерфейса 38
Заключение 45
Список используемых источников 47
Приложение А Листинги модуля работы с хранилищем 48
Приложение А.1 Файл «CDataField.cs» 48
Приложение А.2 Файл «CDataFile.cs» 64
Приложение А.3 Файл «CDataPage.cs» 67
Приложение А.4 Файл «CDataRow.cs» 67
Приложение А.5 Файл «CDataRowCollection.cs» 74
Приложение А.6 Файл «CDataRowSyscolpars.cs» 77
Приложение А.7 Файл «CDataRowSysfiles» 79
Приложение А.8 Файл «CDataRowSysrscols.cs» 80
Приложение А.9 Файл «CField.cs» 82
Приложение А.10 Файл «CIAMPage.cs» 83
Приложение А.11 Файл «CIAMPageChain.cs» 84
Приложение А.12 Файл «CPage.cs» 87
Приложение А.13 Файл «CSQLTable.cs» 92
Приложение А.14 Файл «CSQLTableSysallocunits.cs» 106
Приложение А.15 Файл «CSQLTableSyscolpars.cs» 107
Приложение А.16 Файл «CSQLTableSysfiles.cs» 110
Приложение А.17 Файл «CSQLTableSysrowsets.cs» 112
Приложение А.18 Файл «CSQLTableSysrscols.cs» 113
Приложение А.19 Файл «CSQLTypes.cs» 116
Приложение А.20 Файл «CSQLviewDB.cs» 124
Приложение А.21 Файл «IMDFDatabase.cs» 128
Приложение А.22 Файл «IMDFTable.cs» 128
Приложение А.23 Файл «XType.cs» 130
Приложение Б Листинги модуля графического интерфейса 132
Приложение Б.1 Файл «CellViewForm.cs» 132
Приложение Б.2 Файл «CellViewerForm.Designer.cs» 134
Приложение Б.3 Файл «Form1.cs» 140
Приложение Б.4 Файл «Form1.Designer.cs» 144
Приложение Б.5 Файл «Program.cs» 149
Приложение В UML-диаграммы 150
Приложение В.1 Диаграмма вариантов использования 150
Приложение В.2 Диаграмма классов часть 1 151
Приложение В.3 Диаграмма классов часть 2 152
Приложение В.4 Диаграмма последовательности 153
Приложение Г Презентация 154

Широкое распространение для хранения данных получила реляционная модель данных в виде реляционных баз данных и СУБД.
Реляционные базы данных обеспечивают надёжное хранение, как самих данных, так и связей между ними. На протяжении всего существования реляционных баз данных они предоставляли наилучшее сочетание устойчивости, гибкости, простоты, производительности и масштабируемости. Хранение данных базы данных о таблицах и связях между ними в каждой СУБД реализовано по-разному.
Существует множество СУБД: SQL Server, MySQL, DB2 и другие. Взаимодействие с самими базами данных возможно только посредством подключению к СУБД и SQL-запросов, которые направляются к серверу. Поэтому, когда СУБД выходит из строя или недоступно невозможно взаимодействовать с базой данных через SQL-запросы, но при этом сами файлы хранилища СУБД остаются на жёстком диске.
Однако структура файлов хранилища СУБД является сложной. У каждой СУБД своя структура файла хранилища, которая обеспечивает определённые особенности каждой СУБД. В Microsoft SQL Server структура файлов хранилища, в общем, не меняется: файл делится на страницы размером восемь килобайт, у каждой страницы имеется служебная информация — но в каждой новой версии Microsoft SQL Server появляются новые возможности или улучшается работа существующего функционала СУБД. Нередко это приводит к изменению состава системных таблиц и взаимодействию с файлом хранилища в какой-либо мере. Из-за изменений в структуре хранилища СУБД в различных версиях Microsoft SQL Server нельзя напрямую взаимодействовать с файлами хранилищ других версий.
Разобрав структуру хранилища можно выполнить действия, имитирующие работу СУБД и отобразить данные без установления связи с СУБД.
Целью данной работы является разработка приложения, которое способно отображать данные всех системных и пользовательских таблиц базы данных из файла хранилища СУБД Microsoft SQL Server 2008 R2.
Для достижения данной цели необходимо решить следующие задачи:
1. Разобрать структуру файла хранилища СУБД Microsoft SQL Server 2008 R2.
2. Разобрать взаимодействие между системными таблицами СУБД Microsoft SQL Server 2008 R2.
3. Реализовать алгоритм по получению данных таблиц из файла хранилища и их обработку на основе системных таблиц СУБД.

Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


Результатом данной работы является клиентское приложение «Средство аварийного извлечения данных из хранилища СУБД Microsoft SQL Server 2008 R2». Приложение позволяет осуществлять взаимодействие напрямую с файлом хранилища СУБД без установления соединения с SQL Server. Пользователь может открывать первичные файлы хранилища СУБД, которые имеют расширение mdf, просматривать структуру базы данных, список системных и пользовательских таблиц, данные таблиц. Пользователь может копировать данные отдельных полей и целой строки, может сохранить все отображённые данные одной таблицы в текстовый файл. Пользователю предоставляется возможность просматривать данные большой длины посредством навигации к определённой позиции в данном поле и выводе определённого количества байт. Таким образом, приложение полностью соответствует заданным требованиям.
В процессе тестирования приложения были выявлены различные проблемы. Некоторые колонки в таблицах базы данных могли не содержать никакого значения, так как имеется создавать вычисляемые колонки, значение которых вычисляется при отображении данных посредством заданной формулы и других значений строки. Проблема была решена путём сравнивания данных из системных таблиц syscolpars и sysrscols — таблица syscolpars всегда содержит информацию о всех колонках таблицы, когда таблица sysrscols не хранит информацию о вычисляемых колонках. При отображении данных могли отображать не все записи, что при отображении их непосредственно в СУБД. Проблема была решена путём разбора индексной карты размещения определённой таблицы и поиском на основе разбора в определённых блоках размером восемь страниц в файле хранилище СУБД.
В дальнейшем приложение может быть улучшено путём добавления нового функционала на основе дальнейшего изучения системных таблиц и работы СУБД Microsoft SQL Server 2008 R2 и путём добавления возможности просматривать данные из первичных файлов хранилища СУБД различных версий. При дальнейшем изучении структуры базы данных, может быть добавлено отображение триггеров, функций и других элементов базы данных. При разработке модулей работы с хранилищем для других версий SQL Server, можно будет работать с файлами хранилища СУБД различных версий, может быть реализовано автоопределение версии SQL Server при открытии файла хранилища.
В ходе выполнения работы, были получены навыки разработки клиентского приложения с графическим интерфейсом. Значительно были развиты навыки применения основных принципов объектно - ориентированного приложения, такие как наследование и полиморфизм. Был получен опыт в создании графического интерфейса при помощи технологии Windows Forms.


Список используемых источников
1) MSDN [Электронный ресурс] — URL:https://msdn.microsoft.com/
2) Nicholas, P Ashton-Tate/Microsoft SQL Server: PC databases enter a new era/ P. Nicholas, K. Alex, M. Scott // InfoWorld - 1989. - Vol. 11, №41. - P. 55 - 75.
3) Билл, В. Наиболее эффективное программирование на С#. 50 способов улучшения кода / В. Билл — Издательство: Вильямс, 2018 г. — 224 с.
4) Либерти, Д. Программирование на С# /Д. Либерти — Издательство: Символ-Плюс, 2003 г. — 688 с.


Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ