Главная страница

Базы данных. Уровни представления данных. Концептуальный уровень


Скачать 156.57 Kb.
НазваниеУровни представления данных. Концептуальный уровень
АнкорБазы данных
Дата08.05.2022
Размер156.57 Kb.
Формат файлаdocx
Имя файлаБазы данных.docx
ТипДокументы
#518050
страница2 из 4
1   2   3   4

Создатели первых СУБД ориентировались на организацию баз данных на больших машинах (IBM 360/370, ЕС-ЭВМ) и на мини-ЭВМ (PDP-11) с хранением их во внешней памяти центральной ЭВМ. Интерактивный режим пользователя обеспечивался с помощью консольных терминалов, используемых в качестве устройств ввода-вывода центральной ЭВМ. Программы обработки информации баз данных использовали такие же языки программирования, как и числовые задачи.

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

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

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

· предложена новая модель данных – реляционная;

· выполнены теоретические работы по оптимизации запросов и управлению распределенным доступом к централизованной базе данных;

· серьезные успехи в области администрирования данных.

И в то же самое время:

· функции управления распределением ресурсов в основном осуществляются средствами операционной системы (ОС);

· манипулирование данными реализуется с помощью языков низкого уровня.

Этот этап развития СУБД, также как и предыдущий, связан с организацией централизованных баз данных на больших машинах под управлением мощных мультипрограммных операционных систем (MVS, SVM, OSRV, RSX, UNIX).

Следующая фаза развития технологии баз данных совпадает по времени и во многом определяется появлением и захватом персональными компьютерами (ПК) всех сфер человеческой жизни: деловой, производственной, научной, бытовой. Этот захват приветствовался абсолютно всеми: опытными программистами и начинающими пользователями, руководителями всех рангов и исполнителями, взрослыми и детьми.

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

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

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

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

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

Каковы же основные характеристики системы управления базой данных, устанавливаемых на персональных компьютерах? Приведем их.

· Поддержка реляционной модели данных.

· Сравнительно невысокие требования к техническим параметрам аппаратного обеспечения.

· Ориентация на создание баз данных в монопольном режиме работы.

· Практическое отсутствие функций администрирования базы данных.

· Развитый и удобный интерфейс.

· Разработка готовых приложений без программирования на основе многофункционального инструментария.

· Одинаковая поддержка как новых высокоуровневых языков манипулирования данными, так и низкоуровневых языков манипулирования данными.

· Поддержка только внешнего уровня представления модели данных.

· Отсутствие средств поддержки ссылочной и структурной целостности базы данных.

Наибольшую известность и распространение в рассматриваемый период времени получили такие системы управления базой данных, как: DbaseIII+, DbaselV, Paradox, FoxPro, Clipper, через тесное знакомство с которыми прошли многие программисты, очень хорошо освоившие разнообразные нюансы работы с ними.

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

Эйфория от процесса «персонализации» баз данных закончилась так, как и должна была закончиться – осознанием возможностей таких баз и сфер их применения. Задача «интеграции» информации вышла на самый первый план, она настойчиво требовала своего решения. Для этого понадобилось разрабатывать новые подходы и концепции в организации баз данных, отыскивать новые аппаратные и программные их реализации. Разработчикам компьютерных и программных систем пришлось «бешеными» темпами наращивать мощность компьютеров и расширять возможности коллективной работы с данными за счет объединения данных в сети.

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

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

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

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

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

Развитие основных понятий представления данных

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

Отношение алгоритма вычислений к сложности представления информации определяет два огромных класса информационных задач.

Первый класс – вычислительные задачи. Определяется простым представлением данным и сложным многооперационным алгоритмом вычислений.

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

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

Простейший пример вычисления по формуле выглядит так:

B=A2+5A,

где A и B – определенные числа, которые являются элементами данных или элементарными единицами данных.

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

Давайте рассмотрим другой (более сложный) пример:

Z=C1+C2+...+CN.

В данном случае если мы используем только простые переменные решить эту задачу не представляется возможным. Это связано с тем в этом примере обрабатываются не отдельные числа, а их последовательность. И программируя данную последовательность принято использовать такой вид данных как массив. Массив это совокупность элементов, с каждым из которых связан упорядоченный набор целых чисел, называемых индексами. Все элементы должны иметь одинаковый тип их значений, который и будет называться типом массива. В этом случае числа C1, C2,...., CN представляются в программе массивом C(1), C(2),…., C(N).

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

