orders |
T |
OrderlD INT(11) |
C* CustomerlD VARCHAR(5) v> EmployeelD INT(11)
> OrderDate DATETIME - RequiredDate DATETIME O ShippedDate DATETIME OShipVia INT(11)
O Freight DECIMAL(10,4)
Rysunek 4: Fragment bazy danych Northwind z zaznaczonymi kluczami głównymi oraz obcymi (Rys. stworzony dzięki oprogramowaniu MySQL Workbanch)
Rozważany fragment zawiera cztery tabele, z których pomiędzy tabelami products (produkty) i suppliers (producenci) występuje relacja jeden-do-wielu a pomiędzy tabelami products i orders (zamówienia) występuje relacja wiele-do-wielu normalizowana przez tabelę order details.
ProductName |
CompanyName | |
► |
Cte de Blaye |
■ Aux joyeux ecdsiastiques |
Chartreuse verte |
Aux joyeux ecdsiastiques | |
Sasquatch Ale |
Bigfoot Breweries | |
Steeleye Stout |
Bigfoot Breweries |
Rysunek 5: Zestawienie produktów z ich producentem
W celu zestawienia nazwy produktów (z tabeli products) z nazwą producenta (z tabeli suppliers), co pokazano na rys. 5, należy wykonać następujące zapytanie SQL
select products.ProductName, suppliers.CompanyName from products, suppliers where products.SupplierID=suppliers.SupplierlD;
gdzie fragment products.SupplierID=suppliers.SupplierlD wynika z istnienia relacja zdefiniowanej pomiędzy kluczem obcym tj. w tabeli products a kluczem głównym (kolumna) tabeli suppliers.
Uwaga: W celu jednoznacznej interpretacji pochodzenia kolumny należy używać notacji z „kropką” tj. nazwaTabeli.kolumna