Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Projekt bazy danych dwie opcje wyboru
Forum PHP.pl > Forum > Bazy danych
blpIII
Mam pytanie co lepiej zastosować:

W tabeli users obecnie przetrzymywane są informacje
----------------
USERS
----------------
idUsera
imie
nazwisko
... inne tyczące się usera oraz
zdjecieGlowne
zdjecie1
zdjecie2
zdjecie3
zdjecie4

Chciał bym wyciągnąć dane zdjęcia do osobnej tabeli, jest ograniczona ilość zdjęć przypisanych do danego usera max 5 i teraz dwie koncepcje

1. tabela users ma postać
----------------
USERS
----------------
idUsera
imie
nazwisko
... inne tyczące się usera oraz
idZdjecia

tabela zdjecia ma postać
---------------
ZDJECIA
---------------
idZdjecia
zdjecieGlowne
zdjecie1
zdjecie2
zdjecie3
zdjecie4

2. tabela users ma postać
----------------
USERS
----------------
idUsera
imie
nazwisko
... inne tyczące się usera oraz

tabela zdjecia ma postać
---------------
ZDJECIA
---------------
idZdjecia
idUsera
url


Waszym zdaniem, która wersja jest poprawna, optymalniejsza itd..
alegorn
2 propozycja.
kwestia normalizacji danych.
uzywajac relacyjnych baz danych warto uzywac relacyjnego modelu danych. dziala lepiej.

poza tym 2 pozycja daje ci wieksze mozliwosci w sprawie rozwoju, no bo co, jesli bedziesz mial dodac kolejne zdjecie? albo jedno zdjecie mniej? albo dodac do tego nuty?


j.

edit:
choc tak naprawde to powinienes zrobic 3 tabele, jedna opisujace usera, druga zdjecia, trzecia laczaca owe tabele.
mialbys projekt bazy n:n, uzywajac dwu tabel masz 1:n (zdjecie moze miec tylko jednego usera). choc z drugiej strony to ci powinno wystarczyc.
adamec
zdecydowanie opcja 2 z porawką wg mnie:
----------------
USERS
----------------
idUsera
imie
nazwisko
... inne tyczące się usera oraz


---------------
ZDJECIA
---------------
idZdjecia
idUsera
Zdjęcie

masz USERS z którym łączysz nieograniczoną ilość ZDJECIA poprzez where USERS.idUsera=ZDJECIA.idUsera . W tym rozwiazaniu user może nie mieć zadnego zdjęcia lub mieć ich wiele
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.