скачать рефераты
  RSS    

Меню

Быстрый поиск

скачать рефераты

скачать рефератыРеферат: Развитие теории и практики баз данных

Реферат: Развитие теории и практики баз данных

План

1. Базы данных: определение

2. Основные модели данных

3. Связывание таблиц

4. Нормализация отношений

5. Языки запросов SQL и QBE


1. Базы данных: определение

Основной проблемой, обусловившей развитие теории и практики баз данных, является обеспечение надежного контролируемого хранения необходимых данных между сеансами работы, их передачи между рабочими местами и эффективного их извлечения по мере необходимости.

По мере роста требований к объему хранимой, искомой и передаваемой информации, к скорости и точности выполнения соответствующих операций, работа с данными стала узким звеном в деятельности практически всех организаций, независимо от рода деятельности. В соответствии с этим, начали создаваться и использоваться аппаратные и программные средства автоматизированной обработки информации.

В процессе развития средств обработки данных были выявлены следующие характерные черты "идеальных" информационных систем обработки информации.

Обработка постоянных (перманентных) данных.

Централизованная обработка данных на основе стандартов.

Интеграция данных.

Независимость (самодостаточность) данных от программ обработки.

Целостность хранимых данных (при хранении данных необходимо обеспечить контроль их непротиворечивости (особенно в случае дублирования части данных) и корректности связей между элементами данных).

Эффективность обработки данных.

Язык управления данными.

Наиболее полно удовлетворяют представлению о "идеальной" информационной системе обработки данных именно системы с базами данных.

База данных (БД) - поименованная совокупность структурированных данных, хранимых в памяти вычислительной системы стандартным способом и отображающих состояние объектов и их взаимосвязей в рассматриваемой предметной области.

Рассмотрим подробно данное определение и его элементы:

а) предметная область - фрагмент реального мира, подлежащий автоматизации.

Предметная область содержит только те сущности, их взаимосвязи и процессы изменения сущностей и взаимосвязей, которые необходимы для корректной работы рассматриваемой (разрабатываемой) автоматизированной системы.

Сущностью или информационным объектом предметной области называется некоторое понятие, общее для ряда объектов реального мира. Сущность характеризуется набором признаков, важных для рассматриваемой предметной области, состав которых позволяет отделить объекты (экземпляры) одной сущности от объектов (экземпляров) другой сущности предметной области, а значения которых позволяют отличить различные экземпляры одной сущности. Так, автоматизированная система контроля успеваемости студентов университета содержит списки студентов и академических групп университета (студент и группа - сущности предметной области), информацию о разбиении студентов по группам (связи сущностей группа и студент), правила определения текущего и итогового рейтинга студентов (процессы).

Сущность "студент" характеризуется следующим набором признаков (атрибутов), важных для предметной области "Контроль успеваемости студентов университета": Фамилия, имя, отчество, номер зачетной книжки, номер академической группы, текущий рейтинг по каждому из предметов. Номер зачетной книжки (а также имя, фамилия, отчество) позволяет различить студентов как экземпляров сущности "студент". Академическая группа включает набор признаков: наименование группы, наименование факультета. Состав наборов признаков отличают сущности "группа" и "студент".

б) состояние объектов и их взаимосвязей - под состоянием объекта (как экземпляра сущности) подразумевается набор значений признаков, определяющих объект. Значения признаков могут меняться со временем (т.е. меняется состояние объектов). Так у студента может измениться академическая группа (при переходе на следующий курс) и текущий рейтинг. При переходе на следующий курс также меняется и взаимосвязь объектов - академических групп и студента (был связан с одной группой, стал связан с другой).

в) структурированные данные - данные, элементы которых упорядочены в соответствии с некоторыми соглашениями. К каждому элементу структурированных данных можно обратиться непосредованно, используя информацию о структуре. Например, если данные хранятся в таблице, то имя пятого ученика мы можем получить из ячейки, находящейся на пересечении столбца "Имя" и пятой строки таблицы, если данные структурированы с помощью таблицы. Кроме определения правила расположения элементов данных в общем хранилище данных структурирование часто подразумевает определение типа данных - то есть способа их представления и объема требуемой для их хранения памяти.

г) хранимых в памяти вычислительной машины - подразумевается использование вычислительной техники для хранения данных, в отличие от данных, хранимых не автоматизировано, например библиотечных каталогов.

д) стандартным способом - должно существовать описание правил структурирования данных для того формата, в котором представлена рассматриваемая база данных. В соответствии с этими правилами любое приложение может получить к этим данным доступ независимо от приложения, с помощью которого рассматриваемая база данных была создана.

е) поименованная - совокупность данных должна быть явно определена и фиксирована заданием структуры хранимых данных и имени этой структуры. Каждое приложение работает с определенной базой данных, используя ее имя для доступа к ней.

2. Основные модели данных

Хранимые в базе данные имеют определенную логическую структуру, иными словами, описываются некоторой моделью представления данных (моделью данных), поддерживаемой СУБД. К числу классических относятся следующие модели данных:

