Слайд 1Тема 3. Информационные технологии управления данными.
Базы данных и системы
управления базами данных
2012
Слайд 2Профессиональная деятельность человека постоянно связана с восприятием и накоплением информации
об окружающей среде, отбором и обработкой информации при решении различных
задач, обменом ее с другими людьми.
В частности предметная область деятельности предприятия может быть разделена (декомпозирована) на фрагменты: например, предприятие - это дирекция, плановые отделы, бухгалтерия, цеха, отделы маркетинга, логистики и продаж, клиенты, поставщики и т. д.
Слайд 3В результате деятельности каждое из подразделений, взаимодействуя с другими подразделениями,
накапливает данные, которые описывают и деятельность подразделения и его взаимодействие
с другими подразделениями и внешней средой.
Эти данные отражают динамичную внешнюю и внутреннюю среды предприятия, поэтому в специальных разделах информационной системы необходимо создавать динамически обновляемые модели отражения внешнего мира с использованием единого хранилища данных - базы данных.
Слайд 4Следует всегда помнить о том, что единственная цель размещения данных
в информационной системе – последующее извлечение информации.
(Вспомните о различии понятий
«данные» и «информация»).
Для того, чтобы извлекаемая из хранилища информация была полезна, она должна быть точна, полна, актуальна и организована так, чтобы её можно было своевременно считывать и представлять в нужном формате (в «удобном» виде).
Слайд 5Информационная технология баз данных и систем управлениями базами данных (СУБД)
–неотъемлемая часть практически любой информационной системы
Информационная технология баз данных и
систем управлениями базами данных (СУБД) должна:
обеспечить поддержку надёжного хранения данных
выполнение преобразований данных (и/или вычислений)
обеспечить предоставление пользователю удобного интерфейса для ввода (изменения) данных и извлечения информации
Слайд 6Общепринятый современный способ реализации этой технологии – применение баз данных
(БД) и систем управления базами данных (СУБД).
(Необходимо различать эти два
понятия!)
Любая современная информационная система на основе БД состоит, как правило, из двух частей:
База данных (хранилище), в которой хранятся данные о тех объектах, для которых построена информационная система, а также хранятся некоторые данные, описывающие структуру хранимых данных (метаданные)
СУБД – программный комплекс, позволяющий управлять данными, т.е. выполнять различные операции с данными (добавлять, изменять, удалять, выполнять преобразования, вычисления, упорядочение, отбор…)
Слайд 7База данных (БД) предназначена для хранения:
данных
«инструментов» для извлечения информации (но
эти «инструменты» могут работать только под управлением СУБД)
данных, описывающих структуру
хранимых данных
Система управления базами данных (СУБД) – это комплекс программных и лингвистических средств, реализующий:
Поддержку создания баз данных
Управление и организацию доступа к ним пользователей
Описание и сжатие данных
Поддержку целостности данных и их восстановление
Безопасность данных
Предоставление информации в удобном виде
Слайд 8Разделение возникло в результате опыта эксплуатации информационных систем, и причины
такого разделения связаны с двумя обстоятельствами:
Несмотря на то, что структуры
данных, используемые для информационного описания различных объектов, могут существенно различаться, между ними часто бывает много общего.
Общность многих свойств данных и их структур приводит к тому, что возможны некоторые общие способы (методы) управления данными. Эти методы рационально реализовать в универсальных программных инструментах.
Слайд 9Классические примеры: список контактов в вашем телефоне, справочная система к
любой прикладной программе, системы резервирования авиа и жел. дор. билетов,
мест в гостиницах, банковские системы, продажа бытовой техники…
Важно: в процессе функционирования изменения только в БД, а СУБД остается неизменной.
Ваша записная книжка – пример «бумажной» реализации базы данных и «СУБД»
Слайд 10Окончательно:
База данных (БД) – это хранилище, в котором хранятся данные
о тех объектах, для которых построена информационная система, а также
хранятся некоторые данные, описывающие структуру хранимых данных (метаданные) и «инструменты» для извлечения информации
СУБД (Система Управления Базой Данных)– программный комплекс, позволяющий управлять данными, т. е. выполнять различные операции с данными (добавлять, изменять, удалять, выполнять преобразования, вычисления, упорядочение, отбор…).
Примечание. Очень часто, когда в обычной речи говорят о базе данных, подразумевают и БД и СУБД, в которой функционирует база данных.
Слайд 11Основные требования, предъявляемые к БД
Адекватность информации состоянию предметной области.
База данных является информационной моделью предметной области и хранимая в
ней информация должна полно и точно отражать ее объекты, их свойства и отношения между объектами.
В свою очередь, требование адекватности порождает ряд новых требований к системе, таких, как необходимость постоянного внесения изменений в данные и периодического изменения организации данных.
Надежность функционирования.
Слайд 12Быстродействие и производительность. Первое из них определяется временем ответа (реакции)
системы на запрос. Это время зависит не только от быстродействия
ЭВМ, но и от способов физической организации данных, методов доступа, способов поиска, сложности запроса и других факторов. Производительность определяется количеством запросов, выполняемых в единицу времени.
Простота и удобство использования.
Массовость использования. Современные БД должны обеспечивать коллективный доступ пользователей, при котором они могут одновременно и независимо обращаться к данным для получения необходимых сведений.
Слайд 13Защита информации.
Возможность расширения. Архитектура системы должна допускать расширение ее
возможностей путем модификации или замены существующих программных модулей либо добавления
новых компонентов, а также путем реорганизации информационных массивов.
Слайд 14Модели организации данных (предварительные замечания)
Любая база данных реализует какую-то модель
организации данных.
Предшественниками технологии баз данных были файловые системы хранения и
обработки данных (50-е годы прошлого века). Файловые системы были первой попыткой компьютеризировать известные всем ручные картотеки.
Перед тем, как перейти к рассмотрению моделей организации данных, рассмотрим пример «примитивной» информационной системы, основанной на файловой системе хранения и обработки данных.
Этот пример позволит продемонстрировать недостатки таких систем и наметить способы их устранения.
Слайд 15«Примитивная» ИС
Файл (или несколько файлов), в котором хранятся данные, плюс
какие-то прикладные программы, с помощью которых можно записывать, считывать и
модифицировать данные, могут служить не только для хранения данных, но и в качестве примитивной информационной системы.
Данные о студентах специальностей ГМУ и МО (прием 2010 года), сохраненные в виде простого текстового файла. Студенты_2010_1.txt
Цель размещения данных – последующее извлечение самой разнообразной информации как об отдельных студентах, так и о каких-то наборах студентов (сгруппированных по каким-то возможным признакам).
Слайд 16Минимальной «информационной единицей» объекта «Студенты специальностей ГМУ и МО» в
данном примере является отдельный студент, поэтому в файле для каждого
студента должна содержаться одна отдельная запись (строка)
Каждая конкретная запись состоит из значений реквизитов (атрибутов), характеризующих отдельного студента, т.е. студент «представлен» набором значений его реквизитов
Название (имя) реквизита (атрибута) является обычно названием (именем) поля
Слайд 17Запись
(состоит из значений реквизитов)
Поле
(имя поля – название реквизита)
Слайд 18Названия (имена) полей таблицы – это названия (имена) реквизитов (атрибутов):
фамилия
имя
отчество
название группы
…
дата рождения
город, в котором закончил школу
…
Каждая запись содержит значения
этих реквизитов
Обратить внимание: в информационной системе каждый «экземпляр» студента «представлен» своей записью –совокупностью значений его реквизитов.
Слайд 19Открыв этот файл, например, с помощью программы «Блокнот», вы получаете
возможность:
редактировать (изменять данные, добавлять записи)
осуществлять поиск (например, найти студентов с
заданным именем и т.п…).
Если запустить ещё и программу «Калькулятор», то появится возможность выполнять некоторые вычисления с данными (например, рассчитать средний возраст и т.п.).
Слайд 20Таким образом, используя текстовый файл с данными и две прикладные
программы, мы получили примитивную информационную систему, в которой в принципе
реализованы многие её функции.
Файл, в котором хранятся данные, играет роль примитивной базы данных, а прикладные программы «Блокнот» и «Калькулятор» – играют роль примитивной СУБД.
Важное примечание: в качестве примера взята небольшая (обозримая) база данных. Реальные базы данных могут содержать сотни тысяч (и более) записей
Слайд 21Если открыть этот же текстовый файл в программе Word, то
круг возможных операций с данными расширится – появится возможность упорядочения
(сортировки) данных по любому полю, возможность графического анализа данных и даже можно будет отказаться от «услуг» программы «Калькулятор», поскольку программа Word позволяет выполнять некоторые вычисления.
Таким образом, программа Word также может в данном случае выполнять роль примитивной СУБД
База данных – независимая от прикладных программ совокупность связанных и структурированных данных (организованных по определённым правилам)
Слайд 22Если открыть этот же текстовый файл в программе Excel, то
круг возможных операций с данными расширяется ещё больше:
Появится возможность выполнять
преобразования данных (и вычисления) любой степени сложности
Появится возможность отбора (фильтрации) данных по любому полю и с использованием критериев практически любой степени сложности
Расширятся возможности графического представления и анализа данных
Появится возможность применения форм для работы с данными
Программа Excel в данном случае – достаточно мощная СУБД
Слайд 23Следствия из рассмотренного примера:
В первом приближении – «база данных» это
хранилище данных.
Обратите внимание: в базе данных никогда не хранится то,
что можно получить в результате «обработки данных» («вычислений»).
Например, средний возраст студентов и т.п.
В теории баз данных это формулируется так:
в базах данных не хранятся «вычисляемые данные»
СУБД – это программный комплекс, позволяющий выполнять различные операции с данными из БД (преобразования, вычисления, упорядочение, отбор…) т.е. «извлекать информацию»
Слайд 24Недостатки рассмотренной
«информационной системы»
Первый и очевидный недостаток – «не очень
удобный интерфейс».
Все современные СУБД предоставляют разработчику информационной системы средства, позволяющие
сконструировать максимально удобный для конечного пользователя интерфейс.
(Возможность создания такого интерфейса можно считать ещё одним доводом в пользу раздельного существования баз данных и СУБД)
Слайд 25Второй недостаток – открытость и доступность для пользователя файла (файлов),
в которых хранятся данные.
Накопленный к настоящему времени опыт эксплуатации информационных
систем говорит о том, что и данные и способ их хранения в каких-то файлах должны быть скрыты от «обычного» пользователя информационной системы.
«Скрытость» структуры файлов, в которых хранятся данные, реализована во всех современных СУБД.
Более того, большинству конечных пользователей должна быть недоступна не только структура файлов, но и структура таблиц с данными.
Слайд 26Третий недостаток – хранение так называемых «избыточных данных».
Избыточные данные –
это одни и те же данные, которые хранятся в нескольких
местах.
(Простейший пример – повторяющиеся данные в поле «Группа»).
Файл Список_2.xls (Лист 2)
Нежелательность хранения избыточных данных обусловлена, по крайней мере, тремя причинами.
Слайд 27Нежелательность хранения
избыточных данных (1)
Нерациональное использование памяти.
Например, каждая буква
в текстовых данных требует для хранения 2 байта, поэтому повторяющиеся
текстовые данные могут существенно увеличивать объём памяти, необходимый для хранения данных.
Современные устройства внешней памяти позволяют хранить огромные объемы данных, поэтому хранение избыточных данных на первый взгляд не играет решающей роли (вроде бы «не смертельно»), но оно может существенно увеличить время извлечения информации, что может повлиять на своевременность принятия решения.
Слайд 28Нежелательность хранения
избыточных данных (2)
Неоднозначность данных.
«Человеку свойственно ошибаться». Следствием этого
могут быть, например, орфографические ошибки в введённых данных, или, например,
различное написание одного и того же данного (вместо
«С-Петербург» - «Санкт-Петербург» и т.п.).
Следствие неоднозначности данных – неполнота (неточность) информации, извлекаемой из хранилища информационной системой.
Слайд 29Нежелательность хранения
избыточных данных (3)
Несогласованность данных.
Если какое-то данное повторяется многократно
(хранится в базе во многих местах), то необходимость изменения этого
данного приведёт к необходимости изменений во многих местах.
Например, если Санкт-Петербург переименуют обратно в «Ленинград», то придётся изменять многие данные в хранилище данных, что может привести к значительным трудозатратам.
Слайд 30
В «устройстве» всех современных СУБД заложена концепция: в идеале все
данные записываются только однажды (в одном единственном месте!)
Следует заметить, что
полностью устранить избыточность данных очень сложно
(с избыточностью приходится мириться, если речь идет о именах, фамилиях и т.п.)
Слайд 31
Объект, для информационного описания которого создается база данных, состоит, как
правило, из множества отдельных «сущностей», взаимодействующих между собой в процессе
функционирования (в нашем примере - это студенты, преподаватели, предметы…)
Данные об отдельных сущностях, из которых состоит объект можно хранить в отдельных таблицах
Слайд 32Возможное решение, позволяющее «избавиться» от избыточных данных – хранение данных
в отдельных таблицах.
Простой пример:
Создадим отдельную таблицу со списком названий
групп.
Кроме поля «Группа» создадим в этой таблице поле Код_группы с уникальным идентификатором (кодом) каждй группы (ключевое поле этой таблицы)
В таблице со списком студентов заменим названия групп на коды этих групп
(Студенты_2010_2.xls Лист с именем 1)
Слайд 33Позитивные следствия разделения данных:
Исчезли повторяющиеся данные о названиях групп (очевидно,
что при большом числе записей произойдёт уменьшение объёма хранимых данных)
Практически
исчезла неоднозначность данных о группах – название группы вводится только один раз
Исчезла несогласованность данных о группах – изменение названия группы потребует замены названия в одном единственном месте
Слайд 34Негативное следствие разделения данных:
Появилась «проблема» – проблема выдачи информации в
удобном виде, поскольку, например, в рассматриваемом примере потребителю информации нужны
не коды, а названия групп.
Решение этой проблемы «перекладывается» на СУБД
В рассматриваемом примере, использующем Excel в качестве СУБД, для вывода информации в удобном виде достаточно воспользоваться встроенными в Excel средствами программирования.
Во всех современных СУБД предусмотрены средства вывода информации в удобном виде не требующие от пользователя знания программирования. 3.mdb
Слайд 35Модели данных
Важнейшую роль при обеспечении эффективного хранения данных извлечения из
них информации играют методы организации логических связей между данными.
Модель
данных – это формальный способ отображения взаимоотношений (логических связей) между данными.
Каждая СУБД построена так, что в ней реализована какая-то конкретная модель данных.
Слайд 36В настоящее время известны и применяются следующие модели организации данных:
Иерархическая
Сетевая
Реляционная
Объектно-ориентированная
Объектно-реляционная
Следует отметить, что две последние находятся в стадии разработки.
Слайд 37Иерархическая модель
Записи организованы в наборы, которые связываются друг с другом
связями «владения»
Данные связаны между собой так, что эти связи можно
отобразить в виде некоторой иерархической структуры:
ректорат – деканат – группа – студент
оглавление в обычной книге
справочная система к какой-то не очень сложной компьютерной программе
Важно: в каждом из приведённых примеров «добраться» до данных, принадлежащих низшей ступени иерархии, можно только через вершину.
Слайд 38Сетевая модель
Очень похожа «внешне» на иерархическую модель, но допускает связи
между данными, находящимися, например, на одной ступени иерархии (набор записей
может участвовать в произвольном числе связей владения).
Пример: справочная система к достаточно сложной системе прикладных программ Microsoft Office – можно получить одни и те же данные (например, о форматировании диска) из разных прикладных программ, входящих в этот пакет.
Ещё пример: справка по функциям в программе Excel
Слайд 39Реляционная модель. Основные положения
Перевод слова «relation»: отношение, связь, зависимость
Концепцию, лежащую
в основе реляционных баз данных, можно сформулировать в двух предложениях:
Если
существуют сущности, данные о которых необходимо хранить, и эти сущности связаны друг с другом самыми разными способами, то в базе данных должны содержаться не только данные, но и сведения о взаимоотношениях между этими данными.
В реляционных базах данных все данные, относящиеся к сущностям и взаимоотношениям между ними располагаются во множестве связанных таблиц.
(Это «обычные» двумерные таблицы).
Слайд 40Каждая таблица реляционной базы данных содержит сведения о какой-то части
объекта, о «сущностях» из которых состоит объект (одна таблица –
данные о студентах, другая – данные о предметах и т.д…)
Сведения о взаимоотношениях между данными, содержащимися в разных таблицах, отражаются с помощью установления связей между полями таблиц
Почти во всех таблицах базы данных есть поле, значение в котором является уникальным идентификатором «экземпляра сущности» данной таблицы. Такое поле называют первичным ключом
Между ключевыми полями одних таблиц и полями других таблиц устанавливаются связи
Слайд 41Специфика таблиц реляционной БД
Таблица состоит из строк одинакового вида и
имеет своё уникальное имя
Строки имеют фиксированное число полей (столбцов)
Столбцы (поля)
таблицы имеют уникальные (в пределах таблицы) имена
Содержимое любой ячейки одного и того же столбца имеет строго определённый простой тип данных
В каждой ячейке таблицы (на пересечении строки и столбца) всегда имеется в точности одно нерасчленяемое значение или ничего.
Строки таблицы обязательно отличаются друг от друга хотя бы единственным значением, что позволяет однозначно идентифицировать любую строку такой таблицы.
Слайд 42Пример использования СУБД Access для реализации реляционной модели данных
Прикладная программа
Microsoft Access, входящая в состав пакета Microsoft Office, – пример
достаточно мощной СУБД, поддерживающей реляционные базы данных
Обратить внимание: вывод требуемой информации в удобном виде не требует знания программирования – создание необходимых программных кодов заменено простыми операциями, выполняемыми мышью (программирование «спрятано» от пользователя)
Слайд 43Иллюстрация основных положений на примере реляционной БД
Таблицы, в которых содержатся
данные о составляющих объекта «факультет» Студенты2010_4.mdb
Первичный ключ
Вторичный (внешний) ключ (ключи)
Связи
между таблицами (между полями таблиц)
Типы связей: «один-ко-многим»; «один-к-одному»
«Разрушение» базы данных при отсутствии связей между таблицами
Слайд 44Первичный ключ
По определению, таблица реляционной БД есть множество уникальных записей,
поэтому таблицы не могут содержать полностью одинаковые записи.
Таблицы, содержащие
данные об одной сущности имеют уникальный идентификатор каждой записи – первичный ключ
Первичный ключ служит единственным средством адресации на уровне записей в таблице
Слайд 45Вторичный (внешний) ключ
В таблицах реляционной БД хранятся данные не только
об отдельных сущностях, но и об их взаимосвязи (взаимодействии). Такие
таблицы иногда называют «подчинёнными».
Для реализации взаимосвязи используются вторичные (внешние ) ключи.
В подчиненной таблице есть поля, в данные в которых являются ссылками на первичные ключи других таблиц. Именно эти данные и называют внешними ключами.
Поле, в котором расположены эти данные – поле внешнего ключа
Слайд 46Связи между полями таблиц
Связи между полями отражают реальные взаимосвязи между
сущностями
Данные о сущностях и их взаимосвязях расположены в БД в
разных таблицах. Поэтому в реляционной БД между полями таблиц, содержащими первичные ключи, и полями других таблиц, содержащих вторичные ключи, устанавливаются взаимосвязи.
Эти взаимосвязи необходимы для «правильного» функционирования баз данных
Связи в реляционных БД могут быть двух типов:
«Один – ко - многим» - это наиболее часто возникающий вид взаимосвязи
«Один – к - одному»
Слайд 47«Устройство» реляционной базы данных
Слайд 48Процесс извлечения информации в реляционных базах данных «перекладывается» на «инструменты»
базы данных, которые содержат алгоритмы извлечения информации.
Однако алгоритмы извлечения необходимой
информации хранятся, естественно, не в СУБД, а в базе данных, поскольку эти алгоритмы всегда конкретны, т.е. всегда связаны со структурой данных, хранящихся в данной базе.
«Инструменты» базы данных хранятся в БД, но работать они могут только «под управлением» СУБД
Слайд 49Инструменты базы данных
Запросы
Формы
Отчеты
…
«Инструменты» базы данных хранятся вместе с базой данных,
но работать могут только «под управлением» СУБД
Слайд 50Запросы
Служат для извлечения данных
из таблиц и представления
их пользователю в удобном виде.
По существу запрос извлекает из
базы данных информацию.
(Отбор данных, сортировка, фильтрация, преобразование данных по заданному алгоритму. Кроме этого - создание новых таблиц, заполнение таблиц данными, импортированными из других источников)
Слайд 51Запросы (пользовательский аспект)
Обратите внимание:
многие из перечисленных операций можно
выполнить непосредственно в таблицах, но из соображений быстродействия и безопасности
данных следует применять запросы
Чем меньше доступа к базовым таблицам имеют пользователи, тем меньше риск повреждения данных в таблицах
Предоставив пользователям различные запросы, можно эффективно разграничить их доступ в соответствии с кругом обязанностей
Применение запросов позволяет не упорядочивать записи в таблицах, а вводить их в «естественном» порядке
Слайд 52Запросы (технологический аспект)
Данные в запросе не хранятся
Запрос наполняется данными из
таблиц (и из других запросов) только при его вызове, т.е.
можно сказать, что запрос представляет собой только алгоритм отбора данных
При вызове (запуске) запроса выполняется «моментальный снимок» состояния данных в базе. Если данные в таблицах изменились, то последующий запуск запроса отобразит это изменившееся состояние
Слайд 53Типы запросов
Запрос на выборку
Запрос на обновление данных в таблицах
Запрос на
добавление данных (присоединение записей)
Запрос на удаление данных
Запрос для поиска повторяющихся
записей
Запрос для поиска записей, не имеющих подчиненных
Запрос на создание таблицы
Перекрестный запрос
Слайд 54Запрос на выборку
Позволяет выбрать данные из одной или нескольких таблиц
и ранее созданных запросов
Результаты запроса представляются в виде временной таблицы
(которую, разумеется, можно сохранить)
Все перечисленные выше запросы создаются
на основе запроса на выборку (перекрестный запрос может создаваться и на основе таблицы)
Слайд 55Запрос на выборку (продолжение)
Могут быть использованы условия отбора практически любой
степени сложности как по данным одного поля, так и по
данным нескольких полей
Вычисляемые поля (арифметические выражения, стандартные функции)
Запрос с параметром
Группировка данных по одному или нескольким полям
Слайд 56Перекрестный запрос
Назначение – перекрестный запрос позволяет взглянуть на данные, содержащиеся
в таблице или запросе, «под другим углом зрения»
Устройство: таблица, в
которой один столбец представляет собой заголовки строк, образованные из значений одного поля исходной таблицы, заголовки колонок (полей) образованы значениями другого поля исходной таблицы, а на пересечении строк и столбцов располагаются значения, вычисленные по значениям третьего поля исходной таблицы.
Слайд 57Формы (бланки)
Цель применения форм – сделать удобной работу пользователя с
базой данных на экране
Форма – средство и ввода и вывода
данных (форма ввода, форма просмотра)
Можно использовать для просмотра, корректировки и ввода данных в таблицы, просмотра результатов запросов
Слайд 58Формы (продолжение)
Форма может содержать различные элементы:
поля
списки
поля со списками
командные кнопки
переключатели, флажки
изображения
Слайд 59Отчеты
Предназначены для вывода данных на печать
Исходные данные для отчета могут
быть взяты из таблиц и запросов
Могут содержать элементы оформления, характерные
для печатных документов (верхний и нижний колонтитулы, номера страниц, служебная информация о времени создания отчета…)
Не только на печать – отчет может быть экспортирован в файл форматов: .RTF, .XLS, .HTML…
Слайд 60Средства Ms Access для создания таблиц и инструментов
Конструктор
Мастера
Автоформа
Автоотчет
Построитель выражений
Вся база данных, созданная в СУБД Access, сохраняется в одном
единственном файле (можно сохранять в отдельных файлах графику, звук, видео…)
Слайд 61Проектирование БД
Все базы данных можно разделить на «удобные» и «неудобные»
(по тому, как к ним относятся пользователи)
Ответственность за появление внедренных,
но не работающих баз данных чаще всего разделяют как разработчик базы, так и заказчик
Для разработки проекта базы данных не нужны ни компьютер, ни умение программировать. Вполне достаточно представлять потребности своей организации, представлять список документов, необходимых во внутреннем обороте и внешней отчетности
Слайд 62Техническое задание на проектирование базы данных должен предоставить заказчик. Для
этого он должен знать, хотя бы в самых общих чертах,
о технологии СУБД и владеть соответствующей терминологией
При подготовке технического задания составляют:
список исходных данных, с которыми работает заказчик
список выходных данных, необходимых заказчику для управления предприятием
список выходных данных, которые заказчик должен выдавать «наружу»
Слайд 63От ТЗ к проектированию
Результатом проектирования является логическая структура базы данных,
т.е. состав таблиц, их структура и межтабличные связи
На первом
этапе проектирования определяется состав данных предметной области, которые должны находиться в базе данных (сведения о каких свойствах (реквизитах) объекта надо хранить в базе)
Слайд 64Далее надо распределить свойства (реквизиты) по таблицам (каждому реквизиту соответствует
поле). Это можно сделать двумя путями:
интуитивный подход
формальный подход
Слайд 65Интуитивный подход
На основе знания конкретной предметной области происходит выделение отдельных
информационных сущностей (например, для базы данных, описывающих факультет, это студент,
преподаватель, кафедра…)
Каждой информационной сущности соответствует одна основная таблица в базе данных с соответствующим набором полей, а каждая запись в таблице – соответствует отдельному экземпляру сущности
Слайд 66Интуитивный подход (продолжение1)
Экземпляр сущности образуется совокупностью конкретных значений реквизитов и
должен однозначно определяться, т.е. идентифицироваться значением первичного ключа (уникальность ключа,
если такого нет, то ввести формальный реквизит)
Ключ представляет собой один или несколько ключевых реквизитов. Таким образом, реквизиты одной таблицы подразделяются на ключевые и описательные. Описательные реквизиты являются функционально зависимыми от ключа
Слайд 67Интуитивный подход (продолжение2)
Анализ полученных основных таблиц. Если в них будут
обнаружены повторяющиеся записи в некоторых полях, то это явный признак
того, что таблицу надо разделить на две взаимосвязанные таблицы
Установление связей между таблицами
Слайд 68Формальный подход
(Сущности выделяются на основе анализа взаимосвязей всех реквизитов)
Теория
реляционных баз данных – 70 годы, Эдгар Кодд
На основе описания
объекта выявляются документы и их реквизиты, подлежащие хранению в базе банных
Определяются функциональные зависимости между реквизитами
Определяются все зависимые реквизиты и все их ключевые реквизиты (от которых они зависят)
Группируются реквизиты одинаково зависящие от ключевых. Полученные группы образуют сущности
Слайд 69О проектировании баз данных
Оба подхода отображают информационно-логическую модель объекта
При интуитивном
подходе возможны существенные ошибки, если отсутствует достаточный опыт (информационно-логическая модель,
как правило, требует доработки в процессе пробной эксплуатации)
При любом подходе чрезвычайно важно обеспечить грамотное взаимодействие между заказчиком и разработчиком.
«…проектирование и создание баз данных до сих пор остается, за редкими исключениями, не технической задачей, а творческим процессом, который скорее сродни искусству, нежели науке…»
Слайд 70Разработка инструментов базы данных
Состав, структуру и характеристики инструментов базы данных
можно определить не только на стадии проектирования базы данных, но
и в процессе эксплуатации.
Заказчик и разработчик должны позаботиться о таких инструментах базы данных, чтобы исполнители, работающие с базой, «не знали, что в базе есть таблицы»
Слайд 71Архитектура организации
хранения и доступа к данным
Слайд 72Основные требования к БД организации
Адекватность данных состоянию предметной области
База
данных является информационной моделью предметной области и хранимые в ней
данные должны полно и точно отражать её объекты, их свойства и отношения между объектами. Отступление от принципа адекватности делает систему бесполезной и даже опасной, недопустимой для использования. В свою очередь, требование адекватности порождает ряд новых требований к системе, таких, как необходимость постоянного внесения изменений в данные и периодического изменения организации данных.
Слайд 73Надежность функционирования
Быстродействие и производительность
Эти два близких друг другу
требования отражают временные потребности пользователей. Первое из них определяется временем
ответа (реакции) системы на запрос, исчисляемый с момента ввода запроса до момента начала выдачи найденных данных. Это время зависит не только от быстродействия ЭВМ, но и от способов физической организации данных, методов доступа, способов поиска, сложности запроса и других факторов.
Второе время определяется количеством запросов, выполняемых в единицу времени
Слайд 74Простота и удобство использования
Это требование предъявляется к БД со
стороны всех без исключения категорий пользователей, особенно конечных, в работе
которых необходим простой, но в тоже время обладающий достаточными возможностями язык запросов. Сложность запросов, отсутствие сервиса формируют в психологии пользователя нежелание работать с информационной системой
Массовость использования
Современные БД должны обеспечивать коллективный доступ пользователей, при котором они могут одновременно и независимо обращаться к данным для получения необходимых сведений
Слайд 75Защита информации
Система должна обеспечивать защиту хранимых в ней данных
и программ как от случайных искажений и уничтожения, так и
от преднамеренных, несанкционированных действий пользователей
Возможность расширения
Архитектура системы должна допускать расширение её возможностей путем модификации или замены существующих программных модулей либо добавления новых компонентов, а также путем реорганизации информационных массивов
Слайд 76По архитектуре организации хранения данных
можно выделить:
Локальные СУБД (все части
локальной СУБД размещаются на одном компьютере)
(Работа на изолированном компьютере с
небольшой базой данных в настоящий момент становится уже нехарактерной для большинства приложений).
Распределённые СУБД (части СУБД могут размещаться на двух и более компьютерах)
Слайд 77Файл-серверные и клиент-серверные
технологии доступа к данным
Файл-серверная технология доступа к
данным
Архитектура систем баз данных с сетевым доступом предполагает выделение
одной из машин сети в качестве центральной.
Эта машина обеспечивает функционирование той части сетевой версии СУБД, которая осуществляет управление данными и называется сервером файлов (File Server).
Все другие машины сети выполняют функции рабочих станций (Workstation), с помощью которых поддерживается доступ пользователей системы к централизованной базе данных.
Слайд 78Общая база данных размещается на сервере.
С рабочей станции передается
требование к серверу не на выдачу необходимой информации, а на
передачу данных, из которых эту информацию можно извлечь
Данные с сервера обрабатываются на компьютере пользователя под управлением локальной СУБД.
Недостатком такой технологии доступа является большая загрузка сети, поскольку на локальную машину передается необработанный (избыточный) объем данных).
На данный момент файл-серверные СУБД считаются устаревшими.
Слайд 79Клиент-серверная технология доступа
Пользователь (клиент) передает со своего компьютера запрос на
машину сервера, где мощная СУБД обрабатывает запрос и обратно посылает
только результаты выполнения запроса (значительно уменьшается объем передаваемых данных).
В ответ на пользовательский запрос рабочая станция получит не «сырье» для последующей обработки, а готовые результаты (информацию).
Программное обеспечение рабочей станции (клиента) при такой технологии доступа играет роль только внешнего интерфейса.
Примеры СУБД: Firebird, Interbase, MS SQL Server, Oracle, DB2, PostgreSQL, MySQL
Слайд 80Документационные информационные системы
и базы данных
В фактографических базах данных элементом
данных является запись. Это не всегда бывает удобно, когда речь
идет не об описании сущности некоторого явления, а о хранении большого числа документов.
Поэтому наряду с фактографическими существуют и документационные базы данных, в которых элементом данных является обычно текстовый файл.
Документационной информационной системой (ДИС) является база данных документов с инструментами поиска и выдачи необходимых пользователю документов.
Слайд 81В зависимости от особенностей реализации хранилища документов ДИС можно разделить
на две группы:
Системы с поиском на основе индексирования
Семантические навигационные
системы
Слайд 82Системы с поиском на основе индексирования
В системах на основе индексирования
документы помещаются в базу данных без какого-либо преобразования, но при
этом смысловое содержание документа отображается в специально организованной таблице (поисковом пространстве)
Процесс отображения документа в поисковом пространстве называется индексированием. Формализованное отображение документа в поисковом пространстве называется поисковым образом документа (ПОД).
Слайд 83При создании запроса формируется поисковый образ запроса (ПОЗ) и пользователь
получает документы, для которых поля поисковых образов документов (ПОД) и
поисковых образов запроса (ПОЗ) хотя бы частично перекрываются
Самым простым методом индексации документов является классификация сведений, содержащихся в документах по некоторым признакам.
Например, при перечислительной классификации формируется список предметных заголовков. Каждая предметная рубрика получала при этом некоторый буквенно-цифровой код, позволяющий быстро найти документ в базе данных.
Слайд 84Предметная рубрика может иметь подрубрики. Таким образом, может быть построена
иерархическая классификация.
Примером построения перечислительной и иерархической классификаций может служить
тематический каталог библиотеки.
Дескрипторные системы индексации.
Основная идея этого метода состоит в предположении, что ключевые слова могут отражать смысловое содержание документа.
В итоге при загрузке документа в базу данных строится набор дескрипторов (дескриптор – это набор близких по смыслу ключевых слов) для этого документа.
Слайд 85Семантические навигационные системы
В семантических навигационных системах документы снабжаются гиперссылками, соответствующими
смысловым связям между документами или отдельными частями документов (этот метод
широко используется в СПС КонсультантПлюс и Гарант).
Слайд 86Полнотекстовые информационные системы
Сочетают два способа поиска дескрипторный и семантический.
Примерами документационных
баз данных, в которых реализован полнотекстовый поиск документов могут служить
известные справочно-правовые базы данных КонсультантПлюс, Гарант, Кодекс и другие, система электронного документооборота DocsVision.