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

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

хорошую работу на сайт">

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

Размещено на http://www.allbest.ru/

БЕЗОПАСНОСТЬ СИСТЕМ БАЗ ДАННЫХ

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

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

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

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

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

I. По модели данных.

1. Иерархические;

2. Сетевые;

3. Реляционные;

4. Объектно-ориентированные;

5. Обьектно-реляционные;

II. По способу доступа БД.

1. Файлсерверный;

2. Клиентсерверный;

3. Встраиваемые.

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

1. Непосредственное управление файлами БД .

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

2. Управление буферами оперативной памяти .

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

3. Управление транзакциями .

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

4. Журнализация .

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

5. Поддержка языков БД.

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

Типовая организация современной СУБД

1. Ядро .

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

2. Компилятор языка .

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

3. Утилиты БД .

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

Лекция 2. Введение в реляционную модель данных

Реляционный подход к организации БД был заложен в конце 1960-х годов Эдгаром Коддом. В современности данных подход является одним из распространенных.

Достоинствами реляционного подхода являются:

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

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

1. Тип данных;

3. Атрибут;

4. Кортеж;

5. Отношение;

6. Первичный ключ.

Тип данных

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

Домен

В общем виде домен определяется путем задания некоторого базового типа данных, к которому относятся элементы домена и произвольного логического выражения, применяемого элементу этого типа данных (ограничение домена). Элемент будет являться элементом домена только в том случае, если вычисления ограничения домена дает результат ИСТИНА. С каждым доменом связываются Имя уникальной среди имен всех доменов и соответствующей базе данных.

Заголовок отношения, кортеж, тело отношения, значение отношения, переменная отношения

Заголовком схемы отношения r отношение (Hr) называется конечное множество , где A - имя атрибута, Т обозначает имя некоторого базового типа или ранее определенного домена. По определению требуется, чтобы все имена атрибутов в заголовке были различны.

Кортежем tr соответствующим заголовку Hr называется множество упорядоченных триплетов вида: , где v должен являться допустимым значением типа данных или домена.

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

Значением Vr называется пара множества Hr и Br. Заголовок и тело данных.

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

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

Фундаментальные свойства отношений

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

2. Отсутствие упорядоченности кортежей.

3. Отсутствие упорядоченности атрибутов.

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

Типы данных

Целые числа Строки символов Деньги Номера отделов

Домены (кроме первичного ключа)

Перв.ключ и номера проп-ов. Имена Размеры зарплат Номера отделов

Атрибуты

Лекция 3. Реляционная алгебра и нормализация

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

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

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

В состав теоретико-множественных операций входят:

объединение

пересечение

разность

прямое произведение

Специальные операции:

ограничение отношений

проекция отношений

соединение отношений;

деление отношений;

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

Общая интерпретация рел. операций:

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

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

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

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

5) Результатом ограничения отношений по некоторому условию является отношение, включающее кортежи отношения операнда, удовлетворяющие этому условию.

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

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

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

9) Операция переименования производит отношение, тело которого совпадает с телом операнда, но имена атрибутов изменены.

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

Понятие совместимости отношений об объединений

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

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

Специальные реляционные операции

Операция ограничения. Требует наличие двух операндов, ограничиваемых отношений и простого условного ограничения.

a comp-on b - ....

a comp-on const - литерально заданная константа

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

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

Операция деления отношений. Результатом деления а на b являются унарные отношения,состоящий из кортежей v таких что в отношении кортежей множество {w}включает множество значений...

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

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

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

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

1 норм форма

2 норм форма

3 норм форма

Нормальная форма Бойса-Кодде

4 нормальная форма

5 нормальная форма или нормальная форма проекции соединения.

Основные свойства норм форм:

каждая след нф в некотором смысле лучше предыдущей.

при переходе к след нф свойства предыдущих нф сохраняются.

Определение 1. Функциональная зависимость в отношении r атрибут y функционально зависит от атрибута х только в том случае, если каждому значению х соответствует в точности одно значение у.

Полная функциональная зав-ть r(x) r(y) если y не зависит функционально от любого точного значения х.

