Файл: Применение объектно-ориентированного подхода при проектировании информационной системы (Информационные системы: понятие, назначение, классификация).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 28.06.2023

Просмотров: 56

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
    1. Модели баз данных

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

Реляционная модель и реляционные БД могут быть очень мощным инструментом, но только если программист знает как с ними обращаться. Недавно, стали набирать популярность NoSQL системы с обещанием избавиться от старых проблем БД и добавить новый функционал. Исключая жесткую структуру данных, при этом сохранив реляционный стиль, эти СУБД предлагают более свободный способ работы с ними и гораздо большие возможности для их настройки. Хотя не обходится и без возникновения новых проблем.

Реляционная модель

Представленная в 1970 году реляционная модель предложила математический способ структурирования, хранения и использования данных. По сути он расширил плоскую и сетевую модели, объединив их в реляционную. Основное преимущество которой было объединение данных в группы, именно реляционная модель позволила хранить данные в структурированном табличном виде (ФИО, адрес).

Благодаря десятилетиям разработки, СУБД достигли довольно высокого уровня в производительности и отказоустойчивости. Опытом разработчиков и сетевых администраторов было доказано, что все эти инструменты отлично справляются со своими функциями в приложениях любой сложности, не теряют данных даже при некорректных завершениях работы.

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

Технологии обработки данных

"Клиент-сервер" - это модель взаимодействия компьютеров в сети. Как правило, компьютеры не являются равноправными. Каждый из них имеет свое, отличное от других, назначение, играет свою роль. Некоторые компьютеры в сети владеют и распоряжаются информационно-вычислительными ресурсами, такими как процессоры, файловая система, почтовая служба, служба печати, база данных. Другие же компьютеры имеют возможность обращаться к этим службам, пользуясь услугами первых. Компьютер, управляющий тем или иным ресурсом, принято называть сервером этого ресурса, а компьютер, желающий им воспользоваться - клиентом. Конкретный сервер определяется видом ресурса, которым он владеет. Так, если ресурсом являются базы данных, то речь идет о сервере баз данных, назначение которого - обслуживать запросы клиентов, связанные с обработкой данных; если ресурс - это файловая система, то говорят о файловом сервере, или файл-сервере. В сети один и тот же компьютер может выполнять роль как клиента, так и сервера.


Сравним технологию “клиент-сервер” с технологией “файл-сервер”.

В файл-серверной системе данные хранятся на файловом сервере (например, Novell NetWare или Windows NT Server), а их обработка осуществляется на рабочих станциях, на которых, как правило, функционирует одна из так называемых "настольных СУБД" - Access, FoxPro, Paradox и т.п.

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

Рис.4. Сравнение технологий

Таким образом, непосредственным манипулированием данными занимается несколько независимых и несогласованных между собой процессов. Кроме того, для осуществления любой обработки (поиск, модификация, суммирование и т.п.) все данные необходимо передать по сети с сервера на рабочую станцию (рис. 4).

В клиент-серверной системе функционируют (как минимум) два приложения - клиент и сервер, делящие между собой те функции, которые в файл-серверной архитектуре целиком выполняет приложение на рабочей станции. Хранением и непосредственным манипулированием данными занимается сервер баз данных, в качестве которого может выступать Microsoft SQL Server, Oracle, Sybase и т.п..

Формированием пользовательского интерфейса занимается клиент, для построения которого можно использовать целый ряд специальных инструментов, а также большинство настольных СУБД. Логика обработки данных может выполняться как на клиенте, так и на сервере. Клиент посылает на сервер запросы, сформулированные, как правило, на языке SQL. Сервер обрабатывает эти запросы и передает клиенту результат (разумеется, клиентов может быть много).

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

Сервер баз данных осуществляет модификацию данных на основе механизма транзакций, который придает любой совокупности операций, объявленных как транзакция, следующие свойства:

атомарность - при любых обстоятельствах будут либо выполнены все операции транзакции, либо не выполнена ни одна; целостность данных при завершении транзакции;

независимость - транзакции, инициированные разными пользователями, не вмешиваются в дела друг друга;


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

Масштабируемость

Масштабируемость - способность системы адаптироваться к росту количества пользователей и объема базы данных при адекватном повышении производительности аппаратной платформы, без замены программного обеспечения.

Общеизвестно, что возможности настольных СУБД серьезно ограничены - это пять-семь пользователей и 30-50 Мб, соответственно. Эти барьеры нельзя преодолеть за счет наращивания возможностей аппаратуры.

Системы же на основе серверов баз данных могут поддерживать тысячи пользователей и сотни ГБ информации на соответствующей аппаратной платформе.

Безопасность

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

В файл-серверной системе мы «просто» вносим изменения в приложение и обновляем его версии на рабочих станциях. Но это "просто" влечет за собой максимальные трудозатраты.

В двухуровневой клиент-серверной системе, если алгоритм расчета зарплаты реализован на сервере в виде правила расчета зарплаты, его выполняет сервер бизнес-правил, выполненный, например, в виде OLE-сервера, и мы обновим один из его объектов, ничего не меняя ни в клиентском приложении, ни на сервере баз данных.

Системы управления базами данных

Термин СУБД включает в себя довольно большое количество сильно отличающихся друг от друга инструментов для работы с базами данных (отдельные программы и подключаемые библиотеки). Так как данные бывают различных видов и типов, начиная со второй половины 20 века было разработано огромное количество разных СУБД и других приложений для работы с БД.

СУБД основываются на модели базы данных - это специальные структуры предназначенные для работы с данными. Все СУБД сильно отличаются в том, каким образом они хранят и обрабатывают свои данные.


Хотя существуют много решений для работы с БД, популярными и востребованными становятся лишь некоторые из них. Наиболее часто применяемая на сегодняшний день - реляционная система управления базами данных.

