Базы данных. 3

Содержание

Введение

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

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

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

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

     Таким образом, система управления данными, в частности абонентской базой  данных, Интернет-провайдера должна:

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

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

     Среди наиболее ярких представителей систем управления базами данных можно отметить: Lotus Approach, Microsoft Access, Borland dBase, Borland Paradox, Microsoft Visual FoxPro, Microsoft Visual Basic, а также баз данных Microsoft SQL Server и Oracle, используемые в приложениях, построенных по технологии «клиент-сервер». Фактически, у любой современной СУБД существует аналог, выпускаемый другой компанией, имеющий аналогичную область применения и возможности, любое приложение способно работать со многими форматами представления данных, осуществлять экспорт и импорт данных благодаря наличию большого числа конвертеров. Общепринятыми, также, являются технологи, позволяющие использовать возможности других приложений, например, текстовых процессоров, пакетов построения графиков и т.п., и встроенные версии языков высокого уровня (чаще – диалекты SQL и/или VBA) и средства визуального программирования интерфейсов разрабатываемых приложений. Поэтому уже не имеет существенного значения на каком языке и на основе какого пакета написано конкретное приложение, и какой формат данных в нем используется. Более того, стандартом «де-факто» стала «быстрая разработка приложений» или RAD (от английского Rapid Application Development), основанная на широко декларируемом в литературе «открытом подходе», то есть необходимость и возможность использования различных прикладных программ и технологий для разработки более гибких и мощных систем обработки данных. Поэтому в одном ряду с «классическими» СУБД все чаще упоминаются языки программирования Visual Basic, Visual C++, Delphi, которые позволяют быстро создавать необходимые компоненты приложений, критичные по скорости работы, которые трудно, а иногда невозможно разработать средствами «классических» СУБД. Современный подход к управлению базами данных подразумевает также широкое использование технологии «клиент-сервер».

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

Исследовательский раздел

Обзор аналогичных программных  средств.

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

     Элемент данных (поле) – наименьшая единица поименованных данных.

     Логическая  запись – поименованная совокупность элементов данных (полей).

     Экземпляр логической записи – текущее значение элементов записи.

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

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

     Реляционная модель данных была предложена Е.Ф.Коддом (Dr. E.F.Codd) в 1969 году. Впервые основные концепции этой модели были опубликованы в 1970 г. , CACM, 1970, 13 N 6).

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

     Любая таблица реляционной базы данных состоит из строк (записи) и столбцов (поля).

     Строки  таблицы содержат сведения о представленных в ней фактах (однотипных объектах). На пересечении столбца и строки находятся конкретные значения содержащихся в таблице данных.

     Данные  в таблицах удовлетворяют следующим  принципам:

  1. Каждое значение, содержащееся на пересечении строки и колонки, должно быть атомарным (то есть не расчленяемым на несколько значений).
  2. Значения данных в одной и той же колонке должны принадлежать к одному и тому же типу, доступному для использования в данной СУБД.
  3. Каждая запись в таблице уникальна, то есть в таблице не существует двух записей с полностью совпадающим набором значений ее полей.
  4. Каждое поле имеет уникальное имя.
  5. Последовательность полей в таблице несущественна.
  6. Последовательность записей также несущественна.

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

     Поскольку последовательность колонок в таблице  несущественна, обращение к ним  производится по имени, и эти имена для данной таблицы уникальны (но не обязаны быть уникальными для всей базы данных).

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

       

     Основные функции системы управления базами данных:

    1. Определение структуры создаваемой базы данных, ее инициализация и проведение начальной загрузки
    2. Предоставление пользователям возможности манипулирования данными (выборка необходимых данных, выполнение вычислений, разработка интерфейса ввода/вывода, визуализация).
    3. Обеспечение независимости прикладных программ (логической и физической независимости).
    4. Защита логической целостности базы данных.
    5. Защита физической целостности.
    6. Управление полномочиями пользователей на доступ к базе данных.
    7. Синхронизация работы нескольких пользователей.
    8. Управление ресурсами среды хранения.
    9. Поддержка деятельности системного персонала.

     Рассмотрим  основные виды архитектур построения современных СУБД в хронологическом  порядке.

     Централизованная  архитектура: при использовании этой технологии база данных, СУБД и прикладная программа располагаются на одном компьютере. Для такого способа организации не требуется поддержки сети и все сводится к автономной работе. Подобная архитектура использовалась в первых версиях СУБД DB2, Oracle, Ingres.

     

      
