Postgresql, pierwsza baza danych

Ogólne pytania dotyczące systemu
steb0

Postgresql, pierwsza baza danych

Post autor: steb0 »

Witam.
Do tej pory nie miałem żadnej styczności z bazami danych, do katalogowania ebooków używałem programu gcstar, jednak kolekcja jest już na tyle pokaźna, że obsługa tym narzędziem staje się coraz bardziej problematyczna. Postanowiłem stworzyć bazę w sql a dokładnie postgresql. I tu dochodzę do sedna, docelowo chcę napisać małą aplikacje do przeszukiwania i wyświetlania rekordów przez www, czy muszę to już uwzględnić na etapie projektowania, czy jaka by nie była struktura bazy nie będzie problemów z przeglądaniem jej przez www?

Szukałem jakiejś przykładowej bazy książek na której mógłbym się wzorować i nie znalazłem na chwilę obecną mam takie założenia:

Tabela książki
  • id
  • tytuł
  • autor(zy)
  • tłumacz
  • język
  • streszczenie (opis)
  • okładka (obraz)
  • cykl
  • seria
  • język
  • tagi (np. informatyka, beletrystyka itp.)
  • wydawca
  • strony
  • ścieżka do pliku
  • format(y) plików (np. txt, pdf, tex)
  • rok wydania
  • ISBN
  • edycja
Tabela autor
  • id
  • imię
  • nazwisko
  • zdjęcie
Tabela wydawca
  • id
  • wydawca
Tabela czasopisma
  • id
  • nr wydania
  • temat numeru
  • okładka
  • nazwa
  • wydawca
  • rok
  • tagi
Tabela artykuły
  • id
  • tytuł
  • autor
  • źródło
  • tłumacz
  • tagi
Wydaje mi się, że chyba przewidziałem wszystko co może być potrzebne przy wyszukiwaniu pozycji, chciałbym aby się wypowiedział ktoś obeznany z tą materią i coś doradził.

PS. Nie chciałbym żeby dyskusja zeszła na temat czemu postgresql a nie na przykład mysql czy inna baza.
Awatar użytkownika
Unit
Beginner
Posty: 356
Rejestracja: 27 marca 2007, 09:39

Post autor: Unit »

Zaprojektuj sobie tą bazę w dbdesigner, potem możesz wygenerować sobie kod do bazy.
Wydaje mi się, że tagi powinieneś mieć jako oddzielną tabelę w powiązaniu wiele-do-wielu z tabelą książki, podobnie pomiędzy książki, a autorzy powiązanie wiele-do-wielu.
W czym masz zamiar pisać ten interfejs www? Ponieważ niektóre frameworki np.: rails, symfony mają swoje restrykcje co do nazewnictwa tabel, ale z drugiej strony mają gotowe akcje CRUD.
ODPOWIEDZ