Языки программирования, которые использовались ранее подразумевали решения научно-технических вычислительных задач. В тех языках (АЛГОЛ, ФОРТРАН) использовались только вышеуказанные виды данных, а именно простые переменные и массивы. Для решения научно-технических вычислительных задач этого было вполне достаточно.

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

«невычислительных задач». Это связано с обработкой различного рода документов информационного и статистического характера. Эти данные, появившиеся в конце 60-х годов можно рассмотреть на примере упрощенных задач обработки данных.

Рассмотрим первую задачу – задача начисление заработной платы.

Для рассмотрения примера введем некоторые ограничения:

начисление заработная плата сотруднику производится на основе его оклада;

налоги и вычеты не будем учитывать.

Представим карточку сотрудника. Назовем ее карточкой НАЧИСЛЕНИЯ. Данная карточка представлена ниже.

Фамилия, имя, отчество

Оклад

Количество отработанных дней в месяц

Начисленная сумма

FIО

О

Кo

S

Для каждого работника начисленная сумма за определенный месяц рассчитывается по следующей формуле:

S=КoО/Кr,

где Кr – количество рабочих дней в данном месяце.

Эта карточка имеет конкретные значения для каждого сотрудника. Как представлено ниже.

Петров Степан Федорович

1800

24

1800

Как видно из приведенной выше таблицы, значения имеют смысл только в непосредственном взаимодействии друг с другом. Если взять отдельное число из этой таблицы. Например 1800. Что это за число? Как можно только этому числу дать характеристику? Смысл этого числа трудно понять так как оно теряет содержательный смысл. И сразу понятно что использовать простые переменные в данном случае нельзя. Если внимательно посмотреть на таблицу то понятно становится что и массив так же использовать нельзя, потому что этот набор значений, определенных для конкретного сотрудника, имеет разные типы. Типы встречаются в данном случае и символьные и числовые. Можно сделать вывод, что существует ситуация когда для представления соответствующей карточки понятий «простая переменная» и «массив» недостаточно.

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

Элемент данных (поле) – наименьшая единица поименованных данных.

Для описания данного примера элементами данных являются – FIО, О, Кo, S.

Для описания карточки сотрудника используется такое понятие как «Логическая запись».

Логическая запись это поименованная совокупность элементов данных (полей).

Экземпляр логической записи это текущее значение элементов записи.

Для представления всего набора карточек сотрудников используется такое понятие как «Логический файл».

Логический файл это поименованная совокупность всех экземпляров записей заданного типа.

Пример логического файла НАЧИСЛЕНИЕ:

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

Например в алгоритмическом языке Паскаль есть такой оператор RECORD – запись. Он вводится как сложная переменная с несколькими компонентами, которые могут иметь разные типы. Кроме того, непосредственный доступ к компонентам записи (полям) осуществляется при этом не по индексу, а по имени. При программировании первой задачи - задачи начисления заработной платы на алгоритмическом языке Паскаль логическая запись НАЧИСЛЕНИЕ представляется видом данных RECORD. А логический файл, то есть набор экземпляров логических записей сотрудников представлен «физическим» файлом, формируемым средствами и алгоритмического языка Паскаль и непосредственно операционной системой.

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

В связи с этим решение первой представленной задачи состоит из двух этапов.

1. Ввод ИД (исходных данных) и занесение ИД во внешнюю память.

2. Чтение исходных данных из внешней памяти, расчет начисленных сумм и вывод на печать.

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

Вторая задача. Кадровый учет сотрудников.

В задаче кадрового учета сотрудников обрабатываются сведения о сотрудниках, непосредственно представленные в карточке кадрового учета, называемой СОТРУДНИК.

Данная задача при решении включает в себя несколько этапов:

Ввод исходных данных и занесение информации во внешнюю память.

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

В рассматриваемом случае задача учета кадрового учета сотрудников (задача №2) может решаться в независимости от решения задачи начисления заработной платы (задача №1).

Рассмотри третью задачу – учет экономии фонда оплаты труда (ФОТ) в связи с временной не трудоспособностью сотрудников (количество дней по больничному листу).

Обрабатываются информационные данные, представленные записями в карточке, которая называется ЭКОНОМИЯ ФОТ.

.

Программа решения задачи учета экономии фонда оплаты труда аналогична уже рассмотренной программе решения задачи начисления заработной платы.

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

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

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

Мы можем убедиться что в этом случае дублирование данных полностью устранено. Запоминающее устройство вздохнуло с облегчением – расход минимален. То недостаток, который мы обозначили – ликвидирован. Теперь вернемся к программе и посмотрим на те задачи которые там присутствуют. Очевидно, что время необходимое для решения задачи прямо пропорционально тому объему информации, которое необходимо считать из внешней памяти. В нашем случае время затраченное на решение задачи в зависимости от выбранной длины полей и соответственно от множества перебираемых значений в полях может увеличится в 2–3 раза. Соответственно за отсутствие дублирования в нашем случае будет ухудшение быстродействия информационной системы, то есть увеличение времени решения задачи. В общем такое увеличение не всегда не допустимо. Но на примере конкретной задачи, учета экономии фонда оплаты труда мы видим, что в этом случае, за счет перебора полей в таблице время решения может увеличится на несколько порядков, что является недопустимым.

Рассмотрим пример расчета времени решения задач. Обозначим Тi – время решения задачи, li – длина записи в поле записи и Ni – число записей i -й задачи (i = 1, 2, 3) при использовании отдельных файлов для каждой задачи. Время решения задачи является интегрирующим показателем включающим длину записи и количество записей. Это естественно, потому что время будет тратится именно на перебор эти составляющих.

где C – некоторый коэффициент пропорциональности.

Теперь рассмотрим как вычислить это же время, при объединении записей Обозначим Ri – время решения i -й задачи (i = 1, 2, 3), d – длина записи, N – число записей. При этом время решения задачи рассматривается при использовании файла объединенных записей.

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

N1 = N2 = N, N3 << N.

В этом случае можно записать как увеличится время решения i-й задачи (i= 1, 2) при использовании объединенного файла. Оно увеличится в раз. В приведенном примере время решения задач в зависимости от выбранной длины полей может изменяться в 2–3 раза. Таким образом мы подтвердили уже выше приведенное высказывание – платой за отсутствие дублирования данных является увеличение времени решаемых задач. И в некоторых случаях, например при небольшом количестве информации, такое увеличение вполне допустимо.

Вернемся к третьей задачи – учета экономии фонда оплаты труда. Время решения этой задачи при объединении полей и с учетом разницы в N увеличится в раз.В данном случае N3 << N, то соответственно и R3 >> T3. Время решения задачи учета экономии фонда оплаты труда, которая строится на количестве дней нетрудоспособности может увеличиться на несколько порядков, что является не допустимым. Подтвердили выше сказанное.

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

Внимательно посмотрев на карточку мы видим, дублирование информации остается – дублируются поля FIО и О. При этом время решения задачи В этом случае дублирование остается (дублируются поля FIO, O). Время решения задач расчета заработной платы и кадрового учета незначительно увеличится по сравнению с вариантом отдельных файловых систем (в этом случае системе придется производить перебор полей, хоть и небольшой), а время решения задачи учета экономии фонда оплаты труда, которое в предыдущих вычислениях сильно отличалось, в этом варианте объединения остается неизменным, как и в начальном варианте отдельного файла, то есть не увеличится в разы как при полном отсутствии дублирования. Такое комплексирование данных позволяет частично избавиться от недостатка, сэкономить память и не существенно при этом увеличивает время решения всех задач. Сделаем вывод приведенных вычислений и рассуждений – все приведенные задачи могут решаться с использованием общей информационной базы, но при этом должны иметь два различных типа записей.

Теперь отметим следующее: оба приведенных выше типа записи связаны между собой и находятся во взаимодействии по полю FIО; приведенные два варианты объединения не являются единственными и могут быть расширены различным сочетанием полей. Здесь важной составляющей является то, что для решения представленных задач используется некоторый новый вид данных, формируемый на основе более «интеллектуального» комплексирования записей. Для описания этого вида данных повторим уже введенное понятие.

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

Определим еще одно понятие тесно связанное с базой данных. Этим понятием является – банк данных. Банк данных – система языковых, алгоритмических, программных, технических и организационных средств поддержки интегрированной совокупности данных, а также сами эти данные, представленные в виде баз данных.

Компоненты банка данных

Под Банком данных (БнД) понимается сложная человеко-машинная система, включающая в свой состав различные взаимозависимые и взаимосвязанные компоненты (рис. 1.1).

