300 likes | 612 Views
Базы данных и системы управления базами данных. Разработано: Е.Г. Лаврушиной. База данных (БД) - именованная совокупность данных, отражающая состояние объектов и их отношений в рассматриваемой предметной области.
E N D
Базы данных и системы управления базами данных Разработано: Е.Г. Лаврушиной
База данных (БД) - именованная совокупность данных, отражающая состояние объектов и их отношений в рассматриваемой предметной области. Система управления базами данных (СУБД) - комплекс программных и лингвистических средств общего или специального назначения, реализующий поддержку создания баз данных, централизованного управления и организации доступа к ним различных пользователей в условиях принятой технологии обработки данных.
СУБД характеризуется используемой моделью, средствами администрирования и разработки прикладных процессов. СУБД обеспечивает: - описание и сжатие данных; - манипулирование данными; - физическое размещение и сортировку записей; - защиту от сбоев, поддержку целостности данных и их восстановление; - работу с транзакциями и файлами; - безопасность данных
Одним из наиболее полных определений является следующее, представленное ДЖ. Мартином: Базу данных можно определить как совокупность взаимосвязанных, хранящихся вместе данных при наличии такой организации и минимальной избыточности, которая допускает их использование оптимальным образом для одного или нескольких приложений; данные запоминаются и используются так, чтобы они были независимы от программ, использующих эти данные, а программы были бы независимы от способа и структуры хранения данных; для добавления новых или модификации существующих данных, а также для поиска данных в БД применяется общий управляющий способ.
Типовые структуры (модели) данных: • иерархическая, • сетевая, • реляционная модель.
В основе реляционной модели данных лежит понятие отношения. Неформализованное отношение представляется в виде двумерной таблицы, на которую накладываются определенные ограничения. Столбец таблицы соответствует понятию атрибутаотношения, строка – понятию кортежаотношения.
Множество возможных значений, которые могут появляться в столбце таблицы, - понятию домена, на котором определен соответствующий атрибут. Аналогично можно установить соответствие и с понятиями, используемыми при определении файлов линейной структуры: отношение – файл; атрибут – данное; кортеж – запись файла; домен – множество возможных значений данного.
Формализованное определение основных понятий реляционной модели данных базируется на теории множеств. Обязательность наличия ключа приводит к важному свойству – в отношении не может быть двух одинаковых кортежей.
Теория реляционной модели данных различает пять нормальных форм, однако для практических целей достаточно соблюдать первые три формы. Отношение удовлетворяет первой нормальной форме (1НФ), если все его атрибуты атомарны (неделимы), т.е. среди атрибутов нет составных или с множественными значениями. Отношение удовлетворяет второй нормальной форме (2НФ), если оно удовлетворяет 1НФ и не содержит атрибутов, зависящих от части ключа. Отношение удовлетворяет третьей нормальной форме (3НФ), если оно удовлетворяет 2НФ, и среди его неключевых атрибутов нет зависящих от другого неключевого атрибута (нет атрибутов, транзитивно зависящих от ключа).
Файл-сервер Novell NetWare содержит базу данных объектов, в которой есть сведения о ресурсах, доступных в сети (файл-серверы, серверы печати и т. п.), о пользователях и группах пользователей и т. д. Эта база данных называется Bindery. Физически она находится в двух скрытых файлах с именами net$bind.sys и net$bval.sys, расположенных в каталоге SYS:SYSTEM. Каждый объект, хранящийся в базе данных, имеет свое имя, уникальный для данного файл-сервера идентификатор, тип, байт доступа. Кроме того, объект может быть статическим или динамическим.
Практически одновременно с реляционной моделью данных были предложены два языка манипулирования реляционными данными: • язык структурированных запросов – Structured Query Language – SQL (первоначальный вариант SEQUEL), созданные в исследовательской лаборатории фирмы IBM в Сан-Хосе; • запрос по образцу – Query-by-Example (QBE), созданный в Исследовательском центре фирмы IBM в Йорктаун-Хейтсе.
В начале более перспективным считался QBE, как наиболее близкий к пользовательскому интерфейсу (заполнение таблицы в основном соответствующей исходному отношению), однако с течением времени наибольшее распространение получил SQL, ставший в настоящее время по существу стандартом для реляционных СУБД, особенно СУБД, работающих в технологии клиент-сервер.
Синтаксис записи формата команд SQL • Слова, написанные прописными латинскими буквами, являются зарезервированными словами SQL. • Слова, написанные строчными буквами и заключенные в кавычки, именуют конструкцию, которую необходимо раскрыть дополнительно. • Слова, написанные строчными буквами и незаключенные в кавычки, именуют элементарное (не требующее дополнительного описания) понятие. • То же, что и 3., но ограниченное символами / является комментарием.
Фрагменты, заключенные в фигурные скобки и разделенные символом , являются альтернативными . При записи команды для конкретного применения необходимо выбрать одни из них. • Фрагмент, заключенный в квадратные скобки [ ], возможно не будет использоваться при записи команды для конкретного применения. • Круглые скобки ( ) используются: • в выражениях для изменения порядка выполнения операций; • для объединения некоторых фрагментов в единое целое. • Многоточие, стоящее перед закрывающейся квадратной или круглой скобкой, означает, что заключенный в эти скобки фрагмент может быть повторен много раз. • Символ := служит для соединения левой раскрываемой части с раскрывающей ее правой частью и читается как «по определению есть».
Классификация СУБД В основу любой классификации закладывается признак классификации. СУБД можно классифицировать по ряду признаков: • по модели данных • по типу используемого транслятора • по сфере применения • по способности настраиваться на предметную область • по количеству одновременно открытых файлов и наличию языка программирования
Microsoft Access является настольной СУБД реляционного типа, которая имеет все необходимые средства для выполнения перечисленных выше функций. Достоинством Access является то, что она имеет очень простой графический интерфейс, который позволяет не только создавать собственную базу данных, но и разрабатывать простые и сложные приложения.
В отличие от других настольных СУБД, Access хранит все данные в одном файле, хотя и распределяет их по разным таблицам. Вы можете создать сколько угодно таблиц, используя те правила, которые были описаны выше. Самым важным правилом, которое необходимо соблюдать, является то, что в базе данных нужно хранить только необходимую информацию, и при этом все данные должны храниться только в одном месте.
Архитектура клиент-сервер предназначена для разрешения проблем файл-серверных приложений путем разделения компонентов приложения и размещения их там, где они будут функционировать наиболее эффективно.
Архитектура файл-сервер не имеет сетевого разделения компонентов диалога PS и PL и использует компьютер для функций отображения, что облегчает построение графического интерфейса. Файл-сервер только извлекает данные из файлов, так что дополнительные пользователи и приложения добавляют лишь незначительную нагрузку на центральный процессор. Каждый новый клиент добавляет вычислительную мощность к сети.
Особенностью архитектуры клиент-сервер является использование выделенных серверов баз данных, понимающих запросы на языке структурированных запросов SQL(Structured Query Language) и выполняющих поиск, сортировку и агрегирование информации.
BL, DL PS, PL DS, FS Рис.1.2 Классический вариант клиент-серверной информационной системы
Рис.1.1 Двухуровневая клиент-серверная информационная система
Сеть Распределенные базы данных Распределенные базы данных состоят из набора узлов: • каждый узел обладает своими собственными СУБД; • узлы работают согласовано, пользователь получает доступ к данным на любом узле. Сеть
Принципы реализации распределенной базы данных • Локальная автономия, • Независимость от центрального узла, • Непрерывное функционирование, • Независимость от расположения, • Независимость от репликации, • Независимость от фрагментации, • Обработка распределенных запросов, • Управление распределенными транзакциями, • Независимость от аппаратного обеспечения, • Управление каталогом, • Независимость от СУБД, • Независимость от операционной системы
Локальная база данных Данные локальной базы данных (файлы данных) находятся на одном (локальном) устройстве, в качестве которого может выступать диск компьютера или сетевой диск (диск другого компьютера, работающего в сети).
Для обеспечения разделения данных (доступа к данным) между несколькими пользователями, в качестве которых выступают программы, работающие на одном или нескольких компьютерах, в локальных базах данных применяется метод, получивший название блокировка файлов. Суть этого метода заключается в том, что пока данные используются одним пользователем, другой пользователь не может работать с этими данными, т. е. данные для него закрыты, заблокированы. Paradox, dBase, FoxPro и Access — это локальные базы данных.