- •Раздел 1 программирование || объектно-ориентированное программирование
- •Раздел 1 программирование || объектно-ориентированное программирование
- •9. Создание и обработка исключений на пример с#.
- •1. Общая структура программы на языке с. Роль и задача заголовочных файлов.
- •3. Принципы работы операторов ветвления и циклов, на примере языка с. (проверить)
- •(Проверить, не доделан)
- •Стандартные функции динамического выделения памяти
- •Динамическое выделение памяти для одномерных массивов
- •Динамическое выделение памяти для двумерных массивов
- •N·m·(размер элемента)
- •Умные указатели
- •Класс auto_ptr
- •Класс shared_ptr
- •New/delete и классы
- •Альтернативы new/delete
- •6. Понятие класса, типы классов, члены классов, на примере языка с#.
- •7. Перегрузка операторов и функций на примере языка с#. (проверить, не доделан)
- •9. Создание и обработка исключений на пример с#.
- •11. Стандартные типы данных языка с, операции над ними.
- •12. Стандартные типы данных языка с#, операции над ними.
- •Abstract Class Example:
- •Динамическое приведение указателя
- •Динамическое приведение ссылки
- •Const_cast — константное приведение типов данных
- •Reinterpret_cast — операция приведения типов данных
- •Неявные преобразования
- •Явные преобразования
- •Исключения преобразования типов во время выполнения
- •17. Понятие класса Object в языке c#.
- •Особенности производительности
- •18. Понятие коллекции и принцип работы в с#.
- •(Http://professorweb.Ru/my/csharp/charp_theory/level12/12_1.Php)
- •Раздел 2 базы данных
- •Раздел 2 базы данных
- •Раздел 2 базы данных
- •1. Файловые формы хранения данных. Преимущества и недостатки
- •2. [Done] Сетевые формы хранения данных. Преимущества и недостатки
- •3. Языки разметки как структуры хранения. Преимущества и недостатки
- •4. [Done] Основные понятия реляционных бд и используемая терминология
- •5. Модель данных – определение, реализация в разных формах хранения.
- •6. [Done] Многоуровневая архитектура бд. Субд, ее назначение.
- •7. [Done] Реляционные ключи – назначение, типы, примеры применения
- •8. [Done] Оператор select – формат, последовательность обработки
- •9. Теоретико-множественное описание и характеристические функции отношений. Аксиомы Армстронга
- •10. [Done] Содержание процесса нормализации бд
- •11. [Done] Содержательная трактовка первой нормальной формы бд
- •1Nf tables as representations of relations
- •12. [Done] Содержательная трактовка второй нормальной формы бд
- •13. Унарные операции реляционной алгебры
- •14. Бинарные операции реляционной алгебры
- •15. [Done] Классификация и содержательный смысл различных операций соединения
- •16. [Done]Особенности применения конструкций where, order by, group by, having и агрегирующих функций в языке sql
- •17. [Done] Подзапрос в языке sql: типы, особенности применения
- •18. [Done] Процедурные расширения языка sql – курсоры, подпрограммы, триггеры.
- •19. [Done] Механизм представлений в языке sql
- •20. [Done] Средства поддержки целостности данных в языке sql
- •Раздел 3 операционные системы || администрирование в операционных системах linux
- •Раздел 4 основы проектирования информационных систем || практические вопросы автоматизации предприятий
- •Раздел 4 основы проектирования информационных систем || практические вопросы автоматизации предприятий
- •1. Понятие автоматизации. Основные термины и определения. Цели автоматизации. Основные требования к автоматизации. Процессы автоматизации.
- •3. Анализ объекта автоматизации. Понятие методологии анализа объекта автоматизации. Основные методологии анализа.
- •4. Стандартизация систем. Классификация ис.
- •Раздел 5 анализ и проектирование на uml
- •Раздел 6 теория систем и системный анализ || теория информационных процессов и систем
- •1. Определения системы. Классификации систем, место ит-систем в этих классификациях.
- •2. Основные закономерности систем. (Лекции Гусаровой)
- •3. Модели систем – определение, классификации, содержательные примеры. (лекции Гусаровой)
- •4. Связи в системах – определение, классификации, содержательные примеры.
- •5. Связи в информационных моделях систем – реляционные, онтологические, по управлению; их особенности и содержательные примеры.
- •6. Процессы в теории систем – определения, примеры, содержательная трактовка (Лекции Гусаровой)
- •7. Основные информационные процессы – определения, содержательная трактовка, примеры.
- •8. Процесс обработки данных. Основные постановки задач. Классификация методов реализации процесса обработки данных
- •9. Задачи машинного обучения в обработке данных. Примеры содержательной постановки
- •10. Основные понятия машинного обучения – решающая функция, метод обучения, функция потерь, переобучение. Содержательные примеры.
- •11. Методы регрессионного анализа в обработке данных.
- •12. Статистические методы классификации в обработке данных.
- •13. Метрические методы классификации в обработке данных.
- •14. Линейные методы классификации в обработке данных.
- •15. Нейросетевые методы в обработке данных.
- •16. Методы кластерного анализа в обработке данных.
- •17. Отбор признаков-регрессоров в обработке данных
- •18. Метод главных компонент и его модификации в обработке данных
- •19. Сингулярное разложение матриц в обработке данных
- •Раздел 7
5. Модель данных – определение, реализация в разных формах хранения.
Определение.
Модель данных есть формальная теория представления и обработки данных в системе управления базами данных (СУБД), которая включает, по меньшей мере, три аспекта:
1) аспект структуры: методы описания типов и логических структур данных в базе данных;
2) аспект манипуляции: методы манипулирования данными;
3) аспект целостности: методы описания и поддержки целостности базы данных.
Аспект структуры определяет, что из себя логически представляет база данных, аспект манипуляции определяет способы перехода между состояниями базы данных (то есть способы модификации данных) и способы извлечения данных из базы данных, аспект целостности определяет средства описаний корректных состояний базы данных.
Модель данных — это абстрактное, самодостаточное, логическое определение объектов, операторов и прочих элементов, в совокупности составляющих абстрактную машину доступа к данным, с которой взаимодействует пользователь. Эти объекты позволяют моделировать структуру данных, а операторы — поведение данных.
Реализация в разных формах хранения.
6. [Done] Многоуровневая архитектура бд. Субд, ее назначение.
обобщенная трехуровневая модель архитектуры СУБД включает в себя концептуальный, внутренний и внешний уровни архитектуры. Такая модель описывает архитектуру любой системы с той лишь оговоркой, что в каждой конкретной СУБД какие-либо компоненты или функции такой модели могут иметь вырожденный характер.
Концептуальный уровень архитектуры ANSI/SPARC служит для поддержки единого взгляда на базу данных, общего для всех её приложений и независимого от них и от среды хранения [6]. Концептуальный уровень представляет собой формализованную информационно-логическую модель ПО. Описание этого представления называется концептуальной схемой или схемой БД.
Схема базы данных – это описание базы данных в терминах конкретной модели данных. |
Внутренний уровень архитектуры поддерживает представление данных в среде хранения и пути доступа к ним . На этом архитектурном уровне БД представлена в полностью "материализованном" виде, тогда как на других уровнях идёт работа на уровне отдельных экземпляров или множества экземпляров данных. Описание БД на внутреннем уровне называется внутренней схемой или схемой хранения.
Внешний уровень архитектуры БД предназначен для групп пользователей. Описание представления данных для группы пользователей называется внешней схемой. Наличие внешнего уровня позволяет поддерживать разное представление одних и тех же данных для различных групп пользователей или задач
Подсхема базы данных – это описание структуры данных прикладного программиста.
Каждый из этих уровней может считаться управляемым, если он обладает внешним интерфейсом, который обеспечивает возможности определения данных. В этом случае становится возможными формирование и системная поддержка независимого взгляда на БД для какой-либо группы персонала или пользователей, взаимодействующих с БД через интерфейс данного уровня.
В архитектурной модели ANSI/SPARC предполагается наличие в СУБД механизмов, обеспечивающих междууровневое отображение данных "внешний – концептуальный" и "концептуальный – внутренний". Функциональные возможности этих механизмов определяют степень независимости данных на всех уровнях. На переходе "внешний – концептуальный" обеспечивается логическая независимость данных, на переходе "концептуальный – внутренний" – физическая независимость. Под логической независимостью подразумевается возможность вносить изменения в концептуальный уровень, не меняя представление БД для пользователей, или изменять представление данных для пользователей без изменения концептуальной схемы. Физическая независимость данных подразумевает возможность вносить изменения в схему хранения, не меняя концептуальную схему БД.
----------------------------------------------------------------------------------------------------------------
В основу работы Базы Данных(БД) в системе заложен принцип многоуровневой архитектуры, который заключается в реализации двух основных принципов:
минимизация функциональности клиентских компонентов, оставляющая за клиентом только функции пользовательского интерфейса; максимальное упрощение и унификация клиентского программного обеспечения;
освобождение сервера БД от несвойственных ему функций.
На практике эти принципы реализуются введением в систему дополнительного звена -- сервера приложений.
Такие архитектуры более разумно распределяют модули обработки данных, которые в этом случае выполняются на одном или нескольких отдельных серверах. Эти программные модули выполняют функции сервера для интерфейсов с пользователями и клиента -- для серверов баз данных. Кроме того, различные серверы приложений могут взаимодействовать между собой для более точного разделения системы на функциональные блоки, выполняющие определенные роли.
Основные задачи, для решения которых применяется многоуровневый подход, обычно сводятся к следующим:
повышение производительности системы за счет переноса части функциональности на аппаратно выделенные сервера приложений;
повышение структурированности программных систем за счет реализации компонентов в виде независимых модулей (объектов), допускающих повторное использование; обеспечение возможности комплектации готовой системы из таких модулей;
потребность в интеграции различных приложений в едином интерфейсе -- формирование доступа ко всем ресурсам и программным средствам через единую точку входа (портал).
хранилище данных (ХД) -- набор зарегистрированных баз данных, структура которых задана в системе регистрации данных;
базовые информационные структуры (БИС), объединение которых составляет содержание коллекций;
провайдер данных (ПД) -- приложение, обеспечивающее обработку унифицированных именованных запросов к коллекция и формирование ``внутреннего представления документа'' (ВПД);
обработчик ВПД -- формирует унифицированные именованные запросы к коллекции и отбор информации в ВПД;
формирование ``презентационного представления документа'' (ППД) в соответствии с выбранным стилем -- приложение, которое осуществляет визуализацию документа в удобном для пользователя виде, а также пользовательский интерфейс, с которого вводятся параметры запроса.
Данная архитектура обеспечивает взаимодействие служб:
публикации данных, поддержка и их аутентичности и качества;
поиска и представления информации;
анализа распределенных данных.
поддержку интероперабельности в глобальной программно-аппаратной инфраструктуре;
поддержку диспетчеризации, включая идентификацию доступных ресурсов, статистика использования и загрузки ресурсов и пр.;
поддержку системы безопасности и контроля доступа, в т.ч. гибкое регулирование объема прав и привилегий пользователей;
поддержку использования данных в удаленных архивах (включая протоколы, которые необходимо использовать для работы с гетерогенными источниками данных, и библиотеки программных комплексов) и др.
Система баз данных — компьютеризированная система хранения записей, цель которой хранить и предоставлять информацию по первому требованию.
Должна адекватно отображать предметную область.
Должна удовлять требованиям пользователям, но не нарушать формальные правила.
СУБД — комплекс программных и языковых средств работы с БД.
[Другое определение] Совокупность языковых и программных средств, предназначенных для создания, ведения и совместного использования базы данных многими пользователями. Обычно СУБД различают по используемой модели данных. Так, например, СУБД, основанные на использовании реляционной модели данных, называют реляционными СУБД.
Основные функции СУБД
Непосредственное управление данными во внешней памяти — включает обеспечение необходимых структур внешней памяти как для хранения данных, непосредственно входящих в БД, так и для служебных целей
Управление буферами оперативной памяти — СУБД обычно работают с БД значительного размера; по крайней мере этот размер обычно существенно больше доступного объема оперативной памяти. Понятно, что если при обращении к любому элементу данных будет производиться обмен с внешней памятью, то вся система будет работать со скоростью устройства внешней памяти. Практически единственным способом реального увеличения этой скорости является буферизация данных в оперативной памяти. При этом, даже если операционная система производит общесистемную буферизацию (как в случае ОС UNIX), этого недостаточно для целей СУБД, которая располагает гораздо большей информацией о полезности буферизации той или иной части БД. Поэтому в развитых СУБД поддерживается собственный набор буферов оперативной памяти с собственной дисциплиной замены буферов.
Управление транзакциями — Транзакция - это последовательность операций над БД, рассматриваемых СУБД как единое целое. Либо транзакция успешно выполняется, и СУБД фиксирует (COMMIT) изменения БД, произведенные этой транзакцией, во внешней памяти, либо ни одно из этих изменений никак не отражается на состоянии БД. Понятие транзакции необходимо для поддержания логической целостности БД.
Журнализация — ведение логов оперций, производимых над данными. Журанлизация обеспечивает одно из основных требований к СУБД — надежность хранения данных во внешней памяти. Под надежностью хранения понимается то, что СУБД должна быть в состоянии восстановить последнее состояние БД после любого аппаратного или программного сбоя (аварийное выключение питания, аварийное завершение работы СУБД или аварийное завершение пользовательской программы). Понятно, что в любом случае для восстановления БД нужно располагать некоторой дополнительной информацией, которую и обеспечивает журнал. Журнал – это особая часть БД, недоступная пользователям и поддерживаемая с особой тщательностью (иногда поддерживаются две копии журнала, располагаемые на разных физических дисках), в которую поступают записи обо всех изменениях основной части БД. Изменения БД журнализуются следующим образом: запись в журнале соответствует некоторой операции изменения БД (например, операции удаления строки из таблицы реляционной БД). С помощью журнала можно решить все проблемы восстановления БД после любого сбоя.
Поддержка языков БД. СУБД включает язык определения данных, с помощью которого можно определить структуру базы, тип данных в ней, указать ограничения целостности (это язык, с помощью которого задаются различные имена, свойства объектов). Кроме того, СУБД позволяет вставлять, удалять, обновлять и извлекать информацию из базы данных посредством языка управления данными – языка запросов, который позволяет выполнять различные действия с данными, осуществлять их поиск и выборку. Он содержит набор различных операторов (заносить данные, удалять, модифицировать, выбирать и т.д.). Процесс извлечения данных и их обработка скрыты от пользователя. Cтандартным языком наиболее распространенных в настоящее время СУБД является язык SQL (Structured Query Language). Он имеет сразу два компонента: язык определения данных и язык управления данными. Кроме того, одним из языков управления данными является язык QBE – язык запросов по образцу.
Обычно современная СУБД содержит следующие компоненты:
ядро, которое отвечает за управление данными во внешней и оперативной памяти и журнализацию,
процессор языка базы данных, обеспечивающий оптимизацию запросов на извлечение и изменение данных и создание, как правило, машинно-независимого исполняемого внутреннего кода,
подсистему поддержки времени исполнения (runtime), которая интерпретирует программы манипуляции данными, создающие пользовательский интерфейс с СУБД
а также сервисные программы (внешние утилиты), обеспечивающие ряд дополнительных возможностей по обслуживанию информационной системы.
Уровни СУБД
Внутренний уровень — то, как хранятся данные с точки зрения СУБД. Хранятся в виде хэш-таблиц и эти таблицы в виде сбалансированных дерьвьев (AVL tree - наиболее быстрое чтение, RBT - лучшая поддержка вставок/удаления).
Концептуальный уровень — уровень в терминах БД, который видит админ., но не видит конечный юзер (таблицы, связи). Юзеру не надо давать доступ ко всему.
Внешний уровень — уровень представления данных для конечного юзера (вью, таблицы).
Клиенты:
Толстый клиент — сам занимается обработкой визуализацией данных.
Тонкий клиент — только визуализация данных (обработка на стороне сервера).
2-х уровневая модель — клиент, СУБД
3-х уровневая медель — клиент, веб-сервер, СУБД.
