32. Банк данных как автоматизированная ИС (преимущества, требования, принципы построения). Многоуровневое представление данных БД под управлением СУБД. Формирование запросов к БД на языке SQL.

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

СУБД - комплекс программных и языковых средств, необходимых для создания баз данных, поддержания их в актуальном состоянии и организации поиска в них необходимой информации. Примеры СУБД: MS Access, MS FoxPro, dBASE и др.

Основными компонентами СУБД являются:

1) среда пользователя, дающая возможность непосредственно управлять данными с клавиатуры;

2) алгоритмический язык для программирования прикладных систем обработки данных, который реализуется как интерпретатор;

3) реляционная (иерархическая, сетевая) модель данных.

Архитектурно СУБД состоит из двух основных компонентов: языка описания данных (ЯОД), позволяющего создать схему описания данных в БД, и языка манипули­рования данными (ЯМД), выполняющего операции с базой данных (наполнение, обновление, удаление, выборку информации). Данные языки могут быть реализованы в виде тренажеров или интерпретаторов. Помимо ЯОД и ЯМД к СУБД следует отнести средства (или языки) подготовки отчетов (СПО), позволяющие подготовить отчеты на основе информации, найденной в БД.

Основными функциями СУБД являются:

1) определение данных - определить, какая именно информация будет храниться в БД, задать свойства данных, их тип, указать, как эти данные связаны между собой.

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

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

СУБД решает следующие задачи:

1)      отождествляет структуры определенного типа;

2)      обеспечивает ввод данных, при этом осуществляется контроль вводимой информации;

3)      размещение информации в памяти компьютера согласно описанию элементов и структуры БД;

4)      обновление БД, замена устаревших данных, дополнение.

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

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

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

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

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

 

Рис.2  Пример соотношения между концептуальной моделью  и  внешними  моделями 

 

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

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

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

Преимущества БнД

  1. Наличие целостного отображения определенной части реального мира позволяет обеспечить непротиворечивость и целостность информации, возможность обращаться к ней не только при решении заранее предопределенных задач, но и с нерегламентированными запросами.
  2. Интегрированное хранение сокращает избыточность хранимых данных, что приводит к сокращению затрат не только на создание и хранение данных, но и на поддержание их в актуальном состоянии.
  3. Использование БнД при правильной его организации существенно изменяет деятельность организации, в которую он внедряется, т.е. приводит к перераспределению функций между сотрудниками.
  4. Центральное управление данными БнД освобождает от этих функций всех пользователей, кроме администратора БД.
  5. БнД обеспечивает возможность более полной реализации принципа независимости прикладных программ от данных.
  6. Наличие в составе СУБД средств, ориентированных на разные категории пользователей, дает возможность работать с БД не только профессионалам в области обработки данных, но и практически любому пользователю.

Требования к БнД

  1. Адекватность информации состоянию описываемой предметной области.
  2. Надежность функционирования системы.
  3. Быстродействие и производительность. Быстродействие определяется временем ответа системы на запрос, производительность – количеством запросов, обрабатываемых в единицу времени.
  4. Простота и удобство использования.
  5. Массовость использования. Современная ИС должна обеспечивать коллективный доступ пользователей к данным, при котором пользователи одновременно и независимо друг от друга могут обращаться к БД и получать сведения.
  6. Защита информации.
  7. Возможность расширения.

Принципы построения БнД

Выделяют два главных ведущих принципа  –  1) интеграция данных и 2) централизация управления данными. Оба принципа отражают суть БнД: интеграция является основой организации БД, а централизация управления – основой организации и функционирования СУБД.

Кроме того, выделяют также принципы: 3) целостность; 4) независимость;                5) многоуровневость архитектуры; 6) неизбыточность; 7) непротиворечивость;                  8) связанность; 9) композиция; 10) отдельное описание данных БД от процедур их обработки; 11) модульность. 

Рассмотрим эти принципы.

1.      Интеграцию данных необходимо рассматривать на 2-х уровнях: логическом – множество структур данных отображается в единую структуру (схему БД); физическом – автономные файлы объединены в БД.

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

3.      Принцип целостности отражает требование адекватности хранимой в БД информации состоянию описываемой предметной области. В любой момент времени данные должны полностью соответствовать свойствам и характеристикам объектов. Целостность данных может быть нарушена из-за потери части данных или занесения неверных значений характеристик данных. Поддержание целостности обеспечивается: контролем вводимых данных; применением специальной системы восстановления данных.

4.      Под независимостью данных понимается независимость прикладных программ от хранимых данных. Некоторые пути достижения независимости данных:                  1) передача ядру СУБД части функций прикладных программ (например, функции организации доступа к БД: прикладная программа не связана ни с БД, ни с методом доступа к данным, она лишь формирует и передает ядру информацию, необходимую для поиска данных), т.е. соблюдение принципа централизации управления; 2) реляционный подход к построению БД.

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

6.      Неизбыточность данных - это такое состояние, когда каждый элемент данных  присутствует в БД в единственном экземпляре.

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

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

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

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

 

2. Формирование запросов к БД на языке SQL.

Запрос представляет собой инструкцию на отбор записей в БД. Язык SQL является международным стандартным языком запросов. Формат записи операторов SQL свободный (можно писать все операторы на одной строке, слова операторов  можно разделять произвольным  количеством пробелов и комментариев, никакими символами - например, «;» - операторы разделять не нужно). 

Рассмотрим в качестве примера языка манипулирования данными некоторые команды языка SQL, ставшего классическим языком реляционных баз данных. Для организации запросов на выборку на языке SQL используется команда

SELECT – FROM – WHERE (выбрать - из - где):

select <список атрибутов>

from <отношение>

where <условие>.

Часть команды where не является обязательной. Условие, следующее за where, может включать операторы сравнения =, <>, >, >=, <, <=, булевы операторы AND, OR, NOT, знаки арифметических действий, скобки. Для сортировки данных по возрастанию используется команда ORDER BY.

Если  необходимо из отношения (таблицы) «Успеваемость», имеющего схему:

Успеваемость (ФИО_студента, Дисциплина, Оценка, Дата, Преподаватель)

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

select          Дисциплина, Оценка

from            Успеваемость

where     ФИО_студента = «Иванов И.И.»

Если из отношения «Успеваемость» необходимо произвести выборку данных об оценках, полученных каждым студентом, причем фамилии студентов должны быть представлены в алфавитном порядке, то надо задать команду:

select          ФИО_студента, Оценка

from            Успеваемость

order by      ФИО_студента

Если необходимо из отношения «Успеваемость» произвести выборку всех данных о студенте «Иванов И.И.», надо задать команду (* - вывод всей строки из таблицы):

select          *

from            Успеваемость

where     ФИО_студента = «Иванов И.И.».

Hosted by uCoz