Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
72
Добавлен:
10.05.2015
Размер:
699.9 Кб
Скачать

Тема 4.Информационная безопасность 77

4.1.Защита информации 77

4.2.Объекты и элементы защиты в компьютерных системах обработки данных 78

4.3.Средства опознания и разграничения доступа к информации 78

4.4.Криптографический метод защиты информации 79

4.5.Компьютерные вирусы и антивирусные программные средства 80

4.6.Защита программных продуктов 81

4.7.Обеспечение безопасности данных на автономном компьютере 82

4.8.Безопасность данных компьютерных сетей 82

4.9.Тесты для самопроверки 83

Тема 5.Искусственный интеллект 84

5.1.Основные положения 84

5.2.Типичные модели представления знаний 87

5.2.1.Логическая модель представления знаний 87

5.2.2.Представление знаний правилами продукций 89

5.2.3.Объектно-ориентированное представление знаний фреймами 89

5.2.4.Модель семантической сети 91

5.3.Эволюционные аналогии в искусственных интеллектуальных системах 92

5.4.Тесты для самопроверки 94

Библиографический список 95

Предисловие

XXI век знаменуется становлением на Земле постиндустриального (информационного) общества, в котором всё большее и большее количество людей, живущих в самых разных странах, начинают заниматься информационной деятельностью. Уже сейчас в наиболее развитых странах большая часть населения вовлечена в процессы извлечения, подготовки, сбора, хранения, накопления, обработки, отображения, передачи и защиты информации — информационные процессы. Оперирование информацией приносит экономические выгоды, в том числе и в сфере производства материальных благ. Это означает, что в информационных процессах информация начинает выступать в роли предмета труда и превращается в значимый общественный ресурс — информационный ресурс, формируется новая отрасль экономики — информационная индустрия. Человек воздействует на информацию посредством таких орудий труда, как аппаратные и программные средства автоматизации — компоненты информационных технологий, обеспечивающие создание и использование информационных систем и информационных сетей. Благодаря развитым средствам доступа к большим объёмам природной и социальной информации наблюдается резкое сокращение времени накопления и старения научных знаний. Новые знания, пополняя существующие информационные ресурсы, позволяют человеку более эффективно использовать разнообразные природные и социальные ресурсы. Они стимулируют появление в различных сферах деятельности человека новых информационных технологий. Последние становятся научно-методическим и техническим базисом информационной индустрии, развитие которой способствует расширению информационного пространства и становлению глобального информационного общества. Есть и другие причины перехода к постиндустриальному обществу. Пожалуй, наиболее значимые из них следующие.

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

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

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

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

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

Таким образом, для эпохи информационной цивилизации важными становятся:

  1. разработка концепции построения глобального информационного общества (Global Information Society);

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

  3. развитие информационной индустрии как одной из основных отраслей экономики;

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

  5. обеспечение комплексной информационной безопасности, включая национальную информационную безопасность;

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

Базы данных

План

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

1.2. Виды моделей баз данных

1.3. Классификация баз данных

1.4. Проектирование реляционной БД

1.5. Основы использования языка SQL

1.6. Тесты для самопроверки

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

Цель любой информационной системы - обработка данных об объектах реального мира.

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

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

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

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

Под предметной областью подразумевают модель определенной части реального мира.

Описание предметной области включает в себя описание объектов (сущностей), их свойств и взаимоотношений.

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

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

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

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

Для описания поля используются следующие характеристики:имя, тип, длина,точность.

Запись - совокупность логически связанных полей.

Экземпляр записи - отдельная реализация записи, содержащая конкретные значения ее полей.

Виды моделей БД

Ядром любой базы данных является модель данных.

Модель данных - совокупность структур данных и операций их обработки.

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

Иерархическая модель данных

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

Пример иерархической структуры приведен на рисунке 1. Каждый студент учится в определенной (только одной) группе, которая относится к определенному (только одному) факультету.

Сетевая модель данных

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

Пример сетевой структуры представлен на рисунке 2. База данных, содержащая сведения о студентах, участвующих в научно-исследовательских работах (НИРС). Возможно участие одного студента в нескольких НИРС, а также участие нескольких студентов в разработке одной НИРС:

Реляционная модель данных

Реляционная модель ориентирована на организацию данных в виде двумерных таблиц (см. табл. 1). Каждая реляционная таблица (отношение) представляет собой двумерный массив и обладает следующими свойствами:

каждый элемент таблицы - один элемент данных;

все столбцы в таблице однородные, т.е. все элементы в столбце имеют одинаковый тип (числовой, символьный и т.д.) и длину;

каждый столбец имеет уникальное имя;

одинаковые строки в таблице отсутствуют;

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

Таблица 1 - Информация о студентах, обучающихся в вузе

зачетной книжки

Фамилия

Имя

Отчество

Дата рождения

Группа

155125

Сергеев

Петр

Михайлович

01.01.80

720581

154652

Петрова

Анна

Владимировна

15.03.81

720591

178535

Анохин

Андрей

Борисович

14.04.80

720682

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

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

один к одному (1:1) - каждому экземпляру одного ИО соответствует только один экземпляр другого ИО

один ко многим (1:N) - каждому экземпляру одного ИО может соответствовать несколько экземпляров другого ИО

многие ко многим (N:M) - - каждому экземпляру одного ИО может соответствовать несколько экземпляров другого ИО и наоборот

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

В таблице 2 представлены сведения, какие модели использованы в каких СУБД.

Таблица 2 - Сведения о моделях данных в некоторых СУБД

Название СУБД

Тип БД

MS Access

Реляционная

FoxPro

Сетевая

Oracle

Реляционная

Paradox

Реляционная

Классификация баз данных

По технологии обработки данных базы данных подразделяются на централизованные и распределенные (см. рисунок 3).

Централизованная база данных хранится в памяти одной вычислительной системы. Если эта вычислительная система является компонентом сети ЭВМ, возможен распределенный доступ к такой базе. Такой способ использования баз данных часто применяется в локальных сетях ПК.

Системы централизованных баз данных с сетевым доступом (системы распределенной обработки данных) предполагают различные архитектуры подобных систем: файл-сервер и клиент-сервер.

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

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

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

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

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

  • необходимо иметь сведения о размещении данных в БД.

Однако доступность и надежность увеличатся.

При дублировании в каждом сервере сети ЭВМ размещается полная база данных. Этот метод дает наиболее надежный способ хранения данных. Недостатки:

  • повышенные требования к объему внешней памяти;

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

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

В методе смешанного распределения объединены два способа распределения данных: дублирование и расчленение.

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

Проектирование реляционной БД

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

Опыт использования БД позволяет выделить общий набор их рабочих характеристик:

Полнота – чем полнее база данных, тем вероятнее, что она содержит нужную информацию (однако не должно быть избыточной информации);

Правильная организация – чем лучше структурирована база данных, тем легче в ней найти необходимые сведения;

Актуальность – любая база данных может быть точной и полной, если она постоянно обновляется, т.е. необходимо, чтобы база данных в каждый момент времени полностью соответствовала состоянию отображаемого ею объекта;

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

Трехуровневая архитектура представления данных

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

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

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

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

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

Средства представления инфологической модели данных

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

Связь соединяется с ассоциируемыми сущностями линиями (рисунок 7). Возле каждой сущности на линии, соединяющей ее со связью, цифрами указывается класс кардинальности, включающий в себя модальность и мощность связи (таблица 4).

Таблица 3 - Обозначения элементов ER-диаграммы в нотации Чена

Элемент диаграммы

Обозначает

сущность

связь

атрибут

первичный ключ

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

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

Таблица 4 - Значения кардинальности связи

Кардинальность

Значение (модальность, мощность)

Обозначение в других нотациях

0,1

Может / Один

1,1

Должен / один

0,N

Может /много

1,N

Должен/Много

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

<Каждый экземпляр СУЩНОСТИ 1> <МОДАЛЬНОСТЬ СВЯЗИ> <НАИМЕНОВАНИЕ СВЯЗИ> <ТИП СВЯЗИ> <экземпляр СУЩНОСТИ 2>.

Каждая связь может быть прочитана как слева направо, так и справа налево. Если Сущность 1 – Заказ, а Сущность 2 – Заказчик, а наименование связи «Заказывание», то связь на рисунке 6 читается так:

  • справа направо: «Каждый Заказчик может заказать несколько Заказов».

  • слева налево: «Каждый Заказ обязан быть заказан ровно одним Заказчиком».

Нормализация отношений

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

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

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

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

Сведения о покупателях

Дату заказа и количество заказанного товара, данные о менеджере, обслуживающем заказ

Характеристику проданного товара (наименование, стоимость, и т.д.)

Рисунок 7 - Ненормализованная БД

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

Приходится тратить значительное время на ввод повторяющихся данных. Например, для всех заказов, сделанных одним заказчиком, придется каждый раз вводить одни и те же данные о заказчике.

При изменении адреса или телефона заказчика необходимо корректировать все записи, содержащие сведения о заказах этого заказчика.

Наличие повторяющейся информации приведет к неоправданному увеличению размера БД. В результате снизится скорость выполнения запросов. Кроме того, повторяющиеся данные нерационально используют дисковое пространство компьютера.

Любые нештатные ситуации потребуют значительного времени для получения требуемой информации.

Первая нормальная форма

Таблица, структура которой приведена на рисунке 7, является ненормализованной. Таблица в первой нормальной форме (1НФ) должна удовлетворять следующим требованиям:

Таблица не должна иметь повторяющихся записей.

В таблице должны отсутствовать повторяющиеся группы полей.

Строки должны быть не упорядочены

Столбцы должны быть не упорядочены.

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

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

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

сведения о заказчиках

номер и дату заказ клиента, данные о менеджере, обслуживающем заказ.

код, наименование, количество заказанного товара.

Поэтому разобьем таблицу Заказы на три отдельные таблицы (Заказчик, Заказ и Заказано) и определим ИНН фирмы в качестве совпадающего поля для связывания таблицы Заказчик с таблицей Заказ и № заказа – для связывания таблиц Заказ и Заказано (рисунок 8)

Отметим, что отношение между связываемыми таблицами “один-ко-многим”

Таблица Заказ содержит данные о клиентах. Определим ключевое поле ИНН фирмы. Аналогично для таблицы Заказ – ключевое поле Номер Заказа. Таким образом, для таблиц Клиенты и Заказы решена проблема повторяющихся групп.

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

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

В качестве ключа использовать составной ключ, состоящий из 2 полей Номер Заказа и Код товара

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

Вторая нормальная форма

О таблице говорят, что она находится во второй нормальной форме, если:

Она удовлетворяет условиям первой нормальной формы

Любое неключевое поле однозначно идентифицируется полным набором ключевых полей.

Из приведенного определения видно, что понятие 2НФ применимо только к таблицам, имеющим составной ключ. В нашем примере такой таблицей является Заказано, в которой составной ключ образуют поля Номер Заказа и Код Товара. Данная таблица не является таблицей во 2НФ, т.к. поля Наименование, Единица измерения однозначно определяются только одним из ключевых полей – Наименование Товара.

Для приведения таблицы ко 2НФ выделим из таблицы Заказано таблицу Товар, которая будет содержать информацию о товарах (рисунок 9). Для связывания таблиц Заказано и Товары используется поле Код товара.

Третья нормальная форма

О таблице говорят, что она находится во второй нормальной форме, если:

Она удовлетворяет условиям второй нормальной формы

Ни одно из неключевых полей не идентифицируется с помощью другого неключевого поля.

Сведение таблицы к 3НФ предполагает выделение в отдельную таблицу полей, которые не зависят от ключа.

В таблице Заказ поле Тел содержит номера телефонов менеджеров, которые однозначно определяются значением поля Контактная персона (при условии что нет однофамильцев) и не зависит от Номера Заказа. Следовательно, т.к. неключевое поле (Тел) однозначно определяется другим неключевым полем (Контактная персона), таблица Заказ не является таблицей в 3НФ. Для приведения этой таблицы к 3НФ создадим новую таблицу Сотрудник.

В результате получаем инфологическую модель (ИЛМ) базы данных «Заказы» (рисунок 10)

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

ИЛМ отражает иерархию подчинения объектов. В одно-многозначных связках каждый подчиненный объект необходимо разместить ниже главного. Все объекты должны быть распределены по уровням. На рисунке 11 представлен порядок заполнения таблиц.

Сначала вносятся данные в таблицы «Заказчик», «Сотрудник», «Товар». Таблица «Заказ» заполняется на основе данных из таблиц «Заказчик» и «Сотрудник». А данные в таблицу «Заказано» вносятся, когла все осальные таблицы уже заполнениы.

Основы использования языка SQL

SQL (Structured Query Language, структурированные язык запросов) – стандартный язык запросов по работе в реляционными базами данных. SQL нельзя в полной мере отнести к традиционным языкам программирования, он не содержит традиционные операторы, управляющие ходом выполнения программы. Операторы SQL встраиваются в базовый язык программирования, которым может быть любой алгоритмический язык типа С, Паскаль и т.д. Кроме того, операторы SQL могут выполняться в интерактивном режиме.

Язык SQL состоит из двух основных компонент:

языка описания данных (ЯОД), позволяющего создавать схему описания данных в базе;

языка манипулирования данными (ЯМД), выполняющего операции с базой данных (наполнение, обновление, удаление, выборку информации).

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

Язык Описания Данных

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

Таблица 5 - Некоторые операторы ЯОД

Оператор

Смысл

Действие

CREATE TABLE

Создать таблицу

Создает новую таблицу в БД

DROP TABLE

Удалить таблицу

Удаляет таблицу из БД

ALTER TABLE

Изменить таблицу

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

CREATE INDEX

Создать индекс

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

Примеры:

1. Создать таблицу Товар

CREATE TABLE Товар

(Код_товара int Primary Key,

Товар char(50),

Характеристика char(50),

Цена decimal(5.2)

Дата поставки date)

2. Изменить структуры таблицы Товар

добавить символьное поле Ед_изм.,

удалить поле Дата поставки.

ALTER TABLE Товар

ADD Ед_изм char(10)

DROP COLUMN Дата поставки

3. Удалить таблицу Товар

DROP TABLE Товар

Язык Манипулирования Данными

ЯМД (или язык запросов) представляет собой систему команд, которые позволяют по запросу пользователя извлекать необходимые данные из базы данных. В таблице 6 представлены некоторые операторы, позволяющие производить обработку данных.

Примеры:

1. Добавить в таблицу Товар новый товар – Кран водопроводный

INSERT INTO Товар VALUES (5, «Кран водопроводный», «Латунь», «шт», 150.00)

2. Удалить из таблицы Заказ все заказы, оформленные 25.05.05

DELETE FROM Заказ WHERE Дата = ‘25/05/2005’

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

3. Определить какие товары, измеряются в штуках

SELECT Товар.Товар, Товар.Ед_изм FROM Товар

WHERE Товар.Ед_изм=’шт.’

Таблица 6 - Некоторые операторы ЯМД

Оператор

Смысл

Действие

DELETE

Удалить строки

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

INSERT

Вставить строку

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

UPDATE

Обновить строку

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

SELECT

Выбрать строки

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

4. Определить в каких заказах приобретены товары, измеряемые в штуках

SELECT Заказано.Код, Товар.Товар, Товар.Ед_изм,

FROM Товар, Заказано

WHERE Товар.Ед_изм=’шт.’

AND Товар.Код_товара= Заказано.Код_товара

Тесты для самопроверки