Создание баз данных в Delphi


Дисциплина: Информатика, Программирование, Базы данных
Тип работы:  Курсовая работа
Бесплатно:  Антиплагиат
Объем: 29 страниц
В избранное:   

Министерство Образования и Науки Республики Казахстан

  1. Казахский Экономический Университет имени Т. Рыскулова

Инженерно-Экономический факультет

«Создание баз данных в Delphi»

Выполнил : студ. 4 курса, гр. ВТиПО 409

  1. Таркинский М.

Алматы 2008

Содержание

1. Основы работы с базами данных

1. 2. Требования к базам данных

1. 3. Основные концепции реляционных баз данных

1. 4. Шаги проектирования базы данных

2. Создание таблиц с помощью Database Desktop

2. 1. Утилита Database Desktop

3. Управление соединением с базой данных (класс TDataBase, объект Session)

3. 1. Класс TDataBase

3. 2. Объект Session

3. 3. Указание сетевого протокола при соединении с БД

4. Управление транзакциями

4. 1. SQL-выражения для управления транзакциями

4. 2. Управление транзакциями в Delphi

5. Local InterBase

5. 1. Некоторые технические характеристики InterBase

5. 2. InterBase Interactive SQL

5. 3. InterBase Server Manager

1. Основы работы с базами данных

1. 2. Требования к базам данных

Итак, хорошо спроектированная база данных:

  • Удовлетворяет всем требованиям пользователей к содержимому базы данных. Перед проектированием обширные исследования требований пользователей к функционированию базы данных.
  • Гарантирует непротиворечивость и целостность данных. При проектировании таблиц нужно определить их атрибуты и некоторые правила, ограничивающие возможность ввода пользователем неверных значений. Для верификации данных перед непосредственной записью их в таблицу база данных должна осуществлять вызов правил модели данных и тем самым гарантировать сохранение целостности информации.
  • Обеспечивает естественное, легкое для восприятия структурирование информации. Качественное построение базы позволяет делать запросы к базе более “прозрачными” и легкими для понимания; следовательно, снижается вероятность внесения некорректных данных и улучшается качество сопровождения базы.
  • Удовлетворяет требованиям пользователей к производительности базы данных. При больших объемах информации вопросы сохранения производительности начинают играть главную роль, сразу “высвечивая” все недочеты этапа проектирования.

Следующие пункты представляют основные шаги проектирования базы данных:

  • Определить информационные потребности базы данных.
  • Проанализировать объекты реального мира, которые необходимо смоделировать в базе данных. Сформировать из этих объектов сущности и характеристики этих сущностей (например, для сущности “деталь” характеристиками могут быть “название”, “цвет”, “вес” и т. п. ) и сформировать их список.
  • Поставить в соответствие сущностям и характеристикам - таблицы и столбцы (поля) в нотации выбранной Вами СУБД (Paradox, dBase, FoxPro, Access, Clipper, InterBase, Sybase, Informix, Oracle и т. д. ) .
  • Определить атрибуты, которые уникальным образом идентифицируют каждый объект.
  • Выработать правила, которые будут устанавливать и поддерживать целостность данных.
  • Установить связи между объектами (таблицами и столбцами), провести нормализацию таблиц.
  • Спланировать вопросы надежности данных и, при необходимости, сохранения секретности информации. 1. 3. Основные концепции реляционных баз данныхПрежде чем подробно рассматривать каждый из этих шагов, остановимся на основных концепциях реляционных баз данных. В реляционной теории одним из главных является понятиеотношения. Математически отношение определяется следующим образом. Пусть даны n множеств D1, D2, . . . , Dn. Тогда R естьотношениенад этими множествами, если R есть множество упорядоченных наборов вида <d1, d2, . . . , dn>, где d1- элемент из D1, d2- элемент из D2, . . . , dn- элемент из Dn. При этом наборы вида <d1, d2, . . . , dn> называютсякортежами, а множества D1, D2, . . . , Dn-доменами. Каждый кортеж состоит из элементов, выбираемых из своих доменов. Эти элементы называютсяатрибутами, а их значения - значениями атрибутов. рис. 0-a представляет нам графическое изображение отношения с разных точек зрения.

