Основные понятия баз данных.ppt
- Количество слайдов: 40
Основные понятия баз данных
Вопросы лекции: 1. 2. 3. 4. 5. 6. Основные термины и определения Классификация СУБД Информационно-логическая модель предметной области Модели данных Характеристика реляционной модели данных Особенности СУБД Microsoft Access
Основные термины и определения База данных (БД) представляет собой совокупность специальным образом организованных данных, хранимых в памяти вычислительной системы и отображающих состояние объектов и их взаимосвязей в рассматриваемой предметной области. 2 Система управления базами данных (СУБД) – это комплекс языковых и программных средств, предназначенный для создания, ведения и совместного использования БД многими пользователями. Создавая базу данных, пользователь стремится упорядочить информацию по различным признакам и быстро извлекать выборку с произвольным сочетанием признаков. Сделать это возможно, только если данные структурированы. Структурирование - это введение соглашений о способах представления данных. Неструктурированными называют данные, записанные, например, в текстовом файле. Модель данных — совокупность структур данных и операций их обработки. СУБД основывается на использовании сетевой, иерархической или реляционной модели, на комбинации этих моделей или на некотором их подмножестве.
Личное дело № 16493, Сергеев Петр Михайлович, дата рождения 1 января 1976 г. ; Л/д № 16593, Петрова Анна Владимировна, дата рожд. 15 марта 1975 г. ; № личн. дела 16693, д. р. 14. 04. 76, Анохин Андрей Борисович. Неструктурированные данные Структурированные данные № личного Фамилия Имя дела 16493 Сергеев Петр 16593 Петрова Анна Дата рождения Михайлович 01. 76 Владимировна 15. 03. 75 16693 Борисович Анохин Андрей Отчество 14. 04. 76
Классификация баз данных 1. По способу доступа к данным базы данных разделяются на базы данных с локальным доступом и базы данных с удаленным (сетевым) доступом. Системы централизованных баз данных с сетевым доступом предполагают использование архитектуры клиент-сервер. Помимо хранения централизованной базы данных центральная машина (сервер базы данных) должна обеспечивать выполнение основного объема обработки данных. Запрос на данные, выдаваемый клиентом (рабочей станцией), порождает поиск и извлечение данных на сервере. Извлеченные данные транспортируются по сети от сервера к клиенту. Спецификой архитектуры клиент-сервер является использование языка запросов SQL. По способу доступа Локальный доступ Удаленный (сетевой) доступ (архитектура клиент-сервер)
Классификация баз данных Сервер базы данных 8 Архитектура клиент-сервер
2. По технологии обработки данных базы данных подразделяются на централизованные и распределенные. Централизованная база данных хранится в памяти одной вычислительной системы. Распределенная база данных состоит из нескольких, возможно пересекающихся или даже дублирующих друга частей, хранимых в различных ЭВМ вычислительной сети. По технологии обработки Централизованная Распределенная
3. В зависимости от используемой модели данных БД (как и СУБД), разделяют на иерархические, сетевые, реляционные, объектно-ориентированные и другие типы. Некоторые СУБД могут одновременно поддерживать несколько моделей данных.
Построение концептуальной (информационнологической) модели предметной области Базы данных и СУБД имеют многоуровневую архитектуру. Различают внутренний, концептуальный и внешний уровни представления данных баз данных
Концептуальный уровень соответствует логическому аспекту представления данных предметной области в интегрированном виде. Концептуальная модель состоит из множества экземпляров различных типов данных, структурированных в соответствии с требованиями СУБД к логической структуре базы данных. Внутренний уровень отображает требуемую организацию данных в среде хранения и соответствует физическому аспекту представления данных. Внешний уровень поддерживает частные представления данных, требуемые конкретным пользователям. Внешняя модель является подмножеством концептуальной модели. С помощью внешних моделей поддерживается санкционированный доступ к данным БД приложений.
Проектирование базы данных состоит в построении комплекса взаимосвязанных объектов данных. Проект базы данных надо начинать с анализа предметной области и выявления требований к ней отдельных пользователей. Разработчик базы данных сначала создает обобщенное описание создаваемой базы данных. Это описание, выполненное с использованием средств, понятных всем людям, работающих над проектированием базы данных, называют концептуальной (инфологической) моделью данных. В концептуальной модели средствами структур данных в интегрированном виде отражают состав и структуру данных, а также информационные потребности приложений. Такая модель полностью независима от физических параметров среды хранения данных.
Этапы процесса проектирования базы данных
Построение концептуальной (информационно-логической) модели предметной области Информационно-логическая модель (ИЛМ) является моделью данных, отображающих предметную область в виде совокупности информационных объектов и структурных связей между ними. Предметной областью называются часть реального мира, информация о которой хранится и обрабатывается в информационной системе. Объектом называется любой элемент некоторой системы. Принято называть отдельный предмет экземпляром объекта, а различные множества объектов, образованные по какому-либо принципу – типами объектов. Свойством объекта называется некоторая величина, характеризующая состояние объекта в любой момент времени. Отдельный экземпляр объекта может быть точно описан, если указаны значения его свойств. Два экземпляра будут различными, если они отличаются по значению хотя бы одного свойства.
Информационно-логическая модель предметной области Представление объекта или процесса в БД сводится к указанию его свойств. Информационным отображением свойств служат атрибуты, следовательно экземпляр объекта может быть представлен в базе данных как набор имени атрибута и его значения (имена атрибутов соответствуют названиям свойств объекта). Информационный объект предметной области – это информационное отображение некоторой сущности, то есть реального объекта, явления или процесса, информация о котором должна быть представлена в виде базы данных или информационной системы. Пример представления информационного объекта Студент в виде графа
Информационно-логическая модель предметной области Информационный объект имеет множество реализаций – экземпляров, каждый из которых представлен совокупностью конкретных значений свойств (реквизитов) и идентифицируется значением ключа (простого – один реквизит или составного – несколько реквизитов). Остальные реквизиты информационного объекта являются описательными. Атрибуты Экземпляры инф. объекта Студент Номер Фамилия Имя Отчество Дата Группа 16493 Сергеев Петр Михайлович 01. 76 НБС-111 16593 Петрова Анна Владимировна 15. 03. 75 НБС-111 16693 Анохин Андрей Борисович 14. 04. 76 ПСП-111 Пример структуры и экземпляров информационного объекта При проектировании БД между информационными объектами устанавливаются структурные связи, отражающие отношения между реальными объектами, процессами или явлениями.
CASE-средства построения концептуальных моделей Одной из наиболее популярных форм представления концептуальных моделей данных является модель «сущность-связь» (ER-модель Entity (сущность) и Relation (связь)). Модель была предложена Ченом в 1976 г. Кроме модели Чена известны другие модели: üсемантическая модель данных Хаммера и Маклеода; üфункциональная модель Шипмана и др. Моделирование предметной области базируется на использовании графических диаграмм, включающих небольшое число разнородных компонентов. В связи с наглядностью представления концептуальных моделей, ER-диаграммы получили широкое распространение в CASE-средствах (Computer-Aided System Engineering). предназначенных для автоматизированного проектирования реляционных баз данных.
ER-диаграммы в наглядной форме представляют связи между сущностями. Наиболее популярными являются CASE-системы ERwin, Design/IDEF, Power Designer, в которых диаграммы создаются в соответствии со стандартом IDEF 1 X. Основные понятия ER-диаграммы: üсущность; üатрибут; üсвязь. Построение ER-диаграммы предполагает определение сущностей предметной области, атрибутов этих сущностей и установление связей между ними.
Пример постановки задачи на проектирование БД Для успешного осуществления управленческой деятельности руководителю структурного подразделения органа внутренних дел необходима эффективно организованная система информационного обеспечения, основным элементом которой является совокупность взаимосвязанных баз данных. В них осуществляется накопление, хранение, поиск и выдача информации. Например, у начальника следственного управления или отдела в число баз входят: «Следователь» , «Уголовное дело» , «Событие» . Совокупность объединенных одной проблемой баз данных и система управления базами данных (СУБД) образуют банк данных. Наличие банка данных, который условно назовем «Следственная практика» , позволяет руководителю оперативно решать следующие управленческие задачи: ь осуществлять оперативный контроль и руководить работой следователей по каждому уголовному делу; ь объективно оценивать эффективность и результативность работы следователей, а также обеспечивать равномерность их загрузки; ь по запросам представлять в вышестоящие и контролирующие инстанции оперативные справки о результатах расследования по конкретным уголовным делам; ь рассчитывать и подготавливать многочисленные сводно-аналитические документы текущей и периодической статистической отчетности о работе подразделения за тот или иной отчетный период; ь давать предложения по совершенствованию структуры следственного управления (отдела) на основе аналитических расчетов; ь представлять по запросам в вышестоящие и контролирующие инстанции оперативные справки о результатах расследования по конкретным уголовным делам, задаваемым как в явном (по номеру уголовного дела), так и в неявном виде (например, по фамилии подследственного или потерпевшего, статье квалификации, сроку следствия м т. п. ); ь выявлять факты прохождения одного и того же лица по разным уголовным делам, обеспечивая своевременное соединение этих дел и др.
На первом этапе работ необходимо проанализировать информационные потоки, циркулирующие в предметной области и построить на основе результатов анализа информационную модель базы данных. Задача состоит в проектировании структуры базы данных разрабатываемой автоматизированной ИС. Описание сущностей Name (имя сущности) Definition (описание сущности) Следователь Сведения о сотрудниках, работающих в отделе Уголовное дело Краткие сведения о расследуемых уголовных делах Событие Краткие сведения событиях, послуживших основанием для возбуждения уголовных дел
Описание атрибутов сущностей с указанием ключевых и определение связей на основе анализа предметной области При проецировании предметной области в базу данных выделено три информационных объекта: «Следователь» , «Уголовное дело» , «Событие» .
Физическая модель, ориентированная на конкретную СУБД
Классификация СУБД К СУБД относятся следующие основные виды программ: ь полнофункциональные СУБД; ь серверы БД; ь клиенты БД; ь средства разработки программ работы с БД. 1. Полнофункциональные СУБД (ПФСУБД) имеют развитый интерфейс, позволяющий с помощью команд меню выполнять основные действия с БД: создавать и модифицировать структуры таблиц, вводить данные, формировать запросы, разрабатывать отчеты, выводить их на печать и т. п. Многие ПФСУБД включают средства программирования для профессиональных разработчиков. К ПФСУБД относятся, например, такие пакеты, как d. Base IV, Microsoft Access, Microsoft Fox. Pro и Paradox R: BASE. 2. Серверы БД предназначены для организации центров обработки данных в сетях ЭВМ. Серверы БД реализуют функции управления базами данных, запрашиваемые другими (клиентскими) программами обычно с помощью операторов SQL. Примерами серверов БД являются следующие программы: Net. Ware SQL (Novell), MS SQL Server (Microsoft), Inter. Base (Borland), Oracle). 3. В роли клиентских программ для серверов БД могут использоваться различные программы: ПФСУБД, электронные таблицы, текстовые процессоры, программы электронной почты и т. д. 4. Средства разработки программ работы с БД.
По характеру использования СУБД делят на персональные и многопользовательские. Персональные СУБД обычно обеспечивают возможность создания персональных БД и недорогих приложений, работающих с ними. Персональные СУБД или разработанные с их помощью приложения зачастую могут выступать в роли клиентской части многопользовательской СУБД. К персональным СУБД, например, относятся Visual Fox. Pro, Paradox, Clipper, d. Base, Access и др. Многопользовательские СУБД включают в себя сервер БД и клиентскую часть и, как правило, могут работать в неоднородной вычислительной среде (с разными типами ЭВМ и операционными системами). К многопользовательским СУБД относятся, например, СУБД Oracle и Informix.
Модели данных Модель данных – это совокупность взаимосвязанных структур данных и операций над этими структурами. К числу классических относятся следующие модели данных: ь иерархическая, ь сетевая, ь реляционная. Кроме того, в последние годы появились и стали более активно внедряться на практике следующие модели данных: ь постреляционная, ь многомерная, ь объектно-ориентированная.
Иерархическая модель данных Графическое изображение иерархической структуры БД В иерархической модели связи между данными можно описать с помощью упорядоченного графа (или дерева). К основным понятиям иерархической структуры относятся: уровень, элемент (узел), связь. Узел — это совокупность атрибутов данных, описывающих некоторый объект. На схеме иерархического дерева узлы представляются вершинами графа. Каждый узел на более низком уровне связан только с одним узлом, находящимся на более высоком уровне.
Пример иерархической модели данных На иерархической модели данных основано сравнительно ограниченное количество СУБД, в числе которых можно назвать зарубежные системы IMS, PC/Focus, Team-Up и Data Edge, а также отечественные системы Ока, ИНЭС и МИРИС.
Сетевая модель данных позволяет отображать разнообразные взаимосвязи элементов данных в виде произвольного графа, обобщая тем самым иерархическую модель данных. Сетевая БД состоит из набора записей и набора соответствующих связей. На формирование связи особых ограничений не накладывается. Если в иерархических структурах запись-потомок могла иметь только одну запись-предка, то в сетевой модели данных запись-потомок может иметь произвольное число записей-предков. Работают в отделе Отдел Сотрудники Состоит из сотрудников Имеет начальника Пример схемы простейшей сетевой БД Начальник Представление связей в сетевой модели
Сетевая модель данных Пример сетевой структуры БД Системы на основе сетевой модели не получили широкого распространения на практике. Наиболее известными сетевыми СУБД являются следующие: IDMS, db_Vista. III, СЕТЬ, СЕТОР и КОМПАС
Реляционная модель данных Понятие реляционный (англ. relation - отношение) связано с разработками известного американского специалиста в области систем баз данных Е. Ф. Кодда. Реляционная модель данных (РМД) некоторой предметной области представляет собой набор отношений, изменяющихся во времени. При создании информационной системы совокупность отношений позволяет хранить данные об объектах предметной области и моделировать связи между ними. Элементы реляционной модели Элемент реляционной модели Форма представления Отношение Таблица Схема отношения Строка заголовков столбцов таблицы (заголовок таблицы) Кортеж (запись) Строка таблицы Сущность Описание свойств объекта Атрибут Заголовок столбца таблицы Домен Множество допустимых значений атрибута Значение атрибута (реквизит) Значение поля в записи Первичный ключ Один или несколько атрибутов Тип данных Тип значений элементов таблицы
Реляционная модель данных Отношение является важнейшим понятием и представляет собой двумерную таблицу, содержащую некоторые данные. Сущность есть объект любой природы, данные о котором хранятся в базе данных. Данные о сущности хранятся в отношении. Атрибуты представляют собой свойства, , характеризующие сущность. В структуре таблицы каждый атрибут именуется и ему соответствует заго¬ловок неко-торого столбца таблицы Каждая реляционная таблица - двумерный массив Представление отношения СОТРУДНИК
Структурные элементы базы данных Имя поля 1 Имя поля 2 Имя поля 3 Имя поля 4 Запись Таблица – совокупность записей одной структуры Поле элементарная единица логической организации данных, которая соответствует неделимой единице информации – реквизиту. совокупность логически связанных полей.
Реляционная модель данных Первичным ключом (ключом отношения, ключевым атрибутом) называется атрибут отношения, однозначно идентифицирующий каждый из его кортежей. Каждое отношение обязательно имеет комбинацию атрибутов, которая может служить ключом. Ее существование гарантируется тем, что отношение — это множество, которое не содержит одинаковых элементов — кортежей. Информационный объект Студент Ключевое поле Номер Фамилия Имя Отчество Дата 16493 Сергеев Петр Михайлович 01. 76 16593 Петрова Анна Владимировна 15. 03. 75 16693 Анохин Андрей Борисович 14. 04. 76
Ключи обычно используют для достижения следующих целей: 1. исключения дублирования значений в ключевых атрибутах (остальные атрибуты в расчет не принимаются); 2. упорядочения кортежей. Возможно упорядочение по возрастанию или убыванию значений всех ключевых атрибутов, а также смешанное упорядочение (по одним — возрастание, а по другим — убывание); 3. ускорения работы с кортежами отношения; 4. организации связывания таблиц. Пусть в отношении R 1 имеется не ключевой атрибут А, значения которого являются значениями ключевого атрибута В другого отношения R 2. Тогда говорят, что атрибут А отношения R 1 есть внешний ключ.
Свойства реляционной таблицы: 1. Bce строки таблицы должны быть уникальны, т. е. не может быть строк с одинаковыми первичными ключами. 2. Имена столбцов таблицы должны быть различны, а значения их простыми, т. е. недопустима группа значений в одном столбце одной строки. 3. Все строки одной таблицы должны иметь одну структуру, соответствующую именам и типам столбцов. 4. Порядок размещения строк в таблице может быть произвольным.
Связывание таблиц При проектировании БД информацию обычно размещают в нескольких таблицах. Таблицы при этом связаны семантикой информации. В реляционных СУБД для указания связей таблиц производят операцию их связывания. Многие СУБД при связывании таблиц автоматически выполняют контроль целостности вводимых в базу данных в соответствии с установленными связями. В конечном итоге это повышает достоверность хранимой в БД информации. Кроме того, установление связи между таблицами облегчает доступ к данным. Связывание таблиц при выполнении таких операций, как поиск, просмотр, редактирование, выборка и подготовка отчетов, обычно обеспечивает возможность обращения к произвольным полям связанных записей. Это уменьшает количество явных обращений к таблицам данных и число манипуляций в каждой из них.
Основные виды связи таблиц При связывании двух таблиц выделяют основную (родительскую) и дополнительную (подчиненную, дочернюю) таблицы. Логическое связывание таблиц производится с помощью ключа связи. Ключ связи, по аналогии с обычным ключом таблицы, состоит из одного или нескольких полей, которые в данном случае называют полями связи (ПС). Суть связывания состоит в установлении соответствия полей связи основной и дополнительной таблиц. В зависимости от того, как определены поля связи основной и дополнительной таблиц (как соотносятся ключевые поля с полями связи), между двумя таблицами в общем случае могут устанавливаться следующие четыре основных вида связи: один — один (1: 1); один — много (1: М); много — один (М: 1); много — много (М: М или M: N). Характеристика видов связей таблиц Характеристика полей связи по видам 1: 1 1: М М: 1 М: М Поля связи основной таблицы являются ключом не являются ключом Поля связи дополнительной таблицы являются ключом не являются ключом
Характеристика связей: Связь вида 1: 1 образуется в случае, когда все поля связи основной и дополнительной таблиц являются ключевыми. Поскольку значения в ключевых полях обеих таблиц не повторяются, обеспечивается взаимно-однозначное соответствие записей из этих таблиц. Сами таблицы, по сути, здесь становятся равноправными. На практике связи вида 1: 1 используются сравнительно редко, так как хранимую в двух таблицах информацию легко объединить в одну таблицу, которая занимает гораздо меньше места в памяти ЭВМ. Связь вида 1: М Связь 1: М имеет место в случае, когда одной записи основной таблицы ответствует несколько записей вспомогательной таблицы. Связь вида М: 1 Связь М: 1, по сути, является «зеркальным отображением» связи 1: М. Связь вида М: М Самый общий вид связи М: М возникает в случаях, когда нескольким записям основной таблицы соответствует несколько записей дополнительной таблицы. На практике в связь обычно вовлекается сразу несколько таблиц. При этом одна из таблиц может иметь различного рода связи с несколькими таблицами. В случаях, когда связанные таблицы, в свою очередь, имеют связи с другими таблицами, образуется иерархия или дерево связей.
Контроль целостности связей Из перечисленных видов связи наиболее широко используется связь вида 1: М. Связь вида 1: 1 можно считать частным случаем связи 1: М, когда одной записи главной таблицы соответствует одна запись вспомогательной таблицы. Вид связи М: М характеризуется как слабый вид связи или даже как отсутствие связи. Рассмотрим связь вида 1: М. При образовании связи вида 1: М одна запись главной таблицы (главная, родительская запись) оказывается связанной с несколькими записями дополнительной (дополнительные, подчиненные записи). Контроль целостности связей обычно означает анализ содержимого двух таблиц на соблюдение следующих правил: ь каждой записи основной таблицы соответствует ноль или более записей дополнительной таблицы; ь в дополнительной таблице нет записей, которые не имеют родительских записей в основной таблице; ь каждая запись дополнительной таблицы имеет только одну родительскую запись основной таблицы. Опишем действие контроля целостности при манипулировании данными в таблицах. Рассмотрим три основные операции над данными двух таблиц: ь ввод новых записей, ь модификацию записей, ь удаление записей.
При вводе новых записей данные сначала вводятся в основную таблицу, а потом — в дополнительную. Очередность ввода может быть установлена на уровне целых таблиц или отдельных записей (случай одновременного ввода в несколько открытых таблиц). В процессе заполнения основной таблицы контроль значений полей связи ведется как контроль обычного ключа (на совпадение со значениями тех же полей других записей). Заполнение полей связи дополнительной таблицы контролируется на предмет совпадения со значениями полей связи основой таблицы. Если вновь вводимое значение в поле связи дополнительной таблицы не совпадет ни с одним соответствующим значением в записях основной таблицы, то ввод такого значения должен блокироваться. Модификация записей. Изменение содержимого полей связанных записей не относящихся к полям связи происходит обычным образом. Рассмотрим механизм изменения полей связи. При редактировании полей связи дополнительной таблицы очевидным требованием является то, чтобы новое значение поля связи совпадало с соответствующим значением какой-либо записи основной таблицы. Т. е. дополнительная запись может сменить родителя, но остаться без него не должна. Редактирование поля связи основной таблицы разумно подчинить одному из следующих правил: ь редактировать записи, у которых нет подчиненных записей. Если есть подчиненные записи, то блокировать модификацию полей связи; ь изменения в полях связи основной записи мгновенно передавать во все поля связи всех записей дополнительной таблицы (каскадное обновление).
В операциях удаления записей связанных таблиц большую свободу имеют записи дополнительной таблицы. Удаление их должно происходить практически бесконтрольно. Удаление записей основной таблицы логично подчинить одному из следующих правил: ь удалять можно запись, которая не имеет подчиненных записей; ь запретить (блокировать) удаление записи при наличии подчиненных записей, либо удалять ее вместе со всеми подчиненными записями (каскадное удаление).
Основные понятия баз данных.ppt