![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Связанные таблицы [D5, IB5.x]
Ruslan_ © (2002-07-12 20:43:00)Привет всем!
Как связать две таблицы на SQL(Сервер InterBase локальная версия)?
И как работать с этими таблицами (каскадное удаление, добавление записей в главную и в подчиненную таблицу)
Если можно примерчик или ссылку на сайт где можно почитать об этом.
Спасибо.
Desdechado (2002-07-15 15:53:00) [1]Д.С.Боуман, С.Л.Эмерсон, М.Дарновски "Практическое руководство по SQL"
pave1 (2002-07-15 12:45:00) [2]to Desdechado
А что можешь посоветовать почитать?
Desdechado (2002-07-15 10:56:00) [3]таблицы существуют в базе данных. если к ней подключишься, то и доступ к таблицам будет (если админом разрешен GRANT/REVOKE).
понятие связанных таблиц не для SQL-запросов, а для целостности БД.
почитай все-таки толковую книжку по БД и SQL.
pave1 (2002-07-14 22:12:00) [4]Например если я свяжу две таблицы в IB, то будут ли они существовать в Дельфи при подключении?
и еще
Связанные таблицы в ИБ работают только для SQL запросов или нет?
Vlad1 (2002-07-14 17:16:00) [5]Поправочка:
create table tab2(
Nomer smallint not null primary key,
YourRecKey varchar(30) default "Не определено" collate pxw_cyrl,
Fam varchar(20) not null collate pxw_cyrl,
photo blob,
foreign key (YourRecKey) references tab1
on delete set default on update cascade,
constraint YourRecKey Check(Exists(Select YourRecKey from tab1where tab1.YourRecKey=tab2.YourRecKey))
);
Vlad1 (2002-07-14 17:13:00) [6]
create table tab1(
YourRecKey varchar(30) not null primary key collate pxw_cyrl,
AdditionalInfo varchar(15) collate pxw_cyrl
);
create table tab2(
Nomer smallint not null primary key,
YourRecKey varchar(30) default "Не определено" collate pxw_cyrl,
Fam varchar(20) not null collate pxw_cyrl,
photo blob,
foreign key (YourRecKey) references tab1
on delete set default on update cascade,
constraint YourRecKey Check(Exists(Select YourRecKey from tab2 where tab1.YourRecKey=tab2.YourRecKey))
);
Если использовать IBQuery, то можно IBQuery1,DataSource1 связать
с Tab1, а IBQuery2,DataSource2 связать
с Tab2 и затем:IBQuery2.DataSource:=DataSource1
...
IBQuery2.SQL.ADD("select * from tab2 where YourRecKey=:YourRecKey");
и т.п.
Desdechado (2002-07-13 15:16:00) [7]и еще триггеры.
в ib5 есть очень подробная справка. посмотри create table
Fran (2002-07-12 21:20:00) [8]Через внешний ключ. В любой киге по БД.