Средства автоматизации проектирования баз данных кратко

Обновлено: 05.07.2024

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

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

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

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

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

Информационная система позволит избавить сотрудника от рутинной

повседневной работы по выписке расходных накладных. Так как раньше

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

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

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

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

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

Глава 1. Теоретическая часть

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

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

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

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

Свойства БД.: Само документированность. База данных

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

Модели баз данных

Иерархическая

Сетевая

Реляционная

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

Сетевая модель представляет собой развитие иерархической. Модель позволяет описывать более сложные виды взаимоотношений между данными. Однако расширение возможностей достигается за счет большей сложности реализации самой модели и трудности манипулирования данными. Сетевой принцип организации данных является расширением иерархического. В иерархических структурах запись-потомок должна иметь только одного предка; в сетевой структуре данных потомок может иметь любое число предков. К недостатку сетевой модели можно отнести низкое быстродействие и высокие требования к памяти

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

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

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

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

(или одну комбинацию полей) можно назначить ключевым. С ключевыми полями

СУБД работает особо. Она проверяет их уникальность и быстрее выполняет

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

Реляционная модель на сегодняшний день наиболее распространена. Она достаточно универсальна и проста в проектировании.

Анализ предметной области

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

· понимать язык, на котором говорят заказчики;

· выявить цели их деятельности;

· определить набор решаемых ими задач;

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

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

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

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

Анализ предметной области разбивается на три фазы:

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

· выявление информационных объектов и связей между ними;

· построение концептуальной модели предметной области и проектирование концептуальной схемы БД.

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

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

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

Автоматизированные средства проектирования баз данных Обзор и классификация Case-технологий

Проектирования БД является сложным итерационным процессом. Автоматизировать данный процесс можно с помощью современных CASE-средств (средств автоматизации проектирования). CASE-средства позволяют ускорить и облегчить разработку, повысить качество создаваемых БД. Многие из CASE-средств имеют систему управления коллективной работой над проектом. Современные CASE-средства позволяют создавать синтаксические модели базы данных на этапах 4 и 5, исходя из инфологической модели предметной области, построенной человеком (проектировщиком БД) на этапе 2. Очевидно, что этапы 1 и 3 полностью не формализуются. Этап 2 допускает лишь частичную автоматизацию, поскольку только человек способен построить в своей голове инфологическую модель предметной области, а лишь потом для описания этой модели применить соответствующие CASE-средства. Термин CASE (Computer Aided Software Engineering) дословно переводится как разработка программного обеспечения с помощью компьютера. В настоящее время этот термин получил более широкий смысл, означающий автоматизацию разработки информационных систем. CASE-средства обеспечивают наглядное описание информационных процессов и инфологической модели предметной области, генерацию и анализ вариантов логических и физических моделей базы данных, создание приложений и т.п. Современная CASE-индустрия объединяет сотни известных фирм и компаний. В настоящее время практически все серьезные проекты осуществляются с использованием CASE-средств. Общее число распространяемых на рынке программных продуктов CASE-средств составляет

порядка 500 наименований. По ориентации на этапы проектирования выделяют следующие типы CASE-средств: инструменты анализа и моделирования предметной области; средства проектирования баз данных; средства разработки приложений. По степени независимости от СУБД различают независимые и встроенные CASE-средства. После построения проекта БД начинается процесс реализации этого проекта, т. е. создание БД. Создание БД и дальнейшая ее эксплуатация традиционно осуществляется с помощью специальных программного обеспечения которое называют по-разному: диспетчер базы данных (database manager), сервер базы данных (database server) или, что более привычно, система управления базами данных, СУБД (DataBase Management System — DBMS).

CASE-средства (Computer - Aided Software Engineering) - это методы и технологии, которые позволяют проектировать различные информационные системы (в частности, базы данных) и автоматизировать их создание. О проектировании баз данных, видах CASE-средств и об особенностях их применения будет рассказано в представленной статье.

Проектирование баз данных с помощью CASE-средств

К ключевым понятиям проектирования баз данных относятся:

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

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

Для создания баз данных под наиболее распространенные СУБД чаще всего используются следующие CASE-средства:

  • ERwin (Logic Works) - CASE-инструмент для создания концептуальных и логических схем баз данных. Он позволяет редактировать различные наборы данных, представляя их в виде электронных таблиц, разрабатывать структуры баз данных, синхронизировать модели, скрипты и БД, настраивать шаблоны, выводить рабочую информацию в виде отчетов, строить удобные и понятные диаграммы, отображающие различные процессы в системе и взаимосвязи между ними;
  • S-Designor (SDP) - графический CASE-инструмент для проектирования структуры реляционных БД. Он создает модели баз данных в два этапа - выстраивая концептуальную модель и затем преобразуя ее в физическую, причем в данном процессе разработки возможен как прямой, так и обратный переход между моделями. Данный инструмент позволяет проектировать базы данных под различные СУБД, в том числе под Oracle и MySQL;
  • DataBase Designer (ORACLE) - интегрированная CASE-среда, которая позволяет анализировать предметную область создания БД, выполнять программирование и проектирование, проводить оценку и тестирование, осуществлять сопровождение, обеспечивать качество, управлять конфигурацией и проектом, разрабатывать и анализировать требования к информационной системе.

