baza HOTELS cz.3 tabela klienci „clients” [SQL SERVER]

baza HOTELS cz.3 tabela klienci "clients"

W trzeciej części cyklu zajmiemy się tabelą klienci "clients",w której będziemy przechowywać dane osób, które złożyły rezerwacje ale także te które mieszkają w hotelu (bo zwróćmy uwagę, że nie każda osoba która przyjedzie do hotelu będzie osobą która złożyła rezerwację).

Do opisu klienta (osoby) na pewno będziemy potrzebowali takich pól jak:

  • unikalny identyfikator klienta – client_id
  • na pewno imię – client_first_name
  • no i nazwisko – client_last_name
  • będziemy chcieli znać takżę narodowość – client_country_id (FK)
    dane nt. państw będziemy przechowywać w osobnej tabeli
  • miasto – client_city_id (FK)
    dane nt. miast będziemy przechowywać w osobnej tabeli
  • adres – client_address
  • będziemy chcieli także przechowywać informację ile razy dany klient skorzystał z naszych usług – client_counter
    np. w celu specjalnych rabatów, zniżek
  • w hotelach zawsze podajemy jakiś dokument i jego numer – client_document_number
    tutaj także są dwie drogi: pierwsza łatwiejsza gdzie w tabeli klientów (clients) przechowujemy w polu tekstowym informację nt. typu dowodu tożsamości i jego numer i druga gdzie rozbijamy informację o dowodzie tożsamości na dwie części: pierwsza część to typu dokumentu tożsamości gdzie identyfikator przechowujemy w tabeli klienci (clients) a typ dokumentu przechowujemy w osobnej tabeli a druga część to numer i seria dowodu tożsamości. Informacje te przechowujemy w tabeli klientów (clients). My w naszym przykładzie skorzystamy z pierszej drogi, czyli będziemy przechowywać dane nt. typu, serii i numeru dokumetu tożsaości w jednym polu tekstowym w tabeli klienci (clients).

Analogicznie jak poprzednich częściach stworzymy tabelę clients w management studio.

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 "clients".

gotowe 🙂

lub korzystamy ze skryptu

USE HOTELS
GO

CREATE TABLE clients(
     client_id int primary key not null
    ,client_first_name varchar(20) not null
    ,client_last_name varchar(40) not null
    ,client_country_id int not null
    ,client_city_id int not null
    ,client_address varchar(50) not null
    ,client_counter int    not null
    ,client_document_number varchar(40) not null)

Naszą tabelę klienci (clients) łączymy z tabelą rezerwacje (reservations) polami: reservations.reservation_client_id i clients.client_id. Możemy to zrobić za pomoca skryptu.

USE HOTELS
GO

ALTER TABLE reservations
ADD CONSTRAINT fk_reservations_clients FOREIGN KEY (reservation_client_id) REFERENCES clients(client_id)

Aktualnie nasz schemat przybieże postać.

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 sql database hotels baza danych hotele tutorial sql server