2016-10-05 8 views
0

Я смущен о том, как установить связь между значениями одного атрибута в базе данных MYSQL, например. У меня есть две таблицы в базе данных с именем «Язык» и «Словарь», поэтому в Entity «Language» есть два атрибута 1st: «language_id», а другое - «Имя» в языке_ид. Идентификатор для имени языка сохраняется и в атрибуте " Имя «имя» сохраняется, например, «language_id = 201» «Name = English», а в Entity «Dictionary» есть три атрибута 1st - это «id», который является первичным ключом 2nd, «Word», где слова хранятся в соответствии с именем языка, а третий - language_id ", который используется в качестве внешнего ключа для реализации отношения один к другому. Теперь путаница заключается в том, что если я храню два разных языка, таких как английский и урду, с разными словами language_id, они успешно сохраняются в атрибуте «Word» с их соответствующими внешними ключами, но как я могу связать слова двух разных языков, которые имеют одинаковое значение для того, чтобы достичь перевода. Все ответы заслуживают одобрения. СпасибоКак связать значения одного атрибута в базе данных

ответ

0

Моя первая мысль - добавить дополнительный столбец в словарь, который ссылается на основное слово. Эти две таблицы может выглядеть следующим образом:

Language 
-------- 
language_id 
name 

Dictionary 
---------- 
id 
word 
language_id 
primary_id 

Если первичное слово на английском языке, будет иметь primary_id нуль. Каждый последующий добавленный язык затем устанавливает primary_id в идентификатор английского слова.

language_id | name 
----------- ---- 
201   | English 
202   | Spanish 

id | word | language_id | primary_id 
-- ----  ----------- ---------- 
1 | hello | 201   | null 
2 | goodbye | 201   | null 
3 | hola | 202   | 1 
4 | adios | 202   | 2 
+0

Thanks A-Lot для справки. –