Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Realizacja relacji 1 do 1
blum1
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 24.04.2007

Ostrzeżenie: (0%)
-----


Witam
Mam dwie tabele które chciał bym by były w relacji 1 do 1 i teraz pytanie jak to zrobić technicznie. mam dwa pomysły.
1.Podejście 1
CREATE TABLE `tabela1` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(30)
}

CREATE TABLE `tabela2` (
`id` int(11) NOT NULL PRIMARY KEY,
`inne` varchar(30)
}
Przy dodawaniu rekordu do tabeli jeden bedę dodawał do tabeli2 rekord o tym samym id co w tabeli jeden. czyli tabela1.id = tabela2.id

2.Podejście 2
CREATE TABLE `tabela1` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(30)
}

CREATE TABLE `tabela2` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`tabela1_id` int(11) NOT NULL ,
`inne` varchar(30)
}
Tu tabela2 będzie połączona poprzez pole 'tabela1_id' i przy dodawaniu rekordu do tabeli jeden bedę dodawał do tabeli2 rekord czyli tabela1.id = tabela2.tabela1_id

Proszę o sugestie które podejście jest właściwsze i wygodniejsze w późniejszym użyciu, ewentualnie o inne pomysły jak wy to z realizowaliście

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
YaQzi
post
Post #2





Grupa: Zarejestrowani
Postów: 94
Pomógł: 31
Dołączył: 12.10.2008
Skąd: WAT

Ostrzeżenie: (0%)
-----


Podejście drugie to przecież jeden do wielu. ;> W tabeli 2 da się wtedy przypiąć do kilku rekordów to samo id z tabeli 1. Chyba, że nałożysz Unika na tabela1_id tylko wtedy będziesz miał dwa indywidualne klucze dla każdego wiersza więc po co to. Jak masz powód żeby nie robić tutaj tylko jednej tabeli zamiast dwóch to tylko pierwsze podejście wchodzi w grę. Chociaż to też zależy od przeznaczenia tej relacji... Trochę za mało informacji żeby to jednoznacznie rozwiązać.

Ten post edytował YaQzi 19.07.2011, 10:10:14
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 10.10.2025 - 19:59