Официальный сайт студ.городка НГТУ
Программирование и БД » [SQL] Объясните 

#1  18.04.06 14:17

[SQL] Объясните

Для чего нужны foreing keys (FK), реализован ли етот механизм в MySQL?

Желательно с примером.

Offline

#2  19.04.06 01:15

Re: [SQL] Объясните

Могу залить книжку по БД, 118Мб в pdf.

Offline

#3  19.04.06 01:19

Re: [SQL] Объясните

Лей кому нить в аплоад, на плейцс например. У мну фтп нет.

Offline

#4  19.04.06 01:23

Re: [SQL] Объясните

ftp://playcs/upload/!!for_users/seva

Я находил про FK где-то начиная с 225 страницы.

Offline

#5  19.04.06 10:24

Re: [SQL] Объясните

SQL-технология позволяет на уровне столбца задавать домены значений, т.е. строго определенные наборы или диапазоны значений, для помещаемых в столбец данных. В частности можно реализовывать ограничения ссылочной целостности (referential integrity constraint) и проверки фиксированного условия. Ограничение ссылочной целостности не позволяет значениям из столбца одной таблицы принимать значения кроме как из присутствующих в столбце другой таблицы. Это делается при помощи ограничителей FOREIGN KEY (внешний ключ) и REFERENCES (указатель ссылки). Таблица, содержащая FOREIGN KEY, считается родительской таблицей. Таблица, содержащая REFERENCES, считается дочерней таблицей. Внешний ключ и указатель ссылки могут находиться в одной таблице, т.е. родительская таблица одновременно является дочерней.

FOREIGN KEY - внешний ключ. Назначает столбец или комбинацию столбцов в текущей (родительской) таблице в качестве внешнего ключа для ссылки из других таблиц.

REFERENCES - указатель ссылки (или родительский ключ). Указывает на столбец (комбинацию столбцов) в родительской таблице, ограничивающую значения в текущей (дочерней) таблице.

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

в MySQL данный механизм естественно реализован.

Offline

#6  19.04.06 12:01

Re: [SQL] Объясните

VaGon написал(а):

в MySQL данный механизм естественно реализован.

Starting from MySQL 3.23.44, InnoDB features foreign key constraints.
тоесть только на типах таблиц InnoDB

Offline

#7  19.04.06 15:24

Re: [SQL] Объясните

Всем спасибо, седня вечером буду ковыряться.

Offline

#8  19.04.06 20:37

Re: [SQL] Объясните

самое смешное в том, что с MyISAM (вместо InnoDB) MySQL без жалоб принимает стейтмент CREATE TABLE ... FOREIGN KEY (...) REFERENCES ...(...), хотя внешний ключ в таблицах типа MyISAM не проверяется. Короче - будь внимательным или пользуйся настоящой СУБД а не MySQL :)

Исправлено ska-fan (21.04.06 00:20)

Offline

#9  19.04.06 20:54

Re: [SQL] Объясните

Да вот я вчера как раз и выполнил такой квери - прошел без проблем, в таблице появился какой-то обычный ключ без флага и родины, как надо не работает. Отсюда и вопрос возник

Исправлено Тяжелый случай (19.04.06 20:55)

Offline

#10  20.04.06 09:34

Il2
Профиль

Re: [SQL] Объясните

ska-fan написал(а):

Короче - будь внимательным или пользуйся настоящим СУБД а не MySQL :)

Ну дык посоветуйте настоящую СУБД.

Offline

#11  20.04.06 11:15

Re: [SQL] Объясните

Il2 написал(а):

Ну дык посоветуйте настоящую СУБД.

MSSQL, PostgreSQL, Oracle, DB2, Informix
--
Из всего советую или постгре или mssql, остальное сильно тяжелое

Offline

#12  25.04.06 11:25

Re: [SQL] Объясните

Karminsky написал(а):

ftp://playcs/upload/!!for_users/seva

Я находил про FK где-то начиная с 225 страницы.

Залей пожалуйсто есче раз)
видимо папки удолили...

 

#13  25.04.06 15:54

Re: [SQL] Объясните

Залил, Триш.

Offline

#14  25.04.06 17:04

Re: [SQL] Объясните

TRiXi написал(а):

Залей пожалуйсто есче раз)
видимо папки удолили...

пожалуйсто есче

TRiXi написал(а):

видимо папки удолили...

удолили
.......................

Offline

#15  25.04.06 19:33

Re: [SQL] Объясните

а почему Вилен не обратил внимание на то, что после «видимо» должна стоять запятая? :))

Offline

#16  26.04.06 11:05

Re: [SQL] Объясните

Karminsky, 1) не только после "видимо" 2) уже мелочь в сравнении с орфографией

Offline

#17  26.04.06 12:20

Re: [SQL] Объясните

ну все млин я покраснела мне стыдно...
этого хотели или как?

 

#18  26.04.06 12:21

Re: [SQL] Объясните

Karminsky написал(а):

Залил, Триш.

пасибки)
мукись)

 

Программирование и БД » [SQL] Объясните 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.101 сек.
Выполнено 14 запросов.