Третья нормальная форма (3NF)

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

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

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

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

Итак, вариант 1 схемы отношения «Сотрудники»:

Сотрудники (№ табельный, Фамилия, Имя, Отчество, Код должности, Оклад);

Primary key (№ табельный);

Кроме того, над данным отношением «Сотрудники» задана следующая система функциональных зависимостей:

{Код должности} > {Оклад};

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

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

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

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

Итак, вариант 2 схемы отношения «Сотрудники»:

Должности (Код должности, Оклад);

Primary key (Код должности);

Сотрудники (№ табельный, Фамилия, Имя, Отчество, Код должности);

Primary key (Код должности);

Foreign key (Код должности) references Должности (Код должности);

Теперь, как мы видим, в отношении «Должности» неключевой атрибут «Оклад» полностью функционально зависит от простого первичного ключа «Код должности» и только от этого ключа.

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

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

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

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

35. Понятие СУБД. Функциональные возможности СУБД

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

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

Существуют универсальные системы управления базами данных, используемые для различных приложений. При настройке универсальных СУБД для конкретных приложений они должны обладать соответствующими средствами. Процесс настройки СУБД на конкретную область применения называется генерацией системы. К универсальным СУБД относятся, например системы Microsoft Access, Microsoft Visual FoxPro, Borland dBase, Borland Paradox, Oracle.

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

К основным функциям СУБД относятся:

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

36. Компоненты СУБД

Компоненты:

Третья нормальная форма (3NF) - student2.ru

1) ядро, которое отвечает за управление данными во внешней и оперативной памяти и журнализацию,

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

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

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

37. Классификация СУБД

Третья нормальная форма (3NF) - student2.ru

38. Транзакция. Свойства транзакции

Транза́кция (англ. transaction) — группа последовательных операций с базой данных, которая представляет собой логическую единицу работы с данными.

Пример: необходимо перевести с банковского счёта номер 5 на счёт номер 7 сумму в 10 денежных единиц. Этого можно достичь, к примеру, приведённой последовательностью действий:

  1. Прочесть баланс на счету номер 5.
  2. Уменьшить баланс на 10 денежных единиц.
  3. Сохранить новый баланс счёта номер 5.
  4. Прочесть баланс на счету номер 7.
  5. Увеличить баланс на 10 денежных единиц.
  6. Сохранить новый баланс счёта номер 7.

Транзакции имеют следующие свойства, которые известны под аббревиатурой ACID:

♦ атомарность (Atomicity);

♦ согласованность (Consistency);

♦ изолированность (Isolation);

♦ устойчивость (Durability).

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

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

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

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

39. Типы команд SQL Типы данных SQL. Функции SQL (агрегатные, математические, даты и времени)

Типы команд SQL

Команды языка SQL обычно подразделяются на несколько групп. Основные типы команд следующие:

1. DLL-язык определения данных. Команды данной группы используются для создания и изменения структуры объектов базы данных (например, для создания и удаления таблиц);

2. DML- язык манипулирования данными. Команды DML используются для манипулирования информацией, содержащейся в объектах базы данных;

3. DCL- язык управления данными. Соответствующие команды предназначены для управления доступом к информации, хранящейся в базе данных;

4. DQL-язык. Это наиболее часто используемые команды, предназначенные для формирования запросов к базе данных (запрос — это обращение к базе данных для получения соответствующей информации);

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

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

6. команды управления транзакциями.

Типы функций

function Описание
Функции, возвращающие наборы строк. Возвращают объект, который можно использовать так же, как табличные ссылки в SQL-инструкции.
Агрегатные функции Обрабатывают коллекцию значений и возвращают одно результирующее значение.
Ранжирующие функции Возвращают ранжирующее значение для каждой строки в секции.
Скалярная функция (описывается далее) Обрабатывают и возвращают одиночное значение. Скалярные функции можно применять везде, где выражение допустимо.

41. Реализация операций реляционной алгебры на SQL на примере (проекция, вычитание, естественное соединение)

42. Реализация операций реляционной алгебры на SQL на примере (выборка, пересечение, декартово произведение, объединение)

Выборка

SELECT * FROM Персоны WHERE Возраст >= 34

Проекция

SELECT DISTINCT Возраст, Вес FROM Персоны

Объединение

SELECT Имя, Возраст, Вес FROM Персоны

UNION

SELECT Имя, Возраст, Вес FROM Персонажи

Пересечение

Пример

Пусть даны следующие соотношения:

Персоны

Имя Возраст Вес
Harry
Sally
George
Helena
Peter

Персонажи

Имя Возраст Вес
Daffy
George
Donald
Scrooge
Sally

Результат пересечения:

Имя Возраст Вес
George
Sally

Эквивалентный SQL-запрос:

SELECT Имя, Возраст, Вес FROM Персоны

INTERSECT

SELECT Имя, Возраст, Вес FROM Персонажи

Разность

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

SELECT Имя, Возраст, Вес FROM Персоны

EXCEPT

SELECT Имя, Возраст, Вес FROM Персонажи

Произведение

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

Пример

Пусть даны следующие соотношения:

Мульфильмы

Код_мульта Название_мульта
The Simpsons
Family Guy
Duck Tales

Каналы

Код_канала Название_канала
СТС
2х2

Результат произведения:

Код_мульта Название_мульта Код_канала Название_канала
The Simpsons СТС
The Simpsons 2х2
Family Guy СТС
Family Guy 2х2
Duck Tales СТС
Duck Tales 2х2

Эквивалентный SQL-запрос:

SELECT * FROM Мультфильмы, Каналы

Соединение

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

Пример

Мульфильмы

Код_мульта Название_мульта Название_канала
The Simpsons 2х2
Family Guy 2х2
Duck Tales RenTV

Каналы

Код_канала Частота
RenTV 3,1415
2х2 783,25

Соединим их с выборкой σНазвание_канала = Код_канала(Произведение)
Первый этап, произведение:

Код_мульта Название_мульта Название_канала Код_канала Частота
The Simpsons 2х2 RenTV 3,1415
The Simpsons 2х2 2х2 783,25
Family Guy 2х2 RenTV 3,1415
Family Guy 2х2 2х2 783,25
Duck Tales RenTV RenTV 3,1415
Duck Tales RenTV 2х2 783,25

Второй этап, выборка σНазвание_канала = Код_канала(Произведение):

Код_мульта Название_мульта Название_канала Код_канала Частота
The Simpsons 2х2 2х2 783,25
Family Guy 2х2 2х2 783,25
Duck Tales RenTV RenTV 3,1415

Эквивалентный SQL-запрос:

SELECT * FROM Мультфильмы, Каналы WHERE Название_канала = Код_канала

43. Триггеры в СУБД

Триггер — это хранимая процедура, которая не вызывается непосредственно, а исполняется при наступлении определенного события ( вставка, удаление, обновление строки ).

44. Процедуры в СУБД

45. Методы проектирования алгоритмов.

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

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

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

46. Тестирование и верификация алгоритмов. Трассировка.

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

47. Данные, тип данных, стандартные типы.

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

48. Базовые алгоритмические структуры. Примеры на языке программирования.

1. Базовая структура "следование". Образуется последовательностью действий, следующих одно за другим:

Школьный алгоритмический язык Язык блок-схем
действие 1 действие 2 . . . . . . . . . действие n Третья нормальная форма (3NF) - student2.ru

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

  • если—то;
  • если—то—иначе;
  • выбор;
  • выбор—иначе.

3. Базовая структура "цикл". Обеспечивает многократное выполнение некоторой совокупности действий, которая называется телом цикла

49. Понятие алгоритма, его свойства, запись алгоритма, примеры записи.

Алгоритмом называется точное и понятное предписаниe исполнителю совершить последовательность действий, направленных на решение поставленной задачи.

Основными свойствами алгоритма являются:

  1. детерминированность (определенность). Предполагает получение однозначного результата вычислительного процecca при заданных исходных данных. Благодаря этому свойству процесс выполнения алгоритма носит механический характер;
  2. результативность. Указывает на наличие таких исходных данных, для которых реализуемый по заданному алгоритму вычислительный процесс должен через конечное число шагов остановиться и выдать искомый результат;
  3. массовость. Это свойство предполагает, что алгоритм должен быть пригоден для решения всех задач данного типа;
  4. дискретность. Означает расчлененность определяемого алгоритмом вычислительного процесса на отдельные этапы, возможность выполнения которых исполнителем (компьютером) не вызывает сомнений.

Способ записи – блок схема.

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

Высказывание – повествовательное утверждение, про которое можно однозначно сказать, что оно истинно или оно ложно. (Логические переменные) Предикат – выражение с логическими переменными, имеющие смысл при любых допустимых значениях этих пременных. Выражения: х > 5, x > y – предикаты. 7>5 – высказывание. Логической (булевой) функцией f(х) называется некоторая функциональная зависимость, в которой аргумент х – логическая переменная с заданным множеством изменений аргумента, а значения функции f(x) берутся из двухэлементного множества R(f) = {1,0}.
  1. Аксиома двойного отрицания:

Третья нормальная форма (3NF) - student2.ru

  1. Аксиомы переместительности операндов (относительно операций дизъюнкции и конъюнкции ):

Третья нормальная форма (3NF) - student2.ru

  1. Аксиомы переместительности операций дизъюнкции и конъюнкции (относительно операндов):

Третья нормальная форма (3NF) - student2.ru

  1. Аксиомы одинаковых операндов:

Третья нормальная форма (3NF) - student2.ru

  1. Аксиомы поглощения (множителем — множителя-суммы или слагаемым — слагаемого-произведения):

Третья нормальная форма (3NF) - student2.ru

  1. Аксиомы распределения операции ( дизъюнкции относительно конъюнкции и наоборот):

Третья нормальная форма (3NF) - student2.ru

  1. Аксиомы де Моргана (перенесения бинарной операции на операнды):

Третья нормальная форма (3NF) - student2.ru

  1. Аксиомы нейтральности (взаимноинверсных множителей или слагаемых):

Третья нормальная форма (3NF) - student2.ru

  1. Аксиома существования единицы ( истина, true, 1) и нуля ( ложь, false, 0), причем,

Третья нормальная форма (3NF) - student2.ru

51. Таблица истинности, логические операции, упрощение логического выражения.

Третья нормальная форма (3NF) - student2.ru

52. Логический вентиль, инвертор, дизъюнктор, конъюнктор, принципы работы.

Булева алгебра переложила этот жизненный опыт на аппарат математики, формализовала его, ввела жесткие правила получения однозначного результата. Союзы стали называться здесь логическими операторами. Алгебра логики предусматривает множество логических операций. Однако три из них заслуживают особого внимания, т.к. с их помощью можно описать все остальные, и, следовательно, использовать меньше разнообразных устройств при конструировании схем. Такими операциями являются конъюнкция (И), дизъюнкция (ИЛИ) и отрицание (НЕ). Часто конъюнкцию обозначают &, дизъюнкцию - ||, а отрицание - чертой над переменной, обозначающей высказывание. При конъюнкции истина сложного выражения возникает лишь в случае истинности всех простых выражений, из которых состоит сложное. Во всех остальных случаях сложное выражение будет ложно. При дизъюнкции истина сложного выражения наступает при истинности хотя бы одного входящего в него простого выражения или двух сразу. Бывает, что сложное выражение состоит более, чем из двух простых. В этом случае достаточно, чтобы одно простое было истинным и тогда все высказывание будет истинным. Отрицание – это унарная операция, т.к выполняется по отношению к одному простому выражению или по отношению к результату сложного. В результате отрицания получается новое высказывание, противоположное исходному.

53. Логические схемы, сумматор, «черный ящик».

Третья нормальная форма (3NF) - student2.ru

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

Как происходит сложение? Допустим, требуется сложить двоичные числа 1001 и 0011. Сначала складываем младшие разряды (последние цифры): 1+1=10. Т.е. в младшем разряде будет 0, а единица – это перенос в старший разряд. Далее: 0 + 1 + 1(от переноса) = 10, т.е. в данном разряде снова запишется 0, а единица уйдет в старший разряд. На третьем шаге: 0 + 0 + 1(от переноса) = 1. В итоге сумма равна 1100.

54. Инфологическая задача.

55. Информационная безопасность, основные понятия, компьютерные вирусы и антивирусы

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

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

56. Криптографическая система.

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

КС = АШ + АДш + К + П

57. Основные понятия кодирования и шифрования.

Код – правило соответствия набора знаков одного множества Х знакам другого множества Y. Если каждому символу Х при кодировании соответствует отдельный знак Y, то это кодирование. Если для каждого символа из Y однозначно отыщется понекоторому правилу его прообраз в X, то это правило называется декодированием.

Кодирование – процесс преобразования букв (слов) алфавита Х в буквы (слова) алфавита Y.

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

Пример. Если каждый цвет кодировать двумя битами, то можно закодировать не более 22 = 4 цветов, тремя – 23 = 8 цветов, восемью битами (байтом) – 256 цветов. Для кодирования всех символов на клавиатуре компьютера достаточно байтов.

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

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

Если А – открытое сообщение, В – закрытое сообщение ( шифр ) , f – правило шифрования, то f(A) = B.

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

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

Если k – ключ, то можно записать f(k(A)) = B. Для каждого ключа k, преобразование f(k) должно быть обратимым, то есть f(k(B)) = A. Совокупность преобразования f(k) и соответствия множества k называется шифром.

Имеются две большие группы шифров: шифры перестановки и шифры замены.

Шифр перестановки изменяет только порядок следования символов исходного сообщения. Это такие шифры, преобразования которых приводят к изменению только следования символов открытого исходного сообщения.

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

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

Пример. Один из лучших примеров алгоритма шифрования – принятый в 1977 году Национальным бюро стандартов США алгоритмстандарта шифрования данных DES (Data Encrypted Standard). Исследования алгоритма специалистами показали, что пока нет уязвимых мест, на основе которых можно было бы предложить метод криптоанализа, существенно лучший, чем полный перебор ключей. В июле 1991 года введен в действие аналогичный отечественный криптоалгоритм (стандарта ГОСТ 28147-89 ), который превосходит DES по надежности.

