ИПЗ проектирование Баз данных. Тарасов М.С_ИПЗ_Проектирование баз данных. Российский государственный социальный университет итоговое практическое задание по дисциплине Проектирование баз данных
Скачать 45.84 Kb.
|
ИТОГОВОЕ ПРАКТИЧЕСКОЕ ЗАДАНИЕ по дисциплине «Проектирование баз данных» _____________________________________________________ (тема практического задания)
Москва 2022 Итоговое Практическое Задание. 1. Основные понятия представления баз данных Система - совокупность объектов, взаимодействующих между собой и с внешним окружением. Объект - нечто существенное и выделяемое из общего она, обладающее набором свойств, значения которых позволяют отделять один объект от другого. Сущность - отображение объекта в памяти человека или компьютера. Предметная область – подлежащая изучению и моделированию при помощи информационной системы часть реального мира, функционирующая как самостоятельная единица. База данных – поименованная совокупность структурированных и логически связанных данных, относящихся к определенной предметной области. 2. СУБД: определение, функции Система управления базами данных (СУБД, Database Management System - DBMS) – комплекс программных и языковых средств, необходимых для создания базы данных и последующей ее модификации – добавления, изменения, удаления, поиска и отбора информации, представления информации на экране и в печатном виде, разграничения прав доступа к информации, выполнения других операций с базой. Функции СУБД 1. Определение структуры создаваемой базы данных, ее инициализация и проведение начальной загрузки. 2. Предоставление пользователям возможности манипулирования данными (выборка необходимых данных. выполнение вычислений, разработка интерфейса ввода/вывода, визуализация). 3. Обеспечение независимости прикладных программ и данных (логической и физической независимости). 4. Защита логической целостности базы данных. 5. Защита физической целостности. Транзакция. 6. Управление полномочиями пользователей на доступ к базе данных. 7. Синхронизация работы нескольких пользователей. 8. Управление ресурсами среды хранения. 9. Поддержка деятельности системного персонала. 3. Банк данных Банк данных (Бнд) - это система специальным образом организованных данных (баз данных), программных, технических, языковых, организационно методических средств, предназначенных для обеспечения централизованного накопления и коллективного многоцелевого использования данных. 4. Транзакция - минимальная логически осмысленная операция, которая имеет смысл и может быть совершена только полностью. 5. Логическая целостность БД - непротиворечивость данных в базе. 6. Физическая целостность БД - сохранность информации на магнитных носителях и корректность форматов данных. 7. Централизованная архитектура: особенности построения и работы, достоинства и недостатки Централизованная архитектура вычислительных систем была распространена в 70-х и 80-х годах и реализовывалась на баземейнфреймов (например, IBM-360/370 или их отечественных аналогов серии ЕС ЭВМ), либо на базе мини-ЭВМ (например, PDP-11 или их отечественного аналога СМ-4). Характерная особенность такой архитектуры – полная "неинтеллектуальность"терминалов. Их работой управляет хост-ЭВМ. Достоинства такой архитектуры: · пользователи совместно используют дорогие ресурсы ЭВМ и дорогие периферийные устройства; · централизация ресурсов и оборудования облегчает обслуживание и эксплуатацию вычислительной системы; · отсутствует необходимость администрирования рабочих мест пользователей; Главным недостатком для пользователя является то, что он полностью зависит от администратора хост-ЭВМ. Пользователь не может настроить рабочую среду под свои потребности – все используемое программное обеспечение является коллективным. 8. Технология с сетью и файловым сервером (архитектура «файл – сервер»): особенности построения и работы, достоинства и недостатки Файл-серверные приложения – приложения, схожие по своей структуре с локальными приложениями и использующие сетевой ресурс для хранения программы и данных. · Функции сервера: хранения данных и кода программы. · Функции клиента: обработка данных происходит исключительно на стороне клиента. Организация информационных систем на основе использования выделенных файл-серверов все еще является распространенной в связи с наличием большого количества персональных компьютеров разного уровня развитости и сравнительной дешевизны связывания PC в локальные сети. Конечно, основным достоинством данной архитектуры является простота организации. Проектировщики и разработчики информационной системы находятся в привычных и комфортных условиях IBM PC в среде MS-DOS, Windows или какого-либо облегченного варианта Windows Server. Имеются удобные и развитые средства разработки графического пользовательского интерфейса, простые в использовании средства разработки систем баз данных и/или СУБД. Достоинства такой архитектуры: · многопользовательский режим работы с данными; · удобство централизованного управления доступом; · низкая стоимость разработки; · высокая скорость разработки; · невысокая стоимость обновления и изменения ПО. Недостатки: · проблемы многопользовательской работы с данными: последовательный доступ, отсутствие гарантии целостности; · низкая производительность (зависит от производительности сети, сервера, клиента); · плохая возможность подключения новых клиентов; · ненадежность системы. Простое, работающее с небольшими объемами информации и рассчитанное на применение в однопользовательском режиме, файл-серверное приложение можно спроектировать, разработать и отладить очень быстро [14]. Очень часто для небольшой компании для ведения, например, кадрового учета достаточно иметь изолированную систему, работающую на отдельно стоящем PC. Однако, в уже ненамного более сложных случаях (например, при организации информационной системы поддержки проекта, выполняемого группой) файл-серверные архитектуры становятся недостаточными. 9. Технология «клиент – сервер»: особенности построения и работы, достоинства и недостатки Клиент-сервер (Client-server) – вычислительная или сетевая архитектура, в которой задания или сетевая нагрузка распределены между поставщиками услуг (сервисов), называемых серверами, и заказчиками услуг, называемых клиентами [15]. Нередко клиенты и серверы взаимодействуют через компьютерную сеть и могут быть как различными физическими устройствами, так и программным обеспечением. Первоначально системы такого уровня базировались на классической двухуровневой клиент-серверной архитектуре (Two-tierarchitecture). Под клиент-серверным приложением в этом случае понимается информационная система, основанная на использовании серверов баз данных. На стороне клиента выполняется код приложения, в который обязательно входят компоненты, поддерживающие интерфейс с конечным пользователем, производящие отчеты, выполняющие другие специфичные для приложения функции. Клиентская часть приложения взаимодействует с клиентской частью программного обеспечения управления базами данных, которая, фактически, является индивидуальным представителем СУБД для приложения. Заметим, что интерфейс между клиентской частью приложения и клиентской частью сервера баз данных, как правило, основан на использовании языка SQL. Поэтому такие функции, как, например, предварительная обработка форм, предназначенных для запросов к базе данных, или формирование результирующих отчетов выполняются в коде приложения. Наконец, клиентская часть сервера баз данных, используя средства сетевого доступа, обращается к серверу баз данных, передавая ему текст оператора языка SQL. Посмотрим теперь, что же происходит на стороне сервера баз данных. В продуктах практически всех компаний сервер получает от клиента текст оператора на языке SQL. · Сервер производит компиляцию полученного оператора. · Далее (если компиляция завершилась успешно) происходит выполнение оператора. Разработчики и пользователи информационных систем, основанных на архитектуре "клиент-сервер", часто бывают неудовлетворены постоянно существующими сетевыми накладными расходами, которые следуют из потребности обращаться от клиента к серверу с каждым очередным запросом. На практике распространена ситуация, когда для эффективной работы отдельной клиентской составляющей информационной системы в действительности требуется только небольшая часть общей базы данных. Это приводит к идее поддержки локального кэша общей базы данных на стороне каждого клиента. Фактически, концепция локального кэширования базы данных является частным случаем концепции реплицированных баз данных. Как и в общем случае, для поддержки локального кэша базы данных программное обеспечение рабочих станций должно содержать компонент управления базами данных – упрощенный вариант сервера баз данных, который, например, может не обеспечивать многопользовательский режим доступа. Отдельной проблемой является обеспечение согласованности (когерентности) кэшей и общей базы данных. Здесь возможны различные решения – от автоматической поддержки согласованности за счет средств базового программного обеспечения управления базами данных до полного перекладывания этой задачи на прикладной уровень. Преимуществами данной архитектуры являются: · возможность, в большинстве случаев, распределить функции вычислительной системы между несколькими независимыми компьютерами в сети; · все данные хранятся на сервере, который, как правило, защищен гораздо лучше большинства клиентов, а также на сервере проще обеспечить контроль полномочий, чтобы разрешать доступ к данным только клиентам с соответствующими правами доступа; · поддержка многопользовательской работы; · гарантия целостности данных. Недостатки: · неработоспособность сервера может сделать неработоспособной всю вычислительную сеть; · администрирование данной системы требует квалифицированного профессионала; · высокая стоимость оборудования; · бизнес-логика приложений осталась в клиентском ПО. При проектировании информационной системы, основанной на архитектуре "клиент-сервер", большее внимание следует обращать на грамотность общих решений. Технические средства пилотной версии могут быть минимальными (например, в качестве аппаратной основы сервера баз данных может использоваться одна из рабочих станций). После создания пилотной версии нужно провести дополнительную исследовательскую работу, чтобы выяснить узкие места системы. Только после этого необходимо принимать решение о выборе аппаратуры сервера, которая будет использоваться на практике. Увеличение масштабов информационной системы не порождает принципиальных проблем. Обычным решением является замена аппаратуры сервера (и, может быть, аппаратуры рабочих станций, если требуется переход к локальному кэшированию баз данных). В любом случае практически не затрагивается прикладная часть информационной системы. Также данный вид архитектуры называют архитектурой с "толстым" клиентом. 10. Трехзвенная (многозвенная) архитектура «клиент – сервер»: особенности построения и работы, достоинства и недостатки Начало процессу развития корпоративного программного обеспечения в многозвенной архитектуре было положено еще в рамках технологии "клиент/сервер". В них наряду с клиентской частью приложения и сервером баз данных появились серверы приложений (Application Servers). В идеале: программа-клиент реализует GUI, передает запросы серверу приложений и принимает от него ответ, сервер приложений реализует бизнес-логику и обращается с запросами к серверу "третьего уровня" (например, серверу базы данных за данными), сервер третьего уровня обслуживает запросы сервера приложений. Программа-клиент, таким образом, может быть "тонкой". Преимущества такой архитектуры очевидны: изменения на каждом из звеньев можно осуществлять независимо; снижаются нагрузки на сеть, поскольку звенья не обмениваются между собой большими объемами информации; обеспечивается масштабирование и простая модернизация оборудования и программного обеспечения, поддерживающего каждое из звеньев, в том числе обновление серверного парка и терминального оборудования, СУБД и т.д.; Приложения могут создаваться на стандартных языках третьего или четвертого поколения (Java, C/C++). 11. Настольные СУБД Настольные СУБД используют в модели вычислений с сетью и файловым сервером (архитектура «файл-сервер»). Достоинства настольных СУБД: они являются простыми для освоения и использования; обладают дружественным пользовательским интерфейсом; ориентированы на класс ПК, на самую широкую категорию пользователей – непрофессионалов; обеспечивают хорошее быстродействие при работе с небольшими БД. Недостатки настольных СУБД: при росте объемов хранимых данных и увеличении числа пользователей снижается их производительность и могут возникать сбои при обработке данных; контроль за целостностью совершается внутри пользовательского приложения, что может вызывать нарушение целостности данных; очень малая эффективность работы в компьютерной сети. Известно более десятка настольных СУБД. Наиболее популярными, исходя из числа проданных копий признаются DBASE, Visual DBASE, Paradox, Microsoft FoxPro, Visual FoxPro, Access. 12. Серверные СУБД Наиболее эффективную работу с централизованной БД обеспечивает архитектура клиент/сервер. Клиент/серверная система состоит из множества компьютеров, объединенных в сеть. Компьютеры, называемые клиентами, занимаются обработкой прикладных программ. Компьютеры, называемые серверами, занимаются обработкой БД. На сервере сети размещается БД и устанавливается мощная серверная СУБД – сервер баз данных. Сервер БД – это программный компонент, обеспечивающий хранение больших объемов информации, ее обработку и представление ее пользователям в сетевом режиме. На компьютере-клиенте приложение-клиент формирует запрос к БД. Серверная СУБД обеспечивает интерпретацию запроса, его выполнение, формирование результата запроса и пересылку его по сети на клиентский компьютер. Клиентское приложение интерпретирует его необходимым образом и представляет пользователю. Клиентское приложение может также посылать запрос на обновление БД и серверная СУБД внесет необходимые изменения в БД. 13. Представления данных в базах данных: концептуальная модель, внешний и внутренний уровни Концепции многоуровневой архитектуры СУБД служат основой современной технологии БД. Эти идеи впервые были сформулированы в отчёте рабочей группы по базам данных Комитета по планированию стандартов Американского национального института стандартов (ANSI/X3/SPARC), опубликованному в 1975 г. В нем была предложена обобщенная трехуровневая модель архитектуры СУБД, включающая концептуальный, внешний и внутренний уровни. 14. Основные этапы проектирования БД Концептуальный уровень архитектуры ANSI/SPARC служит для поддержки единого взгляда на базу данных, общего для всех её приложений и независимого от них. Концептуальный уровень представляет собой формализованную информационно-логическую модель ПО. Описание этого представления называется концептуальной схемой. Внутренний уровень архитектуры поддерживает представление БД в среде хранения – хранимую базу данных. На этом архитектурном уровне БД представлена в полностью “материализованном” виде, тогда как на других уровнях идёт работа на уровне отдельных экземпляров или множества экземпляров записей. Описание БД на внутреннем уровне называется внутренней схемой или схемой хранения. Внешний уровень архитектуры БД предназначен для различных групп пользователей. Описания таких представлений называются внешними схемами. В системе БД могут одновременно поддерживаться несколько внешних схем для различных групп пользователей или задач. 15. Модель данных – это математическое средство абстракции, позволяющее отделить факты от их интерпретации и вместе с тем обеспечить развитые возможности представления соотношения данных. Модель данных – это комбинация трех составляющих: 1. набора типов структур данных; 2. набора операторов или правил вывода, которые могут быть применены к любым правильным примерам типов данных, перечисленных в (1), чтобы находить, выводить или преобразовывать информацию, содержащуюся в любых частях этих структур в любых комбинациях; 3. набора общих правил целостности, которые прямо или косвенно определяют множество непротиворечивых состояний БД и/или множество изменений её состояния. 16. Пользователи БД – это физическое или юридическое лицо, которое имеет доступ к БД и пользуется услугами информационной системы для получения информации. На каждом этапе развития базы данных (проектирование, реализация, эксплуатация, модернизация и развитие, полная реорганизация) с ней связаны разные категории пользователей. Существуют различные категории пользователей: Конечные пользователи. Это основная категория пользователей, в интересах которых создается БД. Администратор базы данных (АМД) – это лицо или группа лиц, отвечающих за выработку требований к базе данных, ее проектирование, создание, эффективное использование и сопровождение. Разработчики и администраторы приложений. Это группа пользователей, которая функционирует во время проектирования, создания и реорганизации БД. Администраторы приложений координируют работу разработчиков при разработке конкретного приложения или группы приложений, объединенных в функциональную подсистему. 17. Нормализация в БД. Нормальные формы - это метод проектирования базы данных, который позволяет привести базу данных к минимальной избыточности. 18. Критерии качества БД Современные базы данных являются одними из массовых специфических объектов в сфере информатизации, для которых в ряде областей необходимо особенно высокое качество и квали¬фицированное системное проектирование. При выполнении анализа безопасности систем баз данных целесообразно рассматривать два компонента: систему программ управления данными и совокупность данных, упорядоченных по некоторым правилам. Поэтому и при анализе качества системы баз данных выделяют два основных компонента: программные средства системы управления базой данных (СУБД), независимые от сферы их применения, структуры и смыслового содержания накапливаемых и обрабатываемых данных; информацию базы данных, доступную для накопления, упорядочивания, обработки и использования в конкретной проблемно-ориентированной сфере применения. Первым компонентом для системного анализа и требований к качеству является комплекс программ СУБД. Практически весь набор характеристик и атрибутов качества программных систем, изложенный в стандарте ISO 9126, в той или иной степени может использоваться при формировании требований к качеству СУБД. Особенности состоят в адаптации и изменении акцентов при выборе и упорядочении этих показателей. Во всех случаях важнейшими характеристиками качества СУБД являются требования к функциональной пригодности для процессов формирования и изменения информационного наполнения БД администраторами, а также доступа к данным и представления результатов пользователям БД. Качество интерфейса специалистов с БД, обеспечиваемого средствами СУБД, определяется, в значительной степени, субъективно, однако имеется ряд характеристик, которые можно оценивать достаточно корректно. В зависимости от конкретной проблемно-ориентированной области применения СУБД, приоритет при системном анализе требований к качеству может отдаваться различным конструктивным характеристикам: либо надежности и защищенности применения (финансовая сфера), либо удобству использования малоквалифицированными пользователями (социальная сфера), либо эффективности использования ресурсов (сфера материально-технического снабжения). Однако практически во всех случаях сохраняется некоторая роль ряда других конструктивных показа¬телей качества. Для каждого из них необходимо анализировать и определять его приоритет для конкретной сферы применения, меры и шкалы необходимых и допустимых характеристик качества. Вторым компонентом БД является собственно накапли¬ваемая и обрабатываемая информация. В системах баз данных доминирующее значение приобретают сами данные, их хранение и технология обработки. Применяемые требования и показатели качества должны быть практически значимы для обладателей информационных ресурсов и пользователей. Кроме того, каждый выделяемый показатель качества систем баз данных должен быть пригоден для достаточно достоверного оценивания или измерения, а также для сравнения с требуемым значением, определенным в техническом задании на проектирование системы. Характеристики качества систем баз данных можно разделить на функциональные и конструктивные. Функциональная пригодность баз данных при проектировании определяется на основании требований реальным значениям необходимых показателей и критериев качества. Особенно сложной эта задача является для больших и, как правило, распределенных баз данных, связанных с обработкой разнообразной и многоаспект-ной информацией об анализируемых объектах. Мерой качества функциональной пригодности может быть степень соответствия доступной пользователям информации целям создания, назначения и функциям системы баз данных. Функциональная пригодность систем баз данных также отражается следующими характеристиками: полнотой накопленных описаний объектов — относительным числом объектов или документов, имеющихся в БД, к общему числу объектов по данной тематике или по отношению к числу объектов в аналогичных БД того же назначения; идентичностью данных — относительным числом описаний объектов, не содержащих дефекты и ошибки, к общему числу документов об объектах в систем баз данных; актуальностью данных — относительным числом устаревших данных об объектах в ИБД к общему числу накопленных и обрабатываемых данных. К конструктивным характеристикам качества информации систем баз данных в целом можно отнести практически все показатели качества программных систем, представленных в стандарте ISO 9126. Требования к информации баз данных также должны со¬держать особенности обеспечения ее надежности, актуальности (достоверности), эффективности использования вычислительных ресурсов и приемлемого уровня сопровождения. Содержание и сущность этих конструктивных характеристик как базовых понятий и характеристик качества целесообразно использовать при проектировании информационных систем. Меры и шкалы для оценивания конструктивных характеристик в значительной степени могут применяться те же, что при анализе качества программных средств. Особо выделяются характеристики достоверности данных и защищенности информации. Актуальность (достоверность) данных — это степень соответствия информации об объектах в системе баз данных моделируемым реальным объектам в данный момент времени. Причинами нарушения актуальности данных являются изменения самих объектов, которые могут несвоевременно или некорректно отображаться в их образах в базах данных. При проектировании выбор и установление требований к актуальности баз данных можно оценивать по степени покрытия актуальными и достоверными данными состояния и изменения внешних объектов, которые они отражают. Важными показателями качества баз данных также являются объемно-временные характеристики обрабатываемых данных: объем базы данных — относительное число записей описаний объектов или документов в базе данных, доступных для хранения и обработки, по сравнению с полным числом реальных объектов во внешней среде; оперативность — степень соответствия динамики изменения описаний данных в процессе сбора и обработки состояниям реальных объектов или величина допустимого запаздывания между появлением или изменением характеристик реального объекта относительно его отражения в базе данных; глубина ретроспективы — максимальный интервал времени от даты выпуска и/или записи в базу данных самого раннего документа до настоящего времени; динамичность — относительное число изменяемых описаний объектов к общему числу записей в БД за некоторый интервал времени, определяемый периодичностью издания версий БД. Отдельно отметим такую характеристику как защищенность информации БД, которая реализуется, в основном, программными средствами СУБД, однако в сочетании с поддерживающими их средствами организации и защиты данных. Цели, назначение и функции защиты тесно связаны с особенностями функциональной пригодности каждой ИБД. При системном проектировании свойства защищать информацию баз данных от негативных воздействий описываются обычно составом и номенклатурой методов и средств, используемых для защиты от внешних и внутренних угроз. Косвенным показателем ее качества может служить относительная доля вычислительных ресурсов, используемых непосредственно средствами защиты информации БД. Основное внимание в практике обеспечения безопасности применения БД сосредоточено на защите от злоумышленных разрушений, искажений и хищений информации баз данных. Основой такой защиты является аудит доступа, а также контроль организации и эффективности ограничений доступа. В реальных системах баз данных должны учитываться последствия реализации угроз, источниками которых являются случайные, непредсказу¬емые, дестабилизирующие факторы или дефекты и отсутствуют 11епосредственно заинтересованные лица в подобных нарушениях. Качество защиты систем баз можно характеризовать величиной потенциального ущерба, риск возникновения которого при про¬явлении дестабилизирующих факторов и реализации конкретных угроз безопасности удается предотвратить или понизить. Также возможной характеристикой качества может выступать среднее время между возможными проявлениями угроз, преодолевающих защиту данных. 19. Классификация БД По типу хранимой информации БД делятся на документальные, фактографические и лексикографические. Среди документальных баз различают библиографические, реферативные и полнотекстовые. К лексикографическим базам данных относятся различные словари (классификаторы, многоязычные словари, словари основ слов и т. п.). В системах фактографического типа в БД хранится информация об интересующих пользователя объектах предметной области в виде «фактов» (например, биографические данные о сотрудниках, данные о выпуске продукции производителями и т.п.); в ответ на запрос пользователя выдается требуемая информация об интересующем его объекте (объектах) или сообщение о том, что искомая информация отсутствует в БД. В документальных БД единицей хранения является какой-либо документ (например, текст закона или статьи), и пользователю в ответ на его запрос выдается либо ссылка на документ, либо сам документ, в котором он может найти интересующую его информацию. БД документального типа могут быть организованы по- разному: без хранения и с хранением самого исходного документа на машинных носителях. К системам первого типа можно отнести библиографические и реферативные БД, а также БД- указатели, отсылающие к источнику информации. Системы, в которых предусмотрено хранение полного текста документа, называются полнотекстовыми. В системах документального типа целью поиска может быть не только какая-то информация, хранящаяся в документах, но и сами документы. Так, возможны запросы типа «сколько документов было создано за определенный период времени» и т. п. Часто в критерий поиска в качестве признаков включаются «дата принятия документа», «кем принят» и другие «выходные данные» документов. Специфической разновидностью баз данных являются базы данных форм документов. Они обладают некоторыми чертами документальных систем (ищется документ, а не информация о конкретном объекте, форма документа имеет название, по которому обычно и осуществляется его поиск), и специфическими особенностями (документ ищется не с целью извлечь из него информацию, а с целью использовать его в качестве шаблона). В последние годы активно развивается объектно- ориентированный подход к созданию информационных систем. Объектные базы данных организованы как объекты и ссылки к объектам. Объект представляет собой данные и правила, по которым осуществляются операции с этими данными. Объект включает метод, который является частью определения объекта и запоминается вместе с объектом. В объектных базах данных данные запоминаются как объекты, классифицированные по типам классов и организованные в иерархическое семейство классов. Класс - коллекция объектов с одинаковыми свойствами. Объекты принадлежат классу. Классы организованы в иерархии. 20. Классификация СУБД По модели данных Иерархические Используется представление базы данных в виде древовидной (иерархической) структуры, состоящей из объектов (данных) различных уровней. Между объектами существуют связи, каждый объект может включать в себя несколько объектов более низкого уровня. Такие объекты находятся в отношении предка (объект более близкий к корню) к потомку (объект более низкого уровня), при этом возможна ситуация, когда объект-предок не имеет потомков или имеет их несколько, тогда как у объекта-потомка обязательно только один предок. Объекты, имеющие общего предка, называются близнецами (в программировании применительно к структуре данных дерево устоялось название братья). Иерархической базой данных является файловая система, состоящая из корневого каталога, в котором имеется иерархия подкаталогов и файлов. Примеры: Caché, Google App Engine Datastore API. Сетевые Сетевые базы данных подобны иерархическим, за исключением того, что в них имеются указатели в обоих направлениях, которые соединяют родственную информацию. Примеры: Caché. Реляционные Практически все разработчики современных приложений, предусматривающих связь с системами баз данных, ориентируются на реляционные СУБД. По оценке Gartner в 2013 году рынок реляционных СУБД составлял 26 млрд долларов с годовым приростом около 9%, а к 2018 году рынок реляционных СУБД достигнет 40 млрд долларов. В настоящее время абсолютными лидерами рынка СУБД являются компании Oracle, IBM и Microsoft, с общей совокупной долей рынка около 90%, поставляя такие системы как Oracle Database, IBM DB2 и Microsoft SQL Server. Объектно-ориентированные Управляют базами данных, в которых данные моделируются в виде объектов, их атрибутов, методов и классов. Этот вид СУБД позволяет работать с объектами баз данных так же, как с объектами в программировании в объектно-ориентированных языках программирования. ООСУБД расширяет языки программирования, прозрачно вводя долговременные данные, управление параллелизмом, восстановление данных, ассоциированные запросы и другие возможности. Примеры: GemStone. Объектно-реляционные Этот тип СУБД позволяет через расширенные структуры баз данных и язык запросов использовать возможности объектно-ориентированного подхода: бъекты, классы и наследование. Зачастую все те СУБД, которые называются реляционными, являются, по факту, объектно-реляционными. В данном курсе мы будем, в первую очередь, гооврить об этом виде СУБД. Примеры: PostgreSQL, DB2, Oracle, Microsoft SQL Server. По степени распределённости Локальные СУБД (все части локальной СУБД размещаются на одном компьютере) Распределённые СУБД (части СУБД могут размещаться на двух и более компьютерах). По способу доступа к БД Файл-серверные В файл-серверных СУБД файлы данных располагаются централизованно на файл-сервере. СУБД располагается на каждом клиентском компьютере (рабочей станции). Доступ СУБД к данным осуществляется через локальную сеть. Синхронизация чтений и обновлений осуществляется посредством файловых блокировок. Преимуществом этой архитектуры является низкая нагрузка на процессор файлового сервера. Недостатки: потенциально высокая загрузка локальной сети; затруднённость или невозможность централизованного управления; затруднённость или невозможность обеспечения таких важных характеристик как высокая надёжность, высокая доступность и высокая безопасность. Применяются чаще всего в локальных приложениях, которые используют функции управления БД; в системах с низкой интенсивностью обработки данных и низкими пиковыми нагрузками на БД. На данный момент файл-серверная технология считается устаревшей, а её использование в крупных информационных системах — недостатком. Примеры: Microsoft Access, Paradox, dBase, FoxPro, Visual FoxPro. Клиент-серверные Клиент-серверная СУБД располагается на сервере вместе с БД и осуществляет доступ к БД непосредственно, в монопольном режиме. Все клиентские запросы на обработку данных обрабатываются клиент-серверной СУБД централизованно. Недостаток клиент-серверных СУБД состоит в повышенных требованиях к серверу. Достоинства: потенциально более низкая загрузка локальной сети; удобство централизованного управления; удобство обеспечения таких важных характеристик как высокая надёжность, высокая доступность и высокая безопасность. Примеры: Oracle, Firebird, Interbase, IBM DB2, Informix, MS SQL Server, Sybase Adaptive Server Enterprise, PostgreSQL, MySQL, Caché, ЛИНТЕР. Встраиваемые Встраиваемая СУБД — СУБД, которая может поставляться как составная часть некоторого программного продукта, не требуя процедуры самостоятельной установки. Встраиваемая СУБД предназначена для локального хранения данных своего приложения и не рассчитана на коллективное использование в сети. Физически встраиваемая СУБД чаще всего реализована в виде подключаемой библиотеки. Доступ к данным со стороны приложения может происходить через SQL либо через специальные программные интерфейсы (API). Примеры: OpenEdge, SQLite, BerkeleyDB, Firebird Embedded, Microsoft SQL Server Compact, ЛИНТЕР. Стратегии работы с внешней памятью СУБД с непосредственной записью — это СУБД, в которых все измененные блоки данных незамедлительно записываются во внешнюю память при поступлении сигнала подтверждения любой транзакции. Такая стратегия используется только при высокой эффективности внешней памяти. СУБД с отложенной записью — это СУБД, в которых изменения аккумулируются в буферах внешней памяти до наступления любого из следующих событий: контрольной точки; конец пространства во внешней памяти, отведенное под журнал. СУБД выполняет контрольную точку и начинает писать журнал сначала, затирая предыдущую информацию; останов. СУБД ждёт, когда всё содержимое всех буферов внешней памяти будет перенесено во внешнюю память, после чего делает отметки, что останов базы данных выполнен корректно; при нехватке оперативной памяти для буферов внешней памяти. Такая стратегия позволяет избежать частого обмена с внешней памятью и значительно увеличить эффективность работы СУБД. |