![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 15.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Wiem że już podobne tematy były na forum (nawet przeczytałem kilka (IMG:style_emoticons/default/smile.gif) ), chciałbym jednak żeby ktoś rozważył mój konkretny przypadek. Mam mały dylemat przy tworzeniu bazy danych dla strony z bazą programów, gier i sterowników. Oto kilka wariantów o których myślę. Wariant 1 Dosyć prosty i w porządku dla małej liczby rekordów, ale co w przypadku dajmy na to 10 000 aplikacji, 500 kategorii, 100 000 komentarzy? i około 500-1000 ludzików na stronie? Mogłoby być ciężko jak dla mnie. Tabela Aplikacje Id | IdProducenta | IdLicencji | IdKategorii | Nazwa | Wersja | Opis | DataDodania | NazwaProducenta | LinkDoProgramu | TypAplikacji <--- (tzn. Czy sterownik, program czy gra, wartości 1,2 lub 3) Tabela Kategorie Id | Nazwa Tabela Komentarze Id | IdUzytkownika | IdAplikacji | Komentarz Tabela Obrazki <-- do jednej aplikacji może być więcej niż 1 obrazek stąd osobna tabela Id | IdAplikacji | LinkDoObrazka Wariant 2 Czyli rozbicie wszystkiego na tabele, pasuje od strony logicznej, bo gry, programy i sterowniki maja rożne kategorie. Wszystko jest rozłożone na klilka tabel, więc obciążenie danej tabeli jest mniejsze. Nie podoba mi się natomiast że obrazki rozbite są w 3 różnych tabelach, wolałbym mieć je wszystkie w 1 tabeli, jest to w zasadzie nie możliwe z powodu różnych indexów w każdej z tabel gry, sterowniki, programy. Tabela Gry Id | IdProducenta | IdLicencji | IdKategoriiGry | Nazwa | Wersja | Opis | DataDodania | NazwaProducenta | LinkDoProgramu | Tabela Programy Id | IdProducenta | IdLicencji | IdKategoriiProgramy | Nazwa | Wersja | Opis | DataDodania | NazwaProducenta | LinkDoProgramu | Tabela Sterowniki Id | IdProducenta | IdLicencji | IdKategoriiSterownikii | Nazwa | Wersja | Opis | DataDodania | NazwaProducenta | LinkDoProgramu | Tabela KategorieGry Id | Nazwa Tabela KategorieProgramy Id | Nazwa Tabela KategorieSterowniki Id | Nazwa Tabela KomentarzeGry Id | IdUzytkownika | IdGry | Komentarz Tabela KomentarzeProgramy Id | IdUzytkownika | IdProgramu| Komentarz Tabela KomentarzeSterowniki Id | IdUzytkownika | IdSterownika | Komentarz Tabela ObrazkiProgramy Id | IdProgramu | LinkDoObrazka Tabela ObrazkiGry Id | IdGry | LinkDoObrazka Tabela ObrazkiSterowniki Id | IdSterownika | LinkDoObrazka Wariant 3 - i ostatni (IMG:style_emoticons/default/tongue.gif) Czyli wolna amerykanka - możliwość wyboru co chcemy mięć w 1 tabeli, a co w wielu tabelach Tabela Aplikacja Id | IdAplikacji | typ | <--- (IdAplikacji to id programu, sterownika lub gry, a Typ określa czy to jest sterownik, program czy aplikacja), dzięki tej tabeli pośredniczącej, każdy z rekordów tabeli, ma swój unikalny indeks. Tabela Gry Id | IdProducenta | IdLicencji | IdKategoriiGry | Nazwa | Wersja | Opis | DataDodania | NazwaProducenta | LinkDoProgramu | Tabela Programy Id | IdProducenta | IdLicencji | IdKategoriiProgramy | Nazwa | Wersja | Opis | DataDodania | NazwaProducenta | LinkDoProgramu | Tabela Sterowniki Id | IdProducenta | IdLicencji | IdKategoriiSterownikii | Nazwa | Wersja | Opis | DataDodania | NazwaProducenta | LinkDoProgramu | Tabela KategorieGry Id | Nazwa Tabela KategorieProgramy Id | Nazwa Tabela KategorieSterowniki Id | Nazwa Tabela Obrazki Id | IdAplikacji | LinkDoObrazka Myślę nad tym i nie wiem który wariant wybrać. Te tabele o których napisałem wyżej są bardziej rozbudowane, ale nie chciałem przytaczać zbędnych danych tylko nakreślić problem. Nie wiem które rozwiązanie jest bardziej optymalne. Czy wariant 3, wprowadzenie dodatkowej tabeli z indexem jest dobrym pomysłem? Obstawiałbym za tym bo dałoby mi to szersze pole manewru. Sam już nie wiem i liczę na podpowiedź mądrzejszych odemnie. pozdrawiam Ten post edytował coolos 23.03.2010, 14:54:14 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 18.09.2025 - 23:08 |