58. Технология обработки графической информации. Форматы графических файлов.

Первая версия формата GIF (Graphics Interchange Format, «Формат для обмена графической информацией») была разработана в 1987 г. специалистами компьютерной сети CompuServe. Этот формат сочетает в себе редкий набор достоинств, неоценимых при той роли, которую он играет в WWW. GIF может иметь любое количество цветов от двух до 256-ти, и если в изображении используется, скажем, 64 цвета (26), то для хранения каждого пикселя будет использовано ровно шесть бит и ни битом больше. ля этого файл с изображением тасуется при записи так, чтобы сначала шли все строки пикселов с номерами, кратными восьми (первый проход), затем четырем (второй проход), потом двум и, наконец, последний проход ― все оставшиеся строки с нечетными номерами. Во время приема и декодирования такого файла каждый следующий проход заполняет пропуски в предыдущих, постепенно приближая изображение к исходному состоянию. Поэтому такие изображения были названы чересстрочными (interlaced). Другой полезной возможностью формата является использование прозрачности.

Формат BMP (от слова bitmap) был создан компанией Microsoft и широко используется в операционных системах семейства Windows для растровой графики. Вам необходимо записать изображение в этом формате, если вы хотите использовать его в качестве фона вашего рабочего стола. Хотя в этом формате может применяться компрессия, большинство программ ее не используют. В файлах BMP информация о цвете каждого пиксела кодируется 1, 4, 8, 16 или 24 бит (бит/пиксел).

Строго говоря, JPEG называется не формат, а алгоритм сжатия, основанный не на поиске одинаковых элементов, как в RLE и LZW, а на разнице между пикселами. JPEG ищет плавные цветовые переходы в квадратах 9´9 пикселов. Вместо действительных значений JPEG хранит скорость изменения от пиксела к пикселу. Лишнюю с его точки зрения цветовую информацию он отбрасывает, усредняя некоторые значения. Чем выше уровень компрессии, тем больше данных отбрасывается и тем ниже качество. Используя JPEG, можно получить файл в 10―500 раз меньше, чем ВМР. Формат аппаратно независим, полностью поддерживается на РС и Macintosh, однако он относительно нов и не понимается старыми программами (до 1995 г.). помощью JPEG лучше сжимаются растровые картинки фотографического качества, чем логотипы или схемы ― в них больше полутоновых переходов, среди же однотонных заливок появляются нежелательные помехи.

Формат PDF (Portable Document Format) предложен фирмой Adobe как независимый от платформы формат, в котором могут быть сохранены и иллюстрации (векторные и растровые), и текст, причем со множеством шрифтов и гипертекстовых ссылок. Для достижения продекларированной в названии переносимости размер PDF-файла должен быть малым. Для этого используется компрессия (для каждого вида объектов применяется свой способ). Например, растровые изображения записываются в формате JPEG. Для работы с этим форматом компания Adobe выпустила пакет Acrobat. Бесплатная утилита Acrobat Reader позволяет читать документы и распечатывать их на принтере, но не дает возможности создавать или изменять их [3; c. 46].

2. Графические редакторы

2.1. Растровые и векторные редакторы

Растровый графический редактор — «специализированная программа, предназначенная для создания и обработки изображений» [9; с. 83]. Подобные программные продукты нашли широкое применение в работе художников-иллюстраторов, при подготовке изображений к печати типографским способом или на фотобумаге, публикации в Интернете.

Растровые графические редакторы позволяют пользователю рисовать и редактировать изображения на экране компьютера. Также сохранять их в различных растровых форматах, таких как, например, JPEG и TIFF, позволяющих сохранять растровую графику с незначительным снижением качества за счёт использования алгоритмов сжатия с потерями. PNG и GIF, поддерживающими хорошее сжатие без потерь, и BMP, также поддерживающем сжатие (RLE), но в общем случае представляющем собой несжатое «попиксельно» описание изображения. В противоположность векторным редакторам растровые редакторы используют для представления изображений матрицу точек (bitmap). Однако большинство современных растровых редакторов содержат векторные инструменты редактирования в качестве вспомогательных.

59. Технология обработки текстовой информации. Форматы текстовых файлов.

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

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

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

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

Командный процессор. В состав операционной системы входит специальная программа - командный процессор, - которая запрашивает у пользователя команды и выполняет их.

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

Драйверы устройств. К магистрали компьютера подключаются различные устройства (дисководы, монитор, клавиатура, мышь, принтер и др.). Каждое устройство выполняет опре<

Наши рекомендации