Автоматизированная информационная система Учет экономической деятельности мукомольного цеха
2. Произвести выборку из БД всех данных определенного типа, значения
которых удовлетворяют заданным условиям и т.д.
Системы управления базой данных подразделяют на две группы в
зависимости от способа реализации ЯМД:
1. СУБД с включающим языком;
2. СУБД с базовым языком.
В СУБД с базовым языком разрабатывается собственный алгоритмический
язык, позволяющий кроме манипулирования данными выполнять арифметические
операции, операции ввода - вывода на терминалы и т.д.
Во многих СУБД имеются специальные средства обеспечения защиты данных
от некомпетентного их использования и сбоев технических средств, средства
контроля достоверности данных, средства автоматического накопления
статистики использования тех или иных данных различными категориями
пользователей.
Другой концепцией является концепция администратора базы данных (АБД).
Администратор базы данных - это лицо (или группа лиц), реализующие
управление базой данных. Он должен уметь поддерживать взаимосвязи как с
руководством высшего уровня, так и с пользователем, обрабатывающим данные,
а также руководить штатом технических специалистов.
Этот штат должен включать лиц, имеющих опыт работы в таких областях,
как программное обеспечение СУБД, операционные системы, техническое
обеспечение ЭВМ, прикладное программирование, системное
программирование.
Основная функция АБД - обеспечение структур данных и взаимосвязей
между ними, эффективным методом обслуживания коллектива пользователей.
Функции АБД следующие:
- решать вопросы организации данных об объектах ПО и установление
связей между ними с целью объединения информации о различных объектах,
согласовывать запросы пользователей;
- координировать все действия по проектированию, реализации и ведения
БД;
- учитывать перспективные и текущие требования пользователей;
- решать вопросы, связанные с расширением БД в связи с изменением
границ ПО;
- разрабатывать и реализовывать меры по обеспечению защиты данных от
некомпетентного их использования, от сбоев технических средств, обеспечение
секретности определенной части данных и разграничение доступа к ним;
- контролировать избыточность и противоречивость данных, их
достоверность;
- координировать работу технического обеспечения системы, системных
программистов и прикладных программистов.
Место АБД было определено тогда, когда организации осознали
необходимость централизованного управления ресурсами данных, обработки
данных и другие аспекты, связанные с базой данных. Группы пользователей
и отдельные пользователи должны обслуживаться всеми средствами,
исходя из целей и возможностей организации в целом. АБД является
ответственным за анализ потребностей пользователей, проектирование БД, ее
внедрение, обновление, реорганизацию, консультацию и обучение
пользователей.
2.3.Язык SQL как стандартный язык баз данных.
Стремительный рост популярности SQL является одной из самых важных
тенденций в современной компьютерной промышленности. За несколько последних
лет SQL стал единственным языком баз данных. На сегодняшний день SQL
поддерживают свыше ста СУБД, работающих как на персональных компьютерах,
так и на больших ЭВМ. Был принят, а затем дополнен официальный
международный стандарт на SQL. Язык SQL является важным звеном в
архитектуре систем управления базами данных, выпускаемых всеми ведущими
поставщиками программных продуктов, и служит стратегическим направлением
разработок компании Microsoft в области баз данных. Зародившись в
результате выполнения второстепенного исследовательского проекта компании
IBM, SQL сегодня широко известен и в качестве мощного рыночного
фактора.[13]
2.3.1. Язык SQL.
SQL является инструментом, предназначенным для обработки и чтения
данных, содержащихся в компьютерной базе данных. SQL - это сокращенное
название структурированного языка запросов (Structured Query Language). Как
следует из названия, SQL является языком программирования, который
применяется для организации взаимодействия пользователя с базой данных. На
самом деле SQL работает только с базами данных реляционного типа. Согласно
принятой схеме, в вычислительной системе имеется база данных, в которой
хранится важная информация. Если вычислительная система относится к сфере
бизнеса, то в базе данных может храниться информация о материальных
ценностях, выпускаемой продукции, объемах продаж и зарплате. В базе данных
на персональном компьютере может храниться информация о выписанных чеках,
телефонах и адресах или информация, извлеченная из более крупной
вычислительной системы. Компьютерная программа, которая управляет базой
данных, называется системой управления базой данных, или СУБД.
Если пользователю необходимо прочитать данные из базы данных, он
запрашивает их у СУБД с помощью SQL. СУБД обрабатывает запрос, находит
требуемые данные и посылает их пользователю. Процесс запрашивания данных и
получения результата называется запросом к базе данных: отсюда и название —
структурированный язык запросов.
Однако это название не совсем соответствует действительности. Во-
первых, сегодня SQL представляет собой нечто гораздо большее, чем простой
инструмент создания запросов, хотя именно для этого он и был первоначально
предназначен. Несмотря на то, что чтение данных по-прежнему остается одной
из наиболее важных функций SQL, сейчас этот язык используется для
реализации всех функциональных возможностей, которые СУБД предоставляет
пользователю, а именно:
. Организация данных. SQL дает пользователю возможность изменять структуру
представления данных, а также устанавливать отношения между элементами
базы данных.
. Чтение данных. SQL дает пользователю или приложению возможность читать из
базы данных содержащиеся в ней данные и пользоваться ими.
. Обработка данных. SQL дает пользователю или приложению возможность
изменять базу данных, т.е. добавлять в нее новые данные, а также
удалять или обновлять уже имеющиеся в ней данные.
. Управление доступом. С помощью SQL можно ограничить возможности
пользователя по чтению и изменению данных и защитить их от
несанкционированного доступа.
. Совместное использование данных. SQL координирует совместное
использование данных пользователями и работающими параллельно, чтобы они
не мешали друг другу.
. Целостность данных. SQL позволяет обеспечить целостность базы данных,
защищая ее от разрушения из-за несогласованных изменений или отказа
системы.
Таким образом, SQL является достаточно мощным языком для
взаимодействия с СУБД.
Во-вторых, SQL — это не полноценный компьютерный язык типа COBOL,
FORTRAN или С. В SQL нет оператора IF для проверки условий, нет оператора
GOTO для организации переходов и нет операторов DO или FOR для создания
циклов. SQL является подъязыком баз данных, в который входит около тридцати
операторов, предназначенных для управления базами данных. Операторы SQL
встраиваются в базовый язык, например COBOL, FORTRAN или С, и дают
возможность получать доступ к базам данных. Кроме того, из такого языка,
как С, операторы SQL можно посылать СУБД в явном виде, используя интерфейс
вызовов функций.
Наконец, SQL — это слабо структурированный язык, особенно по сравнению
с такими сильно структурированными языками, как С или Pascal. Операторы SQL
напоминают английские предложения и содержат "слова-пустышки", не влияющие
на смысл оператора, но облегчающие его чтение. В SQL почти нет
нелогичностей, к тому же имеется ряд специальных правил, предотвращающих
создание операторов SQL, которые выглядят как абсолютно правильные, но не
имеют смысла.
Несмотря на не совсем точное название, SQL на сегодняшний день
является единственным стандартным языком для работы с реляционными базами
данных. SQL — это достаточно мощный и в то же время относительно легкий для
изучения язык.[13, 8].
2.3.2. Достоинства SQL.
SQL — это легкий для понимания язык и в то же время универсальное
программное средство управления данными.
Успех языку SQL принесли следующие его особенности:
• независимость от конкретных СУБД;
• переносимость с одной вычислительной системы на другую;
• наличие стандартов;
• одобрение компанией IBM (СУБД DB2);
• поддержка со стороны компании Microsoft (протокол ODBC);
• реляционная основа;
• высокоуровневая структура, напоминающая английский язык;
• возможность выполнения специальных интерактивных запросов:
• обеспечение программного доступа к базам данных;
• возможность различного представления данных;
• полноценность как языка, предназначенного для работы с базами
данных;
• возможность динамического определения данных;
• поддержка архитектуры клиент/сервер.
Все перечисленные выше факторы явились причиной того, что SQL стал
стандартным инструментом для управления данными на персональных
компьютерах, мини-компьютерах и больших ЭВМ. Ниже эти факторы рассмотрены
более подробно.[13, 8, 17].
Независимость от конкретных СУБД
Все ведущие поставщики СУБД используют SQL, и ни одна новая СУБД, не
поддерживающая SQL, не может рассчитывать на успех. Реляционную базу данных
и программы, которые с ней работают, можно перенести с одной СУБД на другую
с минимальными доработками и переподготовкой персонала. Программные
средства, входящие в состав СУБД для персональных компьютеров, такие как
программы для создания запросов, генераторы отчетов и генераторы
приложений, работают с реляционными базами данных многих типов. Таким
образом, SQL обеспечивает независимость от конкретных СУБД, что является
одной из наиболее важных причин его популярности.
Переносимость с одной вычислительной системы на другие
Поставщики СУБД предлагают программные продукты для различных
вычислительных систем: от персональных компьютеров и рабочих станций до
локальных сетей, мини-компьютеров и больших ЭВМ. Приложения, созданные с
помощью SQL и рассчитанные на однопользовательские системы, по мере своего
развития могут быть перенесены в более крупные системы. Информация из
корпоративных реляционных баз данных может быть загружена в базы данных
отдельных подразделений или в личные базы данных. Наконец, приложения для
реляционных баз данных можно вначале смоделировать на экономичных
персональных компьютерах, а затем перенести на дорогие
многопользовательские системы.
Стандарты языка SQL
Официальный стандарт языка SQL был опубликован Американским институтом
национальных стандартов (American National Standards Institute — ANSI) и
Международной организацией по стандартам (International Standards
Organization — ISO) в 1986 году и значительно расширен в 1992 году. Кроме
того, SQL является федеральным стандартом США по обработке информации (FIPS
— Federal Information Processing Standard) и, следовательно, соответствие
ему является одним из основных требований, содержащихся в больших
правительственных контрактах, относящихся к области вычислительной техники.
В Европе стандарт X/OPEN для переносимой среды программирования на основе
операционной системы UNIX включает в себя SQL в качестве стандарта для
доступа к базам данных. SQL Access Group — консорциум поставщиков
компьютерного оборудования и баз данных — определил для SQL стандартный
интерфейс вызовов функций, который является основой протокола ODBC компании
Microsoft и входит также в стандарт X/OPEN. Эти стандарты служат как бы
официальной печатью, одобряющей SQL, и они ускорили завоевание им
рынка.[13, 8, 17].
Одобрение SQL компанией IBM (СУБД DB2)
SQL был придуман научными сотрудниками компании IBM и широко
используется ею во множестве пакетов программного обеспечения.
Подтверждением этому служит флагманская СУБД DB2 компании IBM. Все основные
семейства компьютеров компании IBM поддерживают SQL: система PS/2 для
персональных компьютеров, система среднего уровня AS/400. система RS/6000
на базе UNIX, а также операционные системы MVS и VM больших ЭВМ. Широкая
поддержка SQL фирмой IBM ускорила его признание и еще в самом начале
возникновения и развития рынка баз данных явилась своего рода
недвусмысленным указанием для других поставщиков баз данных и программных
систем, в каком направлении необходимо двигаться.
Протокол ODBC и компания Microsoft
Компания Microsoft рассматривает доступ к базам данных как важную
часть своей операционной системы Windows. Стандартом этой компании по
обеспечению доступа к базам данных является ODBC (Open Database
Connectivity — взаимодействие с открытыми базами данных) — программный
интерфейс, основанный на SQL. Протокол ODBC поддерживается наиболее
распространенными приложениями Windows (электронными таблицами, текстовыми
процессорами, базами данных и т.п.), разработанными как самой компанией
Microsoft, так и другими ведущими поставщиками. Поддержка ODBC
обеспечивается всеми ведущими реляционными базами данных. Кроме того, ODBC
опирается на стандарты, одобренные консорциумом поставщиков SQL Access
Group, что делает ODBC как стандартом де-факто компании Microsoft, так и
стандартом, независимым от конкретных СУБД.[13, 8, 17].
Реляционная основа
SQL является языком реляционных баз данных, поэтому он стал популярным
тогда, когда популярной стала реляционная модель представления данных.
Табличная структура реляционной базы данных интуитивно понятна
пользователям, поэтому язык SQL является простым и легким для изучения.
Реляционная модель имеет солидный теоретический фундамент, на котором были
основаны эволюция и реализация реляционных баз данных. На волне
популярности, вызванной успехом реляционной модели, SQL стал единственным
языком для реляционных баз данных.[13, 8, 17].
Высокоуровневая структура, напоминающая английский язык
Операторы SQL выглядят как обычные английские предложения, что
упрощает их изучение и понимание. Частично это обусловлено тем, что
операторы SQL описывают данные, которые необходимо получить, а не
определяют способ их поиска. Таблицы и столбцы в реляционной базе данных
могут иметь длинные описательные имена. В результате большинство операторов
SQL означают именно то, что точно соответствует их именам, поэтому их можно
читать как простые, понятные предложения.
Интерактивные запросы
SQL является языком интерактивных запросов, который обеспечивает
пользователям немедленный доступ к данным. С помощью SQL пользователь может
в интерактивном режиме получить ответы на самые сложные запросы в считанные
минуты или секунды, тогда как программисту потребовались бы дни или недели,
чтобы написать для пользователя соответствующую программу. Из-за того, что
SQL допускает немедленные запросы, данные становятся более доступными и
могут помочь в принятии решений, делая их более обоснованными.[13, 8, 17].
Программный доступ к базе данных
Программисты пользуются языком SQL, чтобы писать приложения, в которых
содержатся обращения к базам данных. Одни и те же операторы SQL
используются как для интерактивного, так и для программного доступа,
поэтому части программ, содержащие обращения к базе данных, можно вначале
тестировать в интерактивном режиме, а затем встраивать в программу. В
традиционных базах данных для программного доступа используются одни
программные средства, а для выполнения немедленных запросов — другие, без
какой либо связи между этими двумя режимами доступа.[13, 8, 17].
Различные представления данных
С помощью SQL создатель базы может сделать так, что различные
пользователи базы данных будут видеть различные представления её структуры
и содержимого. Например, базу данных можно спроектировать таким образом,
что каждый пользователь будет видеть только данные, относящиеся к его
подразделению или торговому региону. Кроме того, данные из различных частей
базы данных могут быть скомбинированы и представлены пользователю в виде
одной простой таблицы. Следовательно, представления можно использовать для
усиления защиты базы данных и ее настройки под конкретные требования
отдельных пользователей.[13, 8, 17].
Полноценный язык для работы с базами данных
Первоначально SQL был задуман как язык интерактивных запросов, но
сейчас он вышел далеко за рамки чтения данных. SQL является полноценным и
логичным языком, предназначенным для создания базы данных, управления ее
защитой, изменения ее содержимого, чтения данных и совместного
использования данных несколькими пользователями, работающими параллельно.
Приемы, освоенные при изучении одного раздела языка, могут затем
применяться в других командах, что повышает производительность работы
пользователей.[13, 8, 17].
Динамическое определение данных
С помощью SQL можно динамически изменять и расширять структуру базы
данных даже в то время, когда пользователи обращаются к ее содержимому. Это
большое преимущество перед языками статического определения данных, которые
запрещают доступ к базе данных во время изменения ее структуры. Таким
образом, SQL обеспечивает максимальную гибкость, так как дает базе данных
возможность адаптироваться к изменяющимся требованиям, не прерывая работу
приложения, выполняющегося в реальном масштабе времени.[13, 8, 17].
Архитектура клиент/сервер
SQL — естественное средство для реализации приложений клиент/сервер. В
этой роли SQL служит связующим звеном между клиентской системой,
взаимодействующей с пользователем, и серверной системой, управляющей базой
данных, позволяя каждой системе сосредоточиться на выполнении своих
функций. Кроме того, SQL позволяет персональным компьютерам функционировать
в качестве клиентов по отношению к сетевым серверам или более крупным базам
данных, установленным на больших ЭВМ; это позволяет получать доступ к
корпоративным данным из приложений, работающих на персональных
компьютерах.[13, 8, 17].
2.4. Архитектуры баз данных.
Для рассмотрения способов организации баз данных нужно определить
несколько понятий.
Ядро БД отвечает за управление данными во внешней памяти, управление
буферами оперативной памяти, управление транзакциями и журнализацию.
Соответственно, можно выделить такие компоненты ядра (по крайней мере,
логически, хотя в некоторых системах эти компоненты выделяются явно), как
менеджер данных, менеджер буферов, менеджер транзакций. Ядро БД обладает
собственным интерфейсом, не доступным пользователям напрямую и используемым
в программах. Ядро БД является основной резидентной частью СУБД. При
использовании архитектуры "клиент-сервер" ядро является основной
составляющей серверной части системы.
Основной функцией компилятора языка БД является компиляция операторов
языка БД в некоторую выполняемую программу.
В отдельные утилиты БД обычно выделяют такие процедуры, которые
слишком накладно выполнять с использованием языка БД, например, загрузка и
выгрузка БД, сбор статистики, глобальная проверка целостности БД и т.д.
Утилиты программируются с использованием интерфейса ядра БД, а иногда даже
с проникновением внутрь ядра.
Общий состав средств, необходимых для работы готового приложения с БД,
показан на рис.2.1. Согласно этой общей схеме, мы имеем цепочку
Приложение —> Ядро БД —> базы данных. В структуре приложения имеется
цепочка Невизуальные компоненты —> Визуальные компоненты. Невизуальные
компоненты предоставляют программисту некоторые функции по управлению ядром
базы данных, а также самими данными. С помощью Визуальных компонент данные
отображаются на экране (таблицы, списки, выпадающие списки, графики и др.).
Местоположение ядра БД и самих баз данных в этой цепочке не отражены.
Местоположение Ядра БД и баз данных зависит от используемой
архитектуры. Имеется три разновидности архитектур баз данных:
• локальные базы данных и архитектура "файл-сервер";
• архитектура "клиент-сервер";
• многозвенная (трехзвенная N-tier или multi-tier) архитектура.
Использование той или иной архитектуры накладывает сильный отпечаток
на общую идеологию работы приложения, на программный код в приложении, на
состав компонентов для работы с БД, используемых в приложении (прежде всего
это касается невизуальных компонентов).[4, 15].
Локальные базы данных и архитектура "файл-сервер"
При работе с локальными базами данных сами БД расположены на том же
компьютере, что и приложения, осуществляющие доступ к ним. Работа с БД
происходит в однопользовательском режиме. Ядро БД распложено на компьютере
пользователя. Приложение ответственно за поддержание целостности БД и за
выполнение запросов к БД. Общая схема однопользовательской архитектуры
показана на рис.2.2.
При работе в архитектуре "файл-сервер" БД и приложение расположены на
файловом сервере сети (например, Novell NetWare). Возможна
многопользовательская работа с одной и той же БД, когда каждый пользователь
со своего компьютера запускает приложение, расположенное на сетевом
сервере.
Тогда на компьютере пользователя запускается копия приложения. По
каждому запросу к БД из приложения, данные из таблиц БД перегоняются на
компьютер пользователя, независимо от того, сколько реально нужно данных
для выполнения запроса. После этого выполняется запрос.
Каждый пользователь имеет на своем компьютере локальную копию данных,
время от времени обновляемых из реальной БД, расположенной на сетевом
сервере. При этом изменения, которые каждый пользователь вносит в БД, могут
быть до определенного момента неизвестны другим пользователям, что делает
актуальной задачу систематического обновления данных на компьютере
пользователя из реальной БД. Другой актуальной задачей является
блокирование записей, которые изменяются одним из пользователей: это
необходимо для того, чтобы в это время другой пользователь не внес
изменений в те же данные. В архитектуре "файл-сервер" вся тяжесть
выполнения запросов к БД, управления целостностью БД ложится на приложение
пользователя. БД на сервере является пассивным источником данных. Общая
схема архитектуры "файл-сервер" показана на рис. 2.1.
Кардинальных различий с точки зрения архитектуры между
однопользовательской архитектурой и архитектурой "файл-сервер" нет. И в том
и в ином случае в качестве СУБД применяются так называемые "персональные"
(или "локальные") СУБД такие как Paradox, dBase и пр. Сама база данных в
этом случае представляет собой набор таблиц, индексных файлов, файлов полей
комментариев (мемо-полей) и пр., хранящихся в одном каталоге на диске в
виде отдельных файлов.[4].
Удаленные базы данных и архитектура "клиент-сервер"
Архитектура "файл-сервер" неэффективна, по крайней мере, в двух
отношениях:
1. При выполнении запроса к базе данных, расположенной на файловом сервере,
в действительности происходит запрос к локальной копии данных на
компьютере пользователя. Поэтому перед выполнением запроса данные в
локальной копии обновляются из реальной БД. Данные обновляются в полном
объеме. Так, если таблица БД состоит из 1000 записей, а для выполнения
запроса (например, выдать сумму премий за октябрь в отделе Y) реально
нужно 10 записей, все равно перегоняются все 1000 записей. Таким образом,
не нужно иметь слишком много пользователей и запросов от них, чтобы
серьезно ''забить" сеть, что, конечно же, не может не сказаться на ее
быстродействии.
2. Обеспечение целостности БД производится из приложений. Это потенциальный
источник ошибок, нарушающих физическую и логическую целостность БД,
поскольку различные приложения могут производить контроль целостности БД
по-разному, взаимоисключающими способами, или не проводить такого
контроля вовсе. Намного эффективнее управлять БД из единого места и по
единым законам, нежели из разных приложений и по потенциально разным
законам (все зависит от того, как написано приложение). Поэтому
безопасность при работе в архитектуре "файл-сервер" невысока и всегда
присутствует элемент неопределенности. Секретность и конфиденциальность
при работе с БД в архитектуре "файл-сервер" обеспечить также тяжело -
любой, кто имеет доступ в каталог сетевого сервера, где хранится БД,
может изменять таблицы БД любым образом, копировать их, заменять и т.д.
[4].
Архитектура "клиент-сервер" разделяет функции приложения пользователя
(называемого клиентом) и сервера.
Приложение-клиент формирует запрос к серверу, на котором расположена
БД, на структурном языке запросов SQL. Удаленный сервер принимает запрос и
переадресует его SQL-серверу БД. SQL-сервер – это специальная программа,
управляющая удаленной базой данных. SQL-сервер обеспечивает интерпретацию
запроса, его выполнение в базе данных, формирование результата выполнения
запроса и выдачу его приложению-клиенту. При этом ресурсы клиентского
компьютера не участвуют в физическом выполнении запроса; клиентский
компьютер лишь отсылает запрос к серверной БД и получает результат, после
чего интерпретирует его необходимым образом и представляет пользователю.
Так как клиентскому приложению посылается результат выполнения запроса, по
сети "путешествуют" только те данные, которые необходимы клиенту. В итоге
снижается нагрузка на сеть. Поскольку выполнение запроса происходит там же,
где хранятся данные (на сервере), нет необходимости в пересылке больших
пакетов данных. Кроме того, SQL-сервер, если это возможно, оптимизирует
полученный запрос таким образом, чтобы он был выполнен в минимальное время
с наименьшими накладными расходами.
Все это повышает быстродействие системы и снижает время ожидания
результата запроса.
При выполнении запросов сервером существенно повышается степень
безопасности данных, поскольку правила целостности данных определяются в
базе данных на сервере и являются едиными для всех приложений, использующих
эту БД. Таким образом, исключается возможность определения противоречивых
правил поддержания целостности. Мощный аппарат транзакций, поддерживаемый
SQL-серверами, позволяет исключить одновременное изменение одних и тех же
данных различными пользователями и предоставляет возможность откатов к
первоначальным значениям при внесении в БД изменений, закончившихся
аварийно. Таким образом, функциями приложения-клиента являются:
1. посылка к серверу запросов;
2. интерпретация результатов запросов, полученных от сервера, и
представление их пользователю в требуемой форме;
3. реализация интерфейса пользователя.
SQL-сервер - это программа, расположенная на компьютере сетевого
сервера. SQL-сервер должен быть загружен на момент принятия запроса от
клиента. Функциями сервера БД являются:
1. прием запросов от приложений-клиентов, интерпретация запросов,
выполнение запросов в БД, отправка результата выполнения запроса
приложению-клиенту;
2. управление целостностью БД, обеспечение системы безопасности, блокировка
неверных действий приложений-клиентов;
3. хранение бизнес-правил, часто используемых запросов в уже
интерпретированном виде;
4. обеспечение одновременно безопасной и отказоустойчивой
многопользовательской работы с одними и теми же данными. В архитектуре
"клиент-сервер" используются так называемые "удаленные" (или
"промышленные") СУБД. Промышленными они называются из-за того. что именно
СУБД этого класса могут обеспечить работу информационных систем масштаба
среднего и крупного предприятия, организации, банка. Локальные СУБД
предназначены для однопользовательской работы или для обеспечения работы
информационных систем, рассчитанных на небольшие группы пользователей.[4,
15, 11].
К разрядку промышленных СУБД принадлежат: Oracle, Gupta, Informix,
Sybase, MS SQL Server, DB2, InterBase и ряд других.
Как правило, SQL-сервер управляется отдельным сотрудником или группой
сотрудников (администраторы SQL-сервера). Они управляют физическими
характеристиками баз данных, производят оптимизацию, настройку и
переопределение различных компонентов БД, создают новые БД, изменяют
существующие и т.д., а также выдают привилегии (разрешения на доступ
определенного уровня к конкретным БД, SQL-серверу) различным пользователям.
Кроме этого, существует отдельная категория сотрудников, называемых
администраторами баз данных. Как правило, это администраторы сервера,
разработчики БД или пользователи, имеющие привилегии на создание,
изменение, настройку оптимальных параметров отдельных серверных БД.
Администраторы БД также отвечают за предоставление прав на разноуровневый
доступ к сопровождаемым ими БД для других пользователей.[4, 15, 11].
Использование архитектуры "клиент-сервер":
1. резко уменьшает сетевой трафик:
2. понижает сложность приложений-клиентов (поскольку тем уже нет
необходимости обеспечивать целостность и безопасность БД и следить за
параметрами многопользовательской работы с БД);
3. понижает требования к аппаратным средствам, на которых эти приложения
функционируют (т.е. к компьютерам пользователей-клиентов):
4. повышает надежность БД, ее целостность, безопасность и секретность.
2.5. Проблемы проектирования БД.
Объединение программного обеспечения СУБД, прикладного программного
обеспечения, реализованной базы данных, операционной системы (ОС) и
аппаратных средств в одну систему для информационного обслуживания
пользователей известно под названием система баз данных. Хотя технология
применения СУБД, ОС и прикладных программ, хорошо известна, необходимо
уделить внимание эффективному использованию этих средств с различными
структурами баз данных. Так, главная проблема, стоящая перед
администратором БД, заключается не в том, как использовать ее наиболее
эффективно. Эта проблема может быть сформулирована в виде нескольких
вопросов, возникающих в течение жизненного цикла приложения:
1. Что представляют собой требования пользователей и в какой форме они
могут быть выражены?
2. Как эти требования могут быть преобразованы в эффективную структуру
базы данных?
3. Как часто и каким образом структура базы данных должна
перестраиваться в соответствии с новыми и/или изменяющимися требованиями?
Процесс разработки структуры базы данных в соответствии с требованиями
пользователей называется проектированием базы данных.
Достижение приемлемого для всех пользователей уровня эксплуатационных
характеристик базы данных является сложной задачей. Проектировщик БД должен
постоянно помнить о стоимости различных услуг, предоставляемых
пользователем одной или нескольких интегрированных БД. Ожидаемая экономия
памяти и широкое использование базы данных в деятельности организации
должна сопровождаться критическим анализом потенциального снижения качества
обслуживания некоторых пользователей. Этой невозможности необходимо
избегать. Целью должно быть - приемлемые эксплуатационные характеристики
для всех пользователей.
Другим аспектом функционирования БД является ее гибкость. БД, тесно
привязанные к текущим приложениям, могут иметь слишком ограниченную сферу
применения в других подобных организациях. Быстрое изменение требований и
введение новых типов элементов данных могут иметь следствием повышение
стоимости сопровождения программ, разложение временных файлов и сортировок,
а также снижение производительности системы.
ГЛАВА 3. Среда Delphi как средство для разработки СУБД.
3.1. Программный продукт Delphi.
Поскольку использование баз данных является одним из краеугольных
камней, на которых построено существование различных организаций,
пристальное внимание разработчиков приложений баз данных вызывают
инструменты, при помощи которых такие приложения можно было бы создавать.
Выдвигаемые к ним требования в общем виде можно сформулировать как:
"быстрота, простота, эффективность, надежность".
Среди большого разнообразия продуктов для разработки приложений Delphi
занимает одно из ведущих мест. Delphi отдают предпочтение разработчики с
разным стажем, привычками, профессиональными интересами. С помощью Delphi
написано колоссальное количество приложений, десятки фирм и тысячи
программистов-одиночек разрабатывают для Delphi дополнительные
компоненты.[4].
В основе такой общепризнанной популярности лежит тот факт, что Delphi,
как никакая другая система программирования, удовлетворяет изложенным выше
требованиям. Действительно, приложения с помощью Delphi разрабатываются
быстро, причем взаимодействие разработчика с интерактивной средой Delphi не
вызывает внутреннего отторжения, а наоборот, оставляет ощущение комфорта.
Delphi-приложения эффективны, если разработчик соблюдает определенные
правила (и часто - если не соблюдает). Эти приложения надежны и при
эксплуатации обладают предсказуемым поведением.[4, 22].
Пакет Delphi - продолжение линии компиляторов языка Pascal корпорации
Borland. Pascal как язык очень прост, а строгий контроль типов данных
способствует раннему обнаружению ошибок и позволяет быстро создавать
надежные и эффективные программы. Корпорация Borland постоянно обогащала
язык. Когда-то в версию 4.0 были включены средства раздельной трансляции,
позже, начиная с версии 5.5, появились объекты, а в состав шестой версии
пакета вошла полноценная библиотека классов Turbo Vision, реализующая
оконную систему в текстовом режиме работы видеоадаптера. Это был один из
первых продуктов, содержавших интегрированную среду разработки программ.
В классе инструментальных средств для начинающих программистов
продуктам компании Borland пришлось конкурировать со средой Visual Basic
корпорации Microsoft, где вопросы интеграции и удобства работы были решены
лучше. Когда в начале 70-х годов Н. Вирт опубликовал сообщение о Pascal,
это был компактный, с небольшим количеством основных понятий и
Страницы: 1, 2, 3, 4, 5
|