Базы данныхИнтернетКомпьютерыОперационные системыПрограммированиеСетиСвязьРазное
Поиск по сайту:
Подпишись на рассылку:

Назад в раздел

Работа с объектами Oracle8. Правила хорошего тона для инструментальных систем

div.main {margin-left: 20pt; margin-right: 20pt} Работа с объектами Oracle8. Правила хорошего тона для инструментальных системЕ. Крылов, Interface Ltd.

Выпустив на рынок первую в мире объектно-реляционную СУБД Oracle8, корпорация Oracle еще раз убедительно подтвердила свое лидерство в мире "высокой моды" для систем обработки данных. Передовые производители инструментальных систем тотчас же отреагировали на это выпуском новых версий. Delphi 4.0 обрела новые функции, предоставив программистам возможности для работы с объектами Oracle8.
Delphi 4.0 содержит новые компоненты, позволяющие создавать эффективные приложения с использованием новых подходов к построению структур данных. Поскольку лидером в этой области является Oracle, то и все типы данных, имеющиеся в Oracle8, поддерживаются и в Delphi 4.0. Корпорация Inprise блестяще с этим справилась, целиком и полностью оправдав свою репутацию лидера на рынке инструментальных средств. Вложенные таблицы пришли на смену более сложным в обращении с ними отношениями "master- detail". Вместо того, чтобы постоянно заботиться о правильности работы с такими конструкциями, разработчики, имеющие дело с Oracle8, представляют себе единую конструкцию вложенной таблицы, не особенно интересуясь, "а что там внутри?". Помимо удобства использование вложенных таблиц принесло четырехкратное увеличение производительности при работе с данными.
Вложенной таблицей называется реляционная таблица с неупорядоченными элементами данных одного типа, которые встроены как столбцы в другую таблицу. С вложенными таблицами можно выполнять такие же операции как с обычными реляционными таблицами. Как уже было сказано выше, использование вложенных таблиц позволяет избежать сложностей, которые возникают при использовании отношений "master-detail". Содержательно это означает, что вместо некоторых столбцов стоят другие, подчиненные таблицы.
Рассмотрим один пример. С помощью утилиты SQL*Plus Oracle8 создадим такую таблицу для хранения данных по учебным курсам некоторого факультета. (Этот пример заимствован из документации по Oracle8 Enterprise Edition – желающие могут рассмотреть его более подробно, воспользовавшись ею).
Итак, определим объектный тип Course, набрав в командной строке SQL*Plus следующий текст: SQL> CREATE TYPE Course AS OBJECT ( 2 course_no NUMBER(4), 3 title VARCHAR2(35), 4 credits NUMBER(1));Затем определим тип CourseList как таблицу типа Course. Тип CourseList предназначен для хранения объектов типа Course_Next: SQL> CREATE TYPE CourseList AS TABLE OF Course;И наконец создадим таблицу department , которая имеет столбец типа CourseList : SQL> CREATE TABLE department ( 2 name VARCHAR2(20), 3 director VARCHAR2(20), 4 office VARCHAR2(20), 5 courses CourseList) 6 NESTED TABLE courses STORE AS courses_tab;Каждый пункт в столбце courses представляет собой вложенную таблицу, которая будет содержать информацию о курсах, предлагаемых факультетом (department).
Предложение NESTED TABLE необходимо, чтобы указать на то, что department имеет столбец, являющийся вложенной таблицей. Запустив из Oracle SQL Worksheet этот скрипт, сгенерируем в базе данных таблицу department со вложенной таблицей courses.
Теперь рассмотрим на примере простейшего проекта, как организована работа со вложенными таблицами в Delphi 4.0.
Создадим новый проект и поместим на форму компонент TDatabase.
Установим в свойстве DatabaseName имя базы данных, а в AliasName – ее алиас.
Следующим шагом будет установка компонента TTable. Это делается примерно так же как в предыдущих версиях Delphi. Отличие состоит в том, что в списке свойств компонента появилось новое свойство ObjectView, которое для работы с Oracle8 следует установить в состояние True.
После двойного щелчка мышью по изображению таблицы появится форма Form1.Table1. Нажав на правую клавишу мыши, вызовем редактор полей (Field Editor), затем из меню выберем поле AddFields и добавим поля все поля из таблицы department.
Для того, чтобы сделать доступными поля вложенной таблицы, поместим на форму компонент NestedTable и в раскрывающемся списке для свойства DataSetField выберем Table1COURSES.
Поместим на форму компонент DataSource1 и DataSource2, затем установим их свойства DataSet в Table1 и NestedTable1 соответственно.
Для визуализации данных из таблиц поместим на форму компонент TBDgrid. Установим его свойство DataSet в Table1, в таблице появятся данные.
Добавим компоненты для управления доступом к данным.
И, наконец, последний шаг – запуск приложения. В маленьком окне – данные из вложенной таблицы, для доступа к которой нужно нажать на кнопку "..." в столбце COURSES.

  • Главная
  • Новости
  • Новинки
  • Скрипты
  • Форум
  • Ссылки
  • О сайте




  • Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!
     Copyright © 2001-2024
    Реклама на сайте