Разработка базы данных

Автор: Пользователь скрыл имя, 05 Ноября 2012 в 15:30, курсовая работа

Краткое описание

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

Оглавление

ВВЕДЕНИЕ
1. ОБЛАСТИ ПРИМЕНЕНИЯ БАЗ ДАННЫХ
1.1. Новые тенденции развития СУБД и областей их применения
1.2. Новые области применения баз данных
1.3. Создание базы данных
1.4. Типы данных SQL
2. СРЕДА DELPHI КАК СРЕДСТВО ДЛЯ РАЗРАБОТКИ СУБД
2.1. Программный продукт Delphi
2.2. Формы, модули и метод разработки "Two-Way Tools"
2.3. Масштабируемые средства для построения баз данных
3. РАЗРАБОТКА БАЗЫ ДАННЫХ
3.1. Этапы разработки базы данных
3.2. Проектирование приложений базы данных
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

Файлы: 1 файл

ДипломБаза данных Сергей.doc

— 2.04 Мб (Скачать)

Важнейшими  ограничениями целостности данных являются: категорийная целостность; ссылочная целостность.

Ограничение категорийной целостности заключается в следующем. Кортежи отношения представляют в базе данных элементы определенных объектов реального мира или, в соответствии с терминологией реляционных СУБД, категорий. Первичный ключ таблицы однозначно определяет каждый кортеж и, следовательно, каждый элемент категории. Таким образом, для извлечения данных, содержащихся в строке таблицы, или для манипулирования этими данными необходимо знать значение ключа для этой строки. Поэтому строка не может быть занесена в базу данных до тех пор, пока не будут определены все атрибуты ее первичного ключа. Это правило называется правилом категорийной целостности и кратко формулируется следующим образом: никакой атрибут первичного ключа строки не может быть пустым.

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

Если две  таблицы связаны между собой, то внешний ключ таблицы должен содержать  только те значения, которые уже  имеются среди значений ключа, по которому осуществляется связь. Если корректность значений внешних ключей не контролируется СУБД, то может нарушиться ссылочная целостность данных. Ограничения категорийной и ссылочной целостности должны поддерживаться СУБД. Для соблюдения целостности сущности достаточно гарантировать отсут ствие в любом отношении кортежей с одним и тем же значением первичного ключа. Что же касается ссылочной целостности, то здесь обеспечение целостности выглядит несколько сложнее. При обновлении ссылающегося отношения (при вставке новых кортежей или модификации значения внешнего ключа в существующих кортежах) достаточно следить за тем, чтобы не появлялись некорректные значения внешнего ключа. А вот при удалении кортежа из отношения, на которое ведет ссылка, возможно использовать один из трех подходов, каждый из которых поддерживает целостность по ссылкам:

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

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

Типы связей между таблицами

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

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

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

Различие между  типами связей «один ко многим» и  «многие к одному» зависит  от того, какая из таблиц выбирается в качестве главной, а какая в  качестве подчиненной.

Основные свойства отношений

Рассмотрим  теперь некоторые важнейшие свойства отношений реляционной мо дели данных.

Общие представления  о модели данных

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

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

Элемент данных (поле) – наименьшая поименованная  единица данных. Используется для  представления значения атрибута.

Запись –  поименованная совокупность полей. Используется для представления совокупности атрибутов сущности (записи о сущности).

Экземпляр записи – запись с конкретными значениями полей.

Агрегат данных – поименованная совокупность элементов  данных внутри записи, которую можно  рассматривать как единое целое.

Файл – поименованная совокупность экземпляров записей одного типа. Используется для представления однородного набора сущностей.

Набор файлов –  поименованная совокупность файлов, обрабатываемых в системе. Используется для представления нескольких наборов  сущностей.

Введем понятие  «группа», обобщающее понятия «агрегат»  и «запись».

Группа –  это поименованная совокупность элементов данных или элементов  данных и других групп.

Важнейшим понятием концептуальной модели является понятие  связи между сущностями (наборами сущностей). В моделях данных соответствующее понятие отражается понятием «групповое отношение».

Групповое отношение  – поименованное бинарное отношение, заданное на двух множествах экземпляров  рассматриваемых групп. По характеру  бинарных связей различают групповые отношения вида 1:1, 1:M, M:1, M:N. Пары чисел называют коэффициентами группового отношения. В групповом отношении один член группы назначается владельцем отношения, другой – членом.

База данных – поименованная совокупность экземпляров  групп и групповых отношений.

Для представления  группового отношения используется две формы:

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

По типу графов различают:

    • иерархическую модель (граф без циклов – дерево);
    • сетевую модель (ориентированный граф общего вида).

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

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

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

Обобщенные  операции или процедуры – последовательность операций, реализующая определенный алгоритм обработки данных. Процедуры могут инициироваться СУБД автоматически, а также могут запускаться пользователем. Примерами процедур являются процедуры копирования БД, восстановления БД, процедуры, вычисляющие значения определенных атрибутов в БД по значениям других атрибутов, и т.п.

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

 

1.4. Типы  данных SQL

 

В SQL используются следующие основные типы данных, форматы  которых могут несколько различаться для разных СУБД:

INTEGER

- целое число  (обычно до 10 значащих цифр и знак);

SMALLINT

- "короткое  целое" (обычно до 5 значащих цифр  и знак);

DECIMAL(p,q)

- десятичное  число, имеющее p цифр (0 < p < 16) и  знак; с помощью q задается число цифр справа от десятичной точки (q < p, если q = 0, оно может быть опущено);

FLOAT

- вещественное  число с 15 значащими цифрами  и целочисленным порядком, определяемым типом СУБД;

CHAR(n)

- символьная  строка фиксированной длины из n символов (0 < n < 256);

VARCHAR(n)

- символьная  строка переменной длины, не  превышающей n символов (n > 0 и разное в разных СУБД, но не меньше 4096);

DATE

- дата в формате,  определяемом специальной командой (по умолчанию mm/dd/yy); поля даты  могут содержать только реальные  даты, начинающиеся за несколько  тысячелетий до н.э. и ограниченные  пятым-десятым тысячелетием н.э.;

TIME

- время в  формате, определяемом специальной  командой, (по умолчанию hh.mm.ss);

DATETIME

- комбинация  даты и времени; 

MONEY

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

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

До сих пор  понятие "таблица", как правило, связывалось с реальной или базовой  таблицей, т.е. c таблицей, для каждой строки которой в действительности имеется некоторый двойник, хранящийся в физической памяти машины. Однако SQL использует и создает ряд виртуальных (как будто существующих) таблиц: представлений, курсоров и неименованных рабочих таблиц, в которых формируются результаты запросов на получение данных из базовых таблиц и, возможно, представлений. Это таблицы, которые не существуют в базе данных, но как бы существуют с точки зрения пользователя.

Базовые таблицы  создаются с помощью предложения CREATE TABLE (создать таблицу). Здесь же приведем пример предложения для  создания описания таблицы Блюда:

Информация о работе Разработка базы данных