|
|||||||||||||||||||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Основные функции СУБД↑ Наверх СУБД представляет собой программное обеспечение, которое управляет доступом к БД. Это происходит следующим образом: 1. Пользователь посылает запрос на доступ, применяя определенный язык (обычно, SQL). 2. СУБД перехватывает запрос и анализирует его (производит анализ прав пользователей на доступ к данным), в результате чего разрешает или запрещает доступ. 3. В случае невозможности доступа к данным информирует пользователя об этом. 4. СУБД получает информацию о запрошенной части концептуальной модели. 5. СУБД запрашивает информацию о местоположении данных в терминах операционной системы. 6. СУБД дает команду ОС произвести необходимые действия над данными во внешней памяти. 7. ОС производит необходимые операции (передача информации, удаление и т.д.) 8. ОС сообщает СУБД о завершении работы. 9. СУБД сообщает пользователю о результате проделанной работы (в случае запроса данных из БД отображает пользователю необходимые данные). Рассмотрим основные функции СУБД подробнее: 1. Определение данных СУБД должна допускать определения данных (внешние схемы, концептуальную схему, внутреннюю схему, а так же связанные отображения). В исходной форме и преобразовывать эти определения в форму соответствующих объектов. Иначе говоря, СУБД должна включать в себя компоненты языкового процессора для различных языков определения данных. СУБД должна так же понимать синтаксис языка определения данных. 2. Обработка данных СУБД должна уметь обрабатывать запросы пользователя на выборку, изменение или удаление существующих данных в БД или на добавление новых данных в БД. Другими словами, СУБД должна включать в себя компонент процессора языка обработки данных. 3. Безопасность и целостность данных. СУБД должна контролировать пользовательские запросы и пресекать попытки нарушения правил безопасности и целостности, определенные администратором БД. Понятие «Целостность данных» будет рассмотрено при изучении вопроса создания связей между таблицами в СУБД ACCESS. 4. Восстановление данных и дублирование. СУБД должна осуществлять необходимый контроль над восстановлением данных и дублированием. 5. Словарь данных. СУБД должна обеспечить функцию словаря данных. Сам словарь представляет собой определения других объектов системы («данные над данными»). 6. Производительность. СУБД должна выполнять все указанные выше функции с максимально возможной эффективностью. Подводя итог вышесказанному, можно сделать вывод, что в целом назначением СУБД является предоставление пользовательского интерфейса с БД. Такие ИС очень часто работают неустойчиво, так как программы на рабочих станциях работают независимо друг от друга, и каждая из них, обращаясь к серверу за информацией, обычно захватывают весь информационный файл, даже, если ей нужно всего несколько записей. Кроме того, каждая программа устанавливает собственные правила захвата и блокировки информационных ресурсов (с целью не допустить одновременного изменения одних и тех же данных разными пользователями). Выходом их данной тупиковой ситуации явилось создание другой модели обработки данных в сети – технологии «клиент-сервер». Основная идея этой модели – разделить ключевые функции по обработке информации между программой-приложением («клиентом») и программой управления базой данных – «сервером». Ранг последнего резко повышается. Он становится сервером баз данных, на который возложена большая часть обязанностей по оптимизации обслуживания, поддержке целостности и безопасности данных, контролю за доступом к данным и т.д. приложению лишь остается правильно сформулировать запрос и оформить выданный сервером результат. Для СУБД архитектура «Клиент-сервер» выглядит следующим образом (Рис.35.1) Рисунок 35.1 Архитектура «Клиент-сервер» Любую СУБД можно рассматривать как систему с очень простой структурой, состоящей из двух частей – сервера (или машины БД) и набора клиентов. Сервер – это собственно СУБД. Она поддерживает все основные функции СУБД, которые обсуждались выше, а именно определение данных, обработку данных, защиту и целостность данных и т.д. В частности, он предоставляет полную поддержку на внешнем, концептуальном и внутреннем уровнях. Поэтому «сервер» - это просто другое имя СУБД. Клиенты – это различные приложения, которые выполняются над СУБД: приложения, написанные пользователями, и встроенные приложения, предоставляемые поставщиками СУБД или некоторыми сторонними поставщиками программного обеспечения. Конечно, с точки зрения пользователей, нет разницы между встроенными приложениями и приложениями, написанными пользователями. Существует несколько способов взаимодействия ИС и БД, обеспечивающие наиболее эффективное использование БД. Коротко рассмотрим каждый из этих вариантов: 1. БД расположена локально на том же компьютере, где функционирует ИС. Такой вариант хорошо подходит для систем малого объема, предназначенных для индивидуального использования. Преимуществами такой архитектуры являются простота, легкость в обслуживании, дешевизна. К недостаткам можно отнести невозможность одновременной работы нескольких пользователей с одним и тем же набором данных. 2. БД размещена на компьютере-сервере, выполняющем функции файл-сервера. Сервером называется компьютер, предоставляющий свои услуги другим компьютерам, имеющим возможность подключаться к нему и запрашивать услуги (клиентам). Фактически это выглядит так же, как и в случае с локальной БД, но файлы БД доступны посредством локальной сети. В ходе сеанса работы происходит непрерывный обмен информацией между сервером и компьютером пользователя, в ходе которого файлы БД передаются на компьютеры пользователей, где и производится их обработка. Преимуществами этого подхода являются возможность доступа к БД с нескольких рабочих мест, Недостатки – невозможность одновременной корректировки в содержимое БД несколькими пользователями одновременно. БД размещена на компьютере-сервере, выполняющем функции клиент-сервера. При этом сервер БД обеспечивает выполнение основного объема обработки данных. Формируемые клиентом запросы поступают к серверу БД в виде инструкций языка SQL. Сервер БД выполняет поиск и извлечение нужных данных, которые затем передаются на компьютер пользователя. Достоинства: меньший объем передаваемых данных, быстрая обработка больших объемов информации за счет оптимизации процедур обработки информации. Недостатки: необходимость наличия отдельной программы-сервера, обеспечивающих исполнение запросов пользователя. В настоящее время наиболее эффективной является архитектура «клиент-сервер». Т.к. система в целом может быть четко разделена на две части (серверы и клиенты), появляется возможность работы этих двух частей на разных машинах. Иначе говоря, существует возможность распределенной обработки данных. Распределенная обработка предполагает, что отдельные машины можно соединить какой-нибудь коммуникационной сетью таким образом, что определенная задача, обрабатывающая данные, может быть распределена на несколько машин в сети.
Основные понятия БД
Понятие об информации как о знании, сложилось уже давно. Человек создал естественные ИС, позволяющие снабжать информацией процессы производства, планирования, принятия решений. Мы будем понимать под информацией любые сведения о каком-либо событии, сущности, процессе. Наряду с понятием информации часто употребляют понятие «Данные». Понятие «данные» в концепции баз данных – это набор конкретных значений, параметров, характеризующих объект, условие, ситуацию или любые другие факторы в числовой, текстовой, графической, звуковой форме. Например, «Петров Николай 1989 СТ-91». Сказать, что эти данные представляют собой информацию, нельзя, т.к. непонятно, что, например, означает в этих данных «1989». Но, если придать этим данным определенную форму и вписать их в некоторую структуру, то все станет ясно: Таблица 36.1
Вывод: Данные не обладают определенной структурой, данные становятся информацией тогда, когда пользователь задает им определенную структуру, т.е. осознает их смысловое содержание. Поэтому центральным понятием в концепции баз данных является понятие модели данных. Модель данных – схема (порядок, совокупность принципов, система) организации данных в единое целое для создания, накопления, обработки и управления. Это некоторая абстракция, которая, будучи приложена к конкретным данным, позволяет пользователям и разработчикам трактовать их уже как информацию, т.е. сведения, содержащие не только данные, но и взаимосвязи между ними. Следовательно, данные, вписанные в определенную модель, можно назвать информацией. Модель данных – совокупность структур данных и операций по их обработке. В теории баз данных рассматриваются модели данных трех уровней – уровень представлений пользователя (внешний), концептуальные модели, физические (внутренние) модели. Совокупность данных, представленных предметной областью и предназначенных для совместного применения, называется БД. С позиций моделирования источник информации называют предметной областью, а используемую знаковую систему (способ абстрагирования предметной области) – моделью данных (МД). Описание предметной области в терминах выбранной модели данных называют концептуальной схемой предметной области. Модели данных бывают разных видов. При проектировании БД традиционно используются концептуальные модели трех видов: иерархическая, сетевая и реляционная. В современных СУБД наиболее часто используется реляционная модель. Рассмотрим ее основные понятия.
Основные понятия реляционной модели БД
Для понимания того, как выглядит концептуальная модель в случае использования реляционной модели данных, рассмотрим основных понятия реляционной модели данных. Любую структуру данных можно преобразовать в двумерную таблицу. Такое представление данных является наиболее удобным и для пользователя, и для ЭВМ – подавляющее число современных ИС работает именно с такими таблицами. БД, состоящие из двумерных таблиц, называются реляционными (от английского слова relation – отношение). Основная идея реляционного подхода состоит в том, чтобы представить произвольную структуру данных в виде простой двумерной таблицы. Теория реляционных БД – это сложная математическая дисциплина. Основная терминология БД зависит от уровня описания, конкретного класса системы и категории пользователей. В таблице … приведены основные термины, характерные для всех вышеперечисленных уровней. Таблица 36.2
Совместно с термином «атрибут» часто употребляется термин «Домен». Домен – определяется заданием некоторого базового типа данных, к которому относятся элементы домена, и произвольного логического выражения применяемого к типу данных. Другими словами, домен – допустимое потенциальное множество значений данного типа. Другими словами, домен – это множество допустимых значений данного атрибута. Кортеж – это множество пар {имя атрибута, значение}, которое содержит одно вхождение данного имени атрибута, принадлежащего схеме отношения. «значение» является допустимым значением домена данного атрибута (или типа данных, если понятие домена не поддерживается). Иначе, кортеж – набор именованных значений заданного типа (строка в отношении). Строку таблицы так же часто называют записью. Далее будем использовать следующие понятия реляционных БД: Так как отношения являются множествами кортежей, то в них не должны встречаться одинаковые кортежи, и порядок кортежей в отношении несущественен. Обычным представлением отношения является таблица, заголовком которой является схема отношения, а строками – кортежи отношения-экземпляра; в этом случае имена атрибутов именуют столбцы этой таблицы. Поэтому иногда говорят «столбец таблицы», имея ввиду «атрибут отношения». Схема отношения - (совокупность наименований атрибутов, представленная в виде заголовка таблицы): Тип данных. Это понятие в реляционной модели данных полностью адекватно понятию типа данных в языках программирования. Обычно в современных реляционных БД допускается хранение символьных, числовых данных, битовых строк, специализированных числовых данных («денежные»), а так же специальных временных данных, которые так же являются числовыми (дата, время, временной интервал). Рисунок 36.1 Пример схемы отношения Итак, 1. В реляционных БД любые совокупности данных представляются в виде двумерных таблиц. 2. Каждая таблица состоит из фиксированного числа столбцов и некоторого переменного количества строк. Описание столбцов, которое составляет разработчик, принято называть макетом таблицы. 3. Каждый столбец представляет собой конкретное данное (например, код изделия, цена изделия и т.д.). Столбцы таблицы так же называются полями, причем для каждого поля разработчик должен определить: · имя поля, · тип поля, · некоторые дополнительные характеристики (длину, формат и т.д.). 4. Каждая строка так же называется записью. Система нумерует записи по порядку: 1, 2,3,…, n, где n – общее число записей (строк) в таблице в данный момент. В отличие от количества полей в таблице, количество записей в процессе эксплуатации БД может как угодно меняться. Количество и номенклатуру полей можно изменить, но это уже особая операция, которая называется изменением макета таблицы. 5. Каждое поле может входить в несколько таблиц. Каждая запись в таблице должна иметь первичный ключ – идентификатор, значение которого однозначно определяет эту и только эту запись. Ключ может состоять из одного или нескольких полей. Первичный ключ должен обладать двумя свойствами: 1. Однозначная идентификация записи: запись должна однозначно определяться значением ключа. 2. Отсутствие избыточности: никакое поле нельзя удалить из ключа, не нарушая при этом свойства однозначной идентификации. Каждое значение первичного ключа в пределах таблицы должно быть уникальным (в противном случае нельзя отличить одну запись от другой). Например, если объявить в таблице с данными о студентах ключом фамилию студента, может оказаться, что таблица содержит данные об однофамильцах. В этом случае фамилия не будет однозначно идентифицировать запись, поэтому нужно добавить в определение ключа еще и имя и отчество (ключ получится сцепленным). Таким образом, указание первичного ключа – это и есть единственный способ отличить один экземпляр объекта от другого. Процесс проектирования БД включает несколько этапов. На рисунке 36.2 представлена общая схема проектирования БД. Рисунок 36.2 Этапы проектирования БД Концептуальная схема представляет собой абстрагированное описание предметной области (модель предметной области), заданное в терминах выбранной модели данных. При этом каждая запись модели находится в 3-й нормальной форме. Под физической БД подразумевается схема распределения данных по физическим носителям информации. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.016 сек.) |