Я пытаюсь изучить реляционную алгебру и запрос к базе данных. В следующем ответе на вопрос и модель, если мы переименуем каждый атрибут в Q1, как и в ответе, может ли быть выполнено естественное соединение? Я думал, что у двух отношений должен быть хотя бы один общий атрибут с тем же именем. Не могли бы вы объяснить, что здесь происходит? Большое спасибо! База данных естественное объединение и переименование
0
A
ответ
1
Имена атрибутов не должны быть одинаковыми, но это может привести к путанице, когда они не являются. Однако, упоминая, например, [sid] < ПОСТАВЩИКИ [sid] вы четко определяете отношения.
Это можно переименовать, например. Suppliers.sid to Suppliers.supplierId, а затем проясните, что Catalog.sid относится к поставщикам.supplierId, и все это есть.
На практике я всегда вызываю PK таблиц, которые я проектирую Id, и когда вы используете его в других таблицах как FK, я называю это [tablename] Id, например. SupplierID.
Спасибо. Вы имеете в виду, если атрибуты в двух таблицах не имеют одинаковых имен, естественное соединение может быть выполнено. Например, результирующая таблица после объединения природы будет иметь атрибуты «sid, sid», pid, pid, cost, cost »? – user3735871
Я имею в виду, что имена не обязательно должны быть одинаковыми для соединения. Я не уверен, что означает ваше последнее предложение. –
Я хотел спросить, что получилось бы после присоединения «sid, pid, cost» и «sid», pid ', cost? »? Является ли результатом таблица с атрибутами sid, sid ', pid, pid', cost, cost '? – user3735871