иерархическая,

сетевая,

реляционная.

Кроме того, в последние годы появились и стали более активно внедряться на практике следующие модели данных:

постреляционная,

многомерная,

объектно-ориентированная.

Разрабатываются также всевозможные системы, основанные на других

моделях данных, расширяющих известные модели. В их числе можно назвать

объектно-реляционные, дедуктивно-объектно-ориентированные, семантические, концептуальные модели. Некоторые из этих моделей служат для интеграции баз данных, баз знаний и языков программирования.

В некоторых СУБД поддерживается одновременно несколько моделей

данных.

Рассмотрим реляционную и объектно-ориентированную модель данных.

Потребность в создании простой, универсальной, эффективно реализуемой модели данных привели к созданию реляционной модели. В 1970 году американский математик Кодд предложил схему представления данных на основе реляционных таблиц (отношений, реляций) и набор формальных операций, обеспечивающих решение большинства стандартных задач обработки данных за счет преобразования таблиц.

Реляционная модель данных некоторой предметной области представляет собой набор отношений, изменяющихся во времени.

В свою очередь отношение представляет собой двумерную таблицу с данными, удовлетворяющую требованиям реляционной модели и соответствующую некоторой сущности предметной области.

Атрибуты представляют собой свойства, характеризующие сущность.

В структуре таблицы каждому атрибуту соответствует заголовок некоторого столбца таблицы.

Каждому экземпляру сущности соответствует строка таблицы - кортеж.

Домен представляет собой множество всех возможных значений определенного атрибута отношения.

Схема отношения (заголовок отношения) представляет собой список имен атрибутов. Множество кортежей отношения часто называют содержимым (телом) отношения.

Первичным ключом (ключом отношения, ключевым атрибутом) называется атрибут отношения, однозначно идентифицирующий каждый из его кортежей. Ключ может быть составным (сложным), т.е. состоять из нескольких атрибутов.

Если отношение имеет несколько комбинаций атрибутов, каждая из которых однозначно определяет все кортежи отношения, то все эти комбинации атрибутов являются возможными (потенциальными) ключами отношения. Любой из возможных ключей может быть выбран как первичный.

Если выбранный первичный ключ состоит из минимально необходимого набора атрибутов, говорят, что он является компактным или не избыточным.

Ключи используют для достижения следующих целей:

1) исключения дублирования значений в ключевых атрибутах;

2) упорядочения кортежей. Возможно упорядочение по возрастанию или по убыванию значений всех ключевых атрибутов, а также смешанное упорядочивание - по одним - возрастание, по другим - убывание;

3) ускорения работы с кортежами отношения;

4) организации связывания таблиц.

Пусть в отношении R1 имеется не ключевой атрибут А, значения которого являются значениями ключевого атрибута В другого отношения R2. Тогда говорят, что атрибут А отношения R1 есть внешний ключ.

Реляционная модель накладывает на внешние ключи ограничение для обеспечения целостности данных, называемое ссылочной целостностью. Это означает, что каждому значению внешнего ключа должны соответствовать строки в связываемых отношениях.

Поскольку не всякой таблице можно поставить в соответствие отношение, приведем условия, выполнение которых позволяет таблицу считать отношением.

1. Все строки таблицы должны быть уникальны, т.е. не может быть строк с одинаковыми первичными ключами.

2. Имена столбцов таблицы должны быть различны, а значения их простыми, т.е. недопустима группа значений в одном столбце одной строки.

З. Все строки одной таблицы должны иметь одну структуру, соответствующую именам и типам столбцов.

4. Порядок размещения строк в таблице может быть произвольным.

3. Связывание таблиц

При проектировании реальных БД информацию обычно размещают в нескольких таблицах. При этом обычно данные в таблицах логически связаны.

В реляционных СУБД для задания таких связей выполняют операцию их связывания.

Связывание таблиц позволяет:

а) средствами СУБД автоматически выполнять контроль целостности вводимых в базу данных;

б) упростить доступ к данным при выполнении операций поиска, просмотра, редактирования, выборки и подготовки отчетов за счет автоматического обращения к произвольным полям связанных записей.

Связывание выполняется по полям связи, которые могут быть обычными или ключевыми.

Используются следующие основные типы связей:

а) один ко многим (1: M);

б) много к одному (M:

1):

в) один к одному (1:

1);

г) много ко многим (M: M).

Из перечисленных видов связи наиболее широко используется связь вида 1: М. Связь вида 1: 1 можно считать частным случаем связи 1: М, когда одной записи главной таблицы соответствует одна запись вспомогательной таблицы. Связь М: 1 по сути, является "зеркальным отображением" связи 1: М. Оставшийся вид связи М: М характеризуется как слабый вид связи или даже как отсутствие связи. Поэтому в дальнейшем рассматривается связь вида 1: М.

При образовании связи вида 1: М одна запись главной таблицы (главная, родительская запись) оказывается связанной с несколькими записями дополнительной (дополнительные, подчиненные записи).

