1   2
Ім'я файлу: Информационные системы.doc
Розширення: doc
Розмір: 159кб.
Дата: 10.10.2021
скачати
Пов'язані файли:
Проектування бази даних “каса продажу квитків” з використанням о

Реляционная база данных - тип базы данных и системы управления базой данных, в которой информация записана в таблицах (ряды и колонки данных), а для поиска данных в таблице используются данные из колонок другой таблицы. В реляционной базе данных ряды таблиц представляют собой записи (наборы информации об отдельном элементе), а колонки - поля (отдельные атрибуты записи). При проведении поиска Реляционная база данных связывает информацию поля одной таблицы с информацией в соответствующем поле другой таблицы для обработки третьей таблицы, в которой комбинируются запрошенные данные из обеих таблиц. Например, если одна таблица содержит поля ДОЛЖНОСТЬ, ФАМИЛИЯ, ИМЯ СТАЖ, а другая содержит поля ОТДЕЛ. ДОЛЖНОСТЬ и ЗАРПЛАТА, то реляционная база может связать оба поля ДОЛЖНОСТЬ в две таблицы, чтобы найти такую информацию, как имена всех служащих, имеющих определенный стаж, или отделы, в которые были приняты служащие после определенной даты. Другими словами, реляционная база данных использует согласующиеся значения в двух таблицах, чтобы установить отношение информации в одной таблице к информации в другой таблице.

Несмотря на очевидную привлекательность объектно-ориентированных и объектно-реляционных СУБД, в ближайшие годы придется работать с хорошо отлаженными, развитыми, сопровождаемыми системами, поддерживающими стандарт SQL-92 (например, Oracle, Informix, CA-OpenIngres, Sybase, DB2). Просто потому, что должно пройти время, чтобы системы новых типов устоялись, обрели необходимую надежность, стали бы опираться на какие-либо стандарты и т. д.

Поэтому с большой вероятностью на следующей стадии проектирования будет нужно на основе имеющейся концептуальной схемы произвести набор определений схемы реляционной базы данных в терминах языка SQL. К сожалению, несмотря на наличие стандарта языка, на этой стадии иногда невозможно не учитывать специфику сервера баз данных, который будет использоваться. Вы спросите, почему "к сожалению"? Да потому, что на самом деле мы еще не дошли до той стадии, когда конкретные особенности сервера действительно необходимо учитывать. В принципе, на данной стадии мы все еще находимся на уровне абстрактной реляционной модели. Но все дело в том, что когда производители серверов баз данных провозглашают соответствие своих серверных продуктов стандарту языка SQL-92, то в основном они понимают соответствие так называемому "ядру" стандарта. К сожалению, ядро стандарта не включает средств определения схемы базы данных. Поэтому диалекты SQL, реализуемые разными производителями, различаются в деталях соответствующих языковых средств. По этой причине необходимо внимательно изучить "целевой" диалект SQL, если трансляция концептуальной схемы в реляционную производится вручную (например, на основе методологии, предлагаемой компанией Oracle), или указать название используемого серверного продукта, если применяется продукто-независимое CASE-средство (например, Silverrun).

На этой же стадии необходимо решить, какие таблицы будут реально хранимыми, а какие - представляемыми (view).

После того как выработана общая реляционная схема базы данных, необходимо определиться с архитектурой системы. В частности, очень важно решить, какой будет база данных - централизованной или распределенной (другими словами, будет ли использоваться только один сервер баз данных или их будет несколько). Если принимается решение о распределенном характере базы данных, то необходимо произвести соответствующую декомпозицию набора определений схемы базы данных. (Заметим, что, вообще говоря, принятие решения об архитектуре системы возможно и до выработки общей реляционной схемы базы данных. Тогда декомпозиция производится на уровне концептуальной схемы, а затем для каждой отдельной части концептуальной схемы создается реляционная схема в терминах языка SQL.)