Транзитивная зависимость если существует атрибут Z, что имеются функциональные зависимости...

Неключевой атрибут - любой атрибут отношения, невходящий в состав первичного ключа.

Взаимнонезависимые атрибуты (2 или более) - если не один из этих атрибутов не является функционально зависимым от других.

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

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

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

СОТРУДНИК

ОТДЕЛ

ТЕЛЕФОН

БУХГАЛТЕР

БУХГАЛТЕР

СНАБЖЕНЕЦ

Лекция 4. Операторы языка SQL

SELECT служит для получения любого количества данных из одной или нескольких таблиц. В общем случае результатом выполнения предложения SELECT ЯВЛЯЕТСЯ ДРУГАЯ ТАБЛИЦА К этой новой таблице вновь может быть применена операция SELECT И так далее

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

2) как элемент WHERE или HAVING условия. Это называется ложным запросом

3) фраза выбора в командах CREATE VIEW DECLARE CURSOR INSERT

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

Имеет следующий формат.

SELECT [ выбрать данные и выполнить перед их выводом преобразования в соответствии с указанными выражениями и или функциями

Элемент, -\\-} FROM перечисление.......

базовая таблица | представления],

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

Фраза]

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

HAVING - условие фильтрации по группам.

5. Простая выборка.

* служит псевдонимом для

выбор конкретного поля

Исключение дубликатов. Для исключения дубликатов и одновременного упорядочивания перечня применяется запрос с ключевым словом DISTINCT.

Выборка вычисляемых значений.

Фраза SELECT может содержать не только перечень столбцов, но и выражение.

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

WHERE P1 = 6 AND P2 = 8

Можно использовать BETWEEN для выборки значений в интервале.

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

Использование оператора IN.

IN (3, 4, 5) <=> P1= 3 OR P1 = 4 OR P1 = 5

Использование LIKE

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

Заменяет любой одиночный символ.

% - заменяет любую последовательность из n символов.

Вовлечение неопределенного значения (NULL). Для проверки неопределенного значения используется IS.

Выборка с упорядочиванием. Для сортировки данных используется оператор ORDER BY. Можно упорядочить по возрастанию по умолчанию. Ключевое слово ASC позволит сортировать по убыванию.

Агрегирование данных

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

COUNT - количество значений в столбце

SUM - сумма значений в столбце

AVG - среднее значение в столбце

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

А COUNT* служит для подсчета всех строк в таблице с дубликатами.

Если не используется фраза GROUP BY то в SELECT можно включать лишь SQL функции или выражения, содержащие такие функции.

Фраза GROUP BY

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

Фраза HAVING играет такую же роль для групп, что и WHERE для строк. Те используется для исключения групп.

Размещено на Allbest.ru

Подобные документы

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

    курсовая работа , добавлен 07.12.2010

    Основные понятия базы данных и систем управления базами данных. Типы данных, с которыми работают базы Microsoft Access. Классификация СУБД и их основные характеристики. Постреляционные базы данных. Тенденции в мире современных информационных систем.

    курсовая работа , добавлен 28.01.2014

    Понятие базы данных, её структура. Общие принципы хранения информации. Краткая характеристика особенностей иерархической, сетевой и реляционной модели организации данных. Structured Query Language: понятие, состав. Составление таблиц в Microsoft Access.

    лекция , добавлен 25.06.2013

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

    курсовая работа , добавлен 22.12.2014

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

    реферат , добавлен 10.01.2011

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

    лекция , добавлен 19.08.2013

    Характеристика категорий современных баз данных. Исследование особенностей централизованных и распределенных баз данных. Классификация систем управления базами данных по видам программ и применению. Управление буферами оперативной памяти и транзакциями.

    курсовая работа , добавлен 10.03.2016

    Классификации баз данных по характеру сберегаемой информации, способу хранения данных и структуре их организации. Современные системы управления базами данных и программы для их создания: Microsoft Office Access, Cronos Plus, Base Editor, My SQL.

    презентация , добавлен 03.06.2014

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

    контрольная работа , добавлен 16.11.2010

    Структура и функции системы управления базами данных (СУБД). Управление хранением данных и доступом к ним. Защита и поддержка целостности данных. Надежность хранения данных во внешней памяти. Классификация СУБД по способу доступа к базе данных.

