рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

ПЕРВИЧНЫЕ КЛЮЧИ И ИНДЕКСЫ

ПЕРВИЧНЫЕ КЛЮЧИ И ИНДЕКСЫ - раздел Программирование, BDE ТАADO технологіїпроектування баз даних в Delphi В Каждой Таблице Бд Может Существовать Первичный Ключ - Поле Ил...

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

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

1.8 ДЕМОНСТРАЦИОННАЯ БД "ПОСТАВЩИК КНИГ"

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

В БД содержится 6 таблиц. В таблице FIRMS хранятся сведения о партнерах – покупателях и поставщиках, с указанием названия каждого партнера его адреса и телефонов. В этой же таблице хранится сальдо - суммарный долг каждого покупателя или каждому поставщику.

В таблице BOOKS содержатся сведения о каждой книге, купленной или полученной у конкретного поставщика.

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

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

В таблице PAYMENTS хранятся сведения о платежах: кто, кому и сколько платит.

Вспомогательная таблица TYPENAKL хранит харарктеристики типа накладной: покупка, продажа и т.д.

Таблица NAKLS является центральной. Она имеет уникальное поле - первичный ключ NaklID, которое однозначно определяет каждую накладную.

Каждой записи в таблице NAKLS соответствует произвольное количество записей в таблице MOVEBOOK (связь один ко многим). Для связи таблицы MOVEBOOK с главной таблицей NAKLS таблица MOVEBOOK содержит поле MNakl - уникальный идентификатор накладной.

Каждой записи в таблице NAKLS соответствует одна запись в таблице FIRMS (связь один к одному). Для связи таблицы NAKLS с таблицей FIRMS таблица NAKLS содержит поле NFirm - уникальный идентификатор партнера.

Для связи таблицы MOVEBOOK с таблицей BOOK таблица MOVEBOOK содержит поле MBook - ссылка на уникальный идентификатор книги в таблице BOOKS (связь один к одному).

Таблица PAYMENTS – поле PFirm, имеет единственную связь - с таблицей FIRMS. При выполнении очередного платежа - появление очередной записи в таблице PAYMENTS, должен выполняться пересчет сумм платежей в таблице NAKLS и сальдо в таблице FIRMS.

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

Имена полей по возможности должны быть лаконичными, но осмысленными.

В именах полей полезно ставить префикс малыми буквами из одной-двух букв названия таблицы (в таблице NAKLS все имена начинать с буквы "n", в FIRMS - с "f" и т. п.). Это исключит вероятность дать полю таблицы имя, совпадающее с одним из зарезервированных в SQL слов.


– Конец работы –

Эта тема принадлежит разделу:

BDE ТАADO технологіїпроектування баз даних в Delphi

Національний технічний університет України.. Київський політехнічний інститут.. BDE ТАADO..

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: ПЕРВИЧНЫЕ КЛЮЧИ И ИНДЕКСЫ

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

ТИПЫ СУБД
Системы управления базами данных (СУБД) - это программные средства, предназначенные для создания, наполнения, обновления, поиска и удаления данных в БД. По своей архитектуре СУБД

СТАНДАРТ ODBC
Подключение БД, созданных разными производителями и на различных платформах, к программным приложениям выполняется с помощью коммутационных библиотек, поставляемых этими производителями.

ТЕХНОЛОГИИ ВЗАИМОДЕЙСТВИЯ DELPHI С БД
Характерной особенностью большинства программ, созданных с помощью Delphi и предназначенных для работы с БД, является использование специальных технологий взаимодействия с БД. Эти т

ОСОБЕННОСТИ ТЕХНОЛОГИИ BDE
BDE (Borland Database Engine - машина баз данных корпорации Borland) представляет собой набор библиотек DLL, предназначенных для низкоуровнего доступа к данным самых разных фор

ОСОБЕННОСТИ ТЕХНОЛОГИИ ADO
Технология ADO (ActiveX Data Objects — объекты данных, построенные как объекты ActiveX) активно развивается корпорацией Microsoft. Основные особенности использования технологии ADO не зависят от ар

ИСПОЛЬЗОВАНИЕ ODBC ДЛЯ ПОДКЛЮЧЕНИЯ ИСТОЧНИКА ДАННЫХ. ВНЕШНИЙ ПСЕВДОНИМ БД
Этот шаг необходим для подключения разнородных локальных и клиент-серверных БД к BDE и, следовательно, к приложению Delphi. Драйвер ODBC скрывает от BDE внутреннюю организацию конкретно

СОЗДАНИЕ ВНЕШНЕГО ПСЕВДОНИМА БД
Этот шаг необходим для предоставления программному приложению единого интерфейса к БД, независимо от ее ипа и пути к ней. Роль внешних псевдонимов состоит в предоставлении программному при

ОСОБЕННОСТИ ИСПОЛЬЗОВАНИЯ BDE ДЛЯ СОЕДИНЕНИЯ С ИСТОЧНИКОМ ДАННЫХ
Как уже отмечалось, механизм BDE имеет развитые средства по работе с таблицами самых распространенных СУБД: файл-серверных (FoxPro, Paradox, и т.д.), локальных - содержащих БД в виде одного файла (

ГЛАВНАЯ ФОРМА ПРОЕКТА
Далее на примере создания несложной программы рассматриваются основные этапы и приемы программирования для БД в технологии BDE. Вид окна работающей программы показан на рисунке 3.1. Как ви

МОДУЛЬ ДАННЫХ
Как уже отмечалось, взаимодействие с реальной БД в Delphi подменяется взаимодействием со специально созданными компонентами работы с БД, которые через BDE "умеют" взаимодействовать с реал

Создание модуля данных TDataModule
Выберите команду File>New>Others, чтобы открыть окно хранилища объектов, и на вкладке New открывшегося окна дважды щелкните на значке Data Module. В свойство Name модуля данных помес

Создание компонента TTable
Перенесите в окно дерева объектов компонент TTable (вкладка BDE) и "положите" его на псевдоним ААА. В окне инспектора объектов в свойстве DatabaseName нового компонента автоматич

Создание компонента TDataSource
Чтобы в главном окне программы сетка DBGrid1 могла отображать данные из НД tbNakls, ее нужно связать с НД с помощью специального компонента источник данных (ИД) - TDataSource. Для этого выде

Связь сетки TDBGrid и навигатора DBNavigator c источником данных TDataSource
Сетка TDBGrid является наиболее распространенным визуальным компонентом, используемым для отображения данных из БД. Поэтому в рассматриваемом примере выбраны 2-ве сетки DBGrid1 и DBGrid2. Рассмотри

Связь главный-детальный между наборами данных
Если сейчас запустить проект на выполнение, то в сетках мы увидим содержимое 2-х НД: tbNakls и tbMove, которые между собой никак не связаны. Однако в БД "Поставщик книг" таблицы

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

ОБЪЕКТЫ-СТОЛБЦЫ СЕТКИ DBGrid
Механизм создания для сетки DBGrid специальных компонент - объектов-столбцов, облегчает управление отображением данных. С их помощью можно изменять шрифт и цвет колонок, формировать и

Создание объектов-полей
Поля НД TTable или TQuery выступают как целостная конструкция и не могут рассматриваться и использоваться в программе отдельно. Объекты-поля НД становятся "заменителем&q

Присоединение к наборам данных новых полей
Двойным щелчком на компоненте tbNakls откройте окно редактора полей и щелчком правой кнопкой мыши вызовите его контекстное меню. Выберите в меню команду New Field, чтобы открыть окно конструктора н

Присоединение полей из других таблиц. Подстановочные поля
Рассмотрим процесс формирования подстановочного поля на примере создания поля название фирмы Firm в НД tbNakls. В строке Name окна конструктора поля введите имя нового поля. Раскройте список

Вычисляемые поля
Вычисляемые поля не входят в состав конкретной таблицы физической БД, но могут быть присоединены к НД, связанному с этой таблицей. Эти поля могут быть присоединены к НД типа TTable и TQuery.

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

БИЗНЕС-ПРАВИЛА И ОБРАБОТЧИКИ СОБЫТИЙ КОМПОНЕНТ РАБОТЫ С БД
Программа для отображения содержания накладных и связанных с ними списков книг готова. Ее можно запустить и просматривать накладные. Однако не рекомендуется вставлять, редактировать или удалять

SQL ЗАПРОСЫ К БД
Характерной особенностью компонента TQuery (запрос) является использование в нем языка SQL. С помощью этого языка программист составляет SQL-запрос, который помещается в предназначенное для этог

СОЗДАНИЕ КОМПОНЕНТА TQuery
Создание компонента TQuery практически мало чем не отличается от создания компонента TTable. Перенесите в окно дерева объектов компонент TQuery (вкладка BDE) и "положите" его на

Свойство SQL
Свойство propertySQL: TStrings; является центральным для компонента TQuery и является коллекцией (набором) строк, в которую на этапе разработки или про

Методы Open и ExecSQL
Помимо установки свойства Active = true компонент TQuerу имеет 2-ва метода Open и ExecSQL для выполнения запроса во время выполнения программы. Метод Open используется для активизации запр

Параметрические запросы
Запросы, которые рассматривались до сих пор, относятся к статическим запросам, т.е. запросам, ограничения в которых заданы явно – в виде соответствующих констант. Пусть, например, нужно созд

Параметрические запросы и свойство DataSource компонента TQuery
Для передачи параметров может служить свойство DataSource компонента TQuery. Фактически свойство DataSource указывает, где автоматически следует искать конкретные значения для

ДОСТУП К ПОЛЯМ ЗАПРОСА
Доступ к полям запроса является частным случаем доступа к значению поля НД. К полю НД можно обратиться при помощи 3-х способов: 1. Свойств объектов-полей Value и AsXXXX;

Обращение к значению поля при помощи свойств набора данных Fields и FieldValues
Если для НД не создан ни один объект-поле, получить доступ к значению поля НД можно через свойства этого набора Fields и FieldValues: property Fields[Index]: TField

Последовательная навигация по записям
Для выполнения действий по последовательному перебору записей, начиная от стартовой записи и до конца НД, используют цикл while...do или repeat...until. Пусть Н

ОБЗОР СОБЫТИЙ КОМПОНЕНТА TQuery
Все запросы – точнее их НД, получают в свое распоряжение большое количество событий, унаследованных ими от родительского класса TBDEDataSet. Это те же события, что и для НД на основе таблиц.

ХРАНИМЫЕ ПРОЦЕДУРЫ
Хранимая процедура (Stored Procedure) — объект БД, представляющий собой набор SQL-инструкций, который компилируется один раз и хранится на клиент-сервере. Хранимые процедуры очень п

СОЗДАНИЕ ХРАНИМЫХ ПРОЦЕДУР
Очень толково http://www.ibase.ru/devinfo/sp_call.htm Для иллюстрации реальных возможностей использования хранимых процедур используем СУБД InterBase. Синтаксис описания хранимых процедур

ТРИГГЕРЫ
Триггер (trigger) представляет собой процедуру особого типа, которая вызывается автоматически при модификации записей БД, т. е. при изменении значений столбцов или при их удале

Реализация каскадных изменений и бизнес-правил
Для реализации каскадных изменений и бизнес-правил в локальных или файл-серверных БД обычно используются обработчики событий AfterXXXX и BefогеХХХХ. Эти две группы событий связаны с изменениями НД

Другие события
Событие OnCalcFields возникаетв момент, когда программа должна сформировать значения для вычисляемых полей. Следует заметить, что это событие возникает в момент открытия НД и при любом его изменени

ОСНОВНЫЕ ОСОБЕННОСТИ ТЕХНОЛОГИИ ADO
Особенности технология ADO (ActiveX Data Objects — объекты данных, построенные как объекты ActiveX) более подробно рассмотрены в подразделе 1.5. Здесь важно подчеркнуть следующее: 1. Основ

РЕАЛИЗАЦИЯ ТЕХНОЛОГИИ ADO В Delphi
Компоненты ADO в палитре компонентов Delphi представляют собой надстройки над базовыми объектами MS ADO и представляют большинство свойств, методов и событий этих объектов в привычном для De

Начало настройки связи
Установление связи с объектом ADO является ключевым моментом всей технологии. Каждый компонент НД имеет 2-а свойства, с помощью которых он может установить связь с объектом ADO: ü Con

Выбор провайдера
Выберите переключатель Use Connection String и щелкните на кнопке Build. На экране появится диалоговое окно с 4-мя вкладками. Вкладка Поставщик данных (рисунок 10.4) используется

Настройка провайдера Microsoft Jet 4.0 OLE DB Provider
Рисунок 7.5 – Выбор провайдера Microsoft Jet 4.0 OLE DB Provider Вкладка Подключение определяет необходимые связные парам

Настройка провайдера Microsoft OLE DB Provider for ODBC Drivers
Теперь опишем содержимое вкладок при выборе провайдера Microsoft OLE DB Provider for ODBC Drivers (рисунок 10.9). Первый, когда драйвер ODBC уже настроен на конкретную БД и создан псевдоним БД, а в

Настройка оставшихся компонент модуля данных
В свойстве Connection созданных компонентов-таблиц ADOTable сошлитесь на компонент ADOConnection1. Этого можно не делать, если вы поместили таблицы непосредственно на дерево компонентов. В этом слу

Связной компонент TADOConnection
Компонент TADOConnection осуществляет связь остальных компонентов с MS ADO. Для этих целей у компонента TADOConnection имеется свойство ConnectionString. После того как с помощью свойства Connectio

Компонент TADOCommand
Компонент TADOCommand предназначен в основном для реализации SQL-запросов, не возвращающих никаких данных. К ним относятся практически все запросы языка DLL, т.е. запросы, которые не начинаются зар

Общие свойства с BDE-компонентами
В состав ADO-компонентов входят 4 компонента-набора: TADODataSet, TADOTable, TADOTable и TADOStoredProc. Как и аналогичные BDE‑компоненты, они имеют общего родителя — абстрактный класс TDataS

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

КОМПОНЕНТ TADODataSet
Компонент TADODataSet обеспечивает доступ к одной или нескольким таблицам БД с помощью запроса типа SELECT. Компонент рассчитан только на возвращение набора данных, поэтому его нельзя использовать

КОМПОНЕНТ TADOTable
Компонент TADOTable является прямым аналогом BDE-компонента ТТаblе. Так же как ТТаblе, он способен получать и обслуживать НД, состоящий из записей единственной физической таблицы БД, имя которой со

Свойства
Таблица 8.1 - Свойства класса TColumn Свойство Описание typeTColumnButtonStyle = (cbsAuto, cbsEllips

Дополнительные возможности сетки
У компонента есть свойство, с помощью которого можно управлять поведением и внешним видом сетки: type TDBGridOption = (dgEditing, dgAlwaysShowEditor, dgTitles,

КОМПОНЕНТЫ ВИЗУАЛИЗАЦИИ ПОЛЕЙ ТЕКУЩЕЙ ЗАПИСИ
Компоненты визуализации полей текущей записи размещаются на обычной форме и используются для наглядного представления содержимого полей текущей записи (см. Chapt09\6CompVisualField\BiblosPrg.dpr).

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

Списочные компоненты
Визуализирующие компоненты типа TDBListBox, TDBComboBox, TDBLookupComboBox, TDBLookupListBox имеют связанные с ними списки TStrings и поэтому дальше объединяются общим названием списочные ко

Компонент TDBMemo
Компонент TDBMemo предназначен для отображения и редактирования мемо-полей (полей комментариев), которые служат для хранения в таблицах БД многострочных текстов. Компонент TDBMemo является аналогом

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

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

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги