2015-03-27 4 views
0

Я пытаюсь изучить реляционную алгебру и запрос к базе данных. В следующем ответе на вопрос и модель, если мы переименуем каждый атрибут в Q1, как и в ответе, может ли быть выполнено естественное соединение? Я думал, что у двух отношений должен быть хотя бы один общий атрибут с тем же именем. Не могли бы вы объяснить, что здесь происходит? Большое спасибо! enter image description here enter image description hereБаза данных естественное объединение и переименование

ответ

1

Имена атрибутов не должны быть одинаковыми, но это может привести к путанице, когда они не являются. Однако, упоминая, например, [sid] < ПОСТАВЩИКИ [sid] вы четко определяете отношения.

Это можно переименовать, например. Suppliers.sid to Suppliers.supplierId, а затем проясните, что Catalog.sid относится к поставщикам.supplierId, и все это есть.

На практике я всегда вызываю PK таблиц, которые я проектирую Id, и когда вы используете его в других таблицах как FK, я называю это [tablename] Id, например. SupplierID.

+0

Спасибо. Вы имеете в виду, если атрибуты в двух таблицах не имеют одинаковых имен, естественное соединение может быть выполнено. Например, результирующая таблица после объединения природы будет иметь атрибуты «sid, sid», pid, pid, cost, cost »? – user3735871

+1

Я имею в виду, что имена не обязательно должны быть одинаковыми для соединения. Я не уверен, что означает ваше последнее предложение. –

+0

Я хотел спросить, что получилось бы после присоединения «sid, pid, cost» и «sid», pid ', cost? »? Является ли результатом таблица с атрибутами sid, sid ', pid, pid', cost, cost '? – user3735871