Наиболее простым случаем декомпозиции является тот, когда образующиеся разделы базы данных логически автономны. В терминах концептуальной схемы это означает, что между разделенными сущностями отсутствуют прямые или транзитивные (через другие сущности) связи. В терминах реляционной схемы: ни в одном разделе не присутствует таблица, ссылающаяся на таблицу, которая располагается в другом разделе (рис. 3 и 4). Если требование логической автономности компонентов распределенной базы данных выполнено, то дальнейшее проектирование можно производить для каждого компонента независимо.



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


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

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

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

Язык SQL/92 позволяет определить ограничения целостности, относящиеся к общему состоянию базы данных и включающие ссылки на произвольное число таблиц. Семантика таких ограничений целостности может быть существенно шире, чем ограничения, задаваемые связями 1 к n и даже n к m (1-to-many и many-to-many). Поэтому часто ограничения общего вида не выводятся автоматически из концептуальной схемы базы данных, и их приходится добавлять к реляционной схеме вручную. Для того чтобы понять, какие ограничения общего вида должны быть включены в реляционные схемы разделов, приходится возвращаться к документу, содержащему анализ требований корпорации. Задача проектировщика состоит в том, чтобы, с одной стороны, выявить все необходимые ограничения целостности и, с другой стороны, не перегрузить базу данных необязательными ограничениями (любое дополнительное ограничение целостности вызывает дополнительные проверки на стороне сервера при выполнении операций изменения базы данных; проверки для ограничений общего вида могут быть весьма громоздкими). Конечно, если предполагается использование распределенной базы данных, то опять придется учитывать возможности сервера по части ссылок на объекты "чужих" разделов. Это может повлиять на выбор ограничений целостности и/или повлечь создание новой декомпозиции общей базы данных на разделы.

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

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

Два замечания. Во-первых, в распространенном на сегодня стандарте SQL/92 механизм триггеров не специфицирован. В СУБД, которые поддерживают этот механизм, соответствующие языковые средства и их семантика различаются. Поэтому на текущий момент использование механизма триггеров неявно влечет сильную привязку к конкретному производителю. Во-вторых, как и в случае определения представлений и ограничений целостности, при определении триггеров необходимо учитывать распределенный характер базы данных и возможности сервера ссылаться на "чужие" таблицы.

Наконец, в базе данных могут находиться хранимые процедуры. Интересно, что в стандарте SQL/92 вообще не встречается термин "хранимая процедура". В стандарте специфицированы два способа взаимодействия прикладной программы с сервером баз данных.

  1. Первый, наиболее часто используемый способ состоит во встраивании операторов языка SQL в программу, написанную на одном из традиционных языков программирования. В самом стандарте определены правила встраивания SQL в программы, которые написаны на языках Си, Паскаль, Фортран, Ада и т. д.

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

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

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

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

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

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

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

Понятно, что в любом случае в наше время неразумно программировать интерфейсные функции вручную. Нужно использовать имеющиеся полуфабрикаты. Но здесь существует широкий выбор: базовые библиотеки используемой оконной системы (например, X Toolkit Intrinsics в оконной системе X), универсальные инструментальные средства построения графического пользовательского интерфейса более высокого уровня (например, Motif или Tcl/Tk), языки и системы программирования 4-го поколения (например, PowerBuilder, Jam и т. д.). На наш взгляд, выбор определяется вкусом и привычками разработчика, а также общей ориентацией проекта. Например, если с самого начала проект был ориентирован на использование продуктов компании Oracle и ведется в интегрированной среде Designer/Developer 2000, то было бы странно покидать эту среду при разработке интерфейсов.