Контроль целостности связей обычно означает анализ содержимого двух таблиц на соблюдение следующих правил:

каждой записи основной таблицы соответствует нуль или более записей дополнительной таблицы;

каждая запись дополнительной таблицы имеет ровно одну родительскую запись основной таблицы.

Контроль целостности осуществляется при выполнении следующих основных операций над данными двух таблиц:

ввод новых записей,

модификацию записей,

удаление записей.

При вводе данных новых записей возникает вопрос определения такой последовательности ввода записей в таблицы, чтобы не допустить нарушение

целостности.

Исходя из приведенных правил, логичной является схема, при которой данные сначала вводятся в основную таблицу, а потом - в дополнительную. Очередность ввода может быть установлена на уровне целых таблиц или отдельных записей (случай одновременного ввода в несколько открытых таблиц). При этом контроль целостности может заключаться как в запрете выполнения нарушающих целостность действий (режим запрета добавления записи в дочернюю таблицу, если нет соответствующей записи в родительской), так и на обновление связанных записей с целью сделать корректным изменение данных (обработка обновления - исправление значения внешнего ключа во всех дочерних записях при изменении значения первичного ключа в родительской записи).

Таким образом, реляционный метод структурирования данных является одним из наиболее простых для восприятия и эффективных для реализации методов. В соответствии с ним каждая сущность предметной области представляется таблицей. Каждый столбец такой таблицы содержит значения одного из атрибутов сущности.

В объектно-ориентированной модели при представлении данных имеется возможность идентифицировать отдельные записи базы. Между записями базы данных и функциями их обработки устанавливаются взаимосвязи с помощью механизмов, подобных соответствующим средствам в объектно-ориентированных языках программирования.

Структура объектно-ориентированной БД графически представима в виде дерева, узлами которого являются объекты. Свойства объектов описываются некоторым стандартным типом (например, строковым - string) или типом, конструируемым пользователем (определяется как class).

Пример логической структуры объектно-ориентированной БД библиотечного дела приведен на рис.1.

Рис.1. Логическая структура БД библиотечного дела

Здесь объект типа БИБЛИОТЕКА является родительским для объектов-экземпляров классов АБОНЕНТ, КАТАЛОГ и ВЫДАЧА. Различные объекты типа КНИГА могут иметь одного или разных родителей. Объекты типа КНИГА, имеющие одного и того же родителя, должны различаться по крайней мере инвентарным номером (уникален для каждого экземпляра книги), но имеют одинаковые значения свойств isbn, удк, название и автор.

Для выполнения действий над данными в рассматриваемой модели БД применяются логические операции, усиленные объектно-ориентированными механизмами инкапсуляции, наследования и полиморфизма. Ограниченно могут применяться операции, подобные командам SQL (например, для создания БД). Создание и модификация БД сопровождается автоматическим формированием и последующей корректировкой индексов (индексных таблиц), содержащих информацию для быстрого поиска данных.

Рассмотрим кратко понятия инкапсуляции, наследования и полиморфизма применительно к объектно-ориентированной модели БД.

Инкапсуляция ограничивает область видимости имени свойства пределами того объекта, в котором оно определено. Так, если в объект типа КАТАЛОГ добавить свойство, задающее телефон автора книги и имеющее название телефон, то мы получим одноименные свойства у объектов АБОНЕНТ и КАТАЛОГ. Смысл такого свойства будет определяться тем объектом, в который оно инкапсулировано.

Наследование, наоборот, распространяет область видимости свойства на всех потомков объекта. Так, всем объектам типа КНИГА, являющимся потомками объекта типа КАТАЛОГ, можно приписать свойства объекта - родителя: isbn, идк, название и автор. Если необходимо расширить действие механизма наследования на объекты, не являющиеся непосредственными родственниками (например, между двумя потомками одного родителя), то в их общем предке определяется абстрактное свойство типа abs. Так, определение абстрактных свойств билет и номер в объекте БИБЛИОТЕКА приводит к наследованию этих свойств всеми дочерними объектами АБОНЕНТ, КНИГА и ВЫДАЧА. Не случайно поэтому значения свойства билет классов АБОНЕНТ и ВЫДАЧА, показанных на рисунке, будут одинаковыми - 00015.

Полиморфизм в объектно-ориентированных языках программирования означает способность одного и того же программного кода работать с разнотипными данными. Другими словами, он означает допустимость в объектах разных типов иметь методы (процедуры или функции) с одинаковыми именами. Во время выполнения объектной программы одни и те же методы оперируют с разными объектами в зависимости от типа аргумента. Применительно к нашей объектно-ориентированной БД полиморфизм означает, что объекты класса КНИГА, имеющие разных родителей из класса КАТАЛОГ, могут иметь разный набор свойств. Следовательно, программы работы с объектами класса КНИГА могут содержать полиморфный код.

Страницы: 1, 2


Новости

Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

  скачать рефераты              скачать рефераты

Новости

скачать рефераты

© 2010.