Рисунок 1.1. – Компоненты банка данных

Рассмотри каждый компонент банка данных в отдельности.

Информационная

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

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

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

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

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

Терминология сложившаяся уже десятилетиями при сведении объектов реального мира в базы данных включает в себя сведения и их актуализирующие признаки. Сведения, которые могут хранится в базе данных традиционно называют сущностями (еntitiеs). А актуальными признаками этих сведений, хранящихся в базе данных называют свойствами или атрибутами (аttributеs).

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

Продолжим введение сложившейся терминологии. Кроме сведений об объектах реального можно выделить и отдельно показать существующие отношения также, которые связывают эти объекты их свойства. Эти отношения которые организуют взаимодействие и элементов и их свойств тоже являются элементами базы данных.

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

Есть даже некий термин «словарь данных», который может быть словарем-справочником, энциклопедией, репозиторием и подразумевает централизованное хранилище метаинформации.

Программное обеспечение банка данных

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

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

Система управления базой данных (СУБД, database management system (DBMS)) или диспетчер базы данных (database manager) представляет собой множество различных языковых и программных средств, способствующих снижению сложности выполнения всех операций, связанных с организацией хранения данных, их корректировки и доступа к ним. Основная функция, выполняемая системой управления базой данных это предоставление имеющему соответствующий доступ пользователю базы данных возможности работать с информацией, не особенно касаясь детальных вопросов аппаратного уровня.

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

Посмотрев на рисунок 1.2. можно увидеть наличие в составе программных средств операционной системы (ОС). Это объясняется тем, что подавляющее большинство систем управления базой данных при своей работе базируется на универсальных операционных системах, соответственно при работе обязательно взаимодействует с операционной системой при обработки обращений к базе данных, следовательно можно считать как обязательный элемент входящий в состав банка данных.

Рисунок 1.2. – Программные средства банка данных

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

Языковые средства

Какую функцию в информационной системе выполняют языковые средства? Они обеспечивают взаимодействие разноязычных пользователей и приложений с банком данных.

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

Теперь каждый из принципов рассмотри отдельно и поясним.

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

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

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

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

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

Принцип минимума поддержки раскрывает наличие возможности внесение изменений в языковые средства в любом имеющимся приложении.

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

В настоящее время выделяют два взгляда направленное на развитие языковых средств. Первый взгляд – это взгляд разделения. Второй взгляд – это взгляд интеграции. В первом случае языковые средства разделяют на языки описания данных (ЯOД), языки манипулирования данными (ЯMД), языки запросов и прочие языковые средства.

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

Языки манипулирования данными разделяются на два обширных класса: процедурные и непроцедурные. Когда используются процедурные языки необходимо указывать что надо сделать, с каким объектом и какой при этом нужно получить результат. Когда используются непроцедурные языки, тогда необходимо указывать только что нужно получить в ответ. Примером непроцедурного языка могут служить языки базирующиеся на реляционных исчислениях, ярким представителем которых является язык запросов SQL.

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

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

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

Генераторы отчетов позволяют выбирать необходимые данные из файлов или баз данных и форматировать их в виде требуемых форм документов.

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

Инструментальные средства поддержки решений предназначены для систем принятия решений. Система поддержки принятия решений (CППP) (Decision Support System, DSS) — компьютерная автоматизированная система, целью которой является помощь людям, принимающим решение в сложных условиях для полного и объективного анализа предметной деятельности. CППP возникли в результате слияния управленческих информационных систем и систем управления базами данных.

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

Машиноориентированные языки спецификаций являются более универсальными в своей группе генераторов приложений так как могут специфицировать разнотипные приложения.

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

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

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

В настоящее время множество современных систем управления базами данных состоят из нескольких разно уровневых языковых средств.

Основные определения и понятия баз данных

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

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

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

В период становления вычислительной техники с пользовательской стороны стразу образовались два направления. Первое направление означало, что вычислительная техника должна облегчить произведения расчетов которые выполнялись слишком долгое время или вообще были невозможны для решения их вручную. То есть первое направление – это выполнение численных расчетов. Именно на этом направлении стали развиваться методы решения нетривиальных математических задач. Оно способствовало развитию языков программирования. Языки программирования следовательно стали ориентироваться на удобные записи алгоритмов, для чего стала развиваться обратная связь с проектировщиками новейших, прорывных архитектур, реализуемых в вычислительных системах.