Основные понятия БД

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

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

Определение 1

Запись – это совокупность полей, которые соответствуют одному объекту. Например, абоненту АТС будет соответствовать запись из 3 полей.

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

Типы полей

Все данные в БД делятся по типам. Информация в полях, которые принадлежат 1 столбцу (домену), имеет одинаковый тип. Подобный подход дает возможность ЭВМ выполнять контроль вводимой информации.

К основным типам полей БД относятся:

  • символьный (текстовый) - в поле по умолчанию могут храниться до 256 символов;
  • числовой, содержащий числовые данные разных форматов, которые используются для проведения расчетов;
  • дата/время - содержит значения даты и времени;
  • денежный - использует денежные значения и числовые данные (до 15 знаков целой части и 4 знаков дробной части);
  • примечание - способно содержать до $2^{16}$ символов ($2^{16} = 65536$);
  • счетчик - специальное числовое поле, в котором каждой записи присваивается уникальный для нее номер;
  • логический - хранит 1 из 2 значений: true или false;
  • объект OLE (Object Linking and Embedding - технология вставки и связывания объекта) – в поле может содержаться любой объект: электронная таблица, текстовый документ, рисунок, звукозапись или другие данные в двоичном формате, внедренные или связанные с СУБД;
  • гиперссылка - содержит строку, которая состоит из букв и цифр и представляет адрес сайта или веб-страницы;
  • мастер подстановок - создает поле, в котором предлагает выбрать значения из списка или уже содержит набор постоянных значений.

Свойства полей БД

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

К основным свойствам полей таблиц БД в СУБД Microsoft Access относятся:

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

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

Объекты СУБД

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

Таблица как объект СУБД

Создание таблиц:

  1. Откроем окно БД (рис. 3). Левая панель окна содержит элементы управления для вызова всех 7 типов объектов программы. Создание таблицы начнем с выбора элемента управления Таблицы.
  1. Правая панель содержит список имеющихся в БД таблиц и элементы управления созданием новой таблицы. Для создания таблицы ручным способом используется значок Создание таблицы в режиме конструктора.
  2. При создании таблицы рекомендуется задавать ключевое поле, что поможет организовать связи между таблицами. Чтобы задать ключевое поле необходимо щелкнуть на его имени правой кнопкой мыши и в открывшемся контекстном меню выбрать команду Ключевое поле.
  3. По окончании создания структуры таблицы бланк закрывается, таблица сохраняется в поле запроса с указанием имени, после чего она становится доступна в основном окне БД, откуда ее и можно открыть при необходимости.
  4. Созданная таблица открывается в окне БД двойным щелчком по ее значку. Новая таблица содержит только названия столбцов, которые характеризуют ее структуру. При заполнении таблицы курсор ввода устанавливается в необходимую ячейку указателем мыши. Переход к следующей ячейке выполняется нажатием клавиши TAB. Переход к очередной записи осуществляется после заполнения последней ячейки.

Нижняя часть таблицы содержит Панель кнопок перехода, которой удобно пользоваться при перемещении по таблице с большим числом записей. Для начинающих пользователей Microsoft Access является неудобством то, что данные не всегда могут помещаться целиком в ячейках таблицы. Ширину столбцов можно изменять путем перетаскивания их границ. Используют также автоматическое форматирование столбцов «по содержимому», при котором указатель мыши устанавливается на границе между столбцами (в строке заголовков столбцов), после того, как он сменит форму, нужно выполнить двойной щелчок.

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

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

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

Создание межтабличных связей

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

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

А также эта связь позволяет:

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

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

Замечание 1

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

После закрытия разработки TrueCrypt армия любителей шифрования и секретности (в которой, как мы не раз говорили, уже давно должен состоять каждый айтишник) начала бороздить просторы интернета в поисках достойной альтернативы. В рамках этой статьи мы рассмотрим интересный и даже местами опенсорсный проект от отечественного производителя - CyberSafe Top Secret.

WARNING

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

Версии и лицензионная политика

Линейка модификаций программы включает Free, Advanced, Professional, Ultimate и Enterprise. В бесплатной версии CyberSafe используется алгоритм шифрования DES (по сравнению с AES или Blowfish это просто решето, а не алгоритм шифрования), поэтому данная версия подойдет лишь для ознакомления. Основные функции программы, а именно шифрование файлов/разделов/контейнеров, прозрачное шифрование файлов и облачное шифрование файлов в ней ограничены, а все остальные недоступны. Длина пароля и длина ключа в бесплатной версии (четыре символа и 64 бита) тоже оставляют желать лучшего. Скачать бесплатную версию можно по адресу cybersafesoft.com/cstopsecret.zip , но после ее установки придется либо активировать полную версию (это можно сделать через меню «Помощь»), либо удалить, потому что сочетание алгоритма DES и пароля в четыре символа делает программу бесполезной.

Для персонального использования, на мой взгляд, будет достаточно модификации Professional. В отличие от Advanced, в Professional поддерживается прозрачное шифрование файлов, а длина открытого ключа в два раза больше (4096 бит против 2048 в Advanced). Остальные основные характеристики шифрования те же - длина пароля 16 символов, алгоритм AES, длина ключа 256 бит.

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

Самая полная версия - Enterprise. Она позволяет защитить до десяти систем (как-то маловато для предприятия, но такова лицензионная политика), поддерживает корпоративное облачное шифрование (а не только облачное шифрование, как в Ultimate), а также не ограничивает количество сетевых пользователей. Остальные характеристики шифрования аналогичны Ultimate: Blowfish с длиной ключа 448 бит, длина открытого ключа 8192 бита, неограниченная длина пароля.

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

Что лучше: AES или Blowfish?

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

Установка программы

Прежде всего хочется сказать несколько слов об установке программы. Во-первых, программа поддерживает все практически используемые версии Windows - XP/2003/Vista/7/8. Так что если у тебя все еще XP и ты бородат, то ради конкретно этой программы тебе не придется переходить на «семерку» или «восьмерку». Во-вторых, запуск программы установки нужно производить только с правами администратора, иначе на завершающей стадии установки получишь ошибку и длинный лог.

В-третьих, при запуске программы нужно добавить сертификат CyberSoft CA (рис. 1). То есть нажать кнопку «Да», иначе не будет установлен корневой сертификат CyberSafe и нельзя будет настроить шифрование электронной почты в почтовых клиентах. Я понимаю, что типичный читатель нашего журнала - крутой парень и ему будет как-то даже обидно видеть такие подробные разъяснения, но мы искренне надеемся, что статьи, касающиеся каждого, должны быть написаны как можно более подробно. Вдруг ты решишь вырезать эту статью из журнала и подарить ее младшей сестре, чтобы она наконец научилась шифровать свои интимные фотографии? 🙂


Использование программы

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


В разделе «Ключи и сертификаты» можно управлять ключами и сертификатами, которые ты успеешь создать в процессе работы с приложением. Раздел «Шифрование файлов» используется для шифрования/расшифрования файлов и папок. Ты можешь зашифровать файлы для личного использования, а также для передачи их другому пользователю. Раздел «Эл. цифровая подпись» используется для работы с (сюрпрайз!) электронной цифровой подписью. А раздел «Шифрование дисков» - для шифрования разделов и создания виртуального диска.

Вариантов использования программы может быть несколько. Первый вариант - это передача зашифрованных файлов. Зашифровать отдельные файлы для передачи другому пользователю можно в разделе «Шифровать файлы -> Шифрование для передачи». Второй вариант - это прозрачное шифрование файлов для личного использования. Третий - шифрование всего раздела или создание виртуального диска.

С первым вариантом все ясно - если есть такая необходимость, то программа справится с ней в лучшем виде. Второй вариант довольной спорный и оправдан, если у тебя до сих пор XP. В «семерку» и «восьмерку» уже встроено шифрование BitLocker, поэтому отдавать 75 баксов за Pro-версию этой программы по меньшей мере странно и экономически неоправданно. Разве что у тебя младшие версии этих систем, где нет поддержки BitLocker. Впрочем, о BitLocker, TrueCrypt и Top Secret 2 обязательно прочитай соответствующую врезку.

А вот третий вариант довольно заманчивый. В этом году вместе с окончанием поддержки Windows XP была прекращена разработка программы TrueCrypt. Для меня она была эталоном в мире шифрования. И я ее использовал так: создавал зашифрованный виртуальный диск размером с флешку (чтобы при необходимости можно было на нее его и скопировать), который я монтировал только тогда, когда мне были нужны зашифрованные файлы. На данный момент разработка TrueCrypt прекращена, а ее использование считается небезопасным. Найденные в ней бреши уже никем не будут исправлены. Если тебе интересно, можешь ознакомиться с этой страничкой: .

Поэтому мне нужна была программа на замену TrueCrypt. Похоже, что ей теперь стала CyberSafe Top Secret.

Итак, давай рассмотрим, как создать зашифрованный виртуальный диск и как его использовать. Перейди в раздел «Виртуальный диск» (рис. 3) и нажми кнопку «Создать». В появившемся окне нужно ввести имя файла виртуального диска (рис. 4). Если нужно будет перенести этот диск на другую систему, просто скопируй на нее этот файл и вместо кнопки «Создать» используй кнопку «Открыть» для открытия файла виртуального диска.

Немного ждем, и наш виртуальный диск появляется в списке (рис. 6). Виртуальный диск пока не смонтирован, поэтому он недоступен в системе. Выдели его и нажми кнопку «Монтиров.». После чего нужно будет выбрать букву для нового диска (рис. 7) и ввести пароль, указанный при его создании (рис. 8).

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

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

О BitLocker, TrueCrypt и Top Secret 2

Поскольку мне очень нравилась программа TrueCrypt, то я не удержался, чтобы не сравнить ее и CyberSafe Top Secret 2. Вследствие использования алгоритма AES обе программы одинаково надежны. Однако все-таки нужно отметить, что исходный код TrueCrypt был открытым, код же CyberSafe Top Secret 2 открыт, но не полностью. Сам исходный код программы доступен на сайте для анализа, и ссылка на него есть на главной странице сайта разработчиков. Приведу ее еще раз: https://subversion.assembla.com/svn/cybersafe-encryption-library/ .

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

Кстати, почему была закрыта разработка TrueCrypt? Поскольку его разработчики всегда высмеивали проприетарный BitLocker, а потом сами же рекомендовали на него перейти, мы подозреваем, что единственной весомой причиной закрытия проекта было давление на разработчиков. На данный момент ни одна из версий TrueCrypt не была явно скомпрометирована, поэтому закрытие проекта из-за взлома программы считаю маловероятным.

CyberSafe Mobile: приложение для Android

В последнее время все актуальнее становится шифрование данных на мобильном устройстве. Наиболее популярны среди мобильных устройств девайсы под управлением Android. Как раз для таких устройств и предназначена программа CyberSafe Mobile. Контейнеры, созданные в CyberSafe Mobile, могут быть использованы в CyberSafe Top Secret, и наоборот. Ссылка на приложение: https://play.google.com/store/apps/details?id=com.cybersafesoft.cybersafe.mobile

Выводы

Лично для меня программа CyberSafe Top Secret 2 стала заменой TrueCrypt. Хотя бы на время, пока эта программа будет поддерживаться разработчиками или пока не найду что-либо лучше. Необходимые мне функции для создания зашифрованного виртуального диска она вполне выполняет и вдобавок предоставляет дополнительные. Думаю, многим пользователям пригодятся функции по отправке зашифрованных файлов, по работе с сертификатами и электронными цифровыми подписями. Интерфейс программы прост и интуитивно понятен, поэтому не думаю, что у тебя возникнут проблемы с использованием остальных ее функций, хотя они и не рассмотрены в этой статье.