lerne ich zum ersten Mal über SQL, und ich bin nach entlang von dieser Website: http://code.tutsplus.com/articles/sql-for-beginners-part-3-database-relationships--net-8561Warum mit Fremdschlüsseln umgehen?
Der Autor geht die Mühe einen Fremdschlüssel zu erklären, aber ich glaube nicht, dass jemals etwas tut für uns. Hier ist das Beispiel von der Seite:
CREATE TABLE customers (
customer_id INT AUTO_INCREMENT PRIMARY KEY,
customer_name VARCHAR(100)
);
CREATE TABLE orders (
order_id INT AUTO_INCREMENT PRIMARY KEY,
customer_id INT,
amount DOUBLE,
FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);
INSERT INTO `customers` (`customer_id`, `customer_name`) VALUES
(1, 'Adam'),
(2, 'Andy'),
(3, 'Joe'),
(4, 'Sandy');
INSERT INTO `orders` (`order_id`, `customer_id`, `amount`) VALUES
(1, 1, 19.99),
(2, 1, 35.15),
(3, 3, 17.56),
(4, 4, 12.34);
Einige Tabellen erstellt, und die customer_id in der Auftragstabelle wird die customer_id in der Kunden-Tabelle zu verweisen.
Hier ist, was mich verwirrt: Der Autor des Artikels die folgenden Aussagen mit verschiedenen Ergebnissen führt:
SELECT * FROM customers JOIN orders;
SELECT * FROM customers NATURAL JOIN orders;
SELECT * FROM customers JOIN orders WHERE customers.customer_id = orders.customer_id;
Es gibt mehr Aussagen, welche LEFT
und RIGHT OUTER JOIN
s unter anderem, aber an keiner Stelle den Fremdschlüssel Beeinflusse alles.
Fehle ich etwas, oder sind diese Beispiele zu einfach, um die Verwendung eines Fremdschlüssels zu rechtfertigen?
Dank