MySQL tabloları bağlama;

1 Cevap php

Öncelikle bana Normalleþtirilmesi anlamaya yardımcı oldu ve nasıl benim veritabanı oluşturmak gerektiğini kim hepinize teşekkür etmek istiyorum.

Şimdi, sol son bazı sorunları var ...

Nasıl tablo VERME gerçekte nasıl çalışır?

Eğer üç tablo var ki:

CATEGORY TABLE:
cat_id (PK) -> 1
cat_name -> cars

CATEGORY_OPTIONS TABLE:
cat_opt_id (FK) -> 1
cat_id (FK) -> 1
option_name -> year

CATEGORY_OPTIONS_VALUES TABLE:
cat_opt_val_id (PK) -> 1
cat_opt_id (FK) -> 1
value -> 1999

Basically, the values should look like this:

CATEGORY
(1, cars)
(2, MC)

CATEGORY_OPTIONS
(1, 1, year)
(2, 1, fuel)
(3, 2, type)

CATEGORY_OPTIONS_VALUES
(1, 1, 2010)
(2, 1, Petrol)
(3, 2, Cross)

Bu yukarıda bu kurulum gibi doğru mu?

Nasıl bu aramak istiyorsunuz, nasıl mantık oluşur?

Ben (vb SEÇ) PHP sorgu örnekleri gerektiğini düşünüyorum

Say you want to search for a CAR -> year=2010, fuel=PETROL how is the query then? AND SAY you want to search for a CAR -> fuel=PETROL, year=anything

Son olarak, bu alanların herhangi Autoincrement kullanmalıyım? Ve AI ne zaman kullanılır?

Teşekkürler

PS: For more info, check out this Q: http://stackoverflow.com/questions/2100008/can-this-mysql-db-be-improved-or-is-it-good-as-it-is

1 Cevap

Siz istediğiniz SQL katıldı. Tablo bağlama (Ayrıntılar için, birleştirme motoru MySQL belgelerine bakın) ulaşmak için çalışıyoruz ne ilgisi vardır tamamen ilgisiz bir tekniktir. Genel olarak:

SELECT f.name, b.value
FROM foo f
LEFT JOIN bar b ON b.foo_id = f.id
WHERE f.age > 10
HAVING b.value IS NOT NULL

Ve tüm farklı aşamalarında uygulamak hükümler SAHİP ON koşulları özellikle önemi, - katılır nasıl yapıldığını anlamak için, size veritabanı motoru bir sorgu süreçleri nasıl anlamak gerekir.