Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Информационны единицы баз данных
Объектами обработки СУБД являются следующие информационные единицы. Поле - элементарная единица логической организации данных, которая соответствует неделимой единице информации - реквизиту. Запись - совокупность логически связанных полей. Экземпляр записи - отдельная реализация записи, содержащая конкретные значения ее полей. Таблица - упорядоченная структура, состоящая из конечного набора однотипных записей. Первичный ключ - поле или группа полей, позволяющие однозначным образом определить каждую строку в таблице. Первичный ключ должен обладать двумя свойствами: Однозначная идентификация записи: запись должна однозначно определяться значением ключа. Отсутствие избыточности: никакое поле нельзя удалить из ключа, не нарушая при этом свойства однозначной идентификации. Кроме первичного, могут использоваться так называемые простые (или вторичные) ключи таблицы. Простых ключей может быть множество. Они используются при упорядочивании (индексировании) таблиц. Иерархические базы данных могут быть представлены как дерево, состоящее из объектов различных уровней. Верхний уровень занимает один объект, второй — объекты второго уровня и т. д. Между объектами существуют связи, каждый объект может включать в себя несколько объектов более низкого уровня. Такие объекты находятся в отношении предка (объект более близкий к корню) к потомку (объект более низкого уровня), при этом возможна ситуация, когда объект-предок не имеет потомков или имеет их несколько, тогда как у объекта-потомка обязательно только один предок. Объекты, имеющие общего предка, называются близнецами. Структурная часть иерархической модели Основными информационными единицами в иерархической модели данных являются сегмент и поле. Поле данных определяется как наименьшая неделимая единица данных, доступная пользователю. Для сегмента определяются тип сегмента и экземпляр сегмента. Экземпляр сегмента образуется из конкретных значений полей данных. Тип сегмента — это поименованная совокупность входящих в него типов полей данных. Как и сетевая, иерархическая модель данных базируется на графовой форме построения данных, и на концептуальном уровне она является просто частным случаем сетевой модели данных. В иерархической модели данных вершине графа соответствует тип сегмента или просто сегмент, а дугам — типы связей предок — потомок. В иерархических структуpax сегмент — потомок должен иметь в точности одного предка. Иерархическая модель представляет собой связный неориентированный гpaф древовидной структуры, объединяющий сегменты. Иерархическая БД состоит из упорядоченного набора деревьев.
ВОПРОС Теория баз данных — сравнительно молодая область знаний. Возраст ее составляет немногим более 30 лет. Однако изменился ритм времени, оно уже не бежит, а летит, и мы вынуждены подчиняться ему во всем. Поэтому столь молодая область знаний является практически обязательной для изучения студентами всех технических специальностей. В соответствии с новыми стандартами учебная дисциплина «Базы данных» включена в стандарты всех специальностей, связанных с подготовкой специалистов по вычислительной технике. В остальные технические специальности раздел, посвященный базам данных, включен в общий курс информатики и вычислительной техники.
И действительно, современный мир информационных технологий трудно представить себе без использования баз данных. Практически все системы в той или иной степени связаны с функциями долговременного хранения и обработки информации. Фактически информация становится фактором, определяющим эффективность любой сферы деятельности. Увеличились информационные потоки и повысились требования к скорости обработки данных, и теперь уже большинство операций не может быть выполнено вручную, они требуют применения наиболее перспективных компьютерных технологий. Любые административные решения требуют четкой и точной оценки текущей ситуации и возможных перспектив ее изменения. И если раньше в оценке ситуации участвовало несколько десятков факторов, которые могли быть вычислены вручную, то теперь таких факторов сотни и сотни тысяч, и ситуация меняется не в течение года, а через несколько минут, а обоснованность принимаемых решений требуется большая, потому что и последствия неправильных решения более серьезные, более критичные и несущие большой ущерб производству. И, конечно, обойтись без информационной модели производства, хранимой в базе данных, в этом случае невозможно.
Настоящее учебное пособие составлено по материалам различных лекционных курсов, посвященных основам теории баз данных, языку SQL и серверам баз данных, а за основу принят курс, читавшийся в Государственном Санкт-Петербургском университете аэрокосмического приборостроения студентам дневной формы обучения и слушателям курсов повышения квалификации, а также слушателям второго высшего образования в данном университете и в Государственном техническом университете (Политехническом институте). В него включены разделы по распределенной обработке данных с использованием технологии «клиент—сервер», которые могут быть использованы для дальнейшего освоения современной теории и практики работы с базами данных.
Учебное пособие полностью соответствует требованиям стандарта по дисциплине «Базы данных» для всех вычислительных специальностей, а также для бакалавров по направлению 5528 «Информатика и вычислительная техника» и 050703 " Информационные системы".
Курс лекций состоит из 14 тем. Он может быть использован для самостоятельного освоения курса «Базы данных» и подготовке к сдаче экзамена или как дополнение к лекционным курсам, читаемым в высших учебных заведениях.
Первая тема курса посвящена истории возникновения области знаний, связанной с базами данных, в данной теме выделены основные этапы развития теории и практики баз данных, даются сравнительные характеристики этих этапов.
Вторая тема знакомит нас непосредственно с базами данных, здесь даются понятия и определения, являющиеся ключевыми для данной области знаний. Здесь рассматривается классическая трехуровневая архитектура, используемая в системах баз данных, упрощенный процесс прохождения запроса в базах данных и, наконец, приводится классификация моделей, используемых в системах баз данных.
Третья тема посвящена первым теоретико-графовым моделям, которые использовались в ранних системах управления базами данных.
В теме четвертой начинается обсуждение современной реляционной модели, которая является основой практически для всех коммерческих систем управления базами данных (СУБД) и наиболее распространена в настоящий момент. В этой же теме дается описание первого языка манипулирования данными, предложенного для данной модели ее создателем американским математиком Е.Ф. Коддом — реляционной алгебры.
Пятая тема полностью посвящена современному стандартному языку работы с базами данных, языку SQL. Язык SQL является сейчас стандартным базовым языком по работе с базами данных, любое собеседование, при приглашении вас на работу, связанную с информационными технологиями, включает решение нескольких запросов на языке SQL. Мне кажется, что пятая тема данного пособия может помочь научиться писать правильные запросы на языке SQL самостоятельно. Мои студенты учились на примерах, которые приведены в данной теме и те из них, кто успешно решал приведенные примеры, также успешно сдали собеседования в ведущих зарубежных и отечественных фирмах, связанных с разработкой информационных систем. Я желаю и вам, мои читатели, таких же успехов.
Шестая тема посвящена вопросам проектирования баз данных, в ней рассматриваются базовые понятия функциональных и многозначных зависимостей между свойствами объектов, которые моделируются в базе данных. База данных — это фундамент Вашей будущей информационной системы и от того, как он будет построен, зависит во многом успех всей информационной системы, которая будет строиться на данном фундаменте. От корректности и продуманности структуры спроектированной базы данных зависит успех решения не только текущих информационных задач, но и перспективы развития и наращивания системы.
Седьмая тема посвящена семантическим или инфологическим моделям, используемым в современных программных системах поддержки проектирования, называемых CASE-системами (Computer Aided Software Engineering).
Восьмая тема посвящена принципам поддержки целостности в базах данных. Понятие целостности — одно из базовых понятий в современных базах данных. Принципы целостности составляют набор некоторых правил, которые выполняются автоматически при работе с данной базой данных. При грамотном составлении этих правил мы избавляем операторов, которые работают с базой данных, а также разработчиков приложений от дополнительного контроля за правильностью и взаимосвязанностью вводимой в базу данных информации. Эти функции теперь выполняет сама СУБД, она контролирует вводимые и удаляемые данные, она не допускает ввода некорректной информации.
Тема 9 посвящена физическим моделям баз данных. В этом разделе описываются основные файловые конструкции, применяемые при создании баз данных.
Тема 10 посвящена вопросам распределенной обработки данных, здесь рассматриваются модели клиент-сервер, применяемые в системах баз данных.
Тема 11 посвящена понятию транзакции, которое является базовым при выполнении параллельных запросов к базам данных. Рассматриваются две базовые модели транзакций: модель ANSI и расширенная модель транзакций, подробно рассматриваются проблемы, выполняемые при параллельном выполнении транзакций.
В теме 12 рассматриваются дополнительные возможности языка SQL, которые используются при разработке хранимых процедур и приложений, работающих с базами данных, а также принципы трансляции операторов языка SQL, порядок трансляции и выполнения SQL-запросов.
Тема 13 посвящена вопросам защиты информации в базах данных. Понятие защиты информации в базах данных чаще всего связано с концепцией защиты от несанкционированного доступа. В данной теме обсуждается общая концепция защиты информации, которая применяется в базах данных, вводится понятие пользователя и рассматриваются вопросы определения прав и привилегий пользователей по работе с отдельными объектами в базе данных.
Тема 14 посвящена рассмотрению обобщенной архитектуры современных баз данных, здесь рассматривается структура системных каталогов, основные функциональные блоки в современных серверах баз данных и их назначение. В этой теме обобщаются все сведения о базах данных, рассмотренные в предыдущих разделах.
В Заключении кратко характеризуются перспективы развития современных систем баз данных, дается перечень тех тем и вопросов, которые рекомендуется рассмотреть для дальнейшего более глубокого знакомства с теорией и практикой баз данных.
ВОПРОС СЕТЕВАЯ БАЗА ДАННЫХ
Почему локальные базы называют локальными? Да потому что с данными работает только один пользователь и потому что база данных и программа находятся на одном компьютере. В случае с небольшими проектами это нормально, но для больших объемов данных один оператор не справится с задачей и потребуется, чтобы несколько человек могли работать с общими данными.
Сетевые базы данных были призваны решить такие проблемы. В принципе, это те же локальные базы, только выложены они на сетевой диск сервера (это может быть простой файловый сервер или компьютер с шарами), и несколько клиентов обращаются к одной базе по сети.
Посмотрим, как происходит обращение к базе данных. Программа и драйвер находятся на клиенте, а данные находятся на сервере или просто на удаленном компьютере. Как программа получает данные? Клиент передает драйверу SQL-запрос, который должен быть выполнен, но данные-то находятся удаленно! Чтобы отработать запрос, вся нужная таблица (в случае с Access - вся база данных, потому что все в одном файле) выкачивается на компьютер клиента, где драйвер обрабатывает данные.
Я бы побил того, кто придумал такую технологию, потому что это самое настоящее издевательство над системой. Представляешь, что будет, если надо выполнить запрос на базе данных в 1 Гб с телефонным соединением в 34 Кб/с? Это то же самое, что заставить
добывать нефть через трубочку для молочных коктейлей.
А ведь некоторые российские компании (не будет показывать пальцем) предоставляли нам сетевые решения на основе dbf-файлов в области бухгалтерии, делопроизводства и экономики. Это уже издевательство. Меня несколько раз просили восстановить умершие базы складской программы, после того как встроенные в программу средства не справлялись с задачей.
Но страшнее всего начали вести себя индексы. У таблиц Paradox, если они находились на расшаренном диске Win95, мне приходилось ремонтировать индексы как минимум раз в неделю. Когда я убрал файлы базы данных на сетевой диск сервера NetWare 3.11 (это был где-то 1998 год), проблемы с нарушением индексации сразу исчезли (наверное, потому что это действительно сервер, а не корявый Windows 9x).
При сетевом соединении многополь-зование получалось неполное. Изменения одного пользователя не были видны другим, приходилось перезапускать программу или пересоединяться, потому что именно в момент коннекта программа сосет все данные Объектно-ориентированная база данных (ООБД) — база данных, в которой данные моделируются в виде объектов, [1] их атрибутов, методов и классов.[2] Характеристики
Объектно-ориентированные базы данных обычно рекомендованы для тех случаев, когда требуется высокопроизводительная обработка данных, имеющих сложную структуру.
В манифесте ООБД[4] предлагаются обязательные характеристики, которым должна отвечать любая ООБД. Их выбор основан на 2 критериях: система должна быть объектно-ориентированной и представлять собой базу данных.
Обязательные характеристики Поддержка сложных объектов. В системе должна быть предусмотрена возможность создания составных объектов за счет применения конструкторов составных объектов. Необходимо, чтобы конструкторы объектов были ортогональны, то есть любой конструктор можно было применять к любому объекту. Поддержка индивидуальности объектов. Все объекты должны иметь уникальный идентификатор, который не зависит от значений их атрибутов. Поддержка инкапсуляции. Корректная инкапсуляция достигается за счет того, что программисты обладают правом доступа только к спецификации интерфейса методов, а данные и реализация методов скрыты внутри объектов. Поддержка типов и классов. Требуется, чтобы в ООБД поддерживалась хотя бы одна концепция различия между типами и классами. (Термин «тип» более соответствует понятию абстрактного типа данных. В языках программирования переменная объявляется с указанием ее типа. Компилятор может использовать эту информацию для проверки выполняемых с переменной операций на совместимость с ее типом, что позволяет гарантировать корректность программного обеспечения. С другой стороны класс является неким шаблоном для создания объектов и предоставляет методы, которые могут применяться к этим объектам. Таким образом, понятие «класс» в большей степени относится ко времени исполнения, чем ко времени компиляции.) Поддержка наследования типов и классов от их предков. Подтип, или подкласс, должен наследовать атрибуты и методы от его супертипа, или суперкласса, соответственно. Перегрузка в сочетании с полным связыванием. Методы должны применяться к объектам разных типов. Реализация метода должна зависеть от типа объектов, к которым данный метод применяется. Для обеспечения этой функциональности связывание имен методов в системе не должно выполняться до времени выполнения программы. Вычислительная полнота. Язык манипулирования данными должен быть языком программирования общего назначения. Набор типов данных должен быть расширяемым. Пользователь должен иметь средства создания новых типов данных на основе набора предопределенных системных типов. Более того, между способами использования системных и пользовательских типов данных не должно быть никаких различий.
Необязательные характеристики: Множественное наследование Проверка типов Распределение Проектные транзакции
Открытые характеристики: Парадигмы программирования (процедурное, декларативное) Система представления Система типов Однородность. Реализация — язык программирования — интерфейс.
ВОПРОС
ВОПРОС |
Последнее изменение этой страницы: 2017-03-14; Просмотров: 1494; Нарушение авторского права страницы