Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.07.31;
Скачать: [xml.tar.bz2];

Вниз

Ссылочная целостность   Найти похожие ветки 

 
Spawn   (2003-07-10 21:39) [0]

Блин уже ни че не соображаю)) С 8 утра почти не вставая пытаю этот Inter Base.
Что я делю не правильно в создании связанных таблиц?

//Это Главная таблица

create table equal(
ID int not null primary key,
Name VarChar(100),
Types VarChar(100),
Picture Blob,
MName VarChar(100),
MForm Char(50),
MSity Char(50),
Suppler VarChar(100),
Sertif VarChar(100),
IntType Blob,
Pasport Blob,
Method Blob,
Object VarChar(150),
MVI Char(50),
PWork Blob,
Sizes Char(50),
CheckInerv Char(100),
Checking Char(50),
Money Char(50)
)

//При попытке организовать связь с внешним ключом пишет, что equal in use

CREATE TABLE Params(
Param Char(50),
Diapasons Char(50),
Error Char(50),
FOREIGN KEY (Param)
REFERENCES equal
ON UPDATE CASCADE
ON DELETE NO ACTION)

Что делать? Заранее спасибо.


 
kaif   (2003-07-10 22:01) [1]

CREATE TABLE Params(
Param Char(50),
Diapasons Char(50),
Error Char(50),
FOREIGN KEY (Param)
REFERENCES equal (ID)
ON UPDATE CASCADE
ON DELETE NO ACTION)

Однако поле ID должно быть того же типа, как и поле Param, а у тебя это не так... Поэтому у тебя нифига не выйдет.


 
Spawn   (2003-07-10 22:07) [2]

Поправим))) Сенки) Ща исправлю и спать......


 
Spawn   (2003-07-11 09:37) [3]

Так))) Доброе утро всем)))) Возник вопрос по отображению связанных таблиц в разных гридах. Для этого нужно юзать несколько IBDataSet+DataSource? Или есть какой то другой вариант. Заранее спасибо


 
ЮЮ   (2003-07-11 09:47) [4]

А то что надо юзать несколько DBGrid-ов не смущает ?
Используй не DB-aware Grid и тебе хватит всего одного IBDataSet-а, который сможешь и создать динамически, только много ли ты от этого выиграешь ? :-)


 
Zacho   (2003-07-11 09:54) [5]


> Spawn © (11.07.03 09:37)

Есть несколько вариантов, все зависит от задачи и твоей фантазии :)
Самый стандартный:
Пусть есть таблицы MASTER_TABLE и DETAIL_TABLE. В таблице MASTER_TABLE есть поле ID - первичный ключ, а в DETAIL_TABLE есть поле ID_MASTER - ссылка на поле ID в MASTER_TABLE.
Берем два TIBDataSet, и соответственно два TDataSource. В первом IBDataSet пишем запрос типа SELECT * FROM MASTER_TABLE. Во втором - SELECT * FROM DETAIL_TABLE WHERE ID_MASTER=:ID В св-ве DаtaSource второго IBDataSet"а указываем DataSource, связанный с первым IBDataSet"ом. Подключаем гриды к соответствующим DataSource"ам. И все работает :)


 
Johnmen   (2003-07-11 09:54) [6]

>Spawn ©

Доброе утро.

Ты что, решил изучать программирование БД путем задавания здесь вопросов ? Причем уровня детского сада ?


 
Spawn   (2003-07-11 09:56) [7]

Johnmen © (11.07.03 09:54) не нравится не отвечай! У меня практически нету литературы по SQL, а задание поджимает. Тем более что ето ФОРУМ по Базам данных.

Zacho © (11.07.03 09:54) - огромное спасибо


 
Johnmen   (2003-07-11 10:08) [8]

>Spawn © (11.07.03 09:56)

>У меня практически нету литературы...

И денег/времени/желания, чтобы её приобрести ?

>...а задание поджимает

Именно так и говорят все, кто начинает изучать предмет с вопросов в форум.
Если твое задание учебное, то все ясно, разгильдяйничал, не учился :) Это одно.
А если задание поставлено начальником, и предполагаетcz практическое воплощение, то твой начальник явно не на своем месте. :)

Извиняюсь за оффтоп...


 
Spawn   (2003-07-11 10:54) [9]

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


 
Johnmen   (2003-07-11 11:02) [10]

В институт - это правильно !
Но без книг, без документации - лучше и не начинать (программировать).
:)


 
Соловьев   (2003-07-11 11:07) [11]


> Spawn © (11.07.03 10:54)

Зайди на www.ibase.ru и посмотри раздел для разработчика. там много чего есть, а еще там есть ссылки на case-средства для разработки БД - IB Expert - самое оно, а еще мой совет - уйди с InterBase на FireBird - он и бесплатный и глюков поменьше и не юзать IBX, а перейти на FIBPlus


 
Spawn   (2003-07-11 11:12) [12]

Johnmen © (11.07.03 11:02) книг у меня немало - около 10(как бы я изучал прогинг без них то), но именно про SQL почти ничего нет))

Соловьев © (11.07.03 11:07)

Спасибо. FireBird я уже использую, но вот о FIBPlus не знал. Обязательно посмотрю.


 
Zacho   (2003-07-11 11:25) [13]


> Spawn © (11.07.03 11:12)

Вообще-то начинать изучение работы с РСУБД желательно с тщательного прочтения и осмысливания чего-нибудь типа "Введение в системы баз данных" К. Дж. Дейт.
А для изучения SQL рекомендую "SQL (бестселлер)" М.Грабер
Если ты собираешься работать с IB то у тебя обязательно должны быть как минимум 2 книги: Data Definition Guide и Language Reference. Если нет, скачай, ссылки есть на www.ibase.ru
Еще весьма пригодятся "Мир InterBase" Востриков, Ковязин и "Delphi 5. Руководство разработчика баз данных." Шумаков, Фаронов.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.07.31;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.009 c
3-100529
Buka
2003-07-01 19:23
2003.07.31
Можно ли принципиально увидеть русский текст?


14-100902
kito
2003-07-14 09:14
2003.07.31
IDE UNvisible. Формы есть менюшек нет


1-100761
ss300
2003-07-16 13:19
2003.07.31
Вопрос по TDate


14-100940
Dmitriy O.
2003-07-15 11:49
2003.07.31
Как закрыть базы данных


1-100780
Erik
2003-07-16 15:59
2003.07.31
Отсутствует паралельность в com сервере.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский