23. Обоснование концепции БД (причины, вызвавшие переход к концепции БД). Основные положения концепции баз данных. Активная деятельность по отысканию приемлемых способов обобществления непрерывно растущего объема информации привела к созданию в начале 60-х годов специальных программных комплексов, называемых "Системы управления базами данных" (СУБД). Стремление увеличить возможности файловых систем в соответствии с указанными и некоторыми другими пользовательскими потребностями, стремление стандартизировать программные средства для моделирования различных ПО привело к возникновению концепции баз данных. Основная особенность СУБД – это наличие процедур для ввода и хранения не только самих данных, но и описаний их структуры. Файлы, снабженные описанием хранимых в них данных и находящиеся под управлением СУБД, стали называть банки данных, а затем "Базы данных" (БД). Основные черты концепции БД: данные отделяются от ПП(прикладной программы), появляется специальная программная надстройка для управления данными, называемая системой управления базами данных (СУБД); СУБД управляет данными и служит посредником между ними и ПП; ПП упрощаются, освобождаются от функций структуризации, хранения и поиска данных; появляются стандартизированные данные о фактографических данных – метаданные, управляемые СУБД; метаданные описывают информационные параметры и взаимосвязи фактографических данных о ПО; СУБД совместно с метаданными представляет собой стандартизированное инструментальное средство для моделирования ПО различной природы; происходит централизация (интеграция) данных, их многоаспектное использование для различных приложений, что сокращает избыточность данных, позволяет обеспечить более высокий уровень достоверности данных и оптимизировать различные процедуры ведения и использования БД. Основные положения концепции БД: Автономное, без избыточное хранение данных сложной структуры и значительного объема. Комплексное использование хранимой информации. Независимость программ обработки от физической структуры исходных данных. Дополнительные положения концепции БД: БД – есть отображение информационной модели предметной области. Однократный ввод первичной информации. Защита данных (авторизованный доступ, от катастрофического разрушения, криптография, ограничения целостности). Реорганизация БД (развитие) по мере необходимости с минимальным влиянием на действующие программы. 24. Архитектура представления информации в концепции баз данных. Архитектура СУБД обеспечивает потребности различных пользователей, выполнение их запросов, а также внутренние потребности, связанные с представлением данных в файлах и доступом к ним. Общепринятым в настоящее время является подход, обеспечивающий трехуровневое представление данных: на уровне внешних моделей соответствующих различным запросам различных пользователей; на логическом уровне, соответствующем интегральному взгляду на данные администратора ПО и администратора БД; на внутреннем уровне, соответствующем взгляду на данные системных программистов. СУБД поддерживает различные описания данных на всех уровнях и их преобразования из одних видов представления в другие. Внешние представления ... Концептуальное представление Физическое представление Концептуальное представление - логическая структура БД в целом в ограничениях СУБД по структуре данных. Это то, как «видит» БД потенциальный пользователь; Физическое представление - конкретное размещение значений данных в памяти (во внешней и в оперативной), способы и средства представления структурных характеристик (имен, размеров, адресов), установления связей между элементами структуры БД; Внешнее представление - часть структуры БД, используемая в конкретном приложении (запрос, программа получения каких-то документов и т.п.). Система управления базами данных (СУБД) обеспечивает возможность хранения описания всех этих представлений. 25. Понятие системы управления базами данных (СУБД) БД – это объективная форма представления и организации совокупности данных, систематизированных так, чтобы они могли быть найдены и обработаны с помощью ЭВМ. В БнД хранимая информация сосредоточена в едином информационном массиве – в базе данных (БД) и процесс манипулирования данными автоматизирован. По степени распределенности БнД классифицируются на локальные системы, информация которых сосредоточена в одной или нескольких БД, и распределенные в которых информация хранится в отдельных БД, размещенных в узлах вычислит сетки. Простейшая структура БНД: БПП БД БНД={БД, СУБД, БПП} СУБД СУБД- система управления БД. БПП- библиотека прикладных программ. ПП1 ПП2 ППn СУБДэто позволяющий: комплекс программ, 1.обеспеч пользователя языковыми ср-вами описания и манипулирования данными; 2.обеспечить поддержку моделей (логических); 3. обеспечить операции создания и манипулирования логич. данными (выбор, вставка….) и одновременное отображение этих операций над физич. данными; 4. обеспечить защиту и целостность данных (т.е от некорректных обновлений пользователем, от несанкционированного доступа, от разрушения оборудования). СУБД - совокуп программ и языковых средств для создания ведения и исп-ния БД. Основной частью СУБД является ядро - набор управляющих программ, предназначенных для автоматизации всех процессов, связанных с обращением к БД. Ядро в процессе работы с БД постоянно нах в осн. памяти и организует обработку поступающих запросов, управляет очередностью их выполнения взаим-ет с приклад. программами, контролирует завершение операции доступа к БД, выдает сообщение. Важнейшей функцией ядра является организация параллельного выполнения запросов. Другой частью СУБД является набор обрабатывающих программ, включающий трансляторы с языком описания данных, схем хранения, подсхемы, трансляторы с подъязыков и автоматных языков программирования, интерпретатор языков запроса. БД отражающая взгляд на предметную обл-ть с точки зрения решаемых задач называется концептуальной БД (КБД). КБД складывается под воздействием ряда концептуальных требований, определяющихся множеством задач, для решения которых проектируется БД. Концептуальные требования определяют набор объектов, описываемых в БД; набор их атрибутов, хранящихся в БД; связи между объектами. КБД с ограничениями и особенностями, определяющимися применением конкретной СУБД называется логической БД (ЛБД). Она определяет внешние модели, каждая из которых соответствует своим концептуальным требованиям, и предназначена для решения конкретной прикладной задачи. Она явл взглядом на логическую модель БД конкретного пользователя. Внешняя модель является одним из механизмов обеспечивающих упорядочение доступа к БД со стороны множества пользователей или прикладных программ. Отображение ЛБД на внешний носитель с учетом особенностей файловой системы и системы ввода- вывода ЭВМ называется физической БД (ФБД) 26. Понятие и роль схемы и подсхемы Описание концептуального и соответствующего ему физического представления (описание структуры БД) хранится автономно, называется схемой БД и создается до того, как начнет наполняться БД. Описание подмножества концептуального представления, которое соответствует внешнему представлению для некоторого приложения (описание части структуры БД, доступной программе обработки), называется подсхемой. Используя подсхему и схему, СУБД обеспечивает настройку приложения на работу с физической базой данных. Тем самым достигается универсализм СУБД по отношению соответствия внешнего представления – физическому, а значит, обеспечивается принцип независимости программ обработки от физической структуры БД. С другой стороны, программа обработки может получить только те данные и выполнять только те процедуры (чтения, а возможно обновления данных), которые указаны в ее подсхеме. Тем самым обеспечивается защита БД от несанкционированного доступа. 27. база данных как средство отображения информационной модели предметной области. Мм 28. Модели данных. Модель данных (МД) - средство для определения логического представления физических данных, относящихся к некоторому приложению. В зависимости от описываемых в схеме БД взаимосвязей и способов их представления различают три основных модели данных: иерархическую; сетевую; реляционную. Иерархическая модель данных. Иерархическая древовидная структура строится из узлов и ветвей. Узел - совокупность атрибутов данных, описывающих некоторый объект. Наибольший узел в иерархической структуре называется корнем. Зависимые узлы располагаются на более низких (корнях) уровнях дерева. Каждый экземпляр корневого узла образует начало записи логической БД, т.е. иерархическая БД состоит из нескольких деревьев. В иерархической модели данных узлы на уровне 2 называются порожденными узла на уровне1. Узел на уровне1 называется исходным для узлов на уровне2. Иерархическая древовидная структура всегда удовлетворяет условиям: Иерархия начинается с корневого узла. Кажд узел сост из одного или неск атрибутов, кок. описывают объект в данном узле На низких уровнях могут быть зависимые узлы. Зависимые узлы могут добавляться как в вертикальном так ив горизонтальном направлениях. Исключение – на уровне1 только один узел, который называется корневым. Каждый узел, находящийся на уровне2 соединен узлом на уровне1. Каждый узел на уровне3 соединен узлом на уровне2. Т.к. между двумя узлами может существовать одно соединение, то дуги не нуждаются в метках. Исходный узел может иметь в качестве зависимых один или несколько порожденных узлов. Если узел не имеет зависимых узлов, то он не является исходным. Доступ к каждому узлу, за исключением коневого, происходит через исходный Возможно существование любого числа экземпляров узлов каждого уровня. Каждый экземпляр узла, за исключением корневого, соединен с экземпляром исходного узла, т.е. может существовать много экземпляров узла А. Недостатки. Из-за строгой иерархической упорядоченности модели значительно усложняются операции включения и удаления. Особенности иерархической структуры обуславливают процедурность операции манипулирования данных. Прикладной программист должен планировать перемещения по БД -это усложняет программ-ние и обуславливает невысокий уровень независимости данных от программ и программ от данных, т.к. в программе д.б отражена структура БД. Корневой тип узла является главным. Доступ к любому порожденному узлу возможен только через исходный. Достоинства. Наличие хорошо зарекомендованных себя СУБД. Простота понимания и использования. Простота оценки операционных взаимосвязям. Линейная модель данных хар-ик благодаря заранее заданным Свойства линейной структуры: • элементами линейной структуры являются простые данные. Простыми считаем данные, разделение которых на составляющие не имеет смысла; • каждое данное имеет имя (идентификатор) и множество возможных значений, задаваемое словарем, диапазоном или правилом формирования; • множество данных, составляющих однотипных объектов; линейную структуру, описывает множество • все экземпляры линейной структуры (записи) однородны в том смысле, что: порядок следования данных во всех экземплярах структуры один и тот же; размер и тип данных одного имени во всех экземплярах структуры одинаковы. Разные данные могут иметь различные размеры и типы; Линейной структуре в информационных системах соответствует файл однотипных записей. Отметим особо, что связь между элементами (данными) состоит в определенном порядке их следования в экземплярах структуры (в записях). • среди элементов можно выделить так называемые ключевые данные, которыми являются одно либо несколько данных, значения которых однозначно определяют каждый экземпляр структуры, или в структуре нет двух экземпляров с одинаковым значением ключа. Учитывая, что все данные также будут являться ключом, речь идет о минимальном числе данных, сохраняющем свойство ключа. Такой ключ называют также первичным. Типовые операции по управлению данными линейной структуры: • вставка – включение новых экземпляров (записей) в структуру; • удаление – удаление определенных экземпляров из структуры; • замена – изменение значений некоторых данных в определенных экземплярах структуры; • выборка – чтение экземпляров для обработки. При удалении или замене соответствующие записи вначале должны быть найдены. Иерархическая древовидная структура данных - это структура, удовлетворяющая следующим требованиям: элементами являются линейные структуры различных типов (различные линейные структуры); связанные между собой элементы относятся так, что каждому экземпляру одного из них можно поставить в соответствие несколько экземпляров второго. Первый элемент называется старшим (исходным, «родителем»), второй - подчиненным (порожденным, «ребенком»); каждый подчиненный в одной связи может быть старшим в связи с другим элементом; один старший может иметь несколько подчиненных различных типов; в древовидной структуре любой подчиненный имеет не более одного старшего, корневой элемент не имеет старшего; связь между непосредственно связанными элементами формально определяется как «один к многим» или 1 : М; Элементы в иерархической древовидной структуре имеют следующие названия: единственный элемент, не имеющий своего старшего, называется корневым; элементы, не имеющие подчиненных - называются концевыми или листьями; множество элементов, расположенных на одном пути от корневого до концевого элемента, называется ветвью; максимальное число элементов в ветви (среди всех ветвей) называется рангом иерархической структуры. В иерархической модели данных определены следующие типовые операции по управлению данными: вставка – аналогична соответствующей операции линейных структур данных с тем лишь отличием, что в случае жесткой иерархии невозможно вставить экземпляр элемента, не имеющего соответствующего старшего; замена - имеет особенности для ключевых данных, т.к. требуется произвести аналогичные изменения соответствующих данных в ключах подчиненных (если ключ старшего присутствует в ключе подчиненного, как это было в связи Студент Семестр) либо перезаписать все подчиненное поддерево на другое место в структуре в соответствии с изменившимся значением ключевого данного старшего элемента. По этой причине иерархические СУБД часто не допускают изменения значения ключевого данного, требуя замены его на операции вставки всех подчиненных на новое место и последующего удаления поддерева на прежнем месте; удаление – также имеет соответствующую специфику в жесткой иерархии – удаление экземпляра старшего ведет к удалению и всех его подчиненных; выборка – имеет несколько разновидностей: выборка следующего подобного, т.е. чтение следующего экземпляра того же типа элемента. Это аналогично операции выборки в линейной структуре; выборка подобного в пределах исходного. Такая выборка может быть осуществлена только после выборки экземпляра старшего элемента, а читаются последовательно однотипные подчиненные, но только связанные с выбранным «старшим». выборка следующего в иерархической последовательности, т.е. выборка возможно разнотипных элементов в соответствии со структурой по правилу «сверху вниз – слева направо». в процессе выполнения операции выборки экземпляров элементов (записей) некорневого уровня к выбираемому экземпляру могут быть присоединены ключи вышестоящих уровней или даже полные связанные экземпляры элементов старших уровней. Сетевая модель данных (СМД). С точки зрения теории графов СМД составляет произвольный граф. В узлах графа помещаются типы записей, а ребра интерпретируются как связи между типами записей. Пример СМД.В СМД любая запись может входить в любое число именованных связей, как каждая или порожденная, или как та и другая. Поэтому нет корневого узла, т.к. каждая вершина может быть определена как точка входа. Прямоугольник служит для изображения типа записи, направляющие стрелки, соединяют два и более типов записей. Вся структура БД, как бы собирается из двух уровневых деревьев. Запись является корневой вершиной этого дерева, называется записьвладелец. Подчиненными ей вершинами - запись-член. СМД позволяет взаимосвязь многие ко многим представить как связь один к одному или один ко многим. Достоинства: Возможность простой реализации часто встречающихся в реальном мире взаимосвязь (N:M). Недостатки: Сложность, прикладные программы должны достаточно знать логическую структуру БД. 29. Реляционная модель данных. Основные понятия, нормализация отношений. Согласно Дейту, реляционная модель состоит из трех частей: Структурной части Целостной части Манипуляционной части Структурная часть описывает, какие объекты рассматриваются реляционной моделью. Постулируется, что единственной структурой данных, используемой в реляционной модели, являются нормализованные n-арные отношения. Целостная часть описывает ограничения специального вида, которые должны выполняться для любых отношений в любых реляционных базах данных. Это целостность сущностей и целостность внешних ключей. Манипуляционная часть описывает два эквивалентных способа манипулирования реляционными данными - реляционную алгебру и реляционное исчисление. В основе реляционной модели данных лежит понятие отношения. Отношение представляется в виде двумерной таблицы, на которую накладываются определенные ограничения. Столбец таблицы соответствует понятию атрибута отношения, строка – понятию кортежа отношения. Множество возможных значений, которые могут появляться в столбце таблицы понятию домена, на котором определен соответствующий атрибут. Ключ отношения – один или несколько атрибутов, значения которых однозначно идентифицируют любой кортеж отношения. В реляционной модели данных акцентируется понятие функциональной зависимости не ключевых атрибутов отношения от ключа в том смысле, что для определенного значения ключевых атрибутов каждый не ключевой атрибут имеет вполне определенное, единственное значение. Обязательность наличия ключа приводит к важному свойству – в отношении не может быть двух одинаковых кортежей. Отношения должны быть нормализованы: должны быть исключены составные атрибуты; атрибуты не должны иметь множественное значение в одном кортеже; должны быть исключены частичные, транзитивные и другие специфические зависимости между не ключевыми атрибутами, между не ключевыми атрибутами и ключом. Нормализация отношения это: исключение частичных зависимостей атрибутов внутри отношения; преобразование отношения путем разбиения на более простые с целью исключения зависимостей, вызывающих проблемы с однозначным определением значений атрибутов; Требование нормализации отношений направлено на обеспечение такой их структуры, которая исключает некорректное обновление значений некоторых атрибутов (аномалия обновления) и ошибки в выполнении определенных операций выборки. ПЕРВАЯ НОРМАЛЬНАЯ ФОРМА (1НФ) Отношение удовлетворяет первой нормальной форме (1НФ), если все его атрибуты атомарны (неделимы), т.е. среди атрибутов нет составных или с множественными значениями. ВТОРАЯ НОРМАЛЬНАЯ ФОРМА (2НФ) Отношение удовлетворяет второй нормальной форме (2НФ), если удовлетворяет 1НФ и не содержит атрибутов, зависящих от части ключа. оно Или Отношение удовлетворяет второй нормальной форме (2НФ), если все его не ключевые атрибуты функционально полно зависят от ключа. ТРЕТЬЯ НОРМАЛЬНАЯ ФОРМА (3НФ) Отношение удовлетворяет третьей нормальной форме (3НФ), если оно удовлетворяет 2НФ, и среди его не ключевых атрибутов нет зависящих от другого не ключевого атрибута (нет атрибутов, транзитивно зависящих от ключа). Операциям реляционной алгебры соответствуют простые типовые задачи по обработке данных и при наличии СУБД, реализующих эти операции, программистам облегчается задача проектирования приложений, а при создании соответствующего интерфейса даже конечные пользователи могут непосредственно обращаться к реляционным базам данных с простыми информационными запросами. 30. Операции реляционной алгебры. Реляционное исчесление Восемь основных операций над модели данных: отношениями реализуются в реляционной пять традиционных операций над множествами - объединение, пересечение, разность, декартово произведение, деление; три специальные реляционные операции – проекции, выбора (селекции) и соединения. Объединением двух совместимых по объединению отношений R1 и R2 является отношение R3, содержащее множество всех кортежей, принадлежащих или R1, или R2, или обоим вместе. Пересечением двух совместимых по объединению отношений R1 и R2 является отношение R3, содержащее кортежи, принадлежащие как R1, так и R2. Разностью двух совместимых по объединению отношений R1 и R2 является отношение R3, кортежи которого принадлежат R1, но не принадлежат R2 (т.е. кортежи из R1, которых нет в R2). Декартовым произведением отношения А со схемой ( A1, A2 , ..., An ) и отношения В ( B1, B2 , ..., Bm ) со схемой является отношение С, со схемой ( A1 , A2 , ..., An , B1, B2 , ..., Bm ) равной объединению схем отношений А и В, кортежи которого получены путем конкатенации (присоединения) каждого кортежа отношения В с каждым кортежем отношения А. Операция деления одного отношения (делимого) на другое отношение (делитель) может быть выполнена, если все множество атрибутов схемы делителя является подмножеством атрибутов схемы делимого. Результирующее отношение содержит только те атрибуты делимого, которых нет в делителе. В него включаются только те кортежи, декартово произведение которых с делителем содержится в делимом (является подмножеством делимого). Проекция – это операция построения нового отношения путем выбора одних и исключения других атрибутов из исходного отношения. Выбор (селекция) – операция получения нового отношения с той же схемой, что и исходное отношение, но, кортежи которого являются подмножеством кортежей исходного. В него включаются только те кортежи исходного отношения, значения определенных атрибутов которых удовлетворяют заданным ограничениям. Соединением отношения А по атрибуту Х с отношением В по атрибуту Y называется множество всех кортежей, являющихся конкатенацией таких кортежей а А и кортежей b В, для которых выполняется условие Х Y (под понимается одна из операций сравнения , , , , , ). Х и Y должны быть определены на одном и том же домене. 31. Языки манипулирование данными SQL и QBE (общие сведения) SQL (Structured Query Language — «язык структурированных запросов») — универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных. SQL основывается на реляционной алгебре. SQL является, прежде всего, информационно-логическим языком, предназначенным для описания хранимых данных, для извлечения хранимых данных и для модификации данных. SQL не является языком программирования. (Вместе с тем стандарт языка спецификацией SQL/PSM предусматривает возможность его процедурных расширений.) Изначально, SQL был основным способом работы пользователя с базой данных и представлял собой небольшую совокупность команд (операторов) допускающих создание таблиц, добавление в таблицы новых записей, извлечение записей из таблиц (в соответствии с заданным условием), удаление записей и изменение структур таблиц. В связи с усложнением язык SQL стал более прикладным языком программирования, а пользователи получили возможность использовать визуальные построители запросов. Язык SQL представляет собой совокупность операторов. Операторы SQL делятся на: операторы определения данных (Data Definition Language, DDL) операторы манипуляции данными (Data Manipulation Language, DML) операторы определения доступа к данным (Data Control Language, DCL) операторы управления транзакциями (Transaction Control Language, TCL) SELECT Команда SELECT предназначена для извлечения строк данных из одной или нескольких таблиц и имеет в общем случае следующий синтаксис: SELECT column,... [FROM table WHERE definition] [ORDER BY col_name [ASC | DESC], ...] [LIMIT [offset], rows] Здесь column - имя выбираемого столбца. Можно указать несколько столбцов через запятую. Если необходимо выбрать все столбцы можно просто указать знак звёздочки *. Ключевое слово FROM указывает таблицу table из которой извлекаются записи. Ключевое слово WHERE определяет, так же как и в операторе DELETE определяет условия отбора строк. Ключевое слово ORDER BY сортирует строки запросов по столбцу col_name в прямом (ASC) или обратном порядке (DESC). Ключевое слово LIMIT сообщает MySQL об выводе только rows запросов начиная с позиции offset. Оператор LIMIT используется для ограничения количества строк, возвращенных командой SELECT. CREATE TABLE Команда CREATE TABLE создает новую таблицу в выбранной базе данных и которая в простейшем случае имеет следующий синтаксис: CREATE TABLE table_name [(create_definition, ...)] Здесь table_name - имя создаваемой таблицы. Создадим первую таблицу базы данных forum, которая называется authors и содержит различные данные об зарегистрированных посетителях форума: ник (name), пароль (passw), e-mail (email), Web-адрес сайта посетителя (url), номер ICQ (iсq), сведения об посетителе (about), строку содержащую путь к файлу фотографии посетителя (photo), время добавления запроса (time), последнее время посещения форума (last_time), статус посетителя - является ли он модератором, администратором или обычным посетителем (statususer). Кроме перечисленных полей в таблице имеется поле id_author, являющийся первичным ключом таблицы. SQL-запрос, создающий эту таблицу приведен в листинге: mysql> CREATE TABLE authors ( id_author int(6) NOT NULL auto_increment, name text, passw text, email text, url text, iсq text, about text, photo text, time datetime default NULL, last_time datetime default NULL, themes int(10) default NULL, statususer int(2) default NULL, PRIMARY KEY (id_author) ) TYPE=MyISAM; Выполнив SQL-команду SHOW TABLES, можно убедиться, что таблица authors успешно создана. 37. Проектирование баз данных. Проектирование с использованием метода сущность – связь, средства поддержки проектирования (ERWin). Проектирование баз данных — процесс создания схемы базы данных и определения необходимых ограничений целостности Модель «сущность-связь» (англ. “Entity-Relationship model”) или ER-модель является наиболее известным представителем класса семантических (концептуальных, инфологических) моделей предметной области. ER-модель обычно представляется в графической форме Основные преимущества ER-моделей: наглядность; модели позволяют проектировать базы данных с большим количеством объектов и атрибутов; ER-модели реализованы во многих системах проектирования баз данных (например, ERWin). Основные элементы ER-моделей: объекты (сущности); атрибуты объектов; связи между объектами. автоматизированного Сущность — объект предметной области, имеющий атрибуты. Связь между сущностями характеризуется: типом связи (1:1, 1:N, N:М); классом принадлежности. Класс может быть обязательным и необязательным. Если каждый экземпляр сущности участвует в связи, то класс принадлежности — обязательный, иначе — необязательный. 38. Традиционные методики проектирования БД, современная интеграционная методика проектирования. 39. Проектирование системы баз данных на принципах единой информационной среды. & 43. Единая информационная среда. Под информационной средой будем понимать систему, объединяющую: - корпоративную технологические вычислительную аспекты ИКТ сеть, обеспечивающую (собственно сеть, технические и компьютеризированные рабочие места и аудитории) - информационные ресурсы (собственные и внешние) и сервисы, используемые в управлении, в собственно образовательной и научно-исследовательской деятельности - программное обеспечение (базовое, системное, специальное) Функционирование, а тем более развитие, любого направления деятельности в настоящее время не мыслимо без широкого использования информационнокоммуникационных технологий (ИКТ), поэтому вопросы развития информационной среды (ИС) университета охватывают не только 5 и 8, но все другие направления ИОП и имеют первостепенное значение. Особенности вуза, влияющие на создание современной ИС 1) вуз имеет в функциональной части (логистике) специфические образовательную, научно-исследовательскую и административно-хозяйственную сферы деятельности (уникальное оборудование и программы); 2) информация является и ресурсом и инструментом и результатом деятельности, в связи с чем, появляется два вида взаимосвязанных информационных ресурсов – для управления и для технологии (собственно деятельности), определяется особая роль документа как основного носителя информации и все возрастающая роль менеджмента знаний (интеграция); 3) основными объектами информационной модели являются личности, они также могут выступать и как исходный ресурс, и как предмет (объект) деятельности, и как производитель (субъект) и как конечный продукт деятельности (интеграция); 4) кадровый состав сотрудников таков, что значительная часть имеет возраст 50 и более лет и недостаточность состава от 30 до 50 лет (повышение квалификации как базовой, так и специальной). 40. Современные направления использования баз данных. Новые направления использования БД связаны, в основном: - с повсеместным использованием корпоративных и глобальных вычислительных сетей; - со значительной «историей» функционирования информационных систем. Первое направление (работа в сети), в свою очередь, связано: - с проблемами параллельной (одновременной) работы многих, удаленных приложений (пользователей) с одной и той же БД (новые проблемы комплексного использования информации, теперь уже баз данных); - со стремлением повышения надежности и эффективности работы информационных систем за счет распределения данных и их обработки между узлами сети. Второе направление (накопление информации) приводит: - к необходимости интеграции данных и приложений созданных в разные периоды времени, в различных информационно-программных средах (ОС, СУБД, инструментальных средствах); - к новым подходам к использованию «исторических» данных (Warehouse , OLAP , Data Mining , Management knowledge) Проблема одновременной (параллельной) работы пользователей с одной БД прежде всего связывается с реализацией файл-серверной и клиент-серверной технологиями удаленной работы с БД. В обоих случаях это сетевая технология с выделением в сети сервера – спец компьютер с большой памятью, где размещается БД, но: Технология файл-сервер При обращении программы к данным БД сервера ВСЯ БД передается ПО СЕТИ на рабочую станцию, где и осуществляется обработка (как правило отбор необходимой информации из большой БД). В итоге, кроме того, что рабочая станция д.б. достаточно мощным ПК (СУБД там работает) и просмотр большого числа записей БД - ПЕРЕГРУЗКА СЕТИ. Технология клиент-сервер Программа на рабочей станции (клиентская часть) обращается к БД (к SQL-серверу). с запросом, как правило на языке SQL - это м.б. несколько десятков строк. Выборка данных осуществляется на мощной машине сервера с помощью серверной части – программы СУДБ (MS SQL, MySQL и др.) и возвращается ответ – м.б. один или несколько экранов. В итоге, сеть не загружена, рабочая станция м.б.не такой мощной, проще организовать распределенную обработку и защиту данных, оптимизировать работу БД Проблема файл-серверной технологии – перегрузка сети и необходимость мощной рабочей станции (компьютера пользователя) в связи с тем, что БД целиком перемещается по сети к каждой рабочей станции и вся обработка осуществляется на ней. При стандартной 2-х уровневой технологии клиент- сервер основная обработка осуществляется на сервере (как правило – SQL-сервер) – все, что можно «выжать» из SQL – делается на мощной машине сервера. 41. Распределенные базы данных и распределенная обработка. Под распределенной (Distributed DataBase - DDB) обычно подразумевают базу данных, включающую фрагменты из нескольких баз данных, которые располагаются на различных узлах сети компьютеров, и, возможно управляются различными СУБД. Распределенная база данных выглядит с точки зрения пользователей и прикладных программ как обычная локальная база данных. В этом смысле слово "распределенная" отражает способ организации базы данных, но не внешнюю ее характеристику. Основная задача систем управления распределенными базами данных состоит в обеспечении средства интеграции локальных баз данных, располагающихся в некоторых узлах вычислительной сети, с тем, чтобы пользователь, работающий в любом узле сети, имел доступ ко всем этим базам данных как к единой базе данных При этом должны обеспечиваться: - простота использования системы; - возможности автономного функционирования при нарушениях связности сети или при административных потребностях; - высокая степень эффективности. Перечислим основные принципы создания и функционирования распределенных БД: прозрачность размещения распределенная БД данных должна для пользователя представляться точно так (пользователю же, как и нераспределенная); изолированность пользователей друг от друга (на работу одного пользователя с БД не должна влиять работа других пользователей с ней); синхронизация БД и непротиворечивость состояния данных в любой момент времени. Дадим более подробный перечень принципов распределенной БД, сформулированных К. Дейтом: 1.Локальная автономия. Это качество означает, что управление данными на каждом из узлов распределенной системы выполняется локально. База данных, расположенная на одном из узлов, является неотъемлемым компонентом распределенной системы. Будучи фрагментом общего пространства данных, она в то же время функционирует как полноценная локальная база данных, а управление ею осуществляется локально, независимо от других узлов системы. 2.Независимость узлов. Все узлы равноправны и независимы, а расположенные на них БД являются равноправными поставщиками данных в общее пространство данных. База данных на каждом из узлов полностью защищена от несанкциониро­ванного доступа. 3.Непрерывность операций. Это возможность непрерывного доступа к данным в рамках распределенной БД вне зависимости от их расположения и вне зависимости от операций, выполняемых на локальных узлах. 4.Прозрачность расположения. Пользователь, обращающийся к БД, ничего не должен знать о реальном, физическом размещении данных в узлах информационной системы. 5.Прозрачная фрагментация. Возможность распределенного (т. е. на различных узлах) размещения данных, логически представляющих собой единое целое. Существует фрагментация двух типов: горизонтальная и вертикальная. Первая означает, что строки таблицы хранятся на различных узлах. Вторая означает распределение столбцов логической таблицы по нескольким узлам. 6.Прозрачное тиражирование. Тиражирование данных — это асинхронный процесс переноса изменений объектов исходной базы данных в базы, расположенные на других узлах распределенной системы. 7.Обработка распределенных запросов. Возможность выполнения операций выборки данных из распределенной БД, посредством запросов, сформулированных на языке SQL. 8.Обработка распределенных транзакций. Возможность выполне­ния операций обновления распределенной базы данных, не нарушающих целостность и согласованность данных. Эта цель достигается применением двухфазного протокола фиксации транзакций. 9.Независимость от оборудования. Это свойство означает, что в качестве узлов распределенной системы могут выступать компью­теры любых моделей и производителей. 10. Независимость от операционных систем. Это качество вытекает из предыдущего и означает многообразие распределенной системы. операционных систем, управляющих узлами 11. Прозрачность сети. Доступ к любым базам данных осуществляется по сети. Спектр поддерживаемых конкретной СУБД сетевых протоколов не должен быть ограничением системы, основан­ной на распределенной БД. 12. Независимость от СУБД. Это качество означает, что в распределенной системе могут работать СУБД различных производителей, и возможны операции поиска и обновления в базах данных различных моделей и форматов. Выделились несколько самостоятельных технологий распределенной обработки данных: * клиент-сервер; * реплицирования; * объектного связывания. Можно выделить следующие идеи, лежащие в основе технологии клиент-сервер: *общие для всех пользователей данные, расположенные на одном или нескольких серверах; * множество пользователей, осуществляющих доступ к общим данным. Одним из важнейших преимуществ архитектуры клиент-сервер яв­ляется снижение сетевого трафика при выполнении запросов. Клиент посылает запрос серверу на выборку данных, запрос обрабатывается сервером, и клиенту передается не вся таблица (как было бы в техно­логии файл-сервер), а только результат обработки запроса. Построение быстродействующих информационных систем обеспе­чивают технологии репликации данных. Репликой называют копию БД, размещенную на другом компьюте­ре сети для автономной работы пользователей. Основная идея репликации заключается в том, что пользователи работают автономно с общими данными, растиражированными по локальным базам данных. Производительность работы системы повышается из-за отсутствия необходимости обмена данными по сети. Для реализации технологии репликации программное обеспечение СУБД дополняется функциями тиражирования данных, их структуры, системной информации, информации о конфигурировании распределенной системы. Технология объектного связывания данных решает задачу обеспечения доступа из одной локальной БД, открытой одним пользователем, к данным другой локальной БД, возможно, находящейся на другом компьютере, открытой другим пользователем. 42. Понятие транзакции и параллельная обработка. OLTP, OLAP, Data Mining технологии. Под транзакцией понимается неделимая с точки зрения воздействия на БД последовательность операторов манипулирования данными (чтения, удаления, вставки, модификации) такая, что либо результаты всех операторов, входящих в транзакцию, отображаются в БД, либо воздействие всех этих операторов полностью отсутствует. При завершении транзакции фиксируются во оператором внешней памяти; COMMIT при результаты завершении гарантированно транзакции оператором ROLLBACK результаты гарантированно отсутствуют во внешней памяти. Типы транзакций: Неделимые транзакции - транзакции, в которых все действия выполняются до конца, либо ни одно из них не выполняется. Прерванные транзакции - транзакции, приведшие к отказу до внесения изменений в базу данных. OLTP (On-Line Transaction Processing) – системы оперативной обработки транзакций. OLTP-системы предназначены для ввода, структурированного хранения и обработки информации (операций, документов) в режиме реального времени. Использование: OLTP-приложениями охватывается широкий спектр задач во многих отраслях — автоматизированные банковские системы, банковские и биржевые операции, в промышленности — регистрация прохождения детали на конвейере, фиксация в статистике посещений очередного посетителя веб-сайта, автоматизация бухгалтерского, складского учёта и учёта документов и т. п. Приложения OLTP, как правило, автоматизируют структурированные, повторяющиеся задачи обработки данных, такие как ввод заказов и банковские транзакции. OLTP-системы проектируются, настраиваются и оптимизируются для выполнения максимального количества транзакций за короткие промежутки времени OLAP (англ. online analytical processing, аналитическая обработка в реальном времени) — технология обработки данных, заключающаяся в подготовке суммарной (агрегированной) информации на основе больших массивов структурированных по многомерному принципу. Причина использования OLAP для обработки запросов — это скорость. данных, Термин Data Mining обозначает не столько конкретную технологию, сколько сам процесс поиска посредством корреляций, различных тенденций, взаимосвязей математических и и закономерностей статистических алгоритмов: кластеризации, создания субвыборок, регрессионного и корреляционного анализа. Цель этого поиска — представить данные в виде, отражающем бизнес-процессы, а также построить модель, при помощи которой можно прогнозировать процессы, критичные для планирования бизнеса (например, динамику спроса на те или иные товары или услуги либо зависимость их приобретения от каких-то характеристик потребителя). Data Mining – это процесс обнаружения в сырых данных ранее неизвестных, нетривиальных, необходимых практически для принятия полезных и решений в доступных различных интерпретации сферах знаний, человеческой деятельности. Суть и цель технологии Data Mining можно охарактеризовать так: это технология, которая предназначена для поиска в больших объемах данных неочевидных, объективных и полезных на практике закономерностей. Еще несколько определений понятия Data Mining. Data Mining – это процесс выделения из данных неявной и неструктурированной информации и представления ее в виде, пригодном для использования. Data Mining – это процесс выделения, исследования и моделирования больших объемов данных для обнаружения неизвестных до этого структур (patterns) с целью достижения преимуществ в бизнесе (определение SAS Institute). Data Mining – это процесс, цель которого - обнаружить новые значимые корреляции, образцы и тенденции в результате просеивания большого объема хранимых данных с использованием методик распознавания образцов плюс статистических и математических методов (определение Gartner Group). применение 44. Базы знаний. Развитие систем БД первоначально было мотивировано потребностью в эффективных средствах хранения, манипуляции и извлечения большого количества разнообразных данных. По достижению этих целей возникла дополнительная потребность: возможность задавать ИС правила, применяемые к хранимым фактам (данным), позволяющие выводить из них другие факты. Включение знаний в систему БД было подсказано исследованиями в области искусственного интеллекта (ИИ), которая занимается вопросом о том, как запрограммировать разумное поведение. Разработки в области ИИ включали исследования представлений логических правил, применяемых к данным. Экспертные системы — это особый раздел ИИ, посвященные представлению правил и процедур, которым следует специалист, решая задачи в конкретной предметной области. Экспертные системы — системы, моделирующие процесс принятия решений специалистами в разных предметных областях. Однако Экспертные системы не являются базами знаний, т.к. не обеспечивают полные возможности управления данными, присущие СУБД. Например, язык экспертных систем — язык ПРОЛОГ. Является мостом между БД и базами знаний. Он основан на исчислении предикатов, которые могут рассматриваться как реляционные таблицы, в нем также есть возможность выражения логики, которой пользуется человек, преобразуя факты из БД в информацию, помогающую принимать решения. Однако этот язык не обеспечивает необходимый набор возможностей СУБД —обработка транзакций, резервное копирование и восстановление, управление вспомогательными ЗУ. DATA-LOG и Logical Data Language (LDL, логический язык данных), расширенные версии ПРОЛОГа, призванные решить эти проблемы, находятся в стадии разработки. Система управления базами знаний. Система, обладающая всеми стандартными возможностями системы управления базой данных, касающихся хранения данных и манипуляций ими, а также средствами создания правил вывода, их хранения и применения к хранимым таблицам данных. Основанная на знаниях система. Альтернативный термин для системы управления базой знаний. Система базы знаний (СБЗ) — это компьютерная система, имеющая следующие составляющие: 1. БД, содержащая основные факты. 2. БД, содержащая правила, которые позволяют делать выводы из БД фактов. 3. Программное обеспечение, называемое системой управления базой знаний(СУБД), которое поддерживает обычные функции СУБД, а также управление процессом вывода а БД правил, оперирующих базой данных фактов. Наиболее активно развивающиеся области СБЗ: создание высокоскоростного оборудования, на котором выполняются операции с правилами; методы автоматического поддержания смысловой целостности баз знаний, в которых применяются правила, основанные на формальной логике, совершенствование способов применения логики рассуждениям о знаниях, содержащих неопределенности, предположения и время. Примеры: Факт, хранящийся в БД фактов Поставщик Иванов находится в Томске Информация более высокого уровня: Поставщик Иванов надежен Второе основано на выводах, полученных на основе разных данныхфактов (сопоставление дат закупок и дат поставок, и т.д.). к 45. Хранилища данных. Базы данных большого объема. Хранилище данных (англ. Data Warehouse) — предметно-ориентированная информационная база данных, специально разработанная и предназначенная для подготовки отчётов и бизнес-анализа с целью поддержки принятия решений в организации. Строится на базе систем управления базами данных и систем поддержки принятия решений. Данные, поступающие в хранилище данных, как правило, доступны только для чтения. Данные из OLTP-системы копируются в хранилище данных таким образом, чтобы построение отчётов и OLAP-анализ не использовал ресурсы транзакционной системы и не нарушал её стабильность. Как правило, данные загружаются в хранилище с определённой периодичностью, поэтому актуальность данных может несколько отставать от OLTP-системы. Принципы организации хранилища: 1. Проблемно-предметная ориентация. Данные объединяются в категории и хранятся в соответствии с областями, которые они описывают, а не с приложениями, которые они используют. 2. Интегрированность. Данные объединены так, чтобы они удовлетворяли всем требованиям предприятия в целом, а не единственной функции бизнеса. 3. Некорректируемость. Данные в хранилище данных не создаются: т.е. поступают из внешних источников, не корректируются и не удаляются. 4. Зависимость от времени. Данные в хранилище точны и корректны только в том случае, когда они привязаны к некоторому промежутку или моменту времени. Существуют два архитектурных направления – нормализованные хранилища данных и хранилища с измерениями. В нормализованных ориентированных хранилищах, таблицах третьей данные нормальной находятся формы. в предметно Нормализованные хранилища характеризуются как простые в создании и управлении, недостатки нормализованных хранилищ – большое количество таблиц как следствие нормализации, из-за чего для получения какой-либо информации нужно делать выборку из многих таблиц одновременно, что приводит к ухудшению производительности системы. Хранилища с измерениями используют схему «звезда» или схему «снежинка». При этом в центре «звезды» находятся данные (Таблица фактов), а измерения образуют лучи звезды. Различные таблицы фактов совместно используют таблицы измерений, что значительно облегчает операции объединения данных из нескольких предметных таблиц фактов (Пример – факты продаж и поставок товара). Таблицы данных и соответствующие измерениями образуют архитектуру «шина». Измерения часто создаются в третьей нормальной форме, в том числе, для протоколирования изменения в измерениях. Основным достоинством хранилищ с измерениями является простота и понятность для разработчиков и пользователей, также, благодаря более эффективному хранению данных и формализованным измерениям, облегчается и ускоряется доступ к данным, особенно при сложных анализах. Основным недостатком является более сложные процедуры подготовки и загрузки данных, а также управление и изменение измерений данных. Сверхбольшая база данных (англ. Very Large Database, VLDB) — это база данных, которая занимает чрезвычайно большой объём на устройстве физического хранения. Термин подразумевает максимально возможные объёмы БД, которые определяются последними достижениями в технологиях физического хранения данных и в технологиях программного оперирования данными.