Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛЕКЦИИ УПРАВЛЕНИЕ ДАННЫМИ 2012.doc
Скачиваний:
3
Добавлен:
01.04.2025
Размер:
2.54 Mб
Скачать

1. Основные определения

1.1. Элементы баз данных

В настоящее время при всеобщей автоматизации для любых видов человеческой деятельности создаются информационные системы – система сбора, обработки, хранения и представления информации, часто представляющие собой иерархию, как показано на Рис. 1.

Рис. 1. Иерархия информационной системы

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

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

Широкое распространение получила трехуровневая архитектура информационных систем, показанная на Рис. 2.

Рис. 2. Трехуровневая архитектура информационных систем

На сервере СУБД работают различные элементы базы данных. На нем хранятся данные, упорядоченные по схеме данныхспособу структурирования данных. Простейший способ структурирования данных в виде таблицы, применяемый в электронных таблицах, например, в Excel, хотя и удобен и нагляден для представления информации, создает некоторые проблемы при хранении и изменении данных. Например, электронная таблица, показанная в Табл. 2, хотя и позволяет представить информацию и подвести итоги по продажам, но содержит аномалии . Например, если нам нужно хранить дополнительную информацию о продавцах – фамилию, имя, отчество и паспортные данные, то такое хранение потребует большого объема памяти. Для каждой сделки данного продавца нужно будет вводить паспортные данные, и возможны ошибки ввода – нарушение целостности базы данных. Кроме того, если паспортные данные изменятся, нужно будет изменять каждую строчку, в котором есть информация о продавце. Логично хранить информацию о продавце в отдельной таблице. Таким образом, большая таблица распадается на множество взаимосвязанных между собой таблиц – реляционную базу данных, схема которой показана на Рис. 3 (на ней для наглядности приведены только заголовки столбцов).

Табл. 2. Пример электронной таблицы – «Продажи»

N

Продавцы.Имя

Покупатели.Имя

Название

Количество

Стоимость

Дата

1

Иванов

Павлов

Мыло

10

230

01.01.2009

2

Иванов

Андреев

Мыло

20

440

01.01.2009

3

Иванов

Павлов

Шило

30

360

02.01.2009

4

Петров

Андреев

Мыло

40

840

01.01.2009

5

Сидоров

Сергеев

Шило

50

550

01.01.2009

Итог

150,00

2420,00

Рис. 3. Схема реляционной базы данных

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

Выбрать все сделки данного продавца.

Выбрать все сделки, заключенные данным отделом за сентябрь.

На языке SQL запрос «Вывести всю информацию о продавцах, упорядоченных по отделам

» выглядит следующим образом (Лист. 1):

Лист. 1. Пример запроса на языке SQL.

SELECT *

FROM Продавцы

ORDER BY Отдел;

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

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

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

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

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

Д/З . Придумайте предметную область, составьте 3-5 взаимосвязанных табличек, два запроса, триггер, событие, транзакцию, хранимую процедуру, бизнес-правило.

Вопросы для самопроверки:

  1. На каком уровне иерархии информационных систем (Рис. 1) находится 1С: Бухгалтерия?

  2. На каком уровне трехуровневой архитектуры логично делать проверку отсутствия циклов в иерархии начальник-подчиненный в таблице «Продавцы» на Рис. 3 (подчиненный не может оказаться начальником своего начальника)?

  3. Объясните, почему неэффективно хранить данные ИС в одной большой таблице?