Технология  с сетью и файловым сервером ("файл-сервер"): эта архитектура предполагает назначение одного из компьютеров сети в качестве выделенного сервера, на котором будут храниться файлы базы данных. В рамках архитектуры "файл-сервер" были выполнены первые версии популярных так называемых настольных СУБД, таких, как dBase и Microsoft Access.
 

     

     Технология "клиент – сервер": предполагает наличие некоторого количества компьютеров, объединенных в сеть, один из которых выполняет особые управляющие функции (является сервером сети). В архитектуре "клиент – сервер" работают так называемые "промышленные" СУБД. Например, MS SQL Server, Oracle, Gupta, Informix, Sybase, DB2, InterBase и ряд других. 

 

     Трехзвенная (многозвенная) архитектура "клиент – сервер": трехзвенная (в некоторых случаях многозвенная) архитектура (N-tier или multi-tier). Представляет собой дальнейшее совершенствование технологии "клиент – сервер". Рассмотрев архитектуру "клиент – сервер", можно заключить, что она является 2-звенной: первое звено – клиентское приложение, второе звено – сервер БД + сама БД. В трехзвенной архитектуре вся бизнес-логика, ранее входившая в клиентские приложения, выделяется в отдельное звено, называемое сервером приложений. При этом клиентским приложениям остается лишь пользовательский интерфейс. Так, в качестве клиентского приложения в описанном выше примере выступает Web-браузер.

     Проведем  краткий обзор СУБД и классифицируем их по некоторым признакам. Многие авторы классифицируют СУБД на две большие категории: так называемые "настольные" и "серверные". Рассмотрим каждую категорию.

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

     Одними  из первых СУБД были так называемые dBase-совместимые программные системы, разработанные разными фирмами. Первой широко распространенной системой такого рода была система dBase III – PLUS (фирма Achton-Tate). Развитый язык программирования, удобный интерфейс, доступный для массового пользователя, способствовали широкому распространению системы. В то же время работа системы в режиме интерпретации обусловливала низкую производительность на стадии выполнения. Это привело к появлению новых систем-компиляторов, близких к системе dBase III – PLUS: Clipper (фирма Nantucket Inc.), FoxPro (фирма Fox Software), FoxBase+ (фирма Fox Software), Visual FoxPro (фирма Microsoft). Одно время достаточно широко использовалась СУБД PARADOX (фирма Borland International).

     В последние годы очень широкое  распространение получила система управления базами данных Microsoft Access, которая входит в целый ряд версий пакета Microsoft Office(фирма Microsoft).

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

     Основными производителями таких систем обработки и хранения данных являются 3 корпорации: Oracle, Microsoft и IBM. Диаграмма соотношения объемов продаж соответствующих систем (источник: IDC Report, Май 2006):

     

     Наиболее  распространенными клиент-серверными системами здесь соответственно являются системы Oracle (разработчик компания Oracle), MS SQL Server (разработчик компания Microsoft), DB2 , Informix Dynamic Server (компания IBM).

     Дадим краткую характеристику этим системам.

     MS SQL Server: к настоящему времени разработано несколько версий систем: MS SQL Server-2000, MS SQL Server -2005, MS SQL Server-2008. Приведем информацию о системе MS SQL Server-2008 с сервера Microsoft (http://www.microsoft.com/rus/SQL/2008/default.mspx)

     Microsoft®  SQL Server™ 2008 – это законченное предложение в области баз данных и анализа данных для быстрого создания масштабируемых решений электронной коммерции, бизнес-приложений и хранилищ данных. Оно позволяет значительно сократить время выхода этих решений на рынок, одновременно обеспечивая масштабируемость, отвечающую самым высоким требованиям. В SQL Server включена поддержка языка XML и протокола http, средства повышения быстродействия и доступности, позволяющие распределить нагрузку и обеспечить бесперебойную работу, функции для улучшения управления и настройки, снижающие совокупную стоимость владения.

     Платформа бизнес-анализа SQL Server 2008, тесно интегрированная  с Microsoft Office, предоставляет развитую маштабируемую инфраструктуру для внедрения мощных возможностей бизнес-анализа в рабочий процесс всех бизнес-подразделений вашей компании, открывая доступ к нужной бизнес-информации через знакомый интерфейс MS Excel и MS Word.

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

     MS SQL Server-2008 предоставляет масштабируемый  и высокопроизводительный «процессор данных» – для самых ответственных и требовательных бизнес-приложений, тем, кому необходим высочайший уровень надежности и защиты, позволяя при этом снизить совокупную стоимость владения за счет расширенных возможностей по управлению серверной инфраструктурой.

     MS SQL Server-2008 предлагает разработчикам  развитую, удобную и функциональную  среду программирования, включая  средства работы с веб службами, инновационные технологии доступа  к данным – все, что необходимо  для эффективной работы с данными  любых типов и форматов.

     Oracle: к настоящему времени разработано несколько версий систем, каждая из которых включает целую линейку продуктов, например Oracle 8, Oracle 9i, Oracle 10g.

     Соответствующие линейки продуктов включают как  собственно СУБД (например Oracle Database 10g, Oracle Database 11g) , так и средства разработки и анализа данных.

     Приведем  информацию о системе с сервера Oracle http://www.oracle.com/global/ru/mid/oracle_products/database.html).

     Oracle предлагает комплексные, открытые, доступные и удобные в использовании  технологические решения. Готовые  пакетируемые решения автоматически  включают в свою стоимость  базу данных, сервер приложений, интеграционную платформу, инструменты аналитики и управления неструктурированными данными. Масштабируемые бизнес-приложения Oracle могут быть легко интегрированы с ИТ-инфраструктурой предприятия без потери уже вложенных в IT инвестиций.

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

     Серверы баз данных компании IBM: к настоящему времени разработаны линейки продуктов DB2 и Informix, включающая как собственно СУБД так и средства разработки и анализа данных (DB2 Universal Database DB2 Personal Edition, DB2 Enterprise 9 и др., а также Informix Dynamic Server, Informix Dynamic Server Express, Informix Extended Parallel Server и др.

     Приведем  информацию о части таких систем с сервера (http://www-01.ibm.com/software/ru/data/?pgel=ibmhzn)

     Универсальный сервер баз данных DB2 Universal Database - это  масштабируемая, обьектно-реляционная  система управления базами данных с  интегрированной поддержкой мультимедиа  и Web, работающая на системах от персональных компьютеров и серверов на процессорах Intel до Unix, от однопроцессорных систем до симметричных многопроцессорных систем (SMP) и систем с массовым параллелизмом (MPP), на хостах AS/400 и мейнфреймах. DB2 Universal Database объединяет в себе высокую производительность систем обработки транзакций в режиме on-line, объектно-реляционные расширения, усовершенствованные средства оптимизации с возможностями параллельной обработки и поддержкой очень больших баз данных. DB2 Universal Database также имеет новые встроенные средства для облегчения переноса на свою базу приложений, разработанных на других системах управления базами данных, таких как Oracle, Microsoft, Sybase и Informix. Помимо этого, DB2 Universal Database включает в себя дополнительные средства поддержки систем аналитической обработки в реальном времени (OLAP) и систем поддержки принятия решений, множество простых в использовании расширений (DB2 extenders). DB2 Universal Database доступна на абсолютном большинстве ключевых платформ, что дает заказчикам ту гибкость, которая им необходима.

     Кроме вышеуказанных зарубежных систем отметим  и отечественную разработку –  СУБД НИКА, преемницу широко распространенной в Советском Союзе СУБД ИНЕС для  ЕС ЭВМ.

     Нами  были рассмотрены различные архитектурные решения, используемые при реализации многопользовательских СУБД. Централизованная архитектура. Технология с сетью и файловым сервером (архитектура "файл-сервер"). Архитектура "клиент – сервер" (распределенная модель вычислений). Трехзвенная (многозвенная) архитектура) клиент – сервер. Дан обзор современных СУБД (настольные СУБД, серверные СУБД).

Обзор задач, решаемых с  помощью разрабатываемой  системы

     Фирмы-провайдеры насчитывают в среднем от 5000 до 50000 абонентов. Данные обо всех абонентах и обо всех услугах – это гигантский объем информации, с которой каждый день приходится работать служащим компании. Систематизация данных, хранение их в доступном виде, автоматизация процедур учета и т.д. позволит служащим более эффективно использовать рабочее время, постоянно обладая актуальными сведениями. В рамках данной работы ставится задача разработать систему управления абонентской базой интернет-провайдера. Система должна обеспечивать просмотр, редактирование, вставку записей базы данных, формирование запросов и отчетов, автоматизацию составления статистики, а также быстрый доступ и надежное хранение. В качестве исходных данных используется список клиентов провайдера. По этому списку следует установить закономерности и правила их составления, для осуществления этой задачи программным путем.

       Программный продукт должен:

  1. Хранить и позволять обрабатывать информацию о клиентах.
  2. Хранить и позволять обрабатывать информацию об услугах провайдера
  3. Генерировать и сохранять отчеты различной сложности с содержания.
  4. Отображать итоговую статистическую информацию
  5. обеспечивать сохранность всем данным

Техническое задание

     Наименование:

     База  данных для учета и обработки  информации об абонентах компании-провайдера.

     Краткая характеристика и  области применения:

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

     Основание для разработки:

     Задание на курсовой проект.

     Назначение  разработки:

     База  данных предназначена для учета и обработки данных об абонентах компании, и представления в удобном виде, например, в форме отчетов и таблиц.

     Цели  создания:

  1. Автоматизация учета и обработки данных об абонентах компании;
  2. Сокращение временного интервала поиска необходимых данных в базе;
  3. Снижение затрат на обработку первичной информации;
  4. Создание благоприятного психологического климата при работе с клиентами.

     Состав  выполняемых функций:

  1. предоставление готовых форм для ввода исходных данных;
  2. обработка исходных данных и составление смет;
  3. составление специальных форм отчетов.

     Организация входных и выходных данных:

     Входные данные - вносимые пользователем сведения об абоненте (ФИО, адрес, какие услуги использует, выплаты и т.п.). Выходные данные – отчеты и таблицы.

     Временные характеристики:

     Машинная  обработка данных составляет несколько  секунд.

     Требования  к надежности:

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

     Требования  к условиям эксплуатации:

     Программа ориентирована на минимальные требования к компьютерной подготовке пользователей.

     Требования  к составу и  параметрам технических  средств:

     Pentium II/256 MB и выше.

     Требования  к информационной и программной  совместимости:

  1. ОС Windows XP/NT/9x/200x;
  2. Office 200x/XP Pro.

     Методы  решения:

     Построение  СУБД на основе инфологической и датологической модели предметной области.

     Языки программирования и  программные средства, используемые в разработке:

     Определяются  на этапе эскизного проектирования.

     Требования  к упаковке, маркировке, транспортировке и хранению:

     Отсутствуют.

     Состав  программной документации:

    1. руководство пользователя;
    2. листинг программы.

     Стадии  и этапы разработки:

     Определяются в соответствии с регламентом разработки дипломного проекта.

     Порядок контроля и приемки:

  1. поэтапный контроль со стороны руководителя проекта;
  2. тестирование программных модулей;
  3. опытная эксплуатация.

Раздел  «Безопасность жизнедеятельности»

Анализ  опасных, вредных  факторов и чрезвычайных ситуаций, возможных  при эксплуатации ПЭВМ

     Выявим основные действующие опасности в помещении предназначенном для ПЭВМ.

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

Базы данных. 3