13
Proiectarea şi implementarea unei baze de date relaţionale destinate gestiunii informatizate a datelor despre clienţii unui hotel Bazele de date relaţionale sunt un tip de baze de date în care datele, văzute ca şi atribute ale entităţilor reale, sunt socate în tabele şi sunt legate între ele prin relaţii. Acest mod de structurare a datelor, bazat pe legături între date, permite eliminarea redundanţei, astfel încât stocarea şi, mai ales, modificarea unei informaţii se face într-un singur loc; din punct de vedere funcţional, această structură permite regăsirea, filtrarea, ordonarea şi agregarea datelor într-un timp foarte scurt. În contextul hiper-concurenţei existente în industria ospitalităţii, performanţele unui hotel sunt condiţionate de modul în care managerul acestuia reuşeşte să integreze eficient noile tehnologii ale informaţiei şi comunicaţiilor în sistemul de Business Intelligence. Am considerat oportună proiectarea unei baze de date relaţionale pentru a evidenţia avantajele sale în managementul performant al unui hotel. Structura bazei de date este generată de interconectarea a patru tabele, pe care le-am denumit: „Turişti”, „Rezervări”, „Camere ocupate” şi Carduri de loialitate”. În cadrul tabelului „Turişti” (figura nr. 3), am definit cheia primară „cod turist”, iar celelalte câmpuri reflectă principalele informaţii referitoare la clienţii unui hotel

BDR hotel baza de date pasi

Embed Size (px)

DESCRIPTION

BDR hotel baza de date pasi

Citation preview

Page 1: BDR hotel baza de date pasi

Proiectarea şi implementarea unei baze de date relaţionale destinate gestiunii

informatizate a datelor despre clienţii unui hotel

Bazele de date relaţionale sunt un tip de baze de date în care datele, văzute ca şi

atribute ale entităţilor reale, sunt socate în tabele şi sunt legate între ele prin relaţii. Acest

mod de structurare a datelor, bazat pe legături între date, permite eliminarea redundanţei,

astfel încât stocarea şi, mai ales, modificarea unei informaţii se face într-un singur loc;

din punct de vedere funcţional, această structură permite regăsirea, filtrarea, ordonarea şi

agregarea datelor într-un timp foarte scurt.

În contextul hiper-concurenţei existente în industria ospitalităţii, performanţele

unui hotel sunt condiţionate de modul în care managerul acestuia reuşeşte să integreze

eficient noile tehnologii ale informaţiei şi comunicaţiilor în sistemul de Business

Intelligence.

Am considerat oportună proiectarea unei baze de date relaţionale pentru a

evidenţia avantajele sale în managementul performant al unui hotel. Structura bazei de

date este generată de interconectarea a patru tabele, pe care le-am denumit: „Turişti”,

„Rezervări”, „Camere ocupate” şi „Carduri de loialitate”.

În cadrul tabelului „Turişti” (figura nr. 3), am definit cheia primară „cod turist”,

iar celelalte câmpuri reflectă principalele informaţii referitoare la clienţii unui hotel

(nume, prenume, adresă, oraş, telefon, e-mail), care pot fi valorificate prin intermediul

unor campanii de marketing personalizate; de asemenea, am inclus un câmp „puncte de

loialitate”, care permite o ierarhizare a clienţilor în funcţie de rezervările lor trecute şi

evidenţiază aportul lor la profitul hotelului.

Page 2: BDR hotel baza de date pasi

Figura nr. 3 – Câmpurile alocate tabelului „Turişti” din structura bazei de date

relaţionale

Dezvoltarea relaţiilor cu clienţii reprezintă o strategie de succes a unui hotel, iar

cardurile de loialitate constituie instrumentele de fidelizare ale acestora; în acest sens, am

configurat în cadrul bazei de date relaţionale un tabel „Carduri de loialitate”, care

conţine codul fiecărui turist (cheie primară), tipul de card în funcţie de rezervările

anterioare (Silver, Gold şi Platinum”, beneficiile asociate deţinerii acestor carduri şi

perioada lor de valabilitate. (figura nr. 4)

Figura nr. 4 – Câmpurile alocate tabelului „Carduri de loialitate” din structura bazei de

date

Managerii hotelurilor se confruntă cu următoarea problemă: depozitarea şi

gestiunea unui volum mare de date, referitoare la disponibilitatea camerelor, tarifele pe

fiecare tip de cameră şi rezervările turiştilor. Programele de rezervare au fost dezvoltate

ca sisteme interne de control pentru performanţa hotelurilor, fiind utilizate de către

personalul lor de rezervare pentru a monitoriza disponibilitatea locurilor mai eficient.

Tabelul „Rezervări” are alocate următoarele câmpuri: cod rezervare – care

reprezintă cheia primară, numărul camerei, codul turistului, data rezervării, numărul de

zile de cazare şi modalitatea de rezervare. (figura nr. 5) Accesarea unui astfel de tabel

destinat rezervărilor de camere din baza de date relaţională permite reducerea timpului

Page 3: BDR hotel baza de date pasi

necesar agenţiilor de turism de a găsi informaţiile solicitate de clienţi, oferind acces

instantaneu la ofertele de preţuri practicate de hoteluri. Modalitatea de rezervare aleasă de

fiecare client (website-ul hotelului, website-uri specializate în rezervări on-line, agenţii de

turism, etc.) furnizează decidenţilor unui hotel informaţii despre preferinţele acestuia

legate de accesibilitatea ofertelor.

Figura nr. 5 – Câmpurile alocate tabelului „Rezervări” din structura bazei de date

În cadrul tabelului „Camere ocupate”, câmpul „număr cameră” este considerat

cheie primară, în timp ce inserarea codului alocat fiecărui turist va permite realizarea

legăturilor dintre tabele. De asemenea, am considerat necesară includerea următoarelor

câmpuri cu informaţii relevante pentru managementul bazei de date: categoria camerelor

(single, double, apartament, lux), tariful practicat de hotel în funcţie de categoria camerei,

precum şi data sosirii respectiv data plecării turiştilor (check-in – check out). (figura nr.

6

Page 4: BDR hotel baza de date pasi

Figura nr. 6 – Câmpurile alocate tabelului „Camere ocupate” din structura bazei de

date

Cheile primare setate în cele patru tabele care compun structura bazei de date (cod

turist, cod rezervare, număr cameră) permit realizarea legăturilor dintre tabele, în cadrul

opţiunii Relationships din meniul Tools al SGBD-ului Microsoft Access. (figura nr. 7)

Figura nr. 7 – Editarea legăturilor dintre tabelele bazei de date relaţionale

În momentul proiectării legăturilor dintre tabele, am optat pentru relaţii de tip

„one-to-many”, care sunt cele mai flexibile, deoarece apar atunci când o singură

înregistrare din primul tabel poate fi în relaţie cu o mai multe înregistrări dincel de-al

doilea tabel, dar o singură înregistrare din al doilea tabel este în relaţie numai cu o

singură înregistrare din primul tabel.

Realizarea legăturilor facilitează procesele de structurare a informaţiilor din mai

multe tabele ale bazei de date relaţionale. Spre exemplu, accesând tabelul „Camere

ocupate”, care a fost legat prin cheia primară „Număr cameră” de tabelul „rezervări”,

putem vizualiza pentru fiecare cameră a hotelului, codul rezervării, data rezercării,

numărul de zile de cazare precum şi modalitatea de rezervare, fără a fi necesară

proiectarea şi lansarea în execuţie a unei interogări SQL. (figura nr. 8)

Page 5: BDR hotel baza de date pasi

Figura nr. 8 – Afişarea informaţiilor din două tabele în urma realizării legăturilor dintre ele

Cele mai performante instrumente de gestiune a unei baze de date sunt

interogările, care, pe lângă regăsirea datelor în funcţie de criteriile stabilizate de

utilizator, efectuează şi operaţii complexe privind actualizarea şi administrarea bazei de

date.

Limbajul SQL permite o comunicare complexă şi rapidă a utilizatorului cu bazele

de date, în funcţie de cerinţele şi restricţiile acestuia, având în vedere atât aspectele de

definire, interogare, manipulare a datelor, procesare a tranzacţiilor, cât şi caracteristicile

complexe privind integritatea informaţiilor, cursoarele derulante sau joncţiunile externe.

Sistemul de gestiune a bazelor de date ACCESS acceptă utilizarea limbajului de

interogare SQL pentru realizarea interogărilor. Cu toate că existenţa tehnicii grafice QBE

(Query by Example) permite proiectarea facilă a unor interogari în care informaţia

definită pe grila QBE este automat transformată într-o instrucţiune SQL, vom proiecta şi

lansa în execuţie în cadrul bazei de date relaţionale cinci exemple de interogări complexe

utilizând instrucţiuni SQL, care prezintă avantajul major că pot fi utilizate indiferent de

SGBD-ul utilizat.

Prima interogare realizată în cadrul bazei de date a hotelului evidenţiază turiştii

care au rezervat camere prin intermediul website-ul hotelului. Câmpurile care fac obiectul

interogării sunt reprezentate de cod turist, nume şi prenume client din tabelul Turişti şi

modalitate rezervare din tabelul Rezervări. Această interogare compusă a impus inserarea

clauzei INNER JOIN pentru a releva legătura dintre cele două tabele după cheia primară

Page 6: BDR hotel baza de date pasi

cod turist. Pentru a scrie interogarea SQL, este necesar ca din meniul View utilizatorul să

opteze pentru modul de vizualizare SQL View. În fereastra care apare se vor tasta

instrucţiunile SQL specifice, respectând sintaxa corespunzătoare; interogarea SQL

Access creată se poate lansa în execuţie în două moduri: prin utilizarea butonului din bara

Query Design sau prin opţiunea Run, din meniul Query. Sintaxa instrucţiunii SQL este

prezentată în figura 9.a, în timp ce rezultatul interogării poate fi vizualizat în figura 9.b.

Figura nr. 9.a – Interogare privind numele turiştilor care au rezervat camere pe website-ul hotelului

Figura nr. 9.b – Rezultatul interogării privind numele turiştilor care au rezervat camere pe website-ul hotelului

A doua interogare pe care am realizat-o în cadrul bazei de date relaţionale se

referă la determinarea veniturilor încasate de hotel pe fiecare cameră ocupată prin

înmulţirea valorilor din câmpurile tarif şi număr zile cazare din tabelele camere ocupate

respectiv rezervări. Clauza INNER JOIN a fost aplicată pentru a pune evidenţa legăturii

dintre cele două tabele, pe baza cheii primare număr cameră. Sintaxa instrucţiunii SQL

specifice acestei interogări este relevată în figura 10.a, în timp ce rezultatul interogării

poate fi vizualizat în figura 10.b.

Page 7: BDR hotel baza de date pasi

Figura nr. 10.a – Interogare destinată determinării veniturilor încasate de hotel

Figura nr. 10.b – Rezultatul interogării privind determinarea veniturilor încasate de hotel

A treia interogare are ca obiectiv evidenţierea clienţilor care au primit carduri de

loialitate de tip GOLD din partea departamentului de relaţii cu clienţii al hotelului.

Întrucât între tabelele turişti şi carduri de loialitate nu există o legătură directă prin

intermediul unei chei primare, această interogare a necesitat transformarea tabelului

rezervări într-un pivot, fiind legat atât de tabelul turişti cât şi de tabelul carduri de

loialitate prin cheia primară cod turist. Sintaxa instrucţiunii SQL este prezentată în figura

11.a, în timp ce rezultatul interogării poate fi vizualizat în figura 11.b.

Figura nr. 11.a – Interogare destinată evidenţierii clienţilor hotelului care au primit carduri de loialitate de tip GOLD

Page 8: BDR hotel baza de date pasi

Figura nr. 11.b – Rezultatul Interogării destinate evidenţierii clienţilor hotelului care au primit carduri de loialitate de tip GOLD

Bazele de date sunt metodele preferate de stocare a informaţiilor în cazul folosirii

multi-utilizator pe scară largă a resurselor, iar actualizarea informaţiilor reprezintă un

factor esenţial. A patra interogare va avea ca efect actualizarea informaţiilor din tabelul

turişti, cu ajutorul comenzii SQL UPDATE. Presupunem că unul dintre clienţii hotelului

a realizat rezervări în ultima perioadă de timp, fapt care a generat creşterea numărului

punctelor de loialitate la valoarea 300. Pentru a realiza această actualizare, vom utiliza

instrucţiunea SET care va aloca valoarea noului punctaj câmpului puncte loialitate,

ţinând cont de codul clientului. Sintaxa instrucţiunii SQL este prezentată în figura 12.a, în

timp ce rezultatul interogării poate fi vizualizat în figura 12.b.

Figura nr. 12.a –Interogare privind actualizarea punctelor de loialitate acumulate de un client al hotelului

Figura nr. 12.b – Rezultatul interogării privind actualizarea punctelor de loialitate acumulate de un client al hotelului (cod turist —127)

Ultima interogare aplicată bazei de date relaţionale urmăreşte includerea unui

câmp suplimentar în tabelul rezervări, pe care-l vom denumi confirmare rezervare; în

acest scop, vom utiliza clauza SQL ALTER TABLE şi instrucţiunea ADD. Sintaxa

Page 9: BDR hotel baza de date pasi

instrucţiunii SQL este prezentată în figura 13.a, în timp ce rezultatul interogării poate fi

vizualizat în figura 13.b.

Figura nr. 13.a –Interogare destinată inserării câmpului confirmare rezervare în tabelul Rezervări

Figura nr. 13.b –Rezultatul interogării destinate inserării câmpului confirmare rezervare în tabelul Rezervări