Рис. 0-A: Термины реляционной теории и их соотношение с обработкой

данных

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

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

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

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

Для поддержания ссылочной целостности данных во многих СУБД имеется механизм так называемых внешних ключей . Смысл этого механизма состоит в том, что некоему атрибуту (или группе атрибутов) одного отношения назначается ссылка на первичный ключ другого отношения; тем самым закрепляются связи подчиненности между этими отношениями. При этом отношение, на первичный ключ которого ссылается внешний ключ другого отношения, называется master-отношением , или главным отношением; а отношение, от которого исходит ссылка, называется detail-отношением , или подчиненным отношением. После назначения такой ссылки СУБД имеет возможность автоматически отслеживать вопросы “ненарушения“ связей между отношениями, а именно:

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

Замечание. Существует два подхода к удалению и изменению записей из главной таблицы:

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

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

1. 4. Шаги проектирования базы данных

I. Первый шаг состоит в определении информационных потребностей базы данных. Он включает в себя опрос будущих пользователей для того, чтобы понять и задокументировать их требования. Следует выяснить следующие вопросы:

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

II. Следующий шаг включает в себя анализ объектов реального мира, которые необходимо смоделировать в базе данных.

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

  • идентификацию функциональной деятельности Вашей предметной области. Например, если речь идет о деятельности предприятия, то в качестве функциональной деятельности можно идентифицировать ведение учета работающих, отгрузку продукции, оформление заказов и т. п.
  • идентификацию объектов, которые осуществляют эту функциональную деятельность, и формирование из их операций последовательности событий, которые помогут Вам идентифицировать все сущности и взаимосвязи между ними. Например, процесс “ведение учета работающих” идентифицирует такие сущности как РАБОТНИК, ПРОФЕССИЯ, ОТДЕЛ.
  • идентификацию характеристик этих сущностей. Например, сущность РАБОТНИК может включать такие характеристики как Идентификатор Работника, Фамилия, Имя, Отчество, Профессия, Зарплата.
  • идентификацию взаимосвязей между сущностями. Например, каким образом сущности РАБОТНИК, ПРОФЕССИЯ, ОТДЕЛ взаимодействуют друг с другом? Работник имеет одну профессию (для простоты!) и значится в одном отделе, в то время как в одном отделе может находиться много работников.

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

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

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

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

Эти правила включают:

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

VI. На шестом шаге устанавливаются связи между объектами (таблицами и столбцами) и производится очень важная операция для исключения избыточности данных - нормализация таблиц.

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

  • связь“один-к-одному”
  • связь“один-ко-многим”
  • связь“многие-ко-многим”.

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

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

Связь “многие-ко-многим” в явном виде в реляционных базах данных не поддерживается. Однако имеется ряд способов косвенной реализации такой связи, которые с успехом возмещают ее отсутствие. Один из наиболее распространенных способов заключается во введении дополнительной таблицы, строки которой состоят из внешних ключей, ссылающихся на первичные ключи двух таблиц. Например, имеются две таблицы: КЛИЕНТ и ГРУППА_ИНТЕРЕСОВ. Один человек может быть включен в различные группы, в то время как группа может объединять различных людей. Для реализации такой связи “многие-ко-многим” вводится дополнительная таблица, назовем ее КЛИЕНТЫ_В_ГРУППЕ, строка которой будет иметь два внешних ключа: один будет ссылаться на первичный ключ в таблице КЛИЕНТ, а другой - на первичный ключ в таблице ГРУППА_ИНТЕРЕСОВ. Таким образом в таблицу КЛИЕНТЫ_В_ГРУППЕ можно записывать любое количество людей и любое количество групп.

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

После применения правил нормализации логические группы данных располагаются не более чем в одной таблице. Это дает следующие преимущества:

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

