Базы и банки данных шпора
Банк данныхявляется разновидностью ИС, в которой реализованы функции централизованного хранения и накопления обрабатываемой информации, организованной в одну или несколько баз данных.
Банк данных (БнД) в общем случае состоит из следующих компонентов: базы (нескольких баз) данных, системы управления базами данных, словаря данных, администратора, вычислительной системы и обслуживающего персонала. Вкратце рассмотрим названные компоненты и некоторые связанные с ними важные понятия.
База данных(БД) представляет собой совокупность специальным образом организованных данных, хранимых в памяти вычислительной системы и отображающих состояние объектов и их взаимосвязей в рассматриваемой предметной области.
Логическую структуру хранимых в базе данных называют моделью представления данных. К основным моделям представления данных (моделям данных) относятся следующие: иерархическая, сетевая, реляционная, постреляционная, многомерная и объектно-ориентированная.
По способу организации доступа к данным базы данных подразделяют на централизованные и распределенные.
Централизованные БД хранятся в памяти одной машины, но возможен распределенный доступ к ней с различных рабочих станций сети.
Распределенная БД состоит из нескольких частей, хранимых на разных ЭВМ вычислительной сети.
Система управления базами данных(СУБД) — это комплекс языковых и программных средств, предназначенный для создания, ведения и совместного использования БД многими пользователями. Обычно СУБД различают по используемой модели данных. Так, СУБД, основанные на использовании реляционной модели данных, называют реляционными СУБД.
Словарь данных(СД) представляет собой подсистему БнД, предназначенную для централизованного хранения информации о структурах данных, взаимосвязях файлов БД друг с другом, типах данных и форматах их представления и т.п.
Администратор базы данных(АБД) есть лицо или группа лиц, отвечающих за выработку требований к БД, ее проектирование, создание, эффективное использование и сопровождение. В процессе эксплуатации АБД обычно следит за функционированием информационной системы, обеспечивает защиту от несанкционированного доступа, контролирует избыточность, непротиворечивость, сохранность и достоверность хранимой в БД информации.
Вычислительная система(ВС) представляет собой совокупность взаимосвязанных и согласованно действующих ЭВМ или процессоров и других устройств, обеспечивающих автоматизацию процессов приема, обработки и выдачи информации потребителям.
Обслуживающий персоналвыполняет функции поддержания технических и программных средств в работоспособном состоянии. Он проводит профилактические, регламентные, восстановительные и другие работы по планам, а также по мере необходимости.
Классификация СУБД.В общем случае под СУБД можно понимать любой программный продукт, поддерживающий процессы создания, ведения и использования БД.
Рассмотрим, какие из имеющихся на рынке программ имеют отношение к БД и в какой мере они связаны с базами данных.
К СУБД относятся следующие основные виды программ:
•средства разработки программ работы с БД.
По характеру использования СУБД делят на персональные и многопользовательские.
Персональные СУБДобычно обеспечивают возможность создания персональных БД и недорогих приложений, работающих с ними. Персональные СУБД или разработанные с их помощью приложения зачастую могут выступать в роли клиентской части многопользовательской СУБД. К персональным СУБД, например, относятся VisualFoxPro, Paradox, Clipper, dBase, Access и др.
Многопользовательские СУБДвключают в себя сервер БД и клиентскую часть и, как правило, могут работать в неоднородной вычислительной среде (с разными типами ЭВМ и операционными системами). К многопользовательским СУБД относятся, например, СУБД Oracle и Informix.
По используемой модели данных СУБД (как и БД), разделяют на иерархические, сетевые, реляционные, объектно-ориентированные и другие типы. Некоторые СУБД могут одновременно поддерживать несколько моделей данных.
С точки зрения пользователя, СУБД реализует функции хранения, изменения (пополнения, редактирования и удаления) и обработки информации, а также разработки и получения различных выходных документов.
Для работы с хранящейся в базе данных информацией СУБД предоставляет программам и пользователям следующие два типа языков:
- язык описания данных — высокоуровневый непроцедурный язык декларативного типа, предназначенный для описания логической структуры данных;
- язык манипулирования данными — совокупность конструкций, обеспечивающих выполнение основных операций по работе с данными: ввод, модификацию и выборку данных по запросам.
Перечисленные выше функции СУБД, в свою очередь, используют следующие основные функции более низкого уровня, которые назовем низкоуровневыми:
• управление данными во внешней памяти;
•управление буферами оперативной памяти;
• управление транзакциями;
• ведение журнала изменений в БД;
• обеспечение целостности и безопасности БД.
Дадим краткую характеристику необходимости и особенностям реализации перечисленных функций в современных СУБД.
Необходимость буферизации данных и как следствие реализации функции управления буферамиоперативной памяти обусловлено тем, что объем оперативной памяти меньше объема внешней памяти.
Буферы представляют собой области оперативной памяти, предназначенные для ускорения обмена между внешней и оперативной памятью. В буферах временно хранятся фрагменты БД, данные из которых предполагается использовать при обращении к СУБД или планируется записать в базу после обработки.
Механизм транзакций используется в СУБД для поддержания целостности данных в базе. Транзакцией называется некоторая неделимая последовательность операций над данными БД, которая отслеживается СУБД от начала и до завершения. Если по каким-либо причинам (сбои и отказы оборудования, ошибки в программном обеспечении, включая приложение) транзакция остается незавершенной, то она отменяется.
Транзакции присущи три основных свойства:
• атомарность (выполняются все входящие в транзакцию операции или ни одна);
• сериализуемость (отсутствует взаимное влияние выполняемых в одно и то же время транзакций);
• долговечность (даже крах системы не приводит к утрате результатов зафиксированной транзакции).
Примером транзакции является операция перевода денег с одного счета на другой в банковской системе. Здесь необходим, по крайней мере, двухшаговый процесс. Сначала снимают деньги с одного счета, затем добавляют их к другому счету. Если хотя бы одно из действий не выполнится успешно, результат операции окажется неверным и будет нарушен баланс между счетами.
Контроль транзакций важен в однопользовательских и в многопользовательских СУБД, где транзакции могут быть запущены параллельно.
Ведение журнала измененийв БД (журнализация изменений) выполняется СУБД для обеспечения надежности хранения данных в базе при наличии аппаратных сбоев и отказов, а также ошибок в программном обеспечении.
Журнал СУБД — это особая БД или часть основной БД, непосредственно недоступная пользователю и используемая для записи информации обо всех изменениях базы данных. В различных СУБД в журнал могут заноситься записи, соответствующие изменениям в СУБД на разных уровнях: от минимальной внутренней операции модификации страницы внешней памяти до логической операции модификации БД (например, вставки записи, удаления столбца, изменения значения в поле) и даже транзакции.
Для эффективной реализации функции ведения журнала изменений в БД необходимо обеспечить повышенную надежность хранения и поддержания в рабочем состоянии самого журнала. Иногда для этого в системе хранят несколько копий журнала.
Обеспечение целостности БД составляет необходимое условие успешного функционирования БД, особенно для случая использования БД в сетях.
ЦелостностьБД есть свойство базы данных, означающее, что в ней содержится полная, непротиворечивая и адекватно отражающая предметную область информация. Поддержание целостности БД включает проверку целостности и ее восстановление в случае обнаружения противоречий в базе данных. Целостное состояние БД описывается с помощью ограничений целостности в виде условий, которым должны удовлетворять хранимые в базе данные. Примером таких условий может служить ограничение диапазонов возможных значений атрибутов объектов, сведения о которых хранятся в БД, или отсутствие повторяющихся записей в таблицах реляционных БД.
Обеспечение безопасностидостигается в СУБД шифрованием прикладных программ, данных, защиты паролем, поддержкой уровней доступа к базе/данных и к отдельным ее элементам (таблицам, формам, отчетам и т. д).
Архитектура СУБД.
В современных системах БД выделяют 3 уровня представления данных: внешний, концептуальный и внутренний (рис. 1.3). Внешний уровень отражает представление пользователей на БД. Внутренний уровень отражает представление, на котором СУБД и ОС воспринимают данные. Концептуальный (логический) уровень – связан с обобщенным представлением всех пользователей БД ( это взгляд администратора БД).
Внешний уровень – это пользовательский уровень. Пользователем может быть программист, конечный пользователь или администратор БД. Представление с точки зрения пользователя называется внешним представлением. Оно отражает представление пользователя о данных в БД в удобной для него форме (например, для бухгалтерии - это данные о студентах, которым начисляется стипендия, при этом не важно, какие у них оценки. Для деканата данные о тех же студентах будут содержать сведения об их оценках в сессию и т.п.) . Эти частичные представления пользователей о БД называют подсхемой БД. При этом каждый пользователь может использовать свои языковые и программные средства для работы с БД.
Концептуальный уровень является промежуточным уровнем и обеспечивает представление всей БД в абстрактной форме. Описание БД на этом уровне называют концептуальной схемой , которая является результатом концептуального проектирования. Концептуальная схема отражает интересы всех пользователей и представляет собой единое логическое описание всех элементов данных и отношений между ними, образуя логическую структуру всей БД.
Концептуальная схема должна содержать:
· объекты и атрибуты предметной области;
· связи между объектами;
· ограничения, накладываемые на данные;
· семантическую информацию о данных;
· обеспечение безопасности данных;
· поддержку целостности данных.
Концептуальный уровень поддерживает каждое внешнее представление, в том смысле, что любые доступные пользователю данные должны содержаться (или могут быть вычислены) на этом уровне. Однако на этом уровне не содержаться сведения о методах хранения данных.
Внутренний уровень характеризует внутреннее представление. Оно не связано с физическим уровнем, т.к. физический уровень хранения информации обладает существенной индивидуальностью для каждой системы. На внутреннем уровне все эти особенности не учитываются, а вся область хранения представляется как бесконечное линейное адресное пространство. На нижнем уровне находится внутренняя схема, которая является полным описанием внутренней модели данных. Для каждой БД она только одна. Внутренняя схема описывает физическую реализацию и предназначена для достижения оптимальной производительности и обеспечения экономного использования дискового пространства. На внутреннем уровне хранится следующая информация:
· распределение дискового пространства для хранения данных и индексов;
· описание подробностей сохранения записей (типы, размеры элементов данных и др.);
· сведение о размещении записей;
· сведения о сжатии записей и выбранных методах шифрования.
СУБД отвечает за установление соответствия между всеми тремя уровнями и поддержку их непротиворечивости.
В структуре программного комплекса СУБД можно выделить:
Процессор запросов – преобразует запросы в последовательность низкоуровневых инструкций для контроллера БД.
Транслятор с ЯОД – преобразует его команды в набор таблиц, содержащих метаданные. Эта информация хранится в системном каталоге, а управляющая информация – в заголовке файлов.
Транслятор с ЯМД – преобразует внедренные в прикладные программы операторы в вызовы стандартных функций базового языка. Взаимодействует с процессором запросов.
Шпаргалка Шпаргалка по "Базам Данных"
Билет 4. Трехзвенная модель распределения функций
AS -модель
Данная модель представляет собой систему, при которой каждая из трех функций приложения ( управление данными, обработка, представление) реализуется на отдельном компьютере.
Компонент, реализующий функции представления информации, взаимодействует с компонентом приложения как в модели DBS. Компонент приложения, расположенный на отдельном компьютере, связан с компонентом управления данными подобно модели RDA (см. вопрос 3).
Центральным звеном AS-модели является сервер приложения, на котором реализуется несколько прикладных функций, каждая из которых может быть предоставлена всем программам клиента. Серверов приложений может быть несколько, причем каждый из них предоставляет свой вид сервиса. Поступающие от клиентов к серверам запросы помещаются в очередь, из которой могут быть выбраны в соответствии с заданным приоритетом.
Компонент приложения, реализующий функции представления и являющийся клиентом для сервера приложения, может служить для организации интерфейса с конечным пользователем (т.е. обеспечивать прием данных от различных устройств или быть произвольной программой).
Достоинства: 1.гибкость и универсальность (за счет того, что различные функции реализованы на разных компьютерах); 2.- эффективность (за счет разделения функций).
Недостаток: высокие затраты ресурсов компьютера на обмен информацией.
Билет5.Транзакции. Восстановление транзакций
Транзакция
Под транзакцией понимается неделимая с точки зрения воздействия на БД последовательность операторов манипулирования данными (чтения, удаления, вставки, модификации) такая, что либо результаты всех операторов, входящих в транзакцию, отображаются в БД, либо воздействие всех этих операторов полностью отсутствует. Лозунг транзакции - "Все или ничего": при завершении транзакции оператором COMMIT результаты гарантированно фиксируются во внешней памяти (смысл слова commit - "зафиксировать" результаты транзакции); при завершении транзакции оператором ROLLBACK результаты гарантированно отсутствуют во внешней памяти (смысл слова rollback - ликвидировать результаты транзакции).
Понятие транзакции имеет непосредственную связь с понятием целостности БД. Очень часто БД может обладать такими ограничениями целостности, которые просто невозможно не нарушить, выполняя только один оператор изменения БД. Пусть например существует 2 таблицы: Сотрудники и Отделы, причем в таблице отделы есть поле, хранящее число сотрудников в отделе. Надо принять на работу нового сотрудника. Для этого нужно выполнить 2 оператора: занести новую запись в таблицу сотрудники и изменить запись в таблице отделы. Либо мы сначала изменяем таблицу сотрудники, тогда таблица отделы некоторое время будет неверна, либо сначала изменяем таблицу отделы. В любом случае после выполнения только одного оператора бд будет находиться в противоречивом состоянии.
Поэтому для поддержания подобных ограничений целостности допускается их нарушение внутри транзакции с тем условием, чтобы к моменту завершения транзакции условия целостности были соблюдены. В системах с развитыми средствами ограничения и контроля целостности каждая транзакция начинается при целостном состоянии БД и должна оставить это состояние целостными после своего завершения. Несоблюдение этого условия приводит к тому, что вместо фиксации результатов транзакции происходит ее откат (т.е. вместо оператора COMMIT выполняется оператор ROLLBACK), и БД остается в таком состоянии, в котором находилась к моменту начала транзакции, т.е. в целостном состоянии.
Ни одна СУБД не обладает механизмами деления процесса обработки данных не отдельные транзакции, это должен делать прикладной программист с помощью операторов BEGIN TRANSACTION, COMMIT или ROLLBACK
Свойства транзакций:
-
Атомарность (все или ничего) – любая транзакция является неделимой единицей работы
Согласованность (непротиворечивость) – переводит бд из одного непротиворечивого состояния в другое
Изолированность – все транзакции выполняются независимо друг от друга, те промежуточные результаты незавершенной транзакции недоступны другим транзакциям
Продолжительность – результаты успешно завершенной транзакции сохраняются в бд и не могут быть утеряны при дальнейших сбоях
Из определения следует, что транзакции являются единицами восстановления в СУБД. Общими принципами восстановления являются следующие:
-
результаты зафиксированных транзакций должны быть сохранены (COMMIT) в восстановленном состоянии базы данных;
результаты незафиксированных транзакций должны отсутствовать (ROLLBACK) в восстановленном состоянии базы данных.
Возможны следующие ситуации, при которых требуется производить восстановление состояния базы данных:
-
Индивидуальный откат транзакции. Тривиальной ситуацией отката транзакции является ее явное завершение оператором ROLLBACK. Возможны также ситуации, когда откат транзакции инициируется системой. Примерами могут быть возникновение исключительной ситуации в прикладной программе (например, деление на ноль). Для восстановления согласованного состояния базы данных при индивидуальном откате транзакции нужно устранить последствия операторов модификации базы данных, которые выполнялись в этой транзакции.
Восстановление после внезапной потери содержимого оперативной памяти (мягкий сбой). Такая ситуация может возникнуть при аварийном выключении электрического питания, при возникновении неустранимого сбоя процессора (например, срабатывании контроля оперативной памяти) и т.д. Ситуация характеризуется потерей той части базы данных, которая к моменту сбоя содержалась в буферах оперативной памяти.
Восстановление после поломки основного внешнего носителя базы данных (жесткий сбой). Эта ситуация при достаточно высокой надежности современных устройств внешней памяти может возникать сравнительно редко, но тем не менее, СУБД должна быть в состоянии восстановить базу данных даже и в этом случае. Основой восстановления является архивная копия и журнал изменений базы данных.
Возможны два основных варианта ведения журнальной информации. В первом варианте для каждой транзакции поддерживается отдельный локальный журнал изменений базы данных этой транзакцией. Эти локальные журналы используются для индивидуальных откатов транзакций и могут поддерживаться в оперативной памяти. Кроме того, поддерживается общий журнал изменений базы данных, используемый для восстановления состояния базы данных после мягких и жестких сбоев.
Этот подход позволяет быстро выполнять индивидуальные откаты транзакций, но приводит к дублированию информации в локальных и общем журналах. Поэтому чаще используется второй вариант - поддержание только общего журнала изменений базы данных, который используется и при выполнении индивидуальных откатов.
Билет 10. Модели распределенных баз данных. Однородные и неоднородные системы.
Однородные распределенные базы данных:
Однородная СУБД
Типы РаБД | Однородность | Глобальная схема | Обеспечение интерфейса |
1) РаБД | + | + | Внутренние функции СУБД |
2) Мультибазы данных с глоб. схемой | - | + | Пользовательский интерфейс |
3) Федеративные БД | - | частичная | Пользовательский интерфейс |
4) Мультибазы данных (неодн-е) с общим языком доступа | - | функции языка доступа | Пользовательский интерфейс |
5) Однородные системы мультибаз данных | + | функции языка доступа | Пользовательский интерфейс + внутренние функции СУБД |
6) Интероперабельные системы | множество типов источников данных | отсутствие глобальной интеграции | реализация интерфейса средствами приложения |
Система мультибаз данных – это распределенная система, кот. служит внешним интерфейсом для доступа к множеству локальных СУБД или структурируется как глобальный уровень над локальными СУБД.
На уровне систем мультибаз данных добавляется неоднородность и по-прежнему используется глобальная схема. Как и в случае с однородными распределенными БД клиентские приложения оперируют с глобальной схемой, как с большой централизованной БД. Все отображения локальной БД и содержимое обрабатывается средствами глобального уровня. Однако в отличие от однородных распределенных БД мультибазы данных с глобальной схемой не обладают функциями СУБД, позволяющими поддерживать отображение и интерфейс между локальным и глобальным уровнем (в связи с неоднородностью). Использование глобальной схемы в концептуальном отношении выделить достаточно просто, но на практике связано с серьезными проблемами.
-
Глобальная схема должна содержать все данные
Все изменения в локальной БД должны распространяться на глобальную схему.
Клиентские приложения сами м.б. распределены на множество узлов. Это означает, что для осуществления какой-либо операции над локальной БД необходим доступ к глобальной схеме. В этом случае глобальная схема может быть централизована.
Федеративные БД в отличие от мультибаз не располагают полной глоб. схемой, к которой обращаются все приложения. Вместо этого поддерживается локальная схема импорта-экспорта данных. На каждом узле поддерживается частичная глоб. схема, описывающая информацию тех удаленных источников, данные с которых необходимы для выполнения бизнес функций на этом узле.
Недостатки:
-
Необходимо распространять изменения, производимые в глоб. схеме на соответствующие узлы.
Сложно определить, какие данные нужны на определенном узле.
Неоднородные системы мультибаз данных
Мультибазы с общим языком доступа фактически представляют собой распределенные среды управления с технологией Клиент-Сервер. В среде мультибаз данных с общим доступом (неоднор. или однор.) глобальная схема вообще отсутствует.
Интероперабельные - это системы, в которых сами приложения, выполняемые в среде той или иной СУБД, ответственны за интерфейсы между различными средами приложения, независимо от того, являются они однородными или неоднородными. Системы ориентированы главным образом на обмен данными. Дальнейшее развитие этих систем является объектно-ориентированные БД.
Принципы организации хранилища.
-
Проблемно предметная ориентация: данные объединяются в категории и хранятся и хранятся в соответствии с областями, которые они описывают, а не с приложениями, которые они используют.
Интегрированность: объединяет данные т.о., что бы они удовлетворяли всем требованиям всего предприятия, а не единственной функции бизнеса.
Некорректируемость: данные в хранилище данных не создаются, т.е. поступают из внешних источников, не корректируются, не удаляются.
Зависимость от времени: данные в хранилище точны и корректны только в том случае, когда они привязаны к некоторому промежутку или моменту времени.
-
извлечение – перемещение информации от источников данных в отдельную БД, приведение их к единому формату.
Преобразование – подготовка информации к хранению в оптимальной форме для реализации запроса, необходимого для принятия решений.
Анализ.
Представление.
-
Традиционные системы регистрации операций (БД)
Отдельные документы
Наборы данных
-
Территориальное и административное размещение.
Степень достоверности.
Частота обновляемости.
Система хранения и управления данными.
Задача словаря метаданных состоит в том, что бы освободить разработчика от необходимости стандартизировать источники данных.
Создание хранилищ данных не должно противоречить действующим системам сбора и обработки информации. Специальные компоненты словарей должны обеспечивать своевременное извлечение из словарей и обеспечить преобразование к единому формату на основе словаря метаданных.
Логическая структура данных хранилища данных отличается от структуры данных источников данных.
Для разработки эф-го процесса преобразования необходима хорошо проработанная модель корпоративных данных и модель технологии принятия решений.
Данные для пользователя удобно представлять в многоразмерных БД, где в качестве размерности могут выступать время, цена или географический регион.
Кроме извлечения данных из БД, принятия решений важен процесс извлечения знаний, в соответствии с информационными потребностями пользователя.
С т.з. пользователя в процессе извлечения знаний из БД должны решаться след. преобразования: данные ---- информация ---- знания ---- полученные решения.
Методы выявления и анализа знаний:
1.Ассоциация.
2. Последовательность – когда определяются сообщения связанные между собой во времени.
3.Классиффикация – выявление характеристик группы, к которой принадлежит объект.
4. Кластеризация – группы заранее не сформированы.
5. Прогнозирование – моделирование поведения определенного объекта на основе имеющихся знаний.
Средства извлечения знаний:
1. Нейронные сети. Пакеты, к. созданы для прогнозирования определенной области.
2. Деревья решений.
3. Индуктивное обучение.
4. Визуализация данных.
5 . Нечеткая логика.
6. Различные статистические методы.
Билет15.Характеристика ООБД.
Первым шагом к ОО подходу в области БД было создание структур, учитывающих специфику приложения и способных удерживать семантику информации.
В такой среде процесс программирования упрощается, а фундаментальная программа остается: поддерживающие реляционные средства управления данными и структурами данных, не способны поддерживать всю семантику, необходимую для приложения.
Эти проблемы связаны:
-
с типами данных.
операции не могут задать правила, необходимые для управления абстрактными типами данных.
Свойства ООБД:
1. Высокоэффективное представление, учитывающее особенности типов, через типы, методы, объекты.
2. Использование инкапсуляции.
3. Высокая степень непротиворечивости. Операции заданного объекта являются непротиворечивыми, независимо от того, какое приложение их вызывает. Для поддержания этой возможности средствами самих объектов, изменения могут быть сделаны только в объектах, а не в приложениях.
4. Снижение стоимости разработки новых приложений за счет повторного использования описания объектов, хранящихся в библиотеке классов.
Билет16.Манифест ООБД.
В манифесте ООБД (Atkinson et al., 1989) предлагаются обязательные характеристики, которым должна отвечать любая ООБД. Их выбор основан на 2 критериях: система должна быть объектно-ориентированной и представлять собой БД.
Три класса характеристик:
-
Обязательные.
Необязательные.
Открытые – позволяют пользователю выбирать свойства.
* Примечание. Уникальность работы указана на дату публикации, текущее значение может отличаться от указанного.
7.1 Классификация баз данных.
7.2 Виды моделей данных.
7.3 Нормализация отношений. Виды связей.
Основные понятия базы данных
В широком смысле слова база данных - это совокупность сведений о конкретных объектах реального мира в какой-либо предметной области. Под предметной областью принято понимать часть реального мира, подлежащего изучению для организации управления и автоматизации, например, предприятие, вуз и т.д.
База данных (БД) - это поименованная совокупность структурированных данных, относящихся к определенной предметной области.
В современной технологии создание базы данных, ее поддержка и обеспечение доступа пользователей к ней осуществляются централизованно с помощью специального программного инструментария - системы управления базами данных.
Система управления базами данных (СУБД) - это комплекс программных и языковых средств, необходимых для создания баз данных, поддержания их в актуальном состоянии и организации поиска в них необходимой информации.
Создавая базу данных, пользователь стремится упорядочить информацию по различным признакам и быстро извлекать выборку с произвольным сочетанием признаков. Сделать это возможно, только если данные структурированы.
Структурирование – это введение соглашений о способах представления данных.
Неструктурированными называют данные, записанные, например, в текстовом файле.
Сложно организовать поиск необходимых данных, хранящихся в неструктурированном виде, а упорядочить подобную информацию практически не представляется реальным.
Чтобы автоматизировать поиск и систематизировать эти данные, необходимо выработать определенные соглашения о способах представления данных, т.е. дату рождения нужно записывать одинаково для каждого студента, она должна иметь одинаковую длину и определенное место среди остальной информации. Эти же замечания справедливы и для остальных данных (номер личного дела, фамилия, имя. отчество).
Классификация баз данных
По технологии обработки данных базы данных подразделяются на:
Централизованная база данных хранится в памяти одной вычислительной системы. Если эта вычислительная система является компонентом сети ЭВМ, возможен распределенный доступ к такой базе. Такой способ использования баз данных часто применяют в локальных сетях ПК.
Распределенная база данных состоит из нескольких, возможно пересекающихся или даже дублирующих друг друга частей, хранимых в различных ЭВМ вычислительной сети. Работа с такой базой осуществляется с помощью системы управления распределенной базой данных (СУРБД).
По способу доступа к данным различают базы данных с локальным доступом и базы данных с удаленным (сетевым доступом).
Системы централизованных баз данных с сетевым доступом предполагают различные архитектуры подобных систем:
Файл-сервер. Для такой архитектуры БД характерно выделение одной из машин сети в качестве центральной (сервер файлов), где хранится совместно используемая централизованная БД. Все другие машины сети выполняют функции рабочих станций, с помощью которых поддерживается доступ к централизованной базе данных.
Файлы базы данных в соответствии с пользовательскими запросами передаются на рабочие станции, где производится обработка. Пользователи могут создавать также на рабочих станциях локальные БД, которые используются ими монопольно.
Рис.1.Схема обработки информации в БД по принципу файл-сервер
Клиент-сервер. В этой концепции центральная машина (сервер базы данных) кроме хранения централизованной базы данных, должна обеспечивать выполнение основного объема обработки данных.
Запрос на данные, выдаваемый клиентом (рабочей станцией), порождает поиск и извлечение данных на сервере. Извлеченные данные (но не файлы) транспортируются по сети от сервера к клиенту. Спецификой архитектуры клиент-сервер является использование языка запросов SQL.
Рис.2. Схема обработки информации в БД по принципу клиент-сервер
Виды моделей данных
Ядром любой базы данных является модель данных.
С помощью модели данных могут быть представлены объекты предметной области и взаимосвязи между ними.
Модель данных - совокупность структур данных и операций их обработки.
СУБД основывается на использовании трех основных типов моделей данных:
2.1. Иерархическая модель данных
Иерархическая структура представляет совокупность элементов, связанных между собой по определенным правилам.
Объекты, связанные иерархическими отношениями, образуют ориентированный граф (перевернутое дерево), рис. 8.
К основным понятиям иерархической структуры относятся:
Узел - это совокупность атрибутов данных, описывающих некоторый объект.
На схеме иерархического дерева узлы представляются вершинами графа. Каждый узел на более низком уровне связан только с одним узлом, находящимся на более высоком уровне.
Иерархическое дерево имеет только одну вершину (корень дерева), не подчиненную никакой другой вершине и находящуюся на самом верхнем (первом) уровне. Зависимые (подчиненные) узлы находятся на втором, третьем и т.д. уровнях. Количество деревьев в базе данных определяется числом корневых записей.
К каждой записи базы данных существует только один (иерархический) путь от корневой записи.
Например, как видно из рис. 4, для записи С4 путь проходит через записи А и ВЗ.
Рис. 4. Графическое изображение иерархической структуры БД
Пример 4. ( рис. 5.) иллюстрирует использование иерархической модели базы данных.
Рис. 5. Пример иерархической структуры БД
Для рассматриваемого примера иерархическая структура правомерна, так как каждый студент учится в определенной (только одной) группе, которая относится к определенному (только одному) институту.
Сетевая модель данных
В сетевой структуре при тех же основных понятиях (уровень, узел, связь) каждый элемент может быть связан с любым другим элементом (рис. 6).
Рис. 6. Графическое изображение сетевой структуры
Пример 5. Примером сложной сетевой структуры может служить структура базы данных, содержащей сведения о студентах, участвующих в научно-исследовательских работах (НИРС). Возможно участие одного студента в нескольких НИРС, а также участие нескольких студентов в разработке одной НИРС.
Графическое изображение описанной в примере сетевой структуры, состоящей только из двух типов записей, показано на рис. 7. Единственное отношение представляет собой сложную связь между записями в обоих направлениях.
Рис. 7.Пример сетевой структуры БД
2.3. Реляционная модель данных
Понятие реляционный (англ.relation - отношение). Эти модели характеризуются простотой структуры данных, удобным для пользователя табличным представлением и возможностью использования формального аппарата алгебры отношений и реляционного исчисления для обработки данных.
Реляционная модель ориентирована на организацию данных в виде двумерных таблиц.
Каждая реляционная таблица представляет собой двумерный массив и обладает следующими свойствами:
§ каждый элемент таблицы - один элемент данных;
§ все элементы в столбце имеют одинаковый тип (числовой, символьный и т.д.) и длину;
§ каждый столбец имеет уникальное имя;
§ одинаковые строки в таблице отсутствуют;
§ порядок следования строк и столбцов может быть произвольным.
Пример 6. Реляционной таблицей можно представить информацию о студентах, обучающихся в вузе (рис. 8).
N личного дела | Фамилия | Имя | Отчество | Дата рождения | Группа |
Сергеев | Петр | Михайлович | 01.01.76 | ||
Петрова | Анна | Владимировна | 15.03.75 | ||
Анохин | Андрей | Борисович | 14.04.76 |
Рис. 8. Пример реляционной таблицы
Отношения представлены в виде таблиц, строки которых соответствуют записям (кортежам), а столбцы – полям (атрибутам отношений).
Поле, каждое значение которого однозначно определяет соответствующую запись, называется простым ключом (ключевым полем).
Если записи однозначно определяются значениями нескольких полей, то такая таблица базы данных имеет составной ключ.
В примере, на рис. 8, ключевым полем таблицы является "N личного дела".
Чтобы связать две реляционные таблицы, необходимо:
§ ключ первой таблицы ввести в состав ключа второй таблицы (возможно совпадение ключей);
§ в противном случае нужно ввести в структуру первой таблицы внешний ключ - ключ второй таблицы.
Пример 7. На рис. 13 показан пример реляционной модели, построенной на основе отношений: СТУДЕНТ, СЕССИЯ, СТИПЕНДИЯ.
Рис.9.Пример реляционной модели
СТУДЕНТ (Номер, Фамилия, Имя, Отчество, Пол, Дата рождения. Группа);
СЕССИЯ (Номер. Оценка 1, Оценка 2, Оценка 3, Оценка 4, Результат):
СТИПЕНДИЯ (Результат, Процент),
Таблицы СТУДЕНТ И СЕССИЯ имеют совпадающие ключи (Номер), что дает возможность легко организовать связь между ними.
Таблица СЕССИЯ имеет первичный ключ Номер и содержит внешний ключ Результат, который обеспечивает ее связь с таблицей СТИПЕНДИЯ.
НОРМАЛИЗАЦИЯ ОТНОШЕНИЙ
Читайте также:
- Настойка из маклюры для лечения грыжи
- Что такое водянка яичка после операции паховой грыжи
- Артрозы нагрузки при артрозах
- Воротник шанца при ротационном подвывихе
- Настойка из кедровых орехов при боли в суставах