Что же касается обрабатывающих частей информационной системы, то все зависит от того, что они должны делать. Имеется масса примеров информационных систем, в которых вся обработка данных состоит в преобразовании их форматов при вводе и выводе, формировании отчетов и т. д. Такие функции можно фактически не программировать, поскольку любой 4GL может сгенерировать их автоматически по соответствующему описанию. Но если требуется более сложная обработка данных, то в любом случае потребуется явное программирование, и тогда уже неважно, на каком языке это программирование будет вестись. В частности, если вы используете Delphi для разработки интерфейсов, то для программирования разумно использовать Object Pascal (прекрасный язык, но пока жестко привязанный к Intel-платформам). В других случаях можно применять процедурную часть 4GL (обычно все они похожи на Basic) или C/C++ (как правило, стыковка 4GL с этими языками поддерживается).

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

ЗАКЛЮЧЕНИЕ

Информационные технологии – весьма широкое определение, под которое попадает ряд отдельных технических средств и приемов работы с информацией. Но, как правило, в процессе работы с информацией люди имеют дело со вполне определенной связанной последовательностью взаимодействий с различными средствами. В зависимости от шкалы времени (от оперативных до долгосрочно-стратегических задач) и масштаба действий (от одного рабочего места до целой компании) могут обнаруживаться разные связи и последовательности, и для управления ими нужны разные методы. Методы варьируются также по степени алгоритмизации и рационализации. Наиболее рационально алгоритмизированная совокупность методов и средств работы с информацией – информационная система. Информационная система - взаимосвязанная совокупность средств, методов и персонала, используемых для хранения, обработки и выдачи информации. Информационные системы бывают разного назначения и масштаба. Также информационные системы отличаются по степени охвата сфер деятельности предприятия (учитывают ли они только бухгалтерию или также и склад, финансы, производство и т.д.). Однако все информационные системы обладают рядом свойств, которые являются для них общими:

- ИС предназначены для сбора, хранения и обработки информации. Таким образом, в основе любой информационной системы лежат средства хранения и доступа к данным;

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

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

- Настольные;

- Сетевые;

- ИС масштаба предприятия.

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

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

- ИС автоматизирует применение математических методов к решению управленческих задач;

- ИС по крайней мере частично освобождает сотрудников от рутинного труда;

- ИС минимизирует вероятность появления ошибки в ходе передачи либо обработки информации;

- ИС снижает объем документов на бумаге;

- ИС совершенствует документооборот;

- ИС снижает затраты на производство товаров и услуг.

СПИСОК ЛИТЕРАТУРЫ:

1. Бородакий Ю.В., Лободинский Ю.Г. Информационные технологии. Методы, процессы, системы. – М.: Радио и связь, 2002 год.

2. Информатика: Учебник – 3-е перераб. Изд. / Под ред. Макаровой Н.В. – М.: Финансы и статистика. 2004 год.

3. Веретенникова Е.Г., Патрушина С.М., Савельева Н.Г. Информатика: Учебное пособие. – Ростов-на-Дону: Изд. Центр «МарТ», 2003 год.

4. Захарова И.Г. Информационные технологии в образовании: Учебное пособие для студентов высших педагогических учебных заведений. М.: Изд. Центр «Академия», 2003 год.

5. Згадзай О.Э. и др. Информатика для юристов: Учебник Згадзай О.Э., Казанцев С.Я., Казанцева Л.А.; Под ред. Казанцева С.Я. – М.: Мастерство, 2001 год.

6. Сухомлин В.А. Введение в анализ информационных технологий. Учебник для вузов. М.: Изд-во «Горячая линия Телеком»; Серия: Высшая школа МГУ, 2003 год.

7. Советов Б.Я., Цехановский В.В. Информационные технологии. М.: Изд-во «Высшая школа», 2007 год.

8. Филимонова Е.В. Информационные технологии в профессиональной деятельности: Учебник, Ростов-на-Дону: Изд-во «Феникс», 2004 год.

9. Угринович Н.Д. Информатика и информационные технологии: Учебник для 10-11 классов. М.: БИНОМ, Лаборатория знаний, 2003 год.

10.Хохлова Н.М. Информационные технологии (конспект лекций) – М.: Приор-Издат, 2004 год.





1   2

скачати

© Усі права захищені
написати до нас