Jak wrzucić taką tabelę do SQL?

0

pytanie nooba

Tabela w tym stylu, przykładowo:
http://www.pksradomsko.pl/rozkladywpdf/cennikmies.jpg

jak takie coś wrzucić do bazy sql by to miało sens? Można wrzucic tak jak jest nawet jeśli są 2 nagłówki (kilometry, rodzaj biletu) a zawartość to same ceny?
Jak to powinno wyglądać w sql?

0

Normalnie.
Konkretne pytanie?

0

Chyba musisz najpierw zdefiniować co właściwie jest Ci potrzebne.
Patrząc na tę tabelę mamy:

  1. Typ biletu (ta tabela dotyczy tylko miesięcznych, ale pewnie są też jednorazowe, czasowe, weekendowe, etc)
  2. Kiedy jest ważny - np obowiązuje w jakiejś ramie czasowej, dopiero zostanie wprowadzony, nie obowiązuje w święta, etc
  3. Rodzaj biletu (ulgowy, normalny, itd)
  4. Kategoria - kilometry
  5. Ceny

Zakres danych i sam projekt bazy głównie zależy od wymogów aplikacji.

0

Czyli tak jak na załączonym obrazku będzie ok? tak?

Myślałem, że może trzeba te nagłówki jakoś rozdzielić...

w takim razie nieźle się zamotałem...

To tylko przykładowa tabela.

Zwyczajnie chciałem wybierać np.: kilometry 55km , student 51% i powinno dać mi cenę 193,26 zł

0

W mojej opinii wrzucenie tego tak jak jest, nie jest najlepszym pomysłem. Porozbijałabym to na kilka tabel, pewnie wydzieliłabym dane słownikowe, jak limity kilometrów (kategoria biletu), rodzaj biletu (ulgowy, normalny, etc), typ biletu (miesięczny, ulgowy).

Główna tabela miałaby odwołania do tych tabel i ceny biletów.

Wyobraź sobie, że masz aplikację, w której użytkownik wybiera, że chce sobie kupić normalny bilet miesięczny z miasta A do miasta B.
Załóżmy, że aplikacja sama obliczy ilość km lub pobierze je z dodatkowych źródeł. Będzie mocno nieefektywne bieganie po tej tabeli i parsowanie tekstu "od XX do YY" w poszukiwaniu odpowiedniego przedziału.

Na pewno łatwiej będzie znaleźć ten przedział w tabeli:
CategoryID
MinKM MaxKM
1 0 5
2 6 10
3 11 15
Podobnie można zrobić słownik z rodzajami biletów
TypeID
Name
1 Normalny 100%
2 Szkolny 49%
3 Student 51%
W ten sposób aplikacja znajdzie odpowiednią ketegorię i rodzaj biletu, mając te informacje szybko przeszukasz tabelę z biletami:
TicketID
CategoryID TypeID Price
1 1 1 108,80
2 1 2 55,49

Możesz pokombinować, jest tu trochę możliwości :)

0

O, dzięki bardzo za sugestie.
W przypadku rozbicia tego na poszczególne tabele również byłoby łatwiej updatować jeśli np. jakaś ulga ulegnie zmianie itp.
I też sobie zacząłem wyobrażać gdyby ta tabela była bardzo obszerna.

Ogólnie to na te przedziały miałem popisane metody ale straszliwie to wyglądało. Miałem je zapisane w tablicy, w kodzie. Teraz sobie sprawdzam jakby to śmigało po bazie. I jeszcze chciałem by działało to po web. Tak by się czegoś nauczyć.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0