![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 0 Dołączył: 29.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Cześć mam pytanie czysto teoretyczne. Zastanawiam się nad zrobieniem gry strategicznej powiedzmy takie marzenie za dzieciaka. Nurtuje mnie kilka kwestii jak to wszystko rozwiązać. Jak wiemy możemy zrobić wojsko, wioski i budynki na kilka sposobów:
1) Zamiast 3 tabel robimy wszystko w jednej. Czyli budynki wojsko wraz z wioską 2) Możemy rozbić to na 3 table, ale: a) Przechowujemy wszystkie wyniki w jednym rekordzie. Np: - w tabeli wojsko mamy takie pola jak: piechur, łucznik, łucznik na koniu. Wszystkie te pola przechowują liczbę wojska. Z budynkami możemy zrobić tak samo ![]() - w tabeli wojsko mamy oddzielne rekordy dla różnych jednostek. Możemy w ten sposób rozszerzyć swoją działalność i możliwości. Dodając czas ruchu, ilość jednostek, siła jednostki. No i właśnie nie wiem co wybrać, wiadomo mając wszystko w jednej tabeli wioska łatwiej wszystkim operować, jednak posiadamy w bazie w pewnym słowie "bajzel". Operując na wielu kilku tabelach oddzielnie mamy pewien komfort. Ale i tutaj nasuwa się pytanie czy każdy budynek, każdą jednostkę robić w jednym rekordzie czy każdy oddzielnie. Umiejąc operować pomiędzy tabelami każdy podany wyżej sposób nie sprawia trudności. Chodzi jednak mi o wasze zdanie jakbyście wy to zrobili. Jak według Was jest lepiej i wygodniej. Pozdrawiam |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 183 Pomógł: 24 Dołączył: 4.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
a ille wspólnych cech maja wojsko wioska i budynek? jeśli żadnej nie powinny być w jednej tabeli,. Ja bym zastanowił się nad bardziej ogólnymi formami, które łatwo później rozbudować jak:
tabele: 1. wojsko (tutaj zależnie czy operujemy po jakiś mniejszych jednostkach czy nawet wojaka indywidualnie trzeba to zmodyfikować.) 2a. miejsca 2b. miejsca_typy (łącznie z zależnościami parent child) 3a. obiekty 3b. typy obiektow 4. obiekty-miejsca 5. wojsko-miejsca i to tak na początek z danych jakie podałeś. Ten post edytował kalmaceta 1.03.2011, 11:58:41 -------------------- kAlmAcetA
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 0 Dołączył: 29.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Jedyną cechą wspólną tych 3 tabel jest jedynie id wioski z której pochodzą.
Operacja jakie będę wykonywał np na wojsku to: atak/obrona(przemieszczanie), rekrutacja. Mając wojsko w jednej tabeli i w jednym rekordzie, pobierałbym tylko z innej tabeli np czas akcji. Aczkolwiek to mogę zrobić tak jak wcześniej wspominałem każda jednostka to inny rekord. Masz rację że jest później łatwiej modyfikować różne pola. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 654 Pomógł: 121 Dołączył: 27.10.2007 Skąd: Poznań, Łódź Ostrzeżenie: (0%) ![]() ![]() |
Osobiście preferuję podejście opisane przez kalmaceta. Staram się by tabela w bazie odzwierciedlała saoistny byt w realnym świecie. Możliwe iż takie rozwiązanie generuje więcej tabel, ale w przyszłości pozwala na łatwe i szybkie modyfikacje aplikacji.
Takie podejście jest zresztą zgodne z wzorcami poprawnego budowania baz danych. Pozdrawiam -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 0 Dołączył: 29.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Ok, dzięki. Biorę się za pisanie
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 07:19 |