baza HOTELS cz.4 tabele kraje „countries” i miasta „cities” [SQL SERVER]

baza HOTELS cz.4 tabele kraje "countries" i miasta "cities" [SQL SERVER]

W czwartek części cyklu zajmiemy się dodaniem tabel: countries (kraje) i cities (miasta). W utworzonych już wcześniej tabelach mamy pola które muszą być kluczami obcymi właśnie do tych nowo utworzonych tabel. Nie będę tłumaczył jakie dane będziemy tam przechowywać bo nazwy tabel mówią same za siebie.

Zaczniemy od tabeli "countries". Będziemy potrzebowali takich pól jak:

  • unikalny identyfikator kraju – country_id
  • nazwa kraju – country_name
  • kod kraju – country_code

    
Tworzymy tabelę w Management Studio (SQL SERVER):
1. Przechodzimy do Object Explorer-a.
2. Rozwijamy (plusikiem) gałąź przy Databases, następnie przy HOTELS. Rozwiną nam się jeszcze dodatkowe gałęzie: Database diagram, Tables, Views itd. Nas będzie interesowała gałąź Tables.
3. Klikamy prawym przyciskiem myszy na gałęzi Tables i z podręcznego menu wybieramy opcję "New Table…".
4. Wypełniamy tabelę zgodnie z obrazkiem poniżej.

sql database hotels baza danych hotele tutorial sql server

5. W celu zapisu tabeli klikamy na ikonkę "dyskiskietki" i wprowadzamy nazwę tabeli "countries".

gotowe 🙂

Poniżej gotowy skrypt do uruchomienia w Management Studio do utworzenia powyższej tabeli.

    USE HOTELS
    GO

    CREATE TABLE countries(
         country_id int primary key not null
        ,country_name varchar(50) not null
        ,country_code varchar(2) not null
    )

Tabela "countries" jest nam potrzebna do połączenia z tabelami "hotels" i "clients". Dlaczego? Bo każdy hotel musi znajdować się w jakimś kraju i każdy klient gdzieś mieszka (w jakimś kraju), ale nie chcemy przy każdym z tych obiektów trzymać pełnej nazwy kraju tylko będziemy przechowywali wskaźnik na wartość w tabeli "countries".

Do dzieła. Tworzymy połączenie między "hotels" i "countries". W tabeli "hotels" znajduje się pole "hotel_country_id" które musi wskazywać na pole "country_id" w tabeli "countries".

    ALTER TABLE hotels
    ADD CONSTRAINT fk_hotels_countries FOREIGN KEY (hotel_country_id) REFERENCES countries(country_id)

Teraz zajmijmy się połączeniem tabel "clients" i "countries". W tabeli "clients" znajduje się pole "client_country_id" które musi wskazywać na pole "country_id" w tabeli "countries".

    ALTER TABLE clients
    ADD CONSTRAINT fk_clients_countries FOREIGN KEY (client_country_id) REFERENCES countries(country_id)

Teraz utworzymy tabelę "cities". Będziemy potrzebowali takich pól jak:

  • unikalny identyfikator miasta – city_id
  • nazwa miasta – city_name
  • kod pocztowy miasta – city_code

    
Tworzymy tabelę w Management Studio (SQL SERVER):
1. Przechodzimy do Object Explorer-a.
2. Rozwijamy (plusikiem) gałąź przy Databases, następnie przy HOTELS. Rozwiną nam się jeszcze dodatkowe gałęzie: Database diagram, Tables, Views itd. Nas będzie interesowała gałąź Tables.
3. Klikamy prawym przyciskiem myszy na gałęzi Tables i z podręcznego menu wybieramy opcję "New Table…".
4. Wypełniamy tabelę zgodnie z obrazkiem poniżej.

sql database hotels baza danych hotele tutorial sql server

5. W celu zapisu tabeli klikamy na ikonkę "dyskiskietki" i wprowadzamy nazwę tabeli "cities".

gotowe 🙂

Poniżej gotowy skrypt do uruchomienia w Management Studio do utworzenia powyższej tabeli.

    USE HOTELS
    GO

    CREATE TABLE cities(
         city_id int primary key not null
        ,city_name varchar(50) not null
        ,city_code varchar(20) not null
    )

Tabela "cities" jest nam także potrzebna do połączenia z tabelami "hotels" i "clients". Z takiego samego powodu jak tabela "countries", każdy hotel musi znajdować się w jakimś mieście i każdy klient musi mieszkać w jakimś mieście.

Zaczynamy. Tworzymy połączenie między "hotels" i "countries". W tabeli "hotels" znajduje się pole "hotel_city_id" które musi wskazywać na pole "city_id" w tabeli "cities".

    ALTER TABLE hotels
    ADD CONSTRAINT fk_hotels_cities FOREIGN KEY (hotel_city_id) REFERENCES cities(city_id)

Teraz zajmijmy się połączeniem tabel "clients" i "cities". W tabeli "clients" znajduje się pole "client_city_id" które musi wskazywać na pole "city_id" w tabeli "cities".

    ALTER TABLE clients
    ADD CONSTRAINT fk_clients_cities FOREIGN KEY (client_city_id) REFERENCES cities(city_id)

Po tych wszystkich działaniach nasz schemat wygląda jak poniżej.

sql database hotels baza danych hotele tutorial sql server


sql database hotels baza danych hotele tutorial sql server  sql database hotels baza danych hotele tutorial sql server