Запрос реляционной алгебры - PullRequest
0 голосов
/ 03 октября 2011

Я застрял в запросе ниже, где мне нужно перечислить два атрибута из разных таблиц.Существует ли более простой способ написания вышеуказанного запроса?

Tables:
Patient (PatientID, FamilyName, GivenName,Address) 
Item (ItemNo, Info, Fee)
Account (AccountNo, PatientID, Date)
AccountLine (AccountNo, ItemNo)

Перечислите информацию об элементе и дату всех процедур для любого пациента по имени Джон Уэйн:

Select FamilyName =” Wayne” and GivenName=”John” (Patient)> Temp1
        Temp1*Temp1.PatientID = Account.PatientID (Account) > Temp2

 - Updated

Temp2*Temp2.AccountNo = AccountLine.AccountNo (Temp2 X Account) >Temp3
Temp3*Temp3.ItemNo = Item.ItemNo (Temp3x Item) > Temp4
Select Description, Date(Temp4)

Join Answer 
Select Description, Date (Restrict FamilyName =” Wayne” and GivenName=”John” (Patient) Join Account Join Item Join AccountLine)

1 Ответ

1 голос
/ 03 октября 2011

Очень похоже на [homework], поэтому я просто предоставлю подсказки ...

Вместо того, чтобы выбирать из таблицы, вы можете выбрать из объединения
, в частности, естественное объединение * 1005Таблица * и Account позволят, например, найти все значения AccountNo и Date, связанные с Джоном Уэйном.
Аналогично, при другом объединении будет найдена информация об элементе с учетом AccountNo.
И так как объединение можно объединитьс другим (при условии отсутствия конфликтов) кажется, что я почти решил это ...

...