Kilka tabel w bazie -jak to zrobić?

Witam zaczynam naukę RoR.
Chciałbym stworzyć bazę danych klientów. Baza składałaby się z 4 tabel.
1.Klient

  • nazwa
  • email
  • telefon
  • NIP
  1. Adres
  • nr domu
  • ulica/miejscowosc
  • kod pocztowy
  • miejscowosc
  1. Usluga nr1
  • login
  • haslo
  • adres
  • data_rozpoczecia
  • data_zakończenia
    4 Usługa nr2
  • login
  • haslo
  • adres
  • data_rozpoczecia
  • data_zakończenia

Proszę o radę w jaki sposób to zrobić. Wiem w jaki sposób zrobić jedną tabele np Klient stworzyłem za pomocą

ruby script/generate scanffold klient \ nazwa:string email:string telefon:string nip:string

Po uruchomieniu migracji stworzylo tabele klient w bazie. Proszę o poradę jak stworzyć resztę tabel. Czy należy tworzyć modele czy może zmodyfikować ten który jest. Jak będzie najlepiej?

na te usługi napewno chcesz tworzyć osobne tabele ? bo widze że kolumny są identyczne . Inne tabele tworzysz podobnie jak wyżej, jesli nie chcesz widoków i kontrolerów to daj script/generate model zamiast scaffold, wtedy zrobi model, migracje i testy, ale podejrzewam ze wiekszosc plików sie przyda wiec lepiej scaffold i pokasować zbędne.

Proponujesz zrobienie jednej tabeli Uslugi w której znalazła by się komórka pt “nr” ? Nie mam doświadczenia w tworzeniu bazy danych ale wygląda na to że będzie to dużo lepsza opcja. Dziękuję

Zabieram się za tworzenie modeli.
Wiesz może w jaki sposób wykorzystać istniejącą tabele Klient i połączyć ją z resztą tabel za pomocą id?

to są dosyć podstawowe pytania, musisz na początek przeczytać przynajmniej to http://apohllo.pl/guides/index.html

Niech ktoś podrzuci koledze linkiem do jakiegoś dobrego wprowadzenia baz danych, bo to tutaj trzeba zacząć. Potem przewodniki.

Przeczytaj moje materiały dotyczące baz danych, bo bez takiej podstawowej wiedzy nie ma co się zabierać za railsy (w menu po prawej możesz przeglądać poszczególne zagadnienia).

Dziękuję za linki
Zrobiłem tak

ruby script/generate scaffold Adresy ulica:string nr_budynku:string kod_pocztowy:string miejscowosc:string klient:references

Po uruchomieniu migracji w bazie została stworzona tabela adresies

klient:references

Stworzył klient_id w tabeli adresies.
teraz gdy odwiedzam
http://strona/adresies/
mam pustą listę adresów niestety jak chcę dodać nowy występuje błąd.

Czy istnieją w RoR polecenia które załatwiają sprawy łączenia tabel? Czy należy przygotowywać najpierw bazę tabele połączyć tabele. Czy mógłby ktoś na przykładzie tych dwóch tabel pokazać jak to zrobić?

Po pierwsze odrób pracę domową i poczytaj przewodniki, które były linkowane w postach wyżej. Tam naprawdę są informacje niezbędne, a oszczędzisz nam odpowiadania po raz milionowy na te same pytania.

Po drugie - dla swojego dobra nazywaj modele i pola po angielsku. Czy nie lepiej wygląda address - addresses niż polskawe adresies?

Przykład:

[code=ruby]class Customer < ActiveRecord::Base
has_one :address
end

class Address < ActiveRecord::Base
belongs_to :customer
end[/code]
w tabeli addresses powinna istnieć kolumna customer_id typu integer.

użycie, np.:

Customer.first.address

Po trzecie: Jeżeli do klienta ma być przypisanu jeden adres to nie ma sensu tworzenia osobnej tabeli. Jeśli ma być przypisanych wiele to zamiast has_one piszemy:

has_many :addresses

i używamy, np.:

Customer.first.addresses

(zwróci to tablicę zawierającą adresy przypisane do konkretnego klienta)

Powodzenia! I przeczytaj koniecznie:

  • podstawy baz danych linkowane przez apohllo
  • przewodniki do Railsów - linki na tym forum -> google -> rails guides (po polsku też są, znajdziesz na stronie domowej apohlla)

Ok dzięki za odpowiedź.