Классификация CASE-средств

В зависимости от того, на каком этапе проектирования баз данных используются CASE-средства, их относят к:

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

1. Средства автоматизации проектирования баз данных

• За последнее десятилетие сформировалось новое направление
в проектировании информационных систем —
автоматизированное проектирование с помощью CASEсредств.
C omputer
A ided
S ystem/Software
E ngineering)
Средства — инструментарий для поддержки и усиления методов;
поддерживает работу пользователей при создании и редактировании
проекта в интерактивном режиме, помогает организовать проект в
виде иерархии уровней абстракции, осуществляет проверки
соответствия компонентов.

CASE-технология представляет собой методологию
проектирования ИС, а также набор инструментальных
средств, позволяющих в наглядной форме моделировать
предметную область, анализировать эту модель на всех этапах
разработки и сопровождения ИС.
Большинство существующих CASE-средств основано на
методологиях структурного (в основном) или объектноориентированного анализа и проектирования, использующих
диаграммы или текстов для описания внешних требований,
связей между моделями системы, динамики поведения
системы и архитектуры программных средств.

Современные CASE-средства охватывают обширную область
поддержки многочисленных технологий проектирования ИС: от
простых средств анализа и документирования до
полномасштабных средств автоматизации, покрывающих весь
жизненный цикл ПО.
Обычно к CASE-средствам относят любое программное средство,
автоматизирующее один или несколько процессов жизненного
цикла ПО и обладающее следующими основными характерными
особенностями:
• мощные графические средства для описания и документирования
ИС, обеспечивающие удобный интерфейс с разработчиком и
развивающие его творческие возможности;
• интеграция отдельных компонент CASE-средств,
обеспечивающая управляемость процессом разработки ИС;
• использование специальным образом организованного
хранилища проектных метаданных (репозитория).

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

CASE-средства можно классифицировать по следующим
признакам:
• применяемым методологиям и моделям систем и БД;
• степени интегрированностию с СУБД;
• доступным платформам.

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

Ктаким средствам относятся:
•ProKit*WORKBENCH,
•Design / IDEF,
•CASE Oracle (Designer / 2000),
•Power Designer (S-Designor),
•ERWin,
•SILVERRUN,
•ERStudio и другие.

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

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

Рассмотрим CASE - средство проектирования
структур баз данных - Case Studio
CASE Studio является профессиональным
инструментом проектирования баз данных.
Система предназначена для визуального создания и
модификации диаграмм "сущность-связь" (ERD).
Уровень представления ER-диаграмм может быть
различен: от простейшего вида (имена сущностей и
связи между ними) и до Полной физической модели для
выбранной СУБД.

Для разработанных диаграмм далее может быть сгенерирован
программный код для создания таблиц, индексов, связей, хранимых
процедур, пользователей и других компонентов различных СУБД.
При создании новой модели данных следует задать, для какой (СУБД
она проектируется!
т.к. CASE Studio имеет возможность
• построения полной физической модели базы данных с
использованием индивидуальных свойств каждой БД - типы и
свойства атрибутов (стандартные БД и пользователя),
• возможности описания ключей (первичные и внешние), связей,
условий соблюдения ссылочной целостности, пользователей и их
групп (ролей);
• возможности написания хранимых процедур и пр.
В последующем можно будет выполнить конверсию физической
модели для другой СУБД (меню Model - Database Convertion) с
сохранением в виде копии.

Сущности
Сущность
Слабая сущность
Типы связей
Неидентифицирующая (0,N):(1,1)
Неидентифицирующая (1,N):(1,1)
Неидентифицирующая (1,1):(1,1)
Неидентифицирующая (0,1):(0,1)

Идентифицирующая (1,1):(1,N)
Идентифицирующая (1,1):(0,N)
Обозначения для свойств атрибутов
(PK)
Первичный ключ
(FK)
Внешний ключ

Свидетельство и скидка на обучение каждому участнику

Зарегистрироваться 15–17 марта 2022 г.

Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное образовательное

учреждение высшего образования

ИРКУТСКИЙ НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Факультет среднего профессионального образования

ОП.07 ОСНОВЫ ПРОЕКТИРОВАНИЯ БАЗ ДАННЫХ

КРАТКИЙ КУРС ЛЕКЦИЙ

09.02.04 Информационные системы (по отраслям)

Техник по информационным системам

Борисова Марина Валентиновна, преподаватель

hello_html_m4ded70e6.jpg

Иркутск 2015 г.

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

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

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

История возникновения баз данных

История развития баз данных

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

Информационные системы имеют следующие особенности:

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

данные, которые они используют, имеют сложную структуру

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

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

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

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

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

Основные функции СУБД:

управление данными во внешней памяти (на дисках);

управление данными в оперативной памяти;

журнализация изменений и восстановление базы данных после сбоев;

поддержание языков БД (язык определения данных, язык манипулирования данными).

История возникновения БД

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

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

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

Информационная система представляет собой программно-аппаратный комплекс, обеспечивающий выполнение следующих функций:

надежное хранение информации в памяти компьютера;

выполнение специфических для данного приложения преобразований информации и вычислений;

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

Обычно такие системы имеют дело с большими объемами информации, имеющей достаточно сложную структуру.

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

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

создать файл (требуемого типа и размера);

открыть ранее созданный файл;

прочитать из файла некоторую запись (текущую, следующую, предыдущую, первую, последнюю);

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

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

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

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

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

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

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

История развития БД

Концепция БД сложилась в конце 60-х годов прошлого столетия и с тех пор постоянно развивалась.

Первый этап сложился к началу 60-х годов прошлого века и характеризуется следующими признаками:

информация преимущественно хранится в последовательных файлах на магнитных лентах;

физическая структура данных строго соответствует логической;

в качестве архива хранятся несколько копий файлов;

файлы предназначены для единственной программы;

программист планирует не только логическую, но и физическую организацию данных;

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

Второй этап относится к середине 60-х годов и имеет следующие особенности:

появились внешние устройства прямого доступа, позволившие осуществить произвольный доступ к записям (прямой, индексно-последовательный);

вошли в употребление процедуры поиска записи по ключевому полю (обычно одному);

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

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

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

Четвертый этап датируется второй половиной 70-х годов. На этом этапе были реализованы следующие основные характеристики СУБД:

логическая и физическая независимость данных;

удобство развития БД;

безопасность, секретность, целостность данных;

поиск информации по различным запросам;

языковые средства для администратора, прикладного программиста, пользователя-непрофессионала.

С начала 70-х годов после публикаций Э.Кодда начались активные исследования реляционной модели данных. Основу реляционной СУБД составляют таблицы. Вплоть до 80-х годов реляционные СУБД считались перспективными, но трудными для реализации.

Новый этап в развитии СУБД наступил при появлении персональных компьютеров. На этом этапе на передний план вышли такие особенности СУБД, как:

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

упрощение громоздких схем СУБД за счет частичной реализации ряда свойств;

почти полный переход на реляционные СУБД;

ориентация не только на программиста, но и на пользователя-непрофессионала;

наличие средств автоматизации программирования в виде генераторов форм, меню, отчетов, запросов.

Классификация БД

Классификация БД может быть произведена по различным признакам, среди которых выделяют:

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

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

По типологии хранения данных: локальные (централизованные) и распределённые (удалённые) БД.

Классификация не является полной. Различные источники предоставляют разнообразную классификацию.

Вопросы для самоконтроля:

Дайте определения понятиям: информационная система, предметная область.

Что называется базой данных и каково ее место в ИС?

В чем различие между данными и метаданными?

Каково назначение систем управления базами данных?

Для чего используется словарь данных?

Назовите этапы развития БД.

Какую роль в развитии технологии БД сыграло появление ПК?

Каковы функции СУБД?

Технология "клиент – сервер"

Трехзвенная (многозвенная) архитектура "клиент – сервер"

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

Централизованная архитектура

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

hello_html_m35079c70.jpg

Рисунок 1 - Централизованная архитектура

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

Архитектура "файл-сервер"

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

hello_html_m70f601cb.jpg


Рисунок 2 - Архитектура "файл-сервер"

Технология "клиент – сервер"

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

Так, архитектура " клиент – сервер " разделяет функции приложения пользователя (называемого клиентом) и сервера. Приложение-клиент формирует запрос к серверу, на котором расположена БД, на структурном языке запросов SQL (Structured Query Language), являющемся промышленным стандартом в мире реляционных БД. Удаленный сервер принимает запрос и переадресует его SQL-серверу БД.

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

Архитектура системы представлена на рисунке 3 .

hello_html_m6b697202.jpg


Рисунок 3 - Архитектура "клиент – сервер"

Трехзвенная (многозвенная) архитектура "клиент – сервер"

Трехзвенная (в некоторых случаях многозвенная ) архитектура (N-tier или multi-tier). представляет собой дальнейшее совершенствование технологии " клиент – сервер ". Рассмотрев архитектуру " клиент – сервер ", можно заключить, что она является 2-звенной: первое звено – клиентское приложение, второе звено – сервер БД + сама БД. В трехзвенной архитектуре вся бизнес-логика (деловая логика), ранее входившая в клиентские приложения, выделяется в отдельное звено, называемое сервером приложений. При этом клиентским приложениям остается лишь пользовательский интерфейс.

Схематически такую архитектуру можно представить, как показано на рисунке 4 .

hello_html_3c284cd8.jpg

Рисунок 4 - Представление многоуровневой архитектуры "клиент-сервер"

Вопросы для самоконтроля:

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

Читайте также: