![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 73 Pomógł: 0 Dołączył: 19.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Chciałem się poradzić, jak zaprojektować sobie bazę danych. Rzecz tyczy się artykułów. Główny problem stanowi w jaki sposób przyporządkowywać artykuły do określonych kategorii. Jeden artykuł może należeć do kilku kategorii, przy czym poszczególne artykuły mogą mieć różną liczbę przyporządkowań do kategorii- nie jest określone, że każdy ma tyle samo. Poza tym, przewiduję możliwość wyświetlania sobie po kategorii, dlatego musi to być w miarę sprawnie zrobione ![]() Na chwilę obecną mam stworzoną jedną tabelę: treść, tytuł, data, autor, link do grafiki. I teraz. Załóżmy, że jest tylko 10 różnych autorów. Wiadomo- że nie ma sensu zapisywać imienia i nazwiska w każdym wierszu, tylko lepiej dać liczbę i odniesienie do tego gdzieś. I chodzi o to 'odniesienie'. Tworzyć relacyjną bazę danych, czy lepiej zrobić to inaczej? Pozdrawiam! ![]() Ten post edytował tukan 29.06.2012, 12:57:17 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
AUTOR
id name ARTYKUL id title id_autor .... KATEGORIA id name ARTYKUL_KATEGORIA id_artykul id_kategoria -------------------- "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: 73 Pomógł: 0 Dołączył: 19.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
jak do tabelki ARTYKUL_KATEGORIA będę sobie wpisywał id_artykułu, to do kolumny mam wpisywać id_kategorii. I te id_kategorii mam przedzielać przecinkami? ( bo przecież artykuł należy do wielu kategorii) czy tworzymy nowe wiersze? W takim razie będzie kilka wierszy o takim samym id_artykułu?
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat czy tworzymy nowe wiersze? W takim razie będzie kilka wierszy o takim samym id_artykułu? Dokładnie tak.
-------------------- "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: 73 Pomógł: 0 Dołączył: 19.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
ok, no to dzięki
( napiszę jakby coś ![]() i jeśli chodzi o właściwości tabeli, to tylko na koluny id_... ustawiamy PRIMARY_KEY? |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Jest to zwykła relacja wiele do wielu i powszechnie używana.
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
W każdej z tabel PRIMARY KEY ma być na pole ID.
Wyjątkiem jest tabela ARTYKUL_KATEGORIA gdzie primary key będzie sie składał z dwóch pól -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 73 Pomógł: 0 Dołączył: 19.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
czyli w każdej tabeli 1 kolumna ma primary, w akrtykuł_kategoria obie kolumny?
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat w akrtykuł_kategoria obie kolumny? Nie obie kolumny, a jeden klucz główny skłądający się z dwóch pol.
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 73 Pomógł: 0 Dołączył: 19.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
jak to zrobić?
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Po pierwsze: przestan dawać każdemu postowi POMOGL.....
Po drugie: jak zrobić? Normalnie, tak jak każdy inny klucz głowny.... tylko ze zamiast jednej kolumny określas dwie http://dev.mysql.com/doc/refman/5.1/en/create-table.html -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 73 Pomógł: 0 Dołączył: 19.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
mam teraz inny problem.
Kodowanie pliku php, za pomocą którego zapisuję do bazy danych to: utf-8 Kodowanie kolumny, do której zapisuję dane: utf8_general_ci I w bazie pojawiają mi się krzaczki zamiast polskich liter. Co z tym zrobić? Ten post edytował tukan 29.06.2012, 14:25:09 |
|
|
![]()
Post
#13
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Tematów o krzach w bazie było juz milion. Wystarczy poszukać
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 73 Pomógł: 0 Dołączył: 19.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
faktycznie, miałeś rację
![]() Dodałem mysql_query('SET NAMES utf8'); i pomogło ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 04:12 |