phpMyAdmin
 sql >> Baza danych >  >> Database Tools >> phpMyAdmin

Relacje z bazami danych przy użyciu phpmyAdmin (klucze złożone)

Wartości NULL

Oznacza to również, że przedmiot będzie miał 5 identyfikatorów, w tym własny. To wszystko powoduje wartości null (najwyraźniej duże nie, co rozumiem), ponieważ jeśli miejsce i cena są opcjonalne i nie są używane w jednym wpisie do tabeli przedmiotów, będę miał tam wartość pustą

Osobiście uważam, że jest to sytuacja, w której NULL wartości są doskonałe i na pewno nie miałbym żadnych wątpliwości co do umieszczenia tego w projekcie mojej bazy danych.

Jednym ze sposobów, w jaki widziałem, jak inni osiągnęli to samo bez NULL wartościami jest utworzenie rekordu w opcjonalnych tabelach (miejsce i cena w twoim przykładzie) z identyfikatorem 0, co oznacza, że ​​nie ma powiązanego rekordu - ale to po prostu sprawia, że ​​programista aplikacji ma 10 razy więcej pracy, aby odfiltrować te rekordy - DUŻO łatwiej jest wykonać sprzężenie, a jeśli nie otrzymasz żadnych rekordów z powrotem, w opcjonalnej tabeli nie ma żadnych powiązanych rekordów.

Pamiętaj tylko, aby wykonać LEFT lub RIGHT OUTER dołącz, jeśli chcesz zwrócić Item niezależnie od tego, czy mają Place lub Price powiązane (otrzymasz NULL wartości w opcjonalnych kolumnach tabeli dla Item s, które nie mają powiązanych rekordów) i INNER dołącz, jeśli tylko chcesz Item co robi? mieć powiązany opcjonalny rekord.

Klucze złożone

Klucz złożony to klucz w tabeli, która składa się z więcej niż jednej kolumny. Jeśli każda z Twoich Person , Item , Place i Price wszystkie mają identyfikator (nawet jeśli jest to tylko liczba automatycznie zwiększająca się), nie będziesz potrzebować klucza złożonego - tylko kolumna klucza podstawowego w każdej tabeli i kolumna klucza obcego w Item tabela dla każdej powiązanej tabeli - np. item_id , person_id , place_id , price_id . Oświadczasz, że Item ma swój własny identyfikator, więc nie powinieneś potrzebować klucza złożonego - tylko klucz podstawowy w item_id kolumna.




  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Utwórz hasło roota dla PHPMyAdmin

  2. Czy można stwierdzić, czy MySQL działa ze strony błędu połączenia PhPMyAdmin?

  3. Błąd PhpMyAdmin:niezgodny token

  4. Nie udało się wygenerować losowego tokena CSRF! (phpmyadmin 4.6.4)

  5. Jak WYBRAĆ ostatnie 10 wierszy tabeli SQL, która nie ma pola ID?