
- •Управление данными
- •1.Автоматизированные информационные системы.
- •2.Классификация, состав и структура аис.
- •3.Информационное обеспечение аис, перспективы развития бд.
- •4.Понятие базы данных, организация.
- •Проблемы определения
- •История
- •Виды баз данных
- •Классификация по модели данных
- •Классификация по среде постоянного хранения
- •Классификация по содержимому
- •Классификация по степени распределённости
- •Другие виды бд
- •Сверхбольшие базы данных
- •5.Проектирование баз данных.
- •Основные задачи проектирования баз данных
- •Основные этапы проектирования баз данных Концептуальное (инфологическое) проектирование
- •Логическое (даталогическое) проектирование[править | править исходный текст]
- •Физическое проектирование[править | править исходный текст]
- •Нормализация[править | править исходный текст]
- •Модели «сущность-связь»[править | править исходный текст]
- •Семантические модели[править | править исходный текст]
- •6.Архитектура субд и ее основные функции.
- •Система управления базами данных
- •Содержание
- •Основные функции субд[править | править исходный текст]
- •7.Понятие и компоненты банка данных.
- •8.Предметная область и моделирование аис.
- •Предметная область и моделирование аис
- •9.Модели данных.
- •10.Язык sql – функции запросов и основные возможности.
- •Введение[править | править исходный текст]
- •Описание[править | править исходный текст]
- •Операторы[править | править исходный текст]
- •Преимущества и недостатки[править | править исходный текст] Преимущества[править | править исходный текст]
- •Недостатки[править | править исходный текст]
- •Расширения[править | править исходный текст] Процедурные расширения[править | править исходный текст]
- •11. Обработка транзакций в sql
- •Проектирование информационных систем
- •1.Понятие об архитектуре ис. Виды, области применения. Одноранговые, централизованные, распределенные, терминальные системы. Архитектура клиент-сервер, терминальные системы, трехзвенные системы.
- •2.Системы. Основные определения и закономерности систем. Классификация систем по уровню сложности. Системный подход к построению ис.
- •Закономерности систем
- •Системы классифицируются следующим образом:
- •Системный подход
- •1. Классификация ис по признаку структурированности задач:
- •3. По выполняемым функциям и решаемым задачам:
- •4. По масштабу и интеграции компонент:
- •5. По характеру обработки информации на различных уровнях управления предприятием:
- •3.Пользовательский интерфейс и его эргономика. Интерфейс ис как сценарий поведения пользователя. Роль графического дизайна в ис.
- •4.Принципы проектирования сложных объектов. Нисходящее и восходящее проектирование.
- •Нисходящее и восходящее проектирование
- •5.Жизненный цикл информационных систем: каскадная и спиральная модели.
- •6.Методологии проектирования по. Case-технологии, их содержание и классификации
- •7.Case-средства: функции, назначение, классификация.
- •Network-attached storage (nas)[править]
- •Storage area network (san)[править]
- •Отличия и конвергенция san и nas[править]
- •Content-addressable storage (cas)[править]
- •Нормальные формы[править | править исходный текст]
- •Первая нормальная форма (1nf)[править | править исходный текст]
- •9.Этапы проектирования бд. Цель и виды работ на этапах концептуального, логического и физического проектирования.
- •I этап. Постановка задачи.
- •II этап. Анализ объекта.
- •III этап. Синтез модели.
- •IV этап. Выбор способов представления информации и программного инструментария.
- •V этап. Синтез компьютерной модели объекта.
- •VI этап. Работа с созданной базой данных.
- •Инфологическое моделирование
- •Концептуальное проектирование
- •10.Проектирование методом «сущность-связь». Нормализация отношений.
- •11. Объектно-ориентированный подход при проектировании ис. Унифицированный язык моделирования uml.
- •12. Концептуальная модель uml, строительные блоки uml, правила языка uml, общие механизмы языка uml, архитектура, жизненный цикл разработки по.
- •Диаграмма классов[править | править исходный текст]
- •Диаграмма компонентов[править | править исходный текст]
- •Диаграмма композитной/составной структуры[править | править исходный текст]
- •Диаграмма развёртывания[править | править исходный текст]
- •Диаграмма объектов[править | править исходный текст]
- •Диаграмма пакетов[править | править исходный текст]
- •Диаграмма деятельности[править | править исходный текст]
- •Диаграмма автомата[править | править исходный текст]
- •Диаграмма сценариев использования[править | править исходный текст]
- •Диаграммы коммуникации и последовательности[править | править исходный текст]
- •Диаграмма обзора взаимодействия[править | править исходный текст]
- •Диаграмма синхронизации[править | править исходный текст]
- •Преимущества uml[править | править исходный текст]
- •Критика[править | править исходный текст]
- •Архитектура эвм и систем
- •1.Понятие архитектуры эвм. Области применения и классификация эвм. Структура эвм: состав и назначение основных блоков.
- •2.Понятие архитектуры мп. Особенности архитектур вычислительных систем cisc, risc, mips, sparc. Области применения.
- •3.Внутренняя структура мп. Назначение узлов, входящих в типовую структуру мп.
- •4.Арифметико-логическое устройство (алу): назначение, структура и принцип действия.
- •Операции в алу[править | править исходный текст]
- •Классификация алу[править | править исходный текст]
- •5.Формат и основные этапы выполнения команды микропроцессора на примере семейства Intel х86.
- •Цикл выполнения команды
- •6.Сопроцессоры. Назначение, система команд на примере процессоров Intel x86.
- •Содержание
- •Области применения[править | править исходный текст]
- •Содержание
- •Сопроцессоры[править | править исходный текст]
- •Сопроцессоры Intel семейства x86[править | править исходный текст]
- •7.Команды мультимедийного расширения. Сравнение мультимедийных расширений от фирм Intel и amd.
- •Содержание
- •Предпосылки[править | править исходный текст]
- •8.Организация и принцип работы памяти.
- •Функции памяти[править | править исходный текст]
- •Физические основы функционирования[править | править исходный текст]
- •Классификация типов памяти[править | править исходный текст]
- •Доступные операции с данными[править | править исходный текст]
- •Метод доступа[править | править исходный текст]
- •Организация хранения данных и алгоритмы доступа к ним[править | править исходный текст]
- •Назначение[править | править исходный текст]
- •Организация адресного пространства[править | править исходный текст]
- •Удалённость и доступность для процессора[править | править исходный текст]
- •Управление процессором[править | править исходный текст]
- •Прочие термины[править | править исходный текст]
- •9.Назначение и классификация зу. Физическая и логическая структура зу, их характеристики и параметры.
- •10.Понятие шины. Синхронная и асинхронная шины. Шины pci, usb, ide и scsi.
- •11.Интерфейсы периферийных устройств. Периферийные устройства эвм.
- •12.Контроллеры, основные функции и реализация
- •13.Видеоподсистема эвм. Назначение, организация, характеристики.
- •14. Устройства печати. Назначение и классификация.
- •Содержание
- •Классификация[править | править исходный текст]
- •Матричные принтеры[править | править исходный текст]
- •Струйные принтеры[править | править исходный текст]
- •Классификация[править | править исходный текст]
- •Сублимационные принтеры[править | править исходный текст]
- •Лазерные принтеры[править | править исходный текст]
- •Термопринтеры[править | править исходный текст]
- •Содержание
- •Типы графопостроителей[править | править исходный текст]
- •Планшетные графопостроители[править | править исходный текст]
- •Графопостроители с перемещающимся носителем[править | править исходный текст]
- •Электростатические графопостроители[править | править исходный текст]
- •Фотографопостроители[править | править исходный текст]
- •Производители[править | править исходный текст]
- •15.Внешние запоминающие устройства. Назначение и классификация. Физическая и логическая структура.
- •Назначение, классификация и характеристики внешних запоминающих
- •Операционные системы
- •1.Операционная система (ос). Классификация ос. Эволюция ос. Функции ос. Разновидности ос. Обобщенная модель иерархической ос.
- •Эволюция ос.
- •Функции ос.
- •3.Типовые средства аппаратной поддержки операционных систем, bios.
- •Типовые средства аппаратной поддержки ос
- •Назначение bios материнской платы[править | править исходный текст] Инициализация и проверка работоспособности аппаратуры[править | править исходный текст]
- •Загрузка операционной системы[править | править исходный текст]
- •Утилиты, доступные без загрузки ос[править | править исходный текст]
- •Простейший драйвер[править | править исходный текст]
- •Конфигурирование оборудования[править | править исходный текст]
- •Slic (Software Licensing Description Table)[править | править исходный текст]
- •4.Понятие виртуальной машины. Принципы работы, управления, защиты данных и памяти.
- •5.Файловые системы. Файлы и каталоги. Имена и типы. Файловые системы fat32, ntfs, их характеристики.
- •Классификация файловых систем[править | править исходный текст]
- •Задачи файловой системы[править | править исходный текст]
- •6.Классификация программного обеспечения (по). Базовый уровень по. Системный уровень по. Драйверы. Служебный уровень по. Утилиты. Прикладной уровень по.
- •7.Ресурсы компьютерной системы. Классификация. Распределение и управление ресурсами. Проблемы взаимодействующих процессов.
- •8.Процессы и потоки. Многозадачность и многопоточность. Проблемы разработки приложений для многопоточной среды.
- •Содержание
- •Свойства многозадачной среды[править | править исходный текст]
- •Трудности реализации многозадачной среды[править | править исходный текст]
- •Содержание
- •Типы реализации потоков[править | править исходный текст]
- •Взаимодействие потоков[править | править исходный текст]
- •9.Способы передачи сообщений. Синхронный и асинхронный обмен данными между устройствами компьютерной системы.
- •Асинхронная передача.
- •Синхронная передача.
- •10.Организация памяти (адресация, распределение). Основные понятия защищенного режима.
- •Виртуальные и физические адреса
- •Распределение памяти без использования виртуальных адресов настройка адресов
- •Распределение с фиксированными разделами
- •Распределение с динамическими разделами
- •Страничная организация памяти
- •Сравнение сегментной и страничной организации
- •11.Способы обеспечения монопольного доступа к разделяемым ресурсам. Алгоритмы распределения памяти. Способы защиты памяти.
- •12.Логическая и физическая организация файла. Операции над файлами.
- •51. Логическая организация файла. Файлы с индексно-последовательной структурой.
- •52. Логическая организация файла. Библиотечная структура файлов.
- •53. Физическая структура файла. Способы размещения информации. Непрерывное размещение. Достоинства и недостатки.
- •54. Физическая структура файла. Способы размещения информации. Связный список индексов. Достоинства и недостатки.
- •55. Физическая структура файла. Способы размещения информации. Перечень номеров блоков. Достоинства и недостатки.
- •Информационная безопасность и защита информации
- •3. Понятие политики информационной безопасности. Назначение политики безопасности. Основные типы политики безопасности доступа к данным.
- •4. Защита информации в ит. Основные технологические решения. Шифрование данных. Общая характеристика алгоритмов шифрования, схемы работы.
- •5. Примеры алгоритмов симметричного шифрования и шифрования с открытым ключом. Гибридные криптосистемы. Понятие эцп и сертификата. Протоколы ipSec и ssl.
- •6. Требования к системам криптографической защиты: криптографические требования, требования надежности, требования по защите от нсд, требования к средствам разработки.
- •Мультимедиа технология
- •1.Понятие информации, различные его трактовки. Определения информации (по законодательству Российской Федерации, по н. Винеру, другие).
- •2.Функциональная и структурная организация обработки мультимедийной информации;
- •4.Векторная, растровая, фрактальная и программная графика, их сходство и различие.
- •5.Принципы отображения графической информации. Способы сжатия изображений. Способы преобразования форматов. Типы файлов изображений.
- •6.Основные программные пакеты, применяемые для редактирования графики в мультимедиа технологиях.
- •7.Цветовые модели, их характеристики и области применения.
- •8.Анимация в мультимедиа технологиях. Принципы и методы анимации. Технологии создания анимации в мультимедиа технологиях.
- •Методы анимации
- •9.Средства линейного и нелинейного компьютерного видеомонтажа.
- •Захват видео
- •10.Аппаратные и программные средства обработки звука.
- •11. Сжатие данных. Определение и виды. Примеры кодирования, их применение в информационных технологиях.
- •Способы (виды) сжатия данных:
- •Методы и средства сжатия данных:
11. Обработка транзакций в sql
Транзакция или логическая единица работы, - это в общем случае последовательность ряда таких операций, которые преобразуют некоторое непротиворечивое состояние базы данных в другое непротиворечивое состояние, но не гарантируют сохранения непротиворечивости во все промежуточные моменты времени.
Никто кроме пользователя, генерирующего ту или иную последовательность SQL-предложений, не может знать о том, когда может возникнуть противоречивое состояние базы данных и после выполнения каких SQL-предложений оно исчезнет, т.е. база данных вновь станет актуальной. Поэтому в большинстве СУБД создается механизм обработки транзакций, при инициировании которого все изменения данных будут рассматриваются как предварительные до тех пор, пока пользователь (реже система) не выдаст предложения:
- COMMIT (фиксировать), превращающее все предварительные обновления в окончательные ("зафиксированные");
- ROLLBACK (откат), аннулирующее все предварительные обновления.
Большинство СУБД позволяют любому числу транзакций одновременно осуществлять доступ к одной и той же базе данных и в них существуют те или иные механизмы управления параллельными процессами, предотвращающие нежелательные воздействия одних транзакций на другие. По сути это механизм блокирования, главная идея которого достаточно проста. Если транзакции нужны гарантии, что некоторый объект (база данных, таблица, строка или поле), в котором она заинтересована, не будет изменен каким-либо непредсказуемым образом в течение требуемого промежутка времени, она устанавливает блокировку этого объекта. Результат блокировки заключается в том, чтобы изолировать этот объект от других транзакций и, в частности, предотвратить его изменение средствами этих транзакций.
Обработка транзакций обеспечивает сохранение целостности базы данных за счет того, что пакеты операций SQL выполняются полностью или не выполняются вовсе.
Как объяснялось в уроке 12, "Объединение таблиц", реляционные базы данных организованы таким образом, что информация в них хранится во многих таблицах. Благодаря этому облегчается манипулирование, управление данными, а также их повторное использование. Не вдаваясь в подробности, как и почему именно так устроены реляционные базы данных, следует заметить, что схемы всех хорошо спроектированных баз данных можно в какой-то степени отнести к реляционным.
Таблица Orders, которую мы использовали в последних 18-ти уроках, — хороший пример. Заказы хранятся в двух таблицах, в таблице Orderltems хранится информация об отдельных предметах заказов. Эти две таблицы связаны (соотнесены) между собой с помощью уникального идентификатора, который называетсяпервичный ключ (см. урок 1, "Что такое SQL"). Эти таблицы, кроме того, связаны и с другими таблицами, содержащими информацию о клиентах и продуктах.
Процесс добавления нового заказа состоит в выполнении следующих этапов.
1. Проверка, содержится ли информация о клиенте в базе данных. Если нет, такая информация добавляется.
2. Выборка идентификатора клиента.
3. Добавление строки в таблицу Orders, связывающую ее (строку) с идентификатором клиента.
4. Выборка идентификатора нового заказа, присвоенного ему в таблице Orders.
5. Добавление одной строки в таблицу Orderlteras для каждого заказанного предмета, соотнесение его с таблицей Orders посредством выбранного идентификатора (и с таблицей Products посредством идентификатора продукта).
Теперь предположим, что какая-то ошибка в базе данных (например, нехватка места на диске, ограничения, связанные с безопасностью, блокировка таблицы) помешала завершить эту последовательность действий.
Что случится с данными?
Хорошо, если ошибка произойдет после добавления информации о клиенте в таблицу, но до того как она будет добавлена в таблицу Orders — в этом случае проблем не будет. Вы можете иметь данные о клиентах без заказов. При повторном выполнении последовательности добавленная запись о клиенте будет возвращена и использована. Вы сможете легко продолжить работу с того места, на котором остановились.
Но что если ошибка произойдет после того, как была добавлена строка в таблицу Orders, но до того, как будут добавлены строки в таблицу Orderltems? Теперь в вашей базе данных будет присутствовать пустой заказ.
Еще хуже: что если система сделает ошибку в процессе добавления строк в таблицу Orderltems? В таком случае в вашу базу данных заказ будет внесен лишь частично, и вы даже не будете знать об этом.
Как можно решить эту проблему? Именно здесь в игру вступает транзактная организация обработки данных, которую мы ради краткости будем называть обработка транзакций.Обработка транзакций — это механизм, используемый для управления наборами операций SQL, которые должны быть выполнены в пакете, т.е. таким образом, чтобы в базу данных не могли попасть результаты частичного выполнения этого пакета операций. При обработке транзакций вы можете быть уверенными в том, что выполнение набора операций не было прервано па середине — они или
были выполнены все, или не была выполнена ни одна из них (если только не было явно указано иное). Если ошибки не произошло, результаты работы всего набора операторов фиксируются (записываются) в таблицах базы данных. Если произошла ошибка, должна быть выполнена отмена (аннулирование) всех операций, чтобы возвратить базу данных в известное и безопасное состояние.
Итак, если вернуться к нашему примеру, то вот как должен на самом деле выполняться процесс.
1. Проверка, содержится ли информация о клиенте в базе данных. Если нет, такая информация добавляется.
2. Фиксация информации о клиенте.
3. Выборка идентификатора клиента.
4. Добавление строки в таблицу Orders.
5. Если во время добавления строки в таблицу Orders происходит ошибка, операция отменяется.
6. Выборка идентификатора нового заказа, присвоенного ему в таблице Orders
7. Добавление одной строки в таблицу Orderltems для каждого заказанного предмета.
8. Если в процессе добавления строк в таблицу Order Items происходит ошибка, добавление всех строк в таблицу Orderltems отменяется.
При работе с транзакциями вы часто будете сталкиваться с одними и теми же терминами:
■ Транзакция (Transaction). Блок операторов SQL.
■ Отмена (Rollback). Процесс аннулирования указанных операторов SQL (такой процесс иногда называют "откат").
■ Фиксация (Commit). Запись несохраненных операторов SQL в таблицы базы данных.
■ Точка сохранения (Savepoint). Временное состояние в ходе выполнения транзакции, в которое можно вернуться после отмены части операций пакета (в отличие от отмены всей транзакции). Иногда это состояние называют "точка отката".
Действие каких операторов можно отменить?
Обработка транзакций используется в ходе управления действием операторов insert, update и delete. Вы не можете отменить действие оператора select. (В выполнении такой отмены вообще нет смысла.) Вы не можете отменить операции create или drop. Эти операторы можно использовать в блоке операторов транзакции, но если вам понадобится выполнить отмену (откат), действие этих операторов аннулировано не будет.
Управляемые транзакции
Теперь, когда вы знаете, что такое обработка транзакций, перейдем к управляемым транзакциям.
о_ Различия в реализациях
Точный синтаксис, используемый для обработки транзакций, для разных СУБД различен. Прежде чем заняться такой обработкой, обратитесь к документации своей СУБД.
Чтобы сделать транзакцию управляемой, нужно разбить ее SQL-операторы на логические части и явно указать, когда может быть выполнена отмена, а когда нет.
В некоторых СУБД требуется, чтобы вы явно отметили начало и конец каждого блока операторов транзакции. Например, в SQL Server нужно сделать следующее:
ВВОД
BEGIN TRANSACTION COMMIT TRANSACTION
Анализ
В этом примере все операторы, заключенные между BEGIN TRANSACTION И COMMIT TRANSACTION, должны быть или выполнены, или не выполнены.
Эквивалентный код для MySQL таков:
ВВОД
START TRANSACTION
ВВОД
В СУБД PostgreSQL используется синтаксис ANSI SQL:
ввод
B3GIN;
В других СУБД используются вариации на указанную
тему.
Использование оператора ROLLBACK
Оператор ROLLBACK используется для отмены (аннулирования) операторов SQL, как показано ниже:
ввод
DELETE FROM Orders; ROLLBACK;
Анализ
В этом примере выполняется и сразу же, посредством оператора ROLLBACK, аннулируется операция DELETE. Хотя это и не самый полезный пример, он все равно показывает, что, будучи включенными в блок транзакции, операции DELETE (а также INSERT и UPDATE) не являются окончательными.
Использование оператора COMMIT
Обычно после выполнения операторов SQL результаты записываются непосредственно к таблицы баз данных. Это называется неявная фиксация — операция фиксации (сохранения или записи) выполняется автоматически.
Однако внутри блока транзакции фиксация неявно может и не проводиться. Это зависит от того, с какой СУБД вы работаете. Некоторые СУБД трактуют завершение транзакции как неявную фиксацию.