![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 401 Pomógł: 1 Dołączył: 10.03.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Witam,
muszę zrobić bazę, ale nigdy nie robiłem takiej zaawansowanej żetakpowiem ![]() Wydaje mi się, że dobrym rozwiązaniem będzie coś takiego: odzielna tabela dla userów, bo będzie ich wiele i odzielna table dla zamawianych zdjęć, bo też będzie tego dużo. Tylko chcę, żeby każde zamawiane zdjęcie miało przy sobie info gdzie jest wykorzystywane i przez jakiego usera i ile razy. Dodatkowo chcę, żebym mógł sprawdzić jakie zadjęcia zamawiał user... macie jakieś pomysły oraz gdyby takie pojawiły się to jak by wyglądały przykładowe zapytania do tej bazy. Moja propozycja jest taka: tabela users: user_id | imie | nazwisko | email tabela zdjecia: zdjecie_id | zdjecie_id_user_id | jakies_pozostale_info_o_zdjeciu czy takie rozwiązanie jest OK i jak by wyglądało dodawanie oraz zapytanie do takiej bazy? Będę wdzięczny za odpowiedzi. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
masz tutaj relacje wiele do wielu, czyli ze jeden user moze zamawiac wiele zdjęc, a jedno zdjecie moze byc zamowione przez wielu userow. tak wiec twoja tabela ze zdjeciami jest bledna. musisz dorobic trzecią tabelę, która będzie je łączyla:
tabela user: Kod id | imie | nazwisko | email tabela zdjecie: Kod id | jakies_pozostale_info_o_zdjeciu tabela user_zdjecie: Kod id_user | id_zdjecie | data | gdziewykorzystane Cytat wykorzystywane i przez jakiego usera i ile razy to dany user moze kilka razy to samo zdjecie zamowic? jesli tak to:tabela user_zdjecie: Kod id | id_user | id_zdjecie | data | gdziewykorzystane
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 401 Pomógł: 1 Dołączył: 10.03.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Wiesz, sorry że marudzę, ale pomyślałem i okazało się, że w bazie nie będę trzymał opisów zdjęć. Interesuje mnie tylko to, przez kogo były zamawiane i gdzie były wykorzystywane.
Czyli tabela users pozostaje bez zmian, a tabela z informacjami i wykorzysttywanych zdjęciach zmieni się... tylko jak? ![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
tak czy siak tabela na zdjecia jest wskazana. umozliwia to latwiejsze zarządzanie zdjęciami. czyli wszystko pozostaje bez zmian
![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 401 Pomógł: 1 Dołączył: 10.03.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Dobra, nasmarowałem cóś takiego:
tabela users: Kod CREATE TABLE users ( id INT NOT NULL AUTO_INCREMENT, imie CHAR(15), nazwisko CHAR(25), email VARCHAR(40), PRIMARY KEY(id) ); tabela zdjecia: Kod CREATE TABLE zdjecia ( id INT NOT NULL AUTO_INCREMENT, kategoria CHAR(20), numer CHAR(4), PRIMARY KEY(id) ); tabela users_zdjecia: Kod CREATE TABLE users_zdjecia ( id INT NOT NULL AUTO_INCREMENT, id_users CHAR(4), id_zdjecia CHAR(4), serwis TEXT, link TEXT, data datetime, PRIMARY KEY(id) ); a teraz zapytanie do bazy: Kod SELECT users.imie, users.nazwisko, users_zdjecia.serwis, users_zdjecia.link FROM users, zdjecia, users_zdjecia WHERE users.id = users_zdjecia.id_users AND zdjecia.id = users_zdjecia.id_zdjecia AND LCASE(zdjecia.kategoria) = \"Biznes\" AND LCASE(zdjecia.numer) = \"12\" pokaże wszystkich userów, którzy pobrali zdjęcie z kategorii Biznes numer 12 1. tylko jak zrobić na odwrót, czyli pokazać wszystkie zdjęcia, które pobrał user Jan Kowalski? 2. i jak się dodaje informacje do takich tabel, w 3 różnych insertach? ![]() |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
uzywaj odpowiedniego bbcode. mowie tu o SQL
1)
2)ale czemu w trzech?Przeciez userow juz bedziesz mial. najpierw przeciez ludek musi sie pojawic w bazie, bys mogl mu cos dac. to samo ze zdjeciami. przeciez galerie zdjęc to masz juz w bazie, inaczej ludek by nie wiedzial co moze se wziąść. Bo w bazie masz trzymac zdjecia nie zależnie od tego czy ktos je bral czy nie. a potem to juz tylko jeden insert na polaczenie usera ze zdjeciem ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 06:53 |