Использование средств вычислительной техники в процессах автоматизации стало вторым направлением использования данных средств. Любая информационная система, это прежде всего программные комплекс, который обладает рядом функциональных требований. Это прежде всего поддержка эффективного хранения информации на запоминающем устройстве, выполнения для каждого приложения специфичных, только для него преобразований данных, выполнение различных операций с данными для представления пользователю в удобном для него виде. При этом пользователю должен быть предоставлен удобный, «дружественный» или легко осваиваемый интерфейс. Надо понимать, что в реальных системах пользователь сталкивается с достаточно большим объемом информации и со сложной структурой самой информационной системы. Банковские системы, системы резервирования мест проживания, системы бронирования мест на рейсы – это все классические примеры информационных систем.

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

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

Если рассматривать банк данных как систему баз данных (dаtаbаsе systеm), то в этом случае банк данных является системой, организованных данных или баз данных (специальным образом) и включающей программные, технические, языковые, организационно-методические средства, предназначенные для обеспечения централизованного длительного накопления и многопользовательского многоцелевого использования этих данных.

Основываясь на понятиях информации и данных в банках данных всегда рассматривается соответственно два аспекта – это инфологический и даталогический.

Рассмотри каждый из аспектов.

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

Когда рассматривается информационная система на этапе инфологического проектирования всегда решается ряд вопросов, таких как:

· в информационной системе накапливается и обрабатывается информация о каких объектах, процессах или явлениях реального мира;

· какие будут учитываться характеристики и взаимосвязи этих объектов, процессов или явлений реального мира;

· какие понятия об объектах, процессах или явлениях реального мира, а так же их характеристиках и взаимосвязях будут уточняться.

Предметная область, определяющая информационные потребности системы выделяется из реального мира именно на этапе инфологического проектирования.

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

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

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

Структура простейшей базы данных.

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

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

Рассмотрим структуру простейшей двумерной таблицы. Она состоит из столбцов и строк. По аналогии с двумерной таблицей в таблице базы данных тоже есть такие составляющие. Только называются по другому. Столбцы называются полями, а строки – записями.

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

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

Режимы работы с базами данных.

С базой данных работают две категории работников.

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

К второй категории относятся пользователи, которые занимаются наполнением и обслуживанием базы данных.

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

Создание и корректировка структуры базы данных и ее элементов относится к проектировочному режиму. Использование спроектированных объектов, а так же наполнение базы данных или получение данных из нее относится к пользовательскому режиму.

Объекты базы данных.

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

Рассмотрим более широко типы объектов, реализуемые в базе данных.

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

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

Третьими по важности объектом является страницы или страницы доступа к данным, которые размещены на wеb-странице и передаются заказчику вместе с ней, выполнены в коде НTML и относятся к специальным объектам базы данных. Страницы размещены на сервере и являются связующим звеном между пользователем, сервером и непосредственно базой данных.

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

Запросы и формы.

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

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

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

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

Система программирования. Ее понятие.

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

Для создания программ на выбранном языке программирования информационная система программирования должна иметь компоненты: текстовый редактор; компилятор; редактор связей и библиотеки функций; исполнительный код.

Рассмотрим каждый компонент подробнее.

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

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

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

Редактор связей (сборщик) это специальная программа, которая обрабатывает объектный код. Редактор связывает объектные модули с машинным кодом стандартной функции, которые находятся в библиотеке. На выходе сборщик формирует работоспособное приложение в виде исполнимого кода для определенной платформы.

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

Экспертные системы.

Особым классом систем искусственного интеллекта является экспертная система (ЭС) – еxреrt sуstеm. Экспертная система включает знания об определенной слабо структурированной и трудно формализуемой узкой предметной области и способная предлагать и объяснять решения разума. Предназначена экспертная система для интерпретации данных, диагностики состояния, мониторинга, прогнозирования, планирования и обучения. Все перечисленные выше задачи сводятся к распознаванию образов.

Экспертная система предназначена для консультирования специалистов в определенной предметной области. Экспертные системы могут быть разделены на два типа.

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

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

Системы управления базами данных позволяют комплексировать большие информационные объемы, обрабатывать их, сортировать и делать выборки по определенным критериям.

Системы управления базами данных

1   2   3   4


написать администратору сайта