лекции. Конспект лекций профессионального модуля пм. 02 Разработка и администрирование баз данных междисциплинарного курса
Скачать 0.63 Mb.
|
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ПЕНЗЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ МНОГОПРОФИЛЬНЫЙ КОЛЛЕДЖ УТВЕРЖДАЮ: Ректор _______________А.Д Гуляков «____» ___________________ 2015 г. КОНСПЕКТ ЛЕКЦИЙ профессионального модуля ПМ.02 Разработка и администрирование баз данных междисциплинарного курса МДК.02.02. ТЕХНОЛОГИЯ РАЗРАБОТКИ И ЗАЩИТЫ БАЗ ДАННЫХ Специальность 09.02.03 Программирование в компьютерных системах Квалификация выпускника – Техник-программист Форма обучения – Очная 2015 г Содержание Введение 3 1. Основные положения теории баз данных 5 1.1. Основные понятия и определения теории баз данных 5 1.2. Хранилища данных 7 1.3. Базы знаний 9 2. Основные принципы и средства построения концептуальной, логической и физической модели данных 12 2.1. Обзор современных инструментальных средств разработки схемы базы данных 12 2.2. Концептуальная модель данных 13 2.3. Логическая модель данных 15 2.5. Физическая модель данных 26 26 3. Системы управления базами данных. Компоненты и структуры данных 39 3.1. Обзор современных СУБД 39 3.2. Методы описания схем баз данных в современных СУБД 40 3.3. Структуры данных СУБД, общий подход к организации представлений, таблиц, индексов и кластеров 43 4. Методы и средства защиты данных в базах данных 56 4.1. Способы контроля доступа к данным и управления привилегиями 56 4.2. Основные методы и средства защиты данных в базах данных 59 Заключение 61 Литература 62 Введение Появление баз данных стало самым важным достижением в области программного обеспечения. Базы данных лежат в основе информационных систем, и это коренным образом изменило характер работы многих организаций. Основные идеи современных информационных систем базируются на концепции баз данных. Одним из важнейших понятий в теории баз данных является понятие информации. Под информацией понимаются любые сведения о каком-либо событии, процессе, объекте. К информации может относиться все, что может интересовать пользователя любого уровня. Данные — это информация, представленная в определенном виде, позволяющем автоматизировать ее сбор, хранение и дальнейшую обработку человеком или информационным средством. Для компьютерных технологий данные — это информация в дискретном виде, удобном для хранения и обработки на ЭВМ, а также для передачи по каналам связи. Данные – это информация, необходимая для текущей работы пользователя или предприятия. Эта информация может относиться к определенным свойствам различных объектов или к определенным фактам относительно этих объектов. Например: Работник – его имя, фамилия. Поставщик такой-то находится в Саратове. База данных (БД) – это некоторый набор устойчивых (перманентных) данных, отражающий состояние объектов и их отношений в рассматриваемой предметной области и используемый прикладными системами какого-либо предприятия. База данных – это совокупность взаимосвязанных данных (и описаний этих данных), предназначенный для удовлетворения информационных потребностей организации. Устойчивые данные отличаются от других типов данных (от более изменчивых данных – промежуточных результатов, входных и выходных данных и пр.). Администратор базы данных (АБД) — человек, который принимает участие в разработке БД, контролирует правильность ее функционирования. Система управления базами данных (СУБД) – это программное обеспечение, которое управляет доступом к базе данных. СУБД – это совокупность языковых и программных средств, с помощью которых пользователи могут определять, создавать и поддерживать базу данных, а также осуществлять к ней контролируемый доступ. Пример – система "Студент". База данных – модель внешнего мира. Информационная система — это организационная совокупность технических и обеспечивающих средств, технологических процессов и кадров, реализующих функции сбора, обработки, хранения, поиска, выдачи и передачи информации. 1. Основные положения теории баз данных 1.1. Основные понятия и определения теории баз данных Ранее вместо распространенных в настоящее время СУБД использовались традиционны файловые системы. Файловые системы – набор программ, которые выполняют для пользователей некоторые операции, например создание отчетов. Каждая программа определяет свои собственные данные и управляет ими. Файловые системы были первой попыткой компьютеризировать известные всем ручные картотеки. Данные хранятся в отдельных файлах. Файловые системы были разработаны в ответ на потребность в получении более эффективных способов доступа к данным. Однако, вместо организации централизованного хранилища всех данных предприятия, был использован децентрализованный подход, при котором сотрудники каждого отдела работают со своими собственными данными и хранят их в своем отделе. Ограничения, присущие файловым системам: разделение и изоляция данных - данные изолированы в отдельных файлах, и доступ к ним весьма затруднен. дублирование данных – децентрализованная работа с данными в каждом отделе независимо от других отделов, что приводит к затрате дополнительных ресурсов и к нарушению целостности данных. зависимость от данных – способ хранения записей в файлах жестко зафиксирован в коде программы приложения, изменить существующую структуру данных достаточно сложно. несовместимость файлов – формат определяется кодом приложения. фиксированные запросы – нельзя создавать произвольные запросы, так как их форматы фиксированы кодом приложения – надо увеличивать количество приложений и файлов для реализации новых запросов. Существование фактов приводит к наличию связей между отдельными объектами предметной области. Связи являются такой же частью данных предприятия как основные сущности. Поэтому связи должны быть представлены в базе данных наравне с основными сущностями предметной области. Указанные недостатки, присущие файловым системам – это следствие двух факторов: определение данных содержится внутри приложений, а не хранится отдельно и независимо от них. помимо приложений не предусмотрено никаких других инструментов доступа к данным и их обработки. Базы данных и СУБД реализуют новый подход к работе с данными. База данных — это совместно используемый набор логически связанных данных (и описание этих данных), предназначенный для удовлетворения информационных потребностей предприятия. База данных – это единое, большое хранилище данных, которое однократно определяется, а затем используется одновременно многими пользователями. Вместо разрозненных файлов здесь все данные собраны вместе с минимальной долей избыточности. База данных хранит не только сами данные, но и их описания – в словаре данных. Описания называются метаданными. Именно наличие самоописания данных в базе данных обеспечивает в ней независимость между программами и данными. Подход, основанный на применении баз данных, обеспечивает отделение определения данных от приложений. Пользователи объекта видят только его внешнее определение и не заботятся о том, как он представлен внутренне и как функционирует это представление. Такое абстрагирование данных обеспечивает одно из преимуществ такого подхода — можно изменить внутреннее определение объекта без каких либо последствий для его пользователей, при условии, что внешнее определение объекта остается неизменным. Аналогичным образом, в подходе с использованием баз данных, структура данных отделена от приложений и хранится в базе данных. Также следует объяснить следующий термин из определения базы данных, а именно понятие "логически связанные данные". При анализе информационных потребностей организации следует выделить сущности, атрибуты и связи. Сущностью (entity) называется отдельный тип объекта организации (человек, место или вещь, понятие или событие), который надо представить в базе данных. Атрибутом (attribute) называется свойство, которое описывает некоторую характеристику описываемого объекта. Связь (relationship) – это то, что объединяет несколько сущностей. Например, на рис.1 приведена так называемая диаграмма "сущность – связь", или ER-диаграмма, для некоторой части проекта "Отдел кадров". Она состоит из следующих компонентов: двух сущностей (которые обозначены прямоугольниками): Служащий и Отдел; одной связи (которая обозначена ромбиком): Работает. Подобная база данных представляет сущности, атрибуты и логические связи между объектами. Иначе говоря, база данных содержит логически связанные данные. Рис.1. ER - диаграмма СУБД – это программное обеспечение, которое взаимодействует с прикладными программами пользователя и базой данных и обладает следующими возможностями: позволяет определять базу данных с помощью языка определения данных (DDL – Data Definition Language). позволяет вставлять, обновлять, удалять и извлекать информацию из базы данных с помощью языка управления данными (DML – Data Manipulation Language). Язык DML иногда называют языком запросов. Наиболее распространенным является язык структурированных запросов (Structured Query Language – SQL или "сиквел"). предоставляет контролируемый доступ к базе данных, обеспечивающий: отсутствие несанкционированного доступа к базе данных; поддержку целостности данных; параллельную работу приложений, контролируя процессы совместного доступа к базе данных; восстановление базы данных до предыдущего непротиворечивого состояния, нарушенного в результате сбоя; доступ к каталогу, содержащему описание хранимой в базе данных информации (к метаданным). 1.2. Хранилища данных Хранилище данных (англ. DataWarehouse) — предметно-ориентированная информационная база данных, специально разработанная и предназначенная для подготовки отчётов и бизнес-анализа с целью поддержки принятия решений в организации. Строится на базе систем управления базами данных и систем поддержки принятия решений. Данные, поступающие в хранилище данных, как правило, доступны только для чтения.. Есть два варианта обновления данных в хранилище: Полное обновление данных в хранилище. Сначала старые данные удаляются, потом происходит загрузка новых данных. Процесс происходит с определённой периодичностью, при этом актуальность данных может несколько отставать от OLTP-системы; Инкрементальное обновление — обновляются только те данные, которые изменились в OLTP-системе. Проблемно-предметная ориентация. Данные объединяются в категории и хранятся в соответствии с областями, которые они описывают, а не с приложениями, которые они используют. Интегрированность. Данные объединены так, чтобы они удовлетворяли всем требованиям предприятия в целом, а не единственной функции бизнеса. Некорректируемость. Данные в хранилище данных не создаются: т.е. поступают из внешних источников, не корректируются и не удаляются. Зависимость от времени. Данные в хранилище точны и корректны только в том случае, когда они привязаны к некоторому промежутку или моменту времени. Существуют два архитектурных направления – нормализованные хранилища данных и хранилища с измерениями. В нормализованных хранилищах, данные находятся в предметно ориентированных таблицах третьей нормальной формы. Нормализованные хранилища характеризуются как простые в создании и управлении, недостатки нормализованных хранилищ – большое количество таблиц как следствие нормализации, из-за чего для получения какой-либо информации нужно делать выборку из многих таблиц одновременно, что приводит к ухудшению производительности системы. Для решения этой проблемы используются денормализованные таблицы - витрины данных, на основе которых уже выводятся отчетные формы. При громадных объемах данных могут использовать несколько уровней «витрин»/«хранилищ». Хранилища с измерениями используют схему «звезда» или схему «снежинка». При этом в центре «звезды» находятся данные (Таблица фактов), аизмерения образуют лучи звезды. Различные таблицы фактов совместно используют таблицы измерений, что значительно облегчает операции объединения данных из нескольких предметных таблиц фактов (Пример – факты продаж и поставок товара). Таблицы данных и соответствующие измерения образуют архитектуру «шина». Измерения часто создаются в третьей нормальной форме, в том числе, для протоколирования изменения в измерениях. Основным достоинством хранилищ с измерениями является простота и понятность для разработчиков и пользователей, также, благодаря более эффективному хранению данных и формализованным измерениям, облегчается и ускоряется доступ к данным, особенно при сложных анализах. Основным недостатком является более сложные процедуры подготовки и загрузки данных, а также управление и изменение измерений данных. При достаточно большом объеме данных схемы «звезда» и «снежинка» также дают снижение производительности при соединениях с измерениями. Источниками данных могут быть: Традиционные системы регистрации операций Отдельные документы Наборы данных Операции с данными: Извлечение – перемещение информации от источников данных в отдельную БД, приведение их к единому формату. Преобразование – подготовка информации к хранению в оптимальной форме для реализации запроса, необходимого для принятия решений. Загрузка – помещение данных в хранилище, производится атомарно, путем добавления новых фактов или корректировкой существующих. Анализ – OLAP, Data Mining, сводные отчёты. Представление результатов анализа. Вся эта информация используется в словаре метаданных. В словарь метаданных автоматически включаются словари источников данных. Здесь же описаны форматы данных для их последующего согласования, периодичность пополнения данных, согласованность во времени. Задача словаря метаданных состоит в том, чтобы освободить разработчика от необходимости стандартизировать источники данных. Создание хранилищ данных не должно противоречить действующим системам сбора и обработки информации. Специальные компоненты словарей должны обеспечивать своевременное извлечение данных из них и обеспечить преобразование данных к единому формату на основе словаря метаданных. Логическая структура данных хранилища данных существенно отличается от структуры данных источников данных. Для разработки эффективного процесса преобразования необходима хорошо проработанная модель корпоративных данных и модель технологии принятия решений. Данные для пользователя удобно представлять в многоразмерных БД, где в качестве измерений могут выступать время, цена или географический регион. Кроме извлечения данных из БД, для принятия решений важен процесс извлечения знаний, в соответствии с информационными потребностями пользователя. С точки зрения пользователя в процессе извлечения знаний из БД должны решаться следующие преобразования: данные → информация → знания → полученные решения. 1.3. Базы знаний База знаний (БЗ; англ. knowledgebase, KB) в информатике и исследованиях искусственного интеллекта — это особого рода база данных, разработанная для оперирования знаниями (метаданными). База знаний содержит структурированную информацию, покрывающую некоторую область знаний, для использования кибернетическим устройством (или человеком) с конкретной целью. Современные базы знаний работают совместно с системами поиска информации, имеют классификационную структуру и формат представления знаний. Полноценные базы знаний содержат в себе не только фактическую информацию, но и правила вывода, допускающие автоматические умозаключения о вновь вводимых фактах и, как следствие, осмысленную обработку информации. Область наук об искусственном интеллекте, изучающая базы знаний и методы работы со знаниями, называется инженерией знаний. Иерархический способ представления в базе знаний набора понятий и их отношений называется онтологией. Онтологию некоторой области знаний вместе со сведениями о свойствах конкретных объектов также можно назвать базой знаний. Экспертные системы предназначены для поиска способов решения проблем из некоторой предметной области, основываясь на записях БЗ и на пользовательском описании ситуации. Простые базы знаний могут использоваться для создания экспертных систем хранения данных в организации: документации, руководств, статей технического обеспечения. Главная цель создания таких баз — помочь менее опытным людям найти уже существующее описание способа решения какой-либо проблемы. Двумя наиболее важными требованиями к информации, хранящейся в базе знаний интеллектуальной системы, являются: Достоверность конкретных и обобщённых сведений, имеющихся в базе данных; Релевантность информации, получаемой с помощью правил вывода базы знаний. Ниже перечислены некоторые из особенностей, которые могут (но не обязаны) быть у системы, оперирующей базами знаний. Автоматическое доказательство (вывод). Способность системы выводить новые знания из старых, находить закономерности в БЗ. Часто принимается, что база знаний отличается от базы данных именно наличием механизма вывода. Доказательство заключения. Способность системы после выдачи ответа «объяснить» ход её рассуждений, причем «по первому требованию». Интроспекция. Нахождение противоречий, нестыковок в БЗ, контроль правильной организации БЗ. Машинное обучение. Превращение БЗ в гибкую систему, адаптация к проблемной области. Аналогична человеческой способности «набирать опыт». В языке Пролог базы знаний описываются в форме конкретных фактов и правил логического вывода над базами данных и процедурами обработки информации, представляющих сведения и знания о людях, предметах, фактах, событиях и процессах в логической форме. В ответах на простейшие запросы к базам знаний система логического программирования Пролог выдает значения «истина» и «ложь» в зависимости от наличия соответствующих фактов. Обобщённые сведения в языке Пролог задаются с помощью правил логического вывода, выполняющих роль определения понятий, а также логических процедур, состоящих из наборов правил логического вывода. Достоверность обобщенных сведений зависит от наличия необходимых фактов и достоверности данных в базах знаний. 2. Основные принципы и средства построения концептуальной, логической и физической модели данных |