Реляционные СУБД берут своё название от модели БД с которой работают. На данный момент и, наверное, в ближайшем будущем эти СУБД будут наиболее популярным выбором для хранения данных.

Реляционные СУБД используют строго описанные структуры данных - схемы. Схема базы данных включает в себя описание содержания, структуры и ограничений целостности, т.е. она определяет таблицы, поля в каждой таблице, а также отношения между полями и таблицами.

Вот некоторые из наиболее популярных систем:

SQLite - довольно мощная встраиваемая СУБД

MySQL - наиболее популярная СУБД

PostgreSQL - самая профессиональная свободно распространяемая СУБД, полностью соответствующая стандартам SQL

Обзор наиболее распространенных СУБД

Выбор СУБД определяется многими факторами, но главный из них – возможность работы с построенной моделью данных. Поэтому одной из важнейших характеристик является тип модели (иерархический, сетевой, реляционный), который поддерживается СУБД. База данных для АРМ веб-дизайнера является реляционной. Помимо модели данных важным показателем является стоимость лицензии для разработки базы данных и стоимость поддержки данной СУБД. Также необходимо обращать внимание на минимальные технические требования для оперативной и эффективной работы СУБД [16].

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

Для сравнения выберем такие СУБД, как: MS Access[24], MySQL[20], Oracle [8] и MS SQL Server [17]. Сравнительный анализ СУБД представлен в таблице 1.

Таблица 1

Сравнение СУБД

Критерии оценки

MS Access

MySQL

MS SQL Server

Orcale

1

2

3

4

Размер базы данных

несколько Мб

+

+

до 100Мб

+

+

несколько ГБ

+

+

+

100Гб и более

+

+

Количество одновременных пользователей, работающих с базой данных напрямую

1 пользователь

+

+

до 10

+

+

более 10

+

+

+

более 100

+

+

+

более 1000

+

+

Стоимость лицензии

бесплатно (только лицензия на пакет)

+

+

дешево

дорого

+

+

очень дорого

Платформа на которой способна работать СУБД

Windows

+

+

+

Unix/Linux

+

Windows+Linux

+

+

Кластеры

+

Встроенный язык программирования

Microsoft

+

+

Языки для Linux

+

Тип программы

Локальное приложение

+

+

WEB

+

Сложная система

+

+

Защита данных

низкая

слабая

+

сильная

+

+

+

Мощность языка SQL и возможности СУБД

очень слабые

слабые

+

развитые

+

мощные

+

+

Требования к техническим характеристикам ПК

неприхотливые

+

+

чувствительные

необходимы мощные сервера

+

+

Возможные способы доступа к данным

ODBC

+

OLEDB/ADO

+

+

+

DAO

+

BDE

Другое

+

+

+

Сложность настройки и администрирования

никаких сложностей

+

небольшие сложности

необходимы специальные знания и помощь специалиста

+

+

+


Для получения информации о характеристиках СУБД воспользуемся информационными порталами:

  1. www.tpc.org - зарубежная некоммерческая корпорация, сосредоточенная на разработке и проведении тестирования производительности программных и аппаратных комплексов;
  2. www.msdn.ru - крупнейший портал русскоязычный сайт, посвященный программному обеспечению.

На рисунке 5 представлено сравнение масштабируемости и уязвимости СУБД за период 2012-2015 по данным msdn.ru.

Рис. 5. Сравнение масштабируемости и уязвимости СУБД за период 2012-2015 по данным msdn.ru

На рисунке 6 представлен скриншот главного рабочего окна СУБД MS Access.

Рис. 6. Рабочее окно СУБД MS Access

На рисунке 7 представлено окно администрирования баз данных MS SQL Server.

Рис. 7. Окно администрирования баз данных MS SQL Server

На рисунке 8 представлен пример работы в СУБД MySQL с помощью программы MySQL-Front.

Рис. 8. Пример работы в СУБД MySQL с помощью программы MySQL-Front

На рисунке 9 представлен скриншот Oracle SQL Developer для работы с БД Oracle.

Рис. 9. Oracle SQL Developer

На рисунке 10 представлен пример среды администрирования PL/SQL Developer.

Рис. 10. Среда администрирования PL/SQL Developer

В таблице 2 представлены сравнительные характеристики СУБД. Приведены основные достоинства и недостатки рассматриваемых СУБД, результаты оценки производительности, средняя стоимость лицензии, действующая на момент написания проекта.

Таблица 2

Сравнительные характеристики СУБД

СУБД

Характеристики

Производи-тельность

Преимущества

Ограничения

Недостатки

Цена, руб.

MySql

tpmC=220807

  • бесплатный;
  • кросс-платформенный сервер;
  • низкие аппаратные требования
  • независимые механизмы хранения таблиц (MyIsam,InНетDB)

Размер таблицы до 4Гб

  • низкие возможности по сравнению с Oracle и MS SQL Server
  • сжатые данные используются только для чтения
  • только SQL-аутентификация

0

Microsoft SQL Server

tpmC=440879

  • кросс-платформенный сервер;
  • высокая распространенность;
  • высокие показатели быстродействия

Размер таблицы до 4Гб

  • высокая стоимость; сервера и технической поддержки;
  • не все версии предлагают средство администрирования СУБД;
  • высокая сложность администрирования
  • необходимо наличие квалифицированного персонала;

95000

Oracle Database

tpmC=505302

  • высокие показатели производительности;
  • высокая распространенность;
  • простое администрирование;
  • большое количество сторонних средств администрирования;
  • высокие темпы развития;

прозрачное сжатие данных

  • 1 процессор
  • Максимальное использование ОЗУ 1Гб
  • Максимальный объем БД 4ГБ
  • очень высокая стоимость
  • применима только для платформы Windows.

36 000