powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Связь между базами
13 сообщений из 13, страница 1 из 1
Связь между базами
    #32809628
ZRoman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как делать связь между ячейками в таблицах?
...
Рейтинг: 0 / 0
Связь между базами
    #32809693
Marat_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приведите пример желаемой связи.

Жизнь коротка - потерпи немного :)
...
Рейтинг: 0 / 0
Связь между базами
    #32809753
ZRoman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну например:

1 таблица.

institut
id gruppi Gruppa
FIO idFIO
.... Predmet
.... ....
....
...
Рейтинг: 0 / 0
Связь между базами
    #32809769
ZRoman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
подскажите где можно скачать документацию по mysql.
...
Рейтинг: 0 / 0
Связь между базами
    #32809787
Marat_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Документация :
http://dev.mysql.com/doc/mysql/en/index.html


А насчет твоего примера - связь чего с чем?
Не догоняю
И таблица у тебя странная какая-то

Жизнь коротка - потерпи немного :)
...
Рейтинг: 0 / 0
Связь между базами
    #32812160
ZRoman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да я не знал что она поедит после того как я ее отправлю, вот
таблица 1 (2 поля: 1.Группа 2.idPeople). таблица 2 ( N полей: 1.idPeople 2. fio ну и т.д.) связь по полям idPeople.
Спасибо !
...
Рейтинг: 0 / 0
Связь между базами
    #32812261
Marat_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дык ёлы-палы - тебе нужны внешние ключи!!
Они есть в таблицах InnoDB

авторAn example:

CREATE TABLE parent(id INT NOT NULL,
PRIMARY KEY (id)) TYPE=INNODB;
CREATE TABLE child(id INT, parent_id INT,
INDEX par_ind (parent_id),
FOREIGN KEY (parent_id)
REFERENCES parent(id)
ON DELETE CASCADE) TYPE=INNODB;



Жизнь коротка - потерпи немного :)
...
Рейтинг: 0 / 0
Связь между базами
    #32814400
чсмч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторAn example:

CREATE TABLE parent(id INT NOT NULL,
PRIMARY KEY (id)) TYPE=INNODB;
CREATE TABLE child(id INT, parent_id INT,
INDEX par_ind (parent_id),
FOREIGN KEY (parent_id)
REFERENCES parent(id)
ON DELETE CASCADE) TYPE=INNODB;


навреное я чего-то не понимаю, но если:

INSERT INTO parent VALUES (1);

то child не изменится.
...
Рейтинг: 0 / 0
Связь между базами
    #32814574
Marat_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
чсмч навреное я чего-то не понимаю, но если:

INSERT INTO parent VALUES (1);

то child не изменится.

1) Что именно вызывает сомнения/вопросы?
2)"не изменится" - это вопрос? утверждение? возражение?

Жизнь коротка - потерпи немного :)
...
Рейтинг: 0 / 0
Связь между базами
    #32814615
чсчс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Marat_L чсмч навреное я чего-то не понимаю, но если:

INSERT INTO parent VALUES (1);

то child не изменится.

1) Что именно вызывает сомнения/вопросы?
2)"не изменится" - это вопрос? утверждение? возражение?

Жизнь коротка - потерпи немного :)

не понимаю я смысла внешних ключей %)

пример:

CREATE TABLE test1 (id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (id)) TYPE=INNODB;

CREATE TABLE test2 (id INT NOT NULL AUTO_INCREMENT, test1_id INT, PRIMARY KEY (id), FOREIGN KEY (test1_id) REFERENCES test1(id) ON DELETE CASCADE) TYPE=INNODB;

если не трудно поясните пожалуйста почему после

INSERT INTO test1 VALUES (null);
SELECT * FROM test2;

я не увижу

id test1_id

1 1
...
Рейтинг: 0 / 0
Связь между базами
    #32815660
Marat_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Представь что test1- таблица городов,
а test2 таблица людей.

Каждый чел живет в некотором городе (хотя есть конечно и дерёвня :) )
Поэтому у людей стоит ссылка на город, которая ДОЛЖНА БЫТЬ.
В этом и есть смысл внешнего ключа:
- Нельзя ввести человека без города
- Нельзя просто так удалить город, если в нем есть люди
В результате у тебя в базе не будет битых ссылок (т.е. бомжей)

Теперь к твоему вопросу
авторINSERT INTO test1 VALUES (null);
SELECT * FROM test2;
Первым запросом ты просто добавляешь город.
В таблице людей ты ведь ничего не меняешь.
Что ты хочешь там видеть?

Жизнь коротка - потерпи немного :)
...
Рейтинг: 0 / 0
Связь между базами
    #32816510
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
механизм внешних ключей, предоставляемый движком InnoDB просто генерит ошибку при попытке нарушить связь по внешнему ключу. Т.е. это просто предосторожность. Например, при попытке завести человека из несуществующего города, сгенерится ошибка. Оно тебе точно надо? Эту связь можно сделать лапками. В этом случае слежка за логической целостностью данных (валидностью внешних ключей) ложится на клиента. Может, тебя не напрягает, что в базе есть бомжи, или они не могут возникнуть by desing. В этом случае сильной надобности в автоматической проверке валидности внешних ключей я не вижу.

ЗЫ Никто за тебя данные вставлять не будет.

ma X mo
...
Рейтинг: 0 / 0
Связь между базами
    #32817741
Marat_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maXmoОно тебе точно надо? Эту связь можно сделать лапками.

Если всё делать лапками, тогда зачем нужны СУБД? ;)

Если сервер снимает с тебя еще один головняк с лапками - то это хорошо, IMHO
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Связь между базами
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]