
- •Соотношение ит и информационной системы.
- •Типы ит.
- •Этапы развития информационных технологий.
- •Классификация информационных технологий.
- •Инструментарий и составляющие ит. Пример.
- •2.6.2. Основные компоненты
- •2.7.2. Основные компоненты
- •11.1. Сущность и основные понятия систем управления базами данных
- •11.3. Организация взаимодействия пользователя с субд
- •Vpn (Virtual Private Network) сети
- •2. Что такое ip-сети и маски подсетей.
- •5. «Динамические» и «статические» ip-адреса.
- •8. Как связываются между собой ip-адреса и доменные имена?
- •3. Уровень сеансов связи. Давайте представим себе ком
- •4. Транспортный уровень. Этот уровень отвечает за
- •5. Сетевой уровень. Если соединить между собой не
- •6. Уровень соединения (логический уровень). Дело идет
11.1. Сущность и основные понятия систем управления базами данных
Практически в любой сфере человеческой деятельности приходится в той или иной мере собирать, хранить и использовать различные данные. При этом используются разные способы и технологии работы с ними: внешне бессистемные (но понятные владельцу) записи в личных записных книжках, упорядоченная регистрация информации в журналах, ведение систематизированных картотек, обработка документов в организованном комплексе делопроизводства и т. п.
При всем разнообразии упомянутых методов и средств можно выделить общие признаки, характеризующие работу с данными:
собираемые, хранимые и обрабатываемые данные относятся к определенной и ограниченной области деятельности, характерной для людей, их использующих, и называемой предметной областью',
сами данные разбиты на определенные компоненты, различным образом связанные друг с другом, т. е. они структурированы и упорядочены;
имеются определенные методы поиска и извлечения (выборки) необходимой информации и ее представления.
Совокупность структурированных и упорядоченных данных, относящихся к определенной предметной области, называется базой данных (БД), а система методов и средств сбора, регистрации, хранения, упорядочения, поиска, выборки и представления информации в БД называется системой управления базой данных (СУБД).
При значительных объемах информации, хранящейся в БД, или при существенной ее значимости для деятельности возникает проблема надежности и скорости обработки данных. Эта проблема во многом может быть решена за счет использования компьютерных технологий. Соответствующие СУБД получили довольно широкое распространение, и значительную их часть составляют системы, основывающиеся на реляционном подходе.
В рамках этого подхода объекты, составляющие предметную область, описываются как совокупности атрибутов (свойств), находящихся в определенных отношениях (связях) друг с другом (отсюда и название реляционный: от англ. relation — отношение). Конкретная форма представления этой совокупности часто принимает вид таблицы.
Рассмотрим пример. Данные о сотрудниках некоторой проектной организации включают в себя:
табельный номер сотрудника;
фамилию, имя и отчество;
дату рождения;
домашний адрес;
домашний телефон;
дату поступления на работу;
место работы;
служебный телефон;
должность;
оклад;
надбавку за стаж работы;
проект, в котором участвует сотрудник;
надбавку за участие в проекте.
Эти данные можно представить в виде таблицы, в которой каждому виду данных соответствует свой столбец, а каждому конкретному сотруднику — строка (табл. 11.1).
Каждая строка этой таблицы (отношения) называется записью, а ее отдельный элемент, соответствующий тому или иному столбцу, — полем.
Таблица 11.1 представляет собой лишь небольшой фрагмент БД, но его свойства весьма показательны.
Во-первых, некоторые поля являются достаточно сложными и содержат данные, которые можно (и нужно) разбить на более мелкие компоненты (это поля, содержащие фамилию, имя и отчество, даты, адрес, место работы).
Во-вторых, по отдельным полям данные в различных записях дублируются, что не оправдано с точки зрения затрат на хранение (сведения о надбавках).
Так, второе поле должно быть разбито на три компонента, со- держащиё по отдельности фамилию, имя и отчество сотрудника; третье и шестое поля с датами также необходимо разбить на три — с числом, месяцем и годом; в поле с домашним адресом надо выделить первый компонент, указывающий на регион (Москва или Московская область); а поле с указанием места работы разделить на два — номер отдела и номер помещения.
Для исключения хранения излишней информации из табл. 11.1 необходимо убрать поля, касающиеся свойств объектов, отличных от персонала, и создать для них свои отношения: «Отдел» (табл! 11.3) и «Проект» (табл. 11.4), «Надбавки» (табл. 11.5). Тогда отношение «Персонал» будет описано табл. 11.2.
Описанные действия по представлению данных в теории и практике создания БД называют нормализацией.
В каждом отношении (таблице) одно из полей должно играть роль первичного ключа, однозначно идентифицирующего конкретную запись, т. е. имеющего уникальное значение для каждой записи. В отношении «Персонал» это табельный номер, в отношении «Отдел» — номер отдела, в отношении «Проект» — наименование проекта, в отношении «Надбавки» — стаж работы.
Некоторые из остальных полей отношений могут выполнять роль вторичных ключей, по значениям которых могут осуществляться различные операции: поиск и выборка данных.
Представленные в табл. 11.2—11.5 отношения связаны друг с другом через отдельные поля: отношения «Персонал» и «Отдел» — через поле «Номер отдела» (соответственно вторичный и первичный ключи); отношения «Персонал» и «Проект» — через поле «Название проекта» (соответственно вторичный и первичный ключи). Связь отношений «Персонал» и «Надбавки» осуществляется через поля «Дата поступления на работу» (составной вторичный ключ) и «Стаж работы» (первичный ключ), но не непосредственно, а через процедуру вычисления стажа работы по значению даты поступления на работу.
Представленное в описанном примере структурирование и упорядочивание данных в целом характерно для всех систем управления БД и для различных программ отличается в деталях.
Компьютерные системы управления базами данных
Системой управления базами данных называют программную систему, предназначенную для создания на ЭВМ общей БД, используемой для решения множества задач. Подобные системы служат для поддержания БД в актуальном состоянии и обеспечивают эффективный доступ пользователей к содержащимся в ней данным в рамках предоставленных пользователям полномочий.
К наиболее популярным СУБД для вычислительных систем класса персональных компьютеров относятся dBASE IV, Microsoft Access, FoxPro, Paradox. Для более мощных систем предназначены СУБД Oracle, Informix. В определенной степени возможности управления данными имеются и у большинства современных табличных процессоров.
По степени универсальности различают два класса СУБД:
системы общего назначения;
специализированные системы.
СУБД общего назначения не ориентированы на какую-либо предметную область или на информационные потребности какой- либо группы пользователей. Каждая система такого рода реализуется как программный продукт, способный функционировать на некоторой модели ЭВМ в определенной операционной системе.
Специализированные СУБД создаются в редких случаях при невозможности или нецелесообразности использования СУБД общего назначения.
СУБД общего назначения — это сложные программные комплексы, предназначенные для выполнения всей совокупности функций, связанных с созданием и эксплуатацией БД информационной системы. Используемые в настоящее время СУБД обладают средствами обеспечения целостности данных и надежной безопасности, что дает возможность разработчикам гарантировать большую безопасность данных при меньших затратах сил на низкоуровневое программирование. Продукты, функционирующие в среде Windows, выгодно отличаются удобством пользовательского интерфейса и встроенными средствами повышения производительности.
Рассмотрим основные характеристики некоторых СУБД — лидеров на рынке программ, предназначенных как для разработчиков информационных систем, так и для конечных пользователей.
Производительность СУБД
Производительность СУБД оценивается:
временем выполнения запросов;
скоростью поиска информации в неиндексированных полях;
временем выполнения операций импортирования БД из других форматов;
скоростью создания индексов и выполнения таких массовых операций, как обновление, вставка, удаление данных;
максимальным числом параллельных обращений к данным в многопользовательском режиме;
временем генерации отчета.
На производительность СУБД оказывают влияние два фактора:
СУБД, которые следят за соблюдением целостности данных, несут дополнительную нагрузку, которую не испытывают другие программы;
производительность собственных прикладных программ сильно зависит от правильного проектирования и построения БД.
Обеспечение целостности данных на уровне БД
Эта характеристика подразумевает наличие средств, позволяющих удостовериться, что информация в БД всегда остается корректной и полной. Должны быть установлены правила целостности, и они должны храниться вместе с БД и соблюдаться на глобальном уровне. Целостность данных должна обеспечиваться независимо от того, каким образом данные заносятся в память (в интерактивном режиме, посредством импорта или с помощью специальной программы).
К средствам обеспечения целостности данных на уровне СУБД относятся:
встроенные средства для назначения первичного ключа, в том числе средства для работы с типом полей с автоматическим приращением, когда СУБД самостоятельно присваивает новое уникальное значение;
средства поддержания ссылочной целостности, которые обеспечивают запись информации о связях таблиц и автоматически пресекают любую операцию, приводящую к нарушению ссылочной целостности.
Некоторые СУБД имеют хорошо разработанный процессор СУБД для реализации таких возможностей, как уникальность первичных ключей, ограничение (пресечение) операций и даже каскадное обновление и удаление информации. В таких системах проверка корректности, назначаемая полю или таблице, будет проводиться всегда после изменения данных, а не только во время ввода информации с помощью экранной формы. Это свойство можно настраивать для каждого поля и для записи в целом, что позволяет контролировать не только значения отдельных полей, но и взаимосвязи между несколькими полями данной записи.
Обеспечение безопасности
Некоторые СУБД предусматривают средства обеспечения безопасности данных. Такие средства обеспечивают выполнение следующих операций:
шифрование прикладных программ;
шифрование данных;
защиту паролем;
ограничение уровня доступа (к БД, к таблице, к словарю, для пользователя).
Работа в многопользовательских средах
Обработка данных в многопользовательских средах предполагает выполнение программным продуктом следующих функций:
блокировку БД, файла, записи, поля;
идентификацию станции, установившей блокировку;
обновление информации после модификации;
контроль за временем и повторение обращения;
обработку транзакций (транзакция — последовательность операций пользователя над БД, которая сохраняет ее логическую целостность);
работу с сетевыми системами.
Импорт-экспорт
Эта характеристика отражает:
возможность обработки СУБД информации, подготовленной другими программными средствами;
возможность использования другими программами данных, сформированных средствами СУБД.
Возможности запросов и инструментальные средства разработки прикладных программ СУБД, ориентированные на разработчиков, обладают развитыми средствами для создания приложений. К элементам инструментария разработки приложений можно отнести:
мощные языки программирования;
средства реализации меню, экранных форм ввода-вывода данных и генерации отчетов;
средства генерации приложений (прикладных программ);
генерацию исполнимых файлов.
Функциональные возможности доступны пользователю СУБД благодаря ее языковым средствам.
Реализация языковых средств интерфейсов может быть осуществлена различными способами. Для высококвалифицированных пользователей (разработчиков сложных прикладных систем) языковые средства чаще всего представляются в их явной синтаксической форме. В других случаях функции языков могут быть доступны косвенным образом, когда они реализуются в форме различного рода меню, диалоговых сценариев или заполняемых пользователем таблиц. По таким входным данным интерфейсные средства формируют адекватные синтаксические конструкции языка интерфейса и передают их на исполнение или включают в генерируемый программный код приложения. Интерфейсы с неявным использованием языка широко используются в СУБД для персональных ЭВМ. Примером такого языка является язык QBE (Query-By-Example).
Языковые средства используются для выполнения двух основных функций:
описания представления БД;
выполнения операций манипулирования данными.
Первая из этих функций обеспечивается языком описания (определения) данных (ЯОД). Описание БД средствами ЯОД называется схемой базы данных. Оно включает описание структуры БД и налагаемых на нее ограничений целостности в рамках тех правил, которые регламентированы моделью данных используемой СУБД. ЯОД некоторых СУБД обеспечивают также возможности задания ограничений доступа к данным или полномочий пользователей.
ЯОД не всегда синтаксически оформляется в виде самостоятельного языка. Он может быть составной частью единого языка данных, сочетающего возможности определения данных и манипулирования данными.
Язык манипулирования данными (ЯМД) позволяет запрашивать предусмотренные в системе операции над данными из БД.
Имеются многочисленные примеры языков СУБД, объединяющих возможности описания данных и манипулирования данными в единых синтаксических рамках. Популярным языком такого рода является реляционный язык SQL (Structured Query Language).