Вы определяете отношения Первичного и Внешнего ключей при создании таблиц.После того, как они настроены, вы можете их просто забыть, если только база данных не выдаст ошибку, если вы попытаетесь сделать что-то, что нарушает отношения.
Например, если вы попытаетесь добавить запись в дочерний элемент(чужая) таблица, которая не имеет значения в родительской таблице, база данных будет жаловаться, если отношения установлены правильно.
например, Добавление записи 1 в таблицу Beer завершится неудачно, если вы уже не добавили Anheuser-Вставьте в таблицу пивоваров.
Предложение по настройке столов:
Brewer
id bigint
name varchar(50)
country varchar(50)
state varchar(10)
city varchar(50)
Beer
id bigint
brewerId bigint
name varchar(70)
category varchar(50)
type varchar(50)
alcohol decimal(3,1)
Set Brewer.Id as the Primary Key of the Brewer table.
Set Beer.Id as the Primary Key of the Beer table.
Then create a foreign key relationship between Brewer.Id = Beer.brewerId
Затем добавьте пивоваров вручную (потому что их не так много)
Brewer
1 Anheuser-Busch United States Mo St. Louis
2 Miller Brewing Company United States WI Milwaukee
Затем возьмите CSV-файл, чтобы заменить все данные пивовара на соответствующий идентификатор пивовара, и используйте его для заполнения таблицы пива:
Beer
1 1 Budweiser Pale lager Regular 5.0
2 1 Bud Light Pale lager Light 4.2
3 2 Miller Lite Pale lager Regular 4.2
Итак: brewerId связывает каждое пиво с пивоваром впивоваренный стол.Это внешний ключ - каждое пиво автоматически получает все данные пивовара, потому что его brewerId совпадает с идентификатором пивовара (и вы устанавливаете это отношение при создании таблиц).
- Пиво 1 (Budweiser) принадлежитпивовару 1 (Anheuser-Busch)
- Пиво 2 (Bud Light) принадлежит пивовару 1 (Anheuser-Busch)
- Пиво 3 (Miller Light) принадлежит пивовару 2 (Miller)
Это позволяет вам делать действительно крутые суффи.Скажем, Миллер был куплен другой компанией ... все, что вам нужно сделать, это изменить детали в таблице Брюера, и вуаля - все пиво, которым владел Миллер, теперь принадлежит новому пивовару.Вы также можете рассчитать объем продаж по пивовару, штату и т. Д.
Основное правило заключается в том, что первичный и внешний ключи подобны отношениям Родитель-Дочерний.Ребенок хранит идентификатор Родителя.Таким образом, каждый родитель может иметь несколько детей.Это может быть намного сложнее, но это даст вам очень хороший стартовый подход к большинству ваших решений для баз данных.