
- •Программирование
- •1.Функции и процедуры в языках программирования.Передача параметров по значению и по ссылке.
- •3. Переменные в языках программирования. Имя, тип и значение переменной. Область видимости и время жизни переменной.
- •4. Среда вводв/вывода в современных языках программирования. Текстовые и двоичные файлы. Чтение, запись и позиционирование файлов.
- •5. Рекурсивные функции и алгоритмы. Примеры рекурсивных алгоритмов и программ
- •6. Основные структуры данных – линейные, односвязные и двусвязные списки. Основные операции. Примеры использования.
- •7. Основные структуры данных – деревья, бинарные деревья. Основные операции Примеры использования
- •8. Основные структуры данных – стек, очередь. Операции над ними.
- •9. Основные принципы ооп. Инкапсуляция, полиморфизм, наследование.
- •10. Статические и виртуальные методы класса. Иерархические библиотеки классов.
- •Базы данных
- •Основные понятия баз данных. Роль и место систем управления базами данных (субд). Этапы развития субд.
- •Субд должна удовлетворять выявленным и вновь возникающим требованиям конечных пользователей.
- •Основные функции и возможности субд. Наиболее распространенные сегодня субд и области их использования.
- •Реляционная модель данных. Понятия таблица, ключ, кортеж, атрибут, домен. Фундаментальные свойства отношений.
- •Фундаментальные свойства отношений
- •Основы реляционной алгебры. Операторы реляционной алгебры. Нормализация отношений. Операторы реляционной алгебры
- •Классификация моделей данных. Модель «Объект – свойство – отношение». Проектирование схемы базы данных.
- •Обеспечение целостности данных. Архитектура и модели "клиент-сервер" в технологии бд.
- •Язык sql. Назначение и основные операторы языка sql. Представления.
- •Понятие транзакции и ее свойства. Операторы commit, rollback.
- •Операционные системы, среды и оболочки
- •Назначение и основные функции операционных систем. Основные понятия – процесс, файл, пользователь.
- •Классификация операционных систем. Наиболее важные современные ос, их области использования.
- •Файловые системы ос. Основные функции и требования к файловым системам.
- •Управление процессами в ос. Жизненный цикл процесса. Рождение процесса, состояние ожидания, выполнение, окончание процесса. Виртуальная память процесса.
- •5. Механизмы синхронизации и обмена информацией между процессами (ipc). Разделяемая память, семафоры, именованные и неименованные каналы.
- •Пользователи компьютера. Имена, пароли, права пользователей. Управление доступом к компьютеру.
- •Пользовательский интерфейс ос. Командная строка, графический пользовательский интерфейс (gui). Основные элементы gui – окно, меню, кнопки, списки и т.Д.
- •Поддержка сетевых технологий в ос. Сетевые операционные системы. Сетевые службы – экспортируемые файловые системы, электронная почта, www-серверы.
- •Безопасность и надежность операционных систем. Способы создания информационных систем высокой надежности.
- •«Проектирование информационных систем»
- •Жизненный цикл программного изделия – анализ требований, проектирование, программирование, тестирование, эксплуатация и сопровождение. Модели жизненного цикла.
- •Сущность структурного и объектно-ориентированного подходов к проектированию информационных систем.
- •Диаграммы потоков данных (dfd). Основные и вспомогательные объекты диаграмм. Построение функциональной модели в виде иерархии диаграмм потоков данных.
- •Диаграммы потоков данных (dfd)
- •Объекты диаграмм.
- •Диаграммы «сущность – связь» (erd). Типы отношений (один к одному, один ко многим, многие ко многим). Построение схемы базы данных на основе erd диаграмм.
- •Теория систем и системный анализ
- •Основные понятия, характеризующие строение и функционирование системы
- •Понятие общесистемных закономерностей.
- •Основные преимущества и принципы системного подхода.
- •Методика системного анализа
- •Качественные методы описания систем. Метод мозговой атаки или коллективной генерации идей. Метод экспертных оценок. Метод «Дельфи».
- •Кибернетический подход к описанию систем.
- •Особенности анализа и синтеза технических систем.
- •Особенности анализа и синтеза эргатических систем.
- •Особенности анализа и синтеза организационных систем.
- •Основы теории управления
- •Понятие об управляемой системе. Примеры управляемых систем.
- •Функции управления.
- •Управление в технических системах. Задачи стабилизации и слежения.
- •Управление в человеко-машинных системах. Понятие о человеческом факторе.
- •Понятие об оптимальном управлении. Показатели и критерии управления.
Язык sql. Назначение и основные операторы языка sql. Представления.
Непроцедурный язык SQL (Structured Query Language – структурированный язык запросов) ориентирован на операции с данными, представленными в виде логически взаимосвязанных совокупностей таблиц. Особенность предложений этого языка состоит в том, что они ориентированы в большей степени на конечный результат обработки данных, чем на процедуру этой обработки. SQL сам определяет, где находятся данные, какие индексы и даже наиболее эффективные последовательности операций следует использовать для их получения: не надо указывать эти детали в запросе к базе данных.
Структура языка SQL
Язык SQL делится на подмножества.
1) Язык определения данных (DDL – Data Definition Language) предоставляет пользователям средства указания типа данных и их структуры, а также средства задания ограничений для информации, хранимой в базе данных.
Операторы: CREATE, ALTER, DROP.
CREATE служит для создания любого типа объектов, из которых состоит база данных, в том числе таблиц.
ALTER служит для изменения структуры любых объектов, из которых состоит база данных.
DROP служит для удаления объектов из базы данных.
2) Язык манипулирования данными (DML – Data Manipulation Language) позволяет вставлять, обновлять и извлекать информацию из базы данных.
Операторы: SELECT, INSERT, DELETE, UPDATE.
Все запросы на получение практически любого количества данных из одной или нескольких таблиц выполняются с помощью единственного предложения SELECT.
Любая новая информация попадает в базу данных посредством использования оператора INSERT.
Оператор UPDATE используется для изменения существующих строк таблиц.
Оператор DELETE используется для удаления существующих строк таблиц.
3) Язык управления данными (DCL – Data Control Language) состоит из управляющих операторов.
Операторы – GRANT, REVOKE.
Оператор GRANT используется для предоставления привилегии, а оператор REVOKE – для изъятия привилегии, выданной оператором GRANT. Оба оператора могут использоваться как для объектных, так и для системных привилегий.
Объектная привилегия (object privilege) разрешает выполнение определенной операции над конкретным объектом (например, над таблицей). Название каждой из объектных привилегии совпадает с названием оператора, который она разрешает выполнять тому или иному пользователю над конкретным объектом базы данных. Примеры объектных привилегий: SELECT, DELETE, INSERT, UPDATE, REFERENCES.
Системная привилегия (system privilege) разрешает выполнение операций над целым классом объектов – над всеми объектами какого-то типа, принадлежащими конкретному пользователю, или вообще над всеми объектами какого-то типа во всей базе данных. При выдаче или изъятии системных привилегий не указывается название объекта, а
4) Язык управления транзакциями (TCL – Transaction Control Language) состоит из операторов, предназначенных для управления ходом выполнения транзакций.
Операторы: COMMIT, ROLLBACK, SAVEPOINT.
Транзакция представляет собой последовательность операторов языка SQL, которая рассматривается как некоторое неделимое действие над базой данных. В то же время, это логическая единица работы системы.
Существует три операторы, предназначенные для управления транзакциями:
COMMIT – явная фиксация транзакции;
ROLLBACK – явная отмена изменения в текущей транзакции;
SAVEPOINT – создание контрольной точки внутри транзакции (промежуточная фиксация транзакции с возможность отката к этой точке);
Представления
Идея представления (View) состоит в следующем: определить запрос, который предполагается использовать достаточно часто, сохранить его в базе данных в виде объекта ORACLE и разрешить пользователям обращаться к нему по имени, как к обычной таблице. Когда пользователь выбирает данные из представления, СУБД выполняет соответствующий запрос, организует результаты так, как определено в представлении, и выдает их пользователю. Для пользователя представление выглядит как таблица, из которой поступают данные. Однако на самом деле данные поступают через представление, из одного или нескольких других источников – исходных таблиц или других представлений.
Запрос, непосредственное выполнение которого можно заменить использованием представлений, может быть какой угодно сложности. В сущности, это и есть одно из назначений использования представлений – скрытие сложности запросов и структуры данных от пользователей.
Кроме того, представления обеспечивают дополнительный уровень безопасности базы данных, поскольку позволяют ограничивать диапазон строк и столбцов, возвращаемых пользователям.
Наконец, представления могут сделать работу с таблицами более удобной. При создании представлений можно как угодно называть имена столбцов, а также изменять порядок их отображения. Эта возможность часто используется тогда, когда необходимо подвести под некий общий стандарт, действующий внутри той или иной организации или рабочей группе, имена всех столбцов таким образом, чтобы они были понятным определенной категории пользователей.
Для создания представлений используется следующий синтаксис:
CREATE [OR REPLACE] VIEW имя_представления AS
оператор SELECT
[WITH CHECK OPTION]- применима к обновляемым представлениям
Удаление представлений, как и всех других объектов базы данных, осуществляется при помощи оператора DROP, например:
DROP VIEW имя_представления
Операции выборки из представлений – при помощи оператора SELECT.
Если к представлению можно применить операторы обновления (INSERT, UPDATE или DELETE), то представление является обновляемым (updateble), иначе оно является читаемым (read-only).
Ниже приведены критерии того, является ли представление обновляемым в SQL:
оно базируется на одной таблице;
оно должно включать первичный ключ таблицы;
оно не должно включать полей, полученных в результате применения функций агрегирования;
оно не может содержать спецификации DISTINCT;
оно не должно использовать GROUP BY или HAVING;
оно не должно использовать подзапросы;
оно может быть определено на другом представлении, но это представление должно быть обновляемым;
оно не может содержать константы, строки или выражения в списке выбираемых выходных полей;
для INSERT оно должно включать поля из таблицы, которые имеют ограничения NOT NULL.