Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: dwie relacje z jednej tabeli do jednego pola z drugiej?
Forum PHP.pl > Forum > Bazy danych > MySQL
majere
Witam.

Piszę pracę inżynierską, i jest mi do niej potrzebna mała baza danych. składa sie ona z 2 tabel (w zasadzie 3 ale do mojego pytania wystarczą 2).
Mam pytanie czy poprawne jest takie ustawienie relacji, że dwa pola z jedej tabeli wskazuja na jedno pole z drugiej, przy czym dla każdego z tych pól wartość drugiej tabeli przybiera inne wartości. Może będzie łatwiej jak to przedstawie na rysunku:



a wiec chodzi o to, ze mam tabele uzytkownicy. I mam tabele pytania, i jest pole które mowi kto dodał pytanie i jest relacja do uzytkownicy (login) bo pytanie dodał uzytkownik. Ale jest tez relacja zatwierdzil w pytania do login w uzytkownicy, bo pytanie zatwierdza również któryś z użytkowników (posiadajacy wieksze uprawnienia). To nie muszą być ci sami użytkownicy w obu przypadkach. trzecia tabela wygląda podobnie jak pytania dlatego jej nie poruszam.

Proszę o odpowiedź czy takie ustawienie relacji jest poprawne (udało mi się tak to połączyć w phpmyadmin ale jest to praca inzynierska więc powinienem robić wszystko zgodnie ze sztuką stąd moje pytanie).

Pozdrawiam
Rafał
skowron-line
Jak najbardziej taka konstrukcja jest dozwolona. Ale powinieneś przemyśleć konstrukcję tej bazy ponieważ dublujesz dane w tabelach pytania, odrzucone w tabeli odrzucone powinieneś trzymać tylko ID z tabeli pytania.
majere
Dziękuję za szybką odpowiedź.

Pola się dublują ponieważ tabela pytania jest pobierana przez aplikacje mobilną, i nie chce aby pobierały się odrzucone pytania, dlatego przenosze je do innej tabeli.

Pozdrawiam.
skowron-line
Pomyśl czy nie wystarczy flaga w tabeli 0/1 zatwierdzone/ odrzucone. Pamiętaj że w sytuacji kiedy będziesz musiał zmienić strukturę tabeli będziesz musiał zmienić ją w 2 miejscach, zamiast w jednym, nie mówiąc już o zapytaniach do bazy danych.
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.