Билет №2

1. Средства модульного программирования: функции (назначение, описания, определения, вызов).

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

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

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

[тип_функции] [имя_функции] (список_принимаемых_переменных)

{тело_функции;} . Пример: int main () {cout << "Hello, World!\n";}

2. Объекты данных и объекты манипулирования данными в модели базы данных. Структурированный язык запросов SQL. Общая характеристика групп операторов (подъязыки). Типы данных в SQL.

В модели СУБД выделяют следующие объекты: 1) собственно данные- представляются в виде отношений; 2) индексы - специальные объекты, предназначенные для быстрого поиска элементов данных; 3) триггер - специальная процедура, связанная с таблицей или с отдельным полем таблицы (Триггеры выполняются при обращении к одному отношению или атрибуту. Триггер можно использовать для контроля значений в записываемых отношениях или для выполнения действий, связанных с обращениями к отношению); 4) представления - отношения или таблица, не хранимая в БД, являющаяся промежуточным результатом, полученном в результате действия над некоторыми отношениями.

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

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

Структурированный язык запросов SQL. Общая характеристика.

SQL содержит набор стандартных операторов доступа к данными.

SQL (Structured Query Language) - язык программирования, предназначенный для выборки и обработки информации, содержащейся в реляционной базе данных. SQL является единственным стандартным языком для работы с реляционными базами данных. Существуют следующие версии SQL: SQL1, SQL2, SQL3 расширяет SQL2 за счет включения объектно-реляционных инструментов и новых функциональных возможностей. Существуют версии SQL предлагаемые основными поставщиками СУБД, они, как правило, удовлетворяют требованиям ANSI, реализуют многие возможности SQL2 и имеют некоторые особенности.

SQL - это слабо структурированный язык, особенно по сравнению с такими высокоструктурированными языками, как С, Pascal или Java. В нем нет инструкции IF..THEN для проверки условий, нет инструкции GOTO для организации переходов и нет инструкций DO или FOR для создания циклов.

SQL является языком реляционных баз данных, его основа реляционная алгебра и реляционное исчисление.

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

Язык SQL является интерпретируемым языком.

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

Существуют также диалекты SQL позволяющие создавать самостоятельные программные модули, например, PL/SQL и Transact-SQL. В этих диалектах стандартный SQL дополнен инструкциями IF..THEN, GOTO и др., однако эти диалекты не получили статус стандарта и являются частными разработками отдельных компаний (PL/SQL применяется в СУБД Oracle, a Transact SQL - в СУБД MS SQL Server).

SQL не является отдельным программным продуктом. SQL - это неотъемлемая часть СУБД ее Манипуляционная часть, инструмент, с помощью которого осуществляется связь пользователя с БД.

Различают несколько групп операторов (подъязыки):

I. Язык определения данных DDL. К языку запросов относятся операторы: CREATE TABLE - создания нового отношения; DROP TABLE - удаление отношения; ALTER TABLE - изменение структуры таблицы; CREATE VIEW - создания представления; DROP VIEW - удаления представления; CREATE INDEX - создание индексов.

II. Операторы манипулирования данными DML. Они включают три оператора: DELETE - удаление одного или нескольких кортежей; INSERT - вставка одного или нескольких кортежей; UPDATE - обновления значения одного или нескольких атрибутов отношения.

III. Язык запросов DQL. Он выполняет один оператор SELECT.

IV. Средства управления транзакциями. Операторы: COMMIT - оператор завершения транзакция и фиксирование нового состояния; ROLLBACK - SAVEPOINT - оператор отката, возврат базы к предшествующему до начала выполнения группы операторов, обобщенных в транзакцию; SAVEPOINT - сохранение промежуточного состояния БД, возврат к данному промежуточному состоянию.

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

Типы данных В SQL

Используемы в SQL типы данных аналогичны применяемым в других языках программирования: char(n) - символьный длтнной n символов; varchar(n) - символьный переменной длинны, n - максимально возможная длинна; bit(n); varingbit(n); logical - логический тип, в отличии от логического типа в языках программирования кроме возможных значений false/true может иметь значение unknown (неопределенно), соответственно изменены таблицы истинности базовых операций (false считается наименьшим значением true наибольшим, unknown - промежуточное значение ); int; real(float) - вещественный, возможно использование для задания типа, как имени real, так и float; data; time.

3. Принципы обеспечения информационной безопасности.

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

 

Hosted by uCoz