Процесс нормализации заключается в приведении таблиц в так называемые нормальные формы . Существует несколько видов нормальных форм: первая нормальная форма (1НФ), вторая нормальная форма (2НФ), третья нормальная форма (3НФ), нормальная форма Бойса-Кодда (НФБК), четвертая нормальная форма (4НФ), пятая нормальная форма (5НФ) . С практической точки зрения, достаточно трех первых форм - следует учитывать время, необходимое системе для “соединения” таблиц при отображении их на экране. Поэтому мы ограничимся изучением процесса приведения отношений к первым трем формам.

Этот процесс включает:

  • устранение повторяющихся групп (приведение к 1НФ)
  • удаление частично зависимых атрибутов (приведение к 2НФ)
  • удаление транзитивно зависимых атрибутов (приведение к 3НФ) .

2. Создание таблиц с помощью Database Desktop

На данном разделе мы изучим, как создавать таблицы базы данных с помощью утилиты Database Desktop, входящей в поставку Delphi. Хотя для создания таблиц можно использовать различные средства (SQL - компонент TQuery и WISQL, компонент TTable), применение этой утилиты позволяет создавать таблицы в интерактивном режиме и сразу же просмотреть их содержимое - и все это для большого числа форматов. Это особенно удобно для локальных баз данных, в частности Paradox и dBase.

  1. 2. 1. Утилита Database Desktop

Database Desktop - это утилита, во многом похожая на Paradox, которая поставляется вместе с Delphi для интерактивной работы с таблицами различных форматов локальных баз данных - Paradox и dBase, а также SQL-серверных баз данных InterBase, Oracle, Informix, Sybase (с использованием SQL Links) . Исполняемый файл утилиты называется DBD. EXE, расположен он, как правило, в директории, называемом DBD (при установке по умолчанию) . Для запуска Database Desktop просто дважды щелкните по ее иконке.

Рис. 1: Выпадающий список в диалоговом окне Table Type позволяет выбрать тип создаваемой таблицы

После старта Database Desktop выберите команду меню FileNewTable для создания новой таблицы. Перед Вами появится диалоговое окно выбора типа таблицы, как показано на рис. 1. Вы можете выбрать любой формат из предложенного, включая различные версии одного и того же формата.

После выбора типа таблицы Database Desktop представит Вам диалоговое окно, специфичное для каждого формата, в котором Вы сможете определить поля таблицы и их тип, как показано на рис. 2.

Рис. 2: Database Desktop позволяет задать имена и типы полей в таблице

Имя поля в таблице формата Paradox представляет собой строку, написание которой подчиняется следующим правилам:

... продолжение

Вы можете абсолютно на бесплатной основе полностью просмотреть эту работу через наше приложение.
Похожие работы
Применение архитектуры ГО в разработке приложений с использованием Delphi
Основы работы с базами данных в Microsoft Access и создание системы автоматизации успеваемости учеников в среде Delphi
Системы управления базами данных: история, архитектура и компоненты
Компоненты Delphi для работы с базами данных
Обзор событий и компонентов Delphi: взаимодействие с базами данных
Основы разработки приложений на платформе Delphi: формы, события и программный код
Программирование баз данных в среде Delphi: создание и управление
Обеспечение доступа к базам данных в Delphi: создание таблиц, запросы SQL и инструменты BDE
Архитектуры баз данных: сравнение преимуществ и недостатков различных подходов
Архитектура клиент-серверного приложения: безопасность, доступность и масштабируемость в Delphi
Дисциплины



Реферат Курсовая работа Дипломная работа Материал Диссертация Практика - - - 1‑10 стр. 11‑20 стр. 21‑30 стр. 31‑60 стр. 61+ стр. Основное Кол‑во стр. Доп. Поиск Ничего не найдено :( Недавно просмотренные работы Просмотренные работы не найдены Заказ Антиплагиат Просмотренные работы ru ru/