23.История развития средств компьютерной обработки данных. Обоснование концепции баз данных, основные положения концепции. История возникновения и развития подхода к организации хранения и обработки баз данных насчитывает около 40 лет и связана с историей использования компьютеров. первый этап (50-е годы): на комп-ах выполнялись лишь вычислительные задачи небольшого объема. второй этап (60-е годы):переход к новому поколению ЭВМ и появление нового класса задач( информационные: Vисходн.данных>VОЗУ , не числовые данные(символьные);исходн.данные хранятся отдельно от программ;файл использ. многократно;результат оформляется в виде документа удобного для анализа). К концу 60-х создан новый подход к использованию данных – концепция БД. В сер.60-х было предложено использовать один файл для описания объектов одного типа, что повлекло за собой создание СУБД. 70-е годы: развитие теории БД( иерархическая, сетевая и реляционная модели данных), создание БД сложной структуры. 80-е годы: переход на использование ПК, что привело к использованию локальных БД пользователей. Появилось множество реляционных СУБД. 90-е годы: появление корпоративных вычислительных сетей, следов-но усиление принципа комплексного использования информации БД, переход к обеспечению доступа пользователей и программ к информации БД через запрос на языке SQL. Появ. СУБД (MsSQL, MySQL, DB2, ORACLE) База данных - Это динамическая информационная модель своей ПО, адекватно отражающая ее состояние в любой момент времени. Концептуальная модель ПО - Описание ПО с точки зрения того вида деятельности, для которого предназначается БД. Концептуальная модель ПО есть формальное описание объектов, их свойств и отношений. Базы данных применяются в информационных системах Основные черты концепции БД: данные отделяются от ПП, появляется специальная программная надстройка для управления данными, называемая системой управления базами данных (СУБД); СУБД управляет данными и служит посредником между ними и ПП; ПП упрощаются, освобождаются от функций структуризации, хранения и поиска данных; появляются стандартизированные данные – метаданные, управляемые СУБД; метаданные описывают информационные параметры и взаимосвязи фактографических данных о ПО; СУБД совместно с метаданными представляет собой стандартизированное инструментальное средство для моделирования ПО различной природы; происходит централизация (интеграция) данных, их многоаспектное использование для различных приложений, что сокращает избыточность данных, позволяет обеспечить более высокий уровень достоверности данных и оптимизировать различные процедуры ведения и использования БД 24. Архитектура представления информации в концепции баз данных. трехуровневое представления информации Внешние представления концептуальное представление - логическая структура БД в целом в ограничениях СУБД по структуре данных. Это то, как «видит» БД потенциальный пользователь; Концептуальное физическое представление - конкретное размещение представление значений данных в памяти (во внешней и в оперативной), способы и средства представления Физическое структурных характеристик (имен, размеров, адресов), представление установления связей между элементами структуры БД; внешнее представление - часть структуры БД, используемая в конкретном приложении (запрос, программа получения каких-то документов и т.п.). Физическая структура Файл 1 Шифр Место студента Файл 2 Шифр студента Дата рождения Ф.И.О. Файл 3 Шифр Дисциплина студента Пол рождения Номер Размер Адрес группы стипендии проживания Оценка Кол-во пропусков Рейтинг СВЕДЕНИЯ о неуспевающих студентах (количество) Возраст До 20 лет Более 20 лет Всего В том числе не получающих стипендию Внешнее представление Шифр Дата Размер Дисциплина Оценка студента рождения стипендии Концептуальное представление Общие сведения о студенте Шифр Дата Пол Размер Адрес про Ф.И.О Номер Место студента рождени стипендии живания группы рождени я я Сведения об учебе Дисциплина Оценка Кол-во пропусков Рейтинг 25. Понятие системы управления базами данных (СУБД). Для работы с данными используются системы управления базами данных (СУБД). Основные функции СУБД — это определение данных (описание структуры баз данных), обработка данных и управление данными. Прежде чем заносить данные в таблицы, нужно определить структуру этих таблиц. Под этим понимается не только описание наименований и типов полей, но и ряд других характеристик (например, формат, критерии проверки вводимых данных). Кроме описания структуры таблиц, обычно задаются связи между таблицами. Связи в реляционных базах данных определяются по совпадению значений полей в разных таблицах. Например, клиенты и заказы связаны отношением "один-ко-многим", т. к. одной записи в таблице, содержащей сведения о клиентах, может соответствовать несколько записей в таблице заказов этих клиентов. Если же рассмотреть отношение между преподавателями и курсами лекций, которые они читают, это будет отношение"многие-ко-многим", т. к. один преподаватель может читать несколько курсов, но и один курс может читаться несколькими преподавателями. И последний тип связей между таблицами — это отношение "один-к-одному". Такой тип отношений встречается гораздо реже. Как правило, это бывает в двух случаях: запись имеет большое количество полей, и тогда данные об одном типе объектов разносятся по двум связанным таблицам, или нужно определить дополнительные атрибуты для некоторого количества записей в таблице, тогда создается отдельная таблица для этих дополнительных атрибутов, которая связывается отношением "один-кодному" с основной таблицей. Любая СУБД позволяет выполнять четыре простейшие операции с данными: • добавлять в таблицу одну или несколько записей; • удалять из таблицы одну или несколько записей; • обновлять значения некоторых полей в одной или нескольких записях; • находить одну или несколько записей, удовлетворяющих заданному условию. Для выполнения этих операций используется механизм запросов. Результатом выполнения запросов является либо отобранное по определенным критериям множество записей, либо изменения в таблицах. Запросы к базе формируются на специально созданном для этого языке, который так и называется язык структурированных запросов (SQL — Structured Query Language). И последняя функция СУБД — это управление данными. Под управлением данными обычно понимают защиту данных от несанкционированного доступа, поддержку многопользовательского режима работы с данными и обеспечение целостности и согласованности данных. Защита от несанкционированного доступа обычно позволяет каждому пользователю видеть и изменять только те данные, которые ему разрешено видеть или менять. Средства, обеспечивающие многопользовательскую работу, не позволяют нескольким пользователям одновременно изменять одни и те же данные. Средства обеспечения целостности и согласованности данных не дают выполнять такие изменения, после которых данные могут оказаться несогласованными. Например, когда две таблицы связаны отношением "один-комногим", нельзя внести запись в таблицу на стороне "многие" (ее обычно называют подчиненной), если в таблице на стороне "один" (главной) отсутствует соответствующая запись. 26. Понятие и роль схемы и подсхемы. Описание концептуального и соответствующего ему физического представления (описание структуры БД) хранится автономно, называется схемой БД и создается до того, как начнет наполняться БД. Описание подмножества концептуального представления, которое соответствует внешнему представлению для некоторого приложения (описание части структуры БД, доступной программе обработки), называется подсхемой. Используя подсхему и схему, СУБД обеспечивает настройку приложения на работу с физической базой данных. Тем самым достигается универсализм СУБД по отношению соответствия внешнего представления – физическому, а значит, обеспечивается принцип независимости программ обработки от физической структуры БД. С другой стороны, программа обработки может получить только те данные и выполнять только те процедуры (чтения, а возможно обновления данных), которые указаны в ее подсхеме. Тем самым обеспечивается защита БД от несанкционированного доступа. Пользователь, проектируя обработку данных для получения требуемого результата, определяет требуемое внешнее представление как подмножество концептуального представления и в принципе может не знать физической организации БД. СУБД, «понимая» соответствие концептуального и физического представления и «зная» внешнее представление, определяет откуда физически надо выбрать требуемую информацию и в каком виде предоставить ее приложению (программе обработки или непосредственно конечному пользователю). Если осуществлена реорганизация (развитие) физической БД, меняется схема, но если из новой структуры БД возможно получить данные в соответствии с некоторой подсхемой, то программу, которой соответствует подсхема изменять не нужно – реализация принципа независимости программ от физической структуры БД. 27. База данных как средство отображения информационной модели предметной области. Особенность Концепции баз данных заключается в следующем: 1. Информационно описывается множество объектов некоторой предметной области. Это могут быть объекты самой различной природы (личности, предметы производства, научные исследования, некоторые явления и др.). Главное, что объекты в предметной области обладают (могут быть описаны) некоторыми свойствами (параметрами, характеристиками, показателями и т.п.). При этом для разных объектов значение одноименного параметра может быть различным, но выбирается из одного множества возможных значений, называемого словарем (классификатором, доменом). Естественное понятие однородных (однотипных) объектов с информационной точки зрения может быть формально определено как множество объектов, для которых имеет смысл одно и то же полное множество параметров. 2. При информационном моделировании на ЭВМ предметная область отображается в компьютерные данные следующим образом: каждому параметру объекта предметной области соответствует данное, значению параметра у конкретного объекта - значение данного в записи, соответствующей этому объекту. Идентификатор (имя, название и т.п.) объекта также представляется как данное, но данное особого назначения - оно идентифицирует и запись (входит в идентификатор) и называется ключевым данным записи (по крайней мере, входит в ключ); описание множества однотипных объектов с определенной стороны (по некоторой группе параметров) представляется в виде файла, причем одному объекту в файле соответствует одна либо несколько записей. Одному объекту предметной области будет соответствовать несколько записей в файле в том случае, если по упомянутой группе параметров необходимо хранить несколько экземпляров описаний (за разные периоды времени, по технологическим переходам и т.п.); полная информация об объектах предметной области (всестороннее описание объектов) хранится в системе взаимосвязанных файлов, называемой базой данных. Взаимосвязь файлов отражает взаимосвязь объектов разных типов и различных описаний внутри одного типа. Необходимость хранения и эффективного использования информационной модели предметной области явилась одной из основных (наряду с обеспечением независимости программ от структуры хранения данных) причин возникновения концепции БД и использования СУБД. В публикациях, связанных с теорией структуризации данных, нет четкого разделения понятий структуры и модели. Если иерархическую и сетевую структуры иногда представляют и как модели данных (без дополнительного пояснения), то всегда говорят о реляционной модели данных. Попытаемся выделить это различие в соответствующих определениях. Под структурой данных будем понимать совокупность информационных элементов и связей между ними. Под моделью данных будем понимать соответствующих тип структуры данных и типовые операции по управлению данными. Следует также заметить, что когда говорят о структуре данных как о модели данных, то имеют в виду логическую структуру, под которой понимают представление информационных элементов и связей между ними вне зависимости от способа их размещения в памяти компьютера. В противовес этому, под физической структурой понимают представление информационных элементов и связей между ними в памяти компьютера, вплоть до представления символов, а возможно и указателей связи битовыми кодами. 28. Модели данных. Классические модели данных (плоская, иерархическая, сетевая) К плоским структурам относятся массивы и последовательности. таблицы. Порядок следования (и, соответственно, выборки) элементов таких структур имеет линейный характер и соответствует порядку расположения элементов в памяти: один за другим без каких-либо промежутков. Адрес элемента соответствует его положению и определяется индексом — порядковым номером элемента в последовательности размещения. К элементу имеется прямой доступ, если известен его индекс. Особенностью линейной структуры является то, что при последовательной организации (размещении) она допускает возможность прямого доступа к произвольному элементу, поскольку условие однородности (однотипности) предполагает, что все элементы занимают расположенные строго последовательно области одинакового размера, что и позволяет достаточно просто вычислять значение физического адреса элемента по значению его индекса. Массив представляет собой совокупность однотипных элементов, причем число элементов массива известно до его размещения, что позволяет строить гибкие многомерные системы адресации. Последовательность, так же, как и массив, представляет собой совокупность однотипных элементов. Однако число элементов до размещения неизвестно. Таблица — это последовательности, обычно представляемые строками — совокупностями разнотипных элементов. Таблица — это множество записей, каждая из которых представляет набор поименованных полей. иерархическая В качестве примеров нелинейных структур рассмотрим списки, деревья и сети. Порядок следования (и, соответственно, выборки) элементов таких структур может не соответствовать порядку расположения элементов в памяти. Списки представляют собой пример линейного упорядочения, деревья — двумерного, сети — произвольного. Списки. Как и массив, список представляет собой совокупность однотипных элементов. Однако порядок выборки элементов может отличаться от порядка следования в памяти, определенного при размещении. Наиболее очевидный способ установления однонаправленного порядка выборки элементов — это сопоставить каждому элементу списка ссылку, указывающую на следующий элемент. Соответственно, для организации двунаправленного списка, допускающего также выборку в обратном порядке, каждый элемент должен иметь ссылку на предыдущий. Кроме того, число элементов списка может быть неизвестно до размещения, и до начала обработки (и, соответственно, размещения) необходимо считать длину списка бесконечной, что ведет к необходимости предусматривать специальную процедуру выделения/освобождения памяти. Таким образом, с точки зрения физической реализации элемент списка должен быть составным, включающим собственно информативные данные, несущие смысловое значение, и дополнительные данные (ссылки) Деревья. Дерево представляет собой иерархию элементов, называемых узлами. На самом верхнем уровне иерархии имеется только один узел — корень. Каждый узел, кроме корня, связан с одним узлом на более высоком уровне, называемым исходным узлом для данного узла. Каждый элемент имеет только один исходный. Каждый элемент может быть связан с одним или несколькими элементами на более низком уровне, которые называются порожденными. Элементы, расположенные в конце ветви, т. е. не имеющие порожденных, называются листьями. деревья здесь рассматриваются как средство и для логического, и для физического представления данных. В логическом описании данных они используются для определения связей между элементами структуры, а при определении физической организации данных — для определения набора указателей, реализующих связи между ними. Сетевые структуры В сетевой структуре любой элемент может быть связан с любым другим элементом. сетевую структуру можно описать с помощью исходных и порожденных элементов. Удобно представлять ее так, чтобы порожденные элементы располагались ниже исходных. При рассмотрении некоторых сетевых структур естественно говорить об уровнях. Во многих сетевых структурах, задающих связи между элементами, представление отношений между исходными и порожденными элементами аналогично представлению отношений в случае дерева: отношение исходный — порожденный является сложным (указывается сдвоенными стрелками), а отношение порожденный — исходный — простым (указывается одинарными стрелками). В некоторых случаях один элемент данных может быть связан сцелой совокупностью других элементов данных. Например, одно изделие может поставляться несколькими поставщиками, каждый из которых установил свою цену на это изделие. Элемент данных ЦЕНА не может быть ассоциирован только с элементом ИЗДЕЛИЕ или только с элементом ПОСТАВЩИК, а должен быть связан одновременно с двумя. данные, ассоциированные с совокупностью элементов, называют иногда данными пересечения. Некоторые структуры содержат циклы. Циклом считается ситуация, в которой предшественник узла является в то же время его последователем. Например, завод выпускает различную продукцию. Некоторые изделия производятся на других заводах-субподрядчиках. С одним контрактом может быть связано производство нескольких изделий. Представление этих отношений и образует цикл. Иногда элементы связаны с другими элементами того же типа. Такая ситуация называется петлей.