Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Индексирование в InterBase [D7, IB6.x]


Ptr ©   (2003-04-24 12:46:00) 

Уважаемые! Помогите разобраться!
Создаю в SQL Explorer таблицы Master(ACC_LIST) -
Detail(ACC_OPTION_LIST):

CREATE TABLE ACC_OPTION_LIST (
OWNER VCH31 NOT NULL,
OPERATION_LIST VCH51 DEFAULT "-" NOT NULL,
PRICE_PROC CURRENCY DEFAULT 0 NOT NULL,
PRICE_SUMM CURRENCY DEFAULT 0 NOT NULL
)
---

CREATE TABLE ACC_LIST (
OWNER VCH31 NOT NULL,
STATUS BOOLEAN DEFAULT "0" NOT NULL,
INBALANCE BOOLEAN DEFAULT "0" NOT NULL,
DEPOZIT CURRENCY DEFAULT 0 NOT NULL,
OWERDRAFT CURRENCY DEFAULT 0 NOT NULL
)
---

ALTER TABLE ACC_LIST
ADD CONSTRAINT ACC_LISTPRIMARYKEY1
PRIMARY KEY (OWNER)
---

ALTER TABLE ACC_OPTION_LIST
ADD CONSTRAINT ACC_OPTION_LISTFOREIGNKEY1
FOREIGN KEY (OWNER)
REFERENCES ACC_LIST
ON DELETE CASCADE
ON UPDATE CASCADE

Затем ввожу в подчиненной таблице (ACC_OPTION_LIST) записи (тоже в SQL Explorer) и
происходит сортировка по возрастанию по полю OPERATION_LIST.
Почему? и как от этого избавиться ?
Заранее благодарен !


Zacho   (2003-04-24 13:12:00) [1]


> Ptr (24.04.03 13:04)

Во-первых индексы у тебя есть. Читай про PRIMARY KEY и FOREIGN KEY. Во-вторых использовать TTable для работы с SQL-сервером - крайне не рекомендую. В-третьих, не рекомендую использовать BDE (подозреваю, что у тебя все же оно). И не путай индексирование с сортировкой.


Ptr   (2003-04-24 13:04:00) [2]

Дело в том, что в SQL Explorer я просто проверял, почему у меня в программе происходит сортировка. В программе я выборку не делаю, а использую Table.
в SQL Explorer есть возможность работать с данными без выборки на странице Data указанной таблицы. Я не могу понять, почему вообще происходит индексирование, т.к. индексы не определены...


Zacho   (2003-04-24 12:58:00) [3]

Где происходит ??? Сортировка может происходить только при выборке, т.е. что укажешь в ORDER BY - так и отсортирует. Как избавиться ? Не пользоваться SQL Explorer. Пользоваться чем-нибудь получше. Смотри http://www.ibase.ru/d_tools.htm


Наверх

Титульная страница Поиск, карта сайта Написать письмо