Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Relacje 3 tabel po sobie
Forum PHP.pl > Forum > Bazy danych > MySQL
Sh4dow
Uzywam programu DBDesigner 4 do tworzenia oraz obrazowania baz danych dla mysql'a. Jako ze relacje dopiero co zaczynam poznawac, nie wiem czy dobrze to robie czy nie.
Mam takie tabele, users, category, links. Nie wnikajac w szczegoly czy tak jest dobrze czy nie sa miedzy tymi tabelami relacje.
table Links posiada kolumne category_id z powiazaniem do pola id w tabeli category, natomiast tabela category ma pole users_id z powiazaniem do pola ID w tabeli users.
I taraz moj problem. Kiedy tworze relacje w ostatniej z rzedu kolumnie (links) zamiasttylko jednego pola tworza mi sie 2 nowe pola, category_id oraz category_users_id, obie kolumny to FOREIGN KEY.
Czy tak powinno sie robic relacje w rzedzie ?
czy ktos ma cos na temat relacji ? najlepiej na przykladzie mysql'a.
Na forum znalazlem cos o relacjach 1:n i 1:1. Moze ktos powiedziec cos wiecej na ten temat ?
sobstel
cos tu nie tak. users : category to 1 : n (jeden konkretny user moze miec wiele kategori, jedna konkretna kategoria moze byc przypisana tylko do jednego usera), a category : links to tez 1 : n (konkretna kategoria moze miec wiele linkow, ale jeden konkretny link moze byc przypsiany tylko do jednej kategori). w tabeli category bedzie jeden klucz obcy users_id a w tabeli links jeden klucz obcy category_id. db designer sam wtorzy klucze obcy przy tworzeniu relacji, oczywiscie sa ta relacje 1 : n nieidentyfikujące (przerywana linia).

co do relacji 1:1 w praktyce raczej sie nie stosuje, no moze w szczegolnych przypadkach, oznacza ona ze jeden wiersz jednej tabeli odpowiada dokladnie jednemu innej, czyli wlasciwie nie ma sensu istnienia tych 2 tabel, bo moga byc w jednej i tej samej.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.