Báo cáo thực tập tốt nghiệp
LỜI CẢM ƠN
Để hoàn thành báo cáo này, em xin chân thành cảm ơn thầy giáo hướng
dẫn, Phạm Minh Hoàn đã hướng dẫn em trong thời gian thực hiện báo cáo
này. Em cũng xin gửi lời cảm ơn tới các thầy, cô trong Bộ môn công nghệ
thông tin – Trường Đại học Kinh tế Quốc dân.
Do hạn chế về thời gian và còn thiếu kinh nghiệm thực tế trong lĩnh vực
lập trình nên bài viết không tránh khỏi những thiếu sót. Em rất mong nhận
được những ý kiến đóng góp quý báu của thầy thầy giáo và các bạn quan tâm.
Trần Thị Hồng Nga 1 Quản lý khách sạn
Báo cáo thực tập tốt nghiệp
Phần I:
GIỚI THIỆU SƠ BỘ
Trần Thị Hồng Nga 2 Quản lý khách sạn
Báo cáo thực tập tốt nghiệp
LÝ DO CHỌN ĐỀ TÀI
Chúng ta có thể khẳng định rằng các ngành kinh tế dịch vụ (du lịch,
khách sạn…) đang thực sự tìm được chỗ đứng của mình trong xã hội ngày
nay, và có dự đoán rằng vị trí của nó còn ở mức độ cao hơn khi thế giới ngày
càng phát triển cùng với mức sống ngày càng cao hơn. Chính mức sống của
người dân ngày càng cao hơn sẽ thúc đẩy các ngành dịch vụ phát triển. Khi
đó, người dân sẽ có cơ hội để hưởng thụ thành quả lao động của mình một
cách chính đáng và yêu cầu về mức độ của hệ thống phục vụ của dịch vụ sẽ ở
mức cao hơn. Điều đó sẽ đòi hỏi các nhà hoạt động kinh doanh phải tìm cho
mình một cách thức nào đó nhằm thảo mãn nhu cầu mới của khách hàng hay
phải tìm một phương thức hoạt động mới nhằm đáp ứng được với yêu cầu của
thực tế. Trong thế giới công nghệ thông tin ngày càng phát triển như hiện nay
và chúng ta chưa có một dự đoán nào chứng tỏ rằng nó sẽ dừng lại ở một mốc
nào đó mà chúng ta chỉ có thể không phủ nhận được vai trò của nó trong cuộc
sống nói chung. Do vậy, một trong những cách đáp ứng nhanh nhất và hiệu
quả nhất hiện nay mà chủ doanh nghiệp có thể lựa chọn là áp dụng công nghệ
thông tin vào hoạt động kinh doanh của mình.
ở Việt Nam hiện nay, các ngành kinh tế dịch vụ đang phát triển mạnh mẽ
trong những năm gần đây và xu hướng có thể phát triển ở một mức độ cao
hơn trong tương lai khi mà mức sống của người dân ngày càng được nâng
cao. Trong những ngành kinh tế dịch vụ phát triển mạnh của Việt Nam hiện
nay có thể nói đến hệ thống khách sạn, nhà hàng nhằm đáp ứng nhu cầu
hưởng thụ của người dân. Có thể nói hệ thống khách sạn là một nhân tố quan
trọng trong việc hình thành sự giao thoa giữa các nền văn hoá khác nhau ở
trong và ngoài nước và trên thế giới. Chính tầm quan trọng như vậy nên các
nhà hoạch định chiến lược kinh doanh của nước ta cũng đã thấy được vai trò
Trần Thị Hồng Nga 3 Quản lý khách sạn
Báo cáo thực tập tốt nghiệp
của việc ứng dụng các thành tựu của khoa học kỹ thuật vào hoạt động của
mình, trong đó phải kể đến công nghệ thông tin.
Hệ thống quản lý trong nhiều khách sạn hiện nay của Việt Nam vẫn còn
trong thời kỳ phôi thai, tức là người quản lý thiếu kinh nghiệm, hệ thống quản
lý còn chịu nhiều ảnh hưởng của “tư tưởng nông dân” nên dẫn đến hoạt động
thiếu hiệu quả. Công nghệ thông tin sẽ là công cụ đắc lực giúp họ có khả năng
thực hiện được công tác quản lý của mình cả trong khi còn thiếu kinh
nghiệmvà với những người đã có kinh nghiệm quản lý thì yêu cầu đó càng
cần thiết và trở nên cấp bách hơn bởi quy mô của công việc. Nhận thức được
vấn đề đó nên em đã mạnh dạn chọn cho mình công việc phân tích và thiết kế
hệ thống quản lý khách sạn nhằm đáp ứng một phần nào đó cho nhu cầu cần
thiết trong việc đổi mới và cải tiến hệ thống khách sạn hiện nay ở Việt Nam.
Trần Thị Hồng Nga 4 Quản lý khách sạn
Báo cáo thực tập tốt nghiệp
GIỚI THIỆU ĐỀ TÀI
Mục đích của chương trình: Hệ thống hoá việc trao đổi thông tin giữa
khách hàng và ban quản lý khách hàng nhằm khép kín hoá việc quản lý thuê,
cho thuê, khách hàng và thanh toán sau khi trả phòng.
Đối tượng và phạm vi nghiên cứu: Mang tổng quát cho mô hình khách
sạn nói chung, vì hầu hết hệ thống quản lý khách sạn không khác nhau về bản
chất mà chỉ khách nhau về quy mô rộng hay hẹp và không lấy cụ thể một
khách sạn nào làm đối tượng để nghiên cứu.
Phương pháp nghiên cứu: Phương pháp nghiên cứu là kết hợp giữa lý
thuyết (Phân tích và thiết kế hệ thống thông tin và tổ chức hệ cơ sở dữ liệu P)
với ứng dụng (khảo sát hệ thống thông tin quản lý khách sạn tại địa bàn Hà
Nội k).
Trần Thị Hồng Nga 5 Quản lý khách sạn
Báo cáo thực tập tốt nghiệp
Phần II:
Phân tích thiết kế hệ
thống thông tin cho
khách sạn
Trần Thị Hồng Nga 6 Quản lý khách sạn
Báo cáo thực tập tốt nghiệp
I. CƠ SỞ LÝ THUYẾT
I.1 Hệ thống thông tin quản lý (Management Information System – MIS)
I.1.1 Phương pháp phân tích hệ thống có cấu trúc
Việc sử dụng các hệ thống máy tính hữu hiệu hơn, giá bảo trì hệ thống
cao hơn, còn việc tăng giá phần mềm thì hiện giờ là tăng so với việc giảm giá
liên tục của phần cứng đã thúc đẩy việc tìm kiếm các phương pháp tốt hơn
cho việc phát triển hệ thống. Ta đặc biệt quan tâm đến một phương pháp gọi
là phân tích hệ thống có cấu trúc.
Phương pháp phân tích hệ thống có cấu trúc bắt nguồn vững chắc từ
cách tiếp cận hệ thống. Gồm có:
* Các sơ đồ chức năng kinh doanh ( Bussiness Function Diagrams –
BFD)
* Sơ đồ dòng dữ liệu ( Data Flow Diagram – DFD)
* Các mô hình dữ liệu ( Data Models – DM)
* Ngôn ngữ có cấu trúc ( Structured Language – SL)
Công cụ mô hình được nhiều người biết đến nhất là sơ đồ dòng dữ liệu
( DFD ). DFD nêu ra một mô hình về hệ thống có quan điểm cân xứng cho cả
dữ liệu và quá trình. Nó chỉ ra cách thông tin chuyển vận từ một quá trình
hoặc chức năng này trong hệ thống sang một quá trình hoặc chức năng khác.
Điều quan trọng nhất mà nó chỉ ra phải có sẵn những thông tin nào cần phải
có trước khi cho thực hiện một hàm hay một quá trình. Điều này quan tâm
nhiều hơn đến việc định danh các yêu cầu dữ liệu, xếp các DFD vào một phần
của quá trình phân tích chứ không phải là quá trình điều tra, phân biệt sự khác
nhau cơ bản giữa DFD với lưu đồ khối so tính truyền thống hơn và vốn chỉ
tiêu được các dãy thủ tục và dòng điều khiển của quá trình.
Trần Thị Hồng Nga 7 Quản lý khách sạn
Báo cáo thực tập tốt nghiệp
Ngoài ra, DFD cũng có nhược điểm là không cho được một sự phân tích
đầy đủ về hệ thống. Ví dụ như DFD không chỉ ra được yếu tố thời gian (như
việc thông tin chuyển từ quá trình này sang quá trình khác mất bao nhiêu thời
gian n), DFD cũng không xác định được trật tự thực hiện các chức năng (mặc
dù trật tự này hiển nhiên thường bị phụ thuộc vào việc chức năng này phải
dựa trên sản phẩm của các chức năng khác m), DFD cũng không chỉ ra được
yếu tố định lượng đối với dữ liệu có liên quan như khối lượng, xu hướng,
lượng tối đa và tối thiểu, những thông tin và thành phần cơ bản trong quá
trình phân tích.
Vì những lý do trên nên DFD có những giới hạn nhất định, cần bổ sung
thêm các phần còn thiếu bằng những ký thuật khác. Tuy nhiên, dù là phương
pháp nào đi chăng nữa thì điều chủ yếu vẫn phải mô hình hoá được những gì
mà trong thực tế cũng như máy móc sẽ thực hiện bằng phương pháp logic, dễ
hiểu và có trình tự.
I.1.2 Ký pháp
Từng kiểu ký hiệu trong mô hình (bản phân tích) sẽ được mô tả như sau:
1. Quá trình (hay còn gọi là chức năng – FUNCTION)
Trong sơ đồ hình vuông tròn mép được dùng để chỉ ra một chức năng
của một quá trình (chỉ là quy ước), lý do chọn hình vuông tròn mép là để gõ
văn bản trong các hộp rõ nét, nó giúp làm sơ đồ đơn giản rõ ràng và thân thiện
với người dùng.
Trần Thị Hồng Nga 8 Quản lý khách sạn
Báo cáo thực tập tốt nghiệp
Chức năng quan trọng được mô tả trong DFD là biến đổi thông tin. Tức
là nó bổ sung thông tin hay tạo ra thông tin mới.
Các quá trình biến đổi thông tin sẽ được đánh dấu để phân mức hoặc
thuận tiện cho việc theo dõi được ký hiệu bởi một hình vuông tròn mép trong
đó được phân thành hai phần. Phần trên sẽ hiển thị số thứ tự của quá trình
(nếu có) và tên đặc trưng của quá trình, phần dưới sẽ mô tả nội dung tóm tắt
của quá trình.
Trần Thị Hồng Nga 9 Quản lý khách sạn
Nhận
báo cáo
Kiểm
tra
báo cáo
Nộp
báo cáo
Chức năng hoặc quá trình DFD
1.1 XLBC
Báo cáo sau khi
nhận được xử
lý
Báo cáo thực tập tốt nghiệp
2. Dòng dữ liệu (FLOW)
Dòng dữ liệu là việc chuyển thông tin vào hoặc ra khỏi một quá trình, nó
được chỉ ra trên sơ đồ bằng một đường kẻ có mũi tên ở ít nhất một đầu, mũi
tên chỉ ra hướng của dòng thông tin.
Mỗi dòng dữ liệu đều có tên gắn với nó. Tên này không nhất thiết phải là
duy nhất, nghĩa là cùng thông tin có thể đi vào một quá trình, nhưng những
dòng thông tin khác nhau đều phải mang tên khác nhau. Nhưng thông tin nào
có sửa đổi thì đều được mang tên đã được sửa để biểu thị điều đó.
3. Kho dữ liệu
Các kho lưu trữ dữ liệu trong một DFD biểu diễn thông tin được chứa
trong thời gian để cho một quá trình hoặc một tác nhân truy nhập vào. Hiểu
dưới dạng vật lý chung có thể là tệp các tài liệu được cất giữ trong văn phòng
Trần Thị Hồng Nga 10 Quản lý khách sạn
Làm hợp lệ báo cáo Thông tin kiểm tra
Thông tin báo cáo
Làm hợp
lệ báo
cáo
Báo cáo đã hợp lệ
Ví dụ về dòng dữ liệu
Báo cáo thực tập tốt nghiệp
hoặc các tệp máy tính được lưu trữ trên đĩa, nhưng các phương tiện vật lý
không phải là điều mà chúng ta cần quan tâm, điều quan tâm hơn cả là thông
tin chứa trong đó.
Dữ liệu ở mức phân tích được biểu diễn như một hình chữ nhật thiếu một
cạnh trong đó sẽ ghi tên của tệp tài liệu được lưu.
Dữ liệu ở mức thiết kế sẽ được mô tả như một hình lăng trụ cùng với tên
tương ứng được gắn cho nó.
Đối với dữ liệu được biểu diễn nhiều hơn một lần trong bản phân tích
này sẽ được đánh dấu bằng một gạch bằng ứng với mỗi lần xuất hiện.
Trần Thị Hồng Nga 11 Quản lý khách sạn
Danh mục các chỉ tiêu
Database
Ví dụ về kho dữ liệu xuất hiện một lần trong mô hình
Danh mục các chỉ tiêu
Báo cáo thực tập tốt nghiệp
Khi kho dữ liệu được truy nhập hoặc cập nhật thì sẽ có dònh dữ liệu chỉ
ra sự kiện này. Tuy nhiên một lần nữa nhắc lại là việc ghi lại sự chuyển
“thông tin” chứ không phải sự chuyển động vật lý của tài liệu.
4. Tác nhân ngoài (EXTERNAL)
Tác nhân ngoài là một người, một nhóm người hoặc một tổ chức bên
ngoài lĩnh vực nghiên cứu của hệ thống nhưng tác động bằng những hình thức
khác nhau vào hệ thống. Sự có mặt của nhân tố này trên sơ đồ chỉ ra giới hạn
của hệ thống với thế giới bên ngoài.
Nhân tố bên ngoài là phần sống của hệ thống. Chúng là nguồn cung cấp
thông tin cho hệ thống của chúng ta và là nơi nhận các sản phẩm của hệ
thống. Ký hiệu được dùng để biểu thị tác nhân bên ngoài được vẽ như sau:
Nếu có nhiều hơn một lần các tác nhân bên ngoài xuất hiện trong sơ đồ
thì hình elip biểu diễn tác nhân ngoài sẽ được thêm số gạch tương ứng với số
lần xuất hiện.
Trần Thị Hồng Nga 12 Quản lý khách sạn
Đơn vị báo cáo
Đơn vị báo cáo
Báo cáo thực tập tốt nghiệp
5. Tác nhân trong (INTERNAL)
Tác nhân trong là một chức năng hoặc quá trình bên trong hệ thống,
được mô tả ở trạng thái của mô hình. Một mô hình DFD đều có thể bao gồm
một số trạng thái, và thông tin được truyền giữa các quá trình trên các trên các
trạng thái khác nhau được chỉ ra nhờ ký hiệu này. Các tác nhân trong đều có
thể xuất hiện nhiều lần trong cùng một sơ đồ, điều đó làm cho sơ đồ dễ đọc,
dễ hiểu hơn.
I.2 Khái niệm về cơ sở dữ liệu
I.2.1 Khái niệm
Khái niệm chung nhất về cơ sở dữ liệu là một hệ thống dữ liệu được lưu
trữ trong máy tính theo một quy định nào đó được gọi là được gọi là cấu trúc
của hệ thống, hệ thống này bao gồm thông tin về các thuộc tính khác nhau của
một hay một số đối tượng và một phần quan trọng trong việc quản lý hệ thống
là việc xây dựng và xử lý mối quan hệ giữa thông tin này để được các kết quả
theo yêu cầu.
Vấn đề cơ bản nhất của biểu diễn CSDL vật lý là lưu trữ các tệp dữ liệu
(file), bao gồm các bản ghi (record), mỗi bản ghi là sự liên kết các thuộc tính
mà mỗi thuộc tính đó là một trường (field).
Có ba loại mô hình dữ liệu cơ bản:
* Mô hình phân cấp: Mô hình dữ liệu cây
* Mô hình mạng: Biểu diễn là một đồ thị có hướng
* Mô hình quan hệ: Dựa trên lý thuyết tập hợp các quan hệ, thường mô
tả bằng bảng
Trần Thị Hồng Nga 13 Quản lý khách sạn
Báo cáo thực tập tốt nghiệp
Phần chương trình có thể xử lý, thay đổi dữ liệu này gọi là hệ quản trị cơ
sở dữ liệu. Hệ quản trị cơ sở dữ liệu có nhiệm vụ rất quan trọng như một bộ
diễn dịch với ngôn ngữ bậc cao nhằm giúp người sử dụng được hệ thống mà ít
nhiều không cần quan tâm đến thậut toán chi tiết hoặc biểu diễn dữ liệu trong
máy.
I.2.2 Cơ sở lý thuyết mô hình dữ liệu quan hệ
1) Khái niệm và định nghĩa
a) Quan hệ:
Một dãy tập hợp D1, … D
n
(không nhất thiết phải khác biệt nhau), R là
một quan hệ trên n tập ấy nếu nó là một tập các n -bộ được sắp xếp (d
1
, … d
n
)
sao cho d
1
thuộc D1,
d
2
thuộc D2, … d
n
thuộc D
n
. Các tập D1, …, D
n
là các
miền (domain) của R, giá trị n là bậc của R.
Thường người ta có thói quen biểu diễn một quan hệ bằng một bảng. Bậc
của nó là số cột, lực lượng của nó là số hàng. Các cột của bảng gọi là các
thuộc tính, các hàng gọi là số bộ.
b) Phân loại các quan hệ
Xét R là một quan hệ và E là một thực thể cấu thành của R, mỗi cặp
(E,R) được biểu thị trên sơ đồ khái niệm dữ liệu bằng một đoạn thẳng. Với
một biểu diễn cụ thể của E, ta có thể định nghĩa được:
* X là tối thiểu các biểu hiện tương ứng với E mà R phải có trong thực
tế. Giá trị của X như vậy chỉ có thể bằng 0 hoặc bằng 1.
* Y là tối đa các biểu hiện tương ứng với E mà R có thể có trong thực tế.
Giá trị của Y có thể bằng 1 hay một số nguyên N lớn hơn 1.
Cặp số (X,Y) được định nghĩa là bản số (cardinality) của đoạn thẳng
(E,R) và có thể lấy giá trị sau: (0,1), (1,1), (0,n) hay (1,n) với n > 1.
Trần Thị Hồng Nga 14 Quản lý khách sạn
Báo cáo thực tập tốt nghiệp
Trong trường hợp đặc biệt giữa hai môi quan hệ thực thể A và B được
liên kết bởi một quan hệ nhị nguyên R, ta có thể phân thành ba loại quan hệ
căn bản như sau:
- Quan hệ 1-1 (một – một): Mỗi biểu hiện của thực thể A được kết hợp
với 0 hay một biểu hiện của B và ngược lại.
- Quan hệ 1-n (một – nhiều): Mỗi biểu hiện của thực thể A được kết hợp
0,1, hay nhiều biểu hiện của B và mỗi biểu hiện của B được kết hợp với duy
nhất của A, đây là quan hệ thông dụng và đơn giản, dễ hiểu nhất.
- Quan hệ n -n (nhiều – nhiều): Mỗi biểu hiện của thực thể A được kết
hợp 0, 1 hay nhiều biểu hiện của B và ngược lại.
c) Phụ thuộc hàm
Giả sử X và Y là hai thuộc tính hay nhóm thuộc tính. Ta nói rằng X -> Y
(đọc là X xác định hàm Y hoặc Y phụ thuộc vào X) nếu với mỗi giá trị của X
tương ứng với một giá trị duy nhất của Y. Hay nói cách khác, nếu hiện hữu
một hàm số (ánh xạ) từ tập hợp những giá trị của X đến tập hợp những giá trị
của Y. Đôi khi người ta còn gọi X là gốc và Y là ngọn của hàm phụ thuộc.
Mọi thuộc tính của một thực thể đều phụ thuộc hàm vào khoá chính của
nó.
Khi X là một thuộc tính hay nhóm thuộc tính của thực thể A và X là
khoá chính của một thực thể B ? A, ta gọi X là một khoá ngoại của thực thể
A.
2) Các dạng chuẩn hoá quan hệ
Quan hệ được chuẩn hoá là quan hệ trong đó mỗi miền của một thuộc
tính chỉ chứa những giá trị nguyên tố, tức là không phân nhỏ được nữa và do
đó mỗi giá trị trong quan hệ cũng là nguyên tố. Một quan hệ được chuẩn hoá
Trần Thị Hồng Nga 15 Quản lý khách sạn
Báo cáo thực tập tốt nghiệp
có thể thành một hoặc nhiều quan hệ chuẩn hoá khác mà không làm mất mát
thông tin.
- Dạng 1NF ( First Normal Form): Một lược đồ quan hệ R được gọi là
dạng chuẩn 1 (1NF) nếu và chỉ nếu toàn bộ các miền có mặt trong R đều chỉ
chứa các giá trị nguyên tố.
- Dạng 2NF (Second Normal Form): Một lược đồ quan hệ R ở dạng
chuẩn thứ hai (2NF) nếu nó ở dạng chuẩn thứ nhất và nếu mỗi thuộc tính
không khoá của R là phụ thuộc hàm đầy đủ vào khoá chính.
- Dạng 3NF (Third Normal Form): Cho một lược đồ quan hệ R (U), X là
một tập con các thuộc tính, A là một thuộc tính độc lập thuộc U, A được gọi
là phụ thuộc bắc cầu vào X trên R nếu tồn tại một tập con của R sao cho X ->
Y, Y -> A nhưng Y không -> X (và không xác định hàm) với A không thuộc
XY.
Với định nghĩa trên, ta nói rằng một lược đồ quan hệ R ở dạng chuẩn 3
(3NF) nếu nó ở dạng chuẩn thứ hai và nếu mỗi thuộc tính không khoá của R
là không phụ thuộc bắc cầu vào khoá chính.
- Dạng chuẩn BOYE – CODD (BCNF): Lược đồ quan hệ R với tập các
phụ thuộc hàm được gọi là dạng chuẩn Boye – Codd, nếu X -> A thoả trên R,
A không thuộc X thì X là một khoá của R
Vậy nếu một lược đồ quan hệ R với tập phụ thuộc hàm F là ở BCNF thì
nó ở 3NF.
Kết luận: Các dạng chuẩn được đề ra với mục đích để đảm bảo tính
nhất quán và tránh việc trùng lặp thông tin.
Trần Thị Hồng Nga 16 Quản lý khách sạn
Báo cáo thực tập tốt nghiệp
I.2.3 Ngôn ngữ con dữ liệu
Ngôn ngữ con dữ liệu là tập các toán tử và hàm có khả năng thao tác lưu
trữ, cập nhật, tìm kiếm thông tin trên các cơ sở dữ liệu. Đặc điểm cơ bản của
cấu trúc CSDL quan hệ là mối liên kết giữa các bộ được biểu hiện duy nhất
bởi các giá trị dữ liệu trong các miền thuộc tính, rút ra từ một miền chung.
Như vậy sự biểu diễn dữ liệu một cách thống nhất dẫn đến sự thống nhất
tương ứng trong các tập toán tử.
Thông tin được biểu diễn bằng một và chỉ một nên chỉ cần một toán tử
cho mỗi chức năng cơ bản mà ta muốn thể hiện. Kết quả của mọi phép tìm
kiếm đều là một quan hệ. Phép tính quan hệ chỉ là cú pháp diễn đạt định nghĩa
một quan hệ mới (là kết quả của câu hỏi) từ một nhóm quan hệ nào đó. Nói
cách khác đó là phương pháp xác định một quan hệ suy ra từ một nhóm các
quan hệ cho trước.
Ngôn ngữ con dữ liệu bậc thấp là ngôn ngữ xử lý từng bộ, ngôn ngữ bậc
cao là những ngôn ngữ xử lý ở mức tập hợp. Dù là ngôn ngữ bậc thấp hay bậc
cao đều có những đặc điểm sau:
- Tính đơn giản: Ngôn ngữ con dữ liệu gần gũi với ngôn ngữ lập trình
thủ tục hoặc gần gũi với ngôn ngữ tự nhiên.
- Tính đầy đủ: Đối với các lớp rộng lớn các câu hỏi, người sử dụng
không bao giờ phải sử dụng chu trình hay phân nhánh để tìm kiếm dữ liệu.
- Tính không thủ tục: Miêu tả đơn giản ý định của người sử dụng. Làm
đơn giản tất cả các khía cạnh cài đặt, tối ưu hoá tìm kiếm, kiểm soát quyền
truy nhập, tính toàn vẹn của dữ liệu.
- Dễ dàng mở rộng: Không hạn chế khi mở rộng các hàm thư viện.
- Làm cơ sở cho các ngôn ngữ bậc cao hơn.
Trần Thị Hồng Nga 17 Quản lý khách sạn
Báo cáo thực tập tốt nghiệp
Có bốn lớp ngôn ngữ con dữ liệu:
* Ngôn ngữ dựa trên cơ sở các phép toán quan hệ
* Ngôn ngữ dựa trên cơ sở đại số quan hệ
* Ngôn ngữ ánh xạ
* Ngôn ngữ đồ thị
I.2.4 Ngôn ngữ SQL ( Structured Query Langguage)
1) Khái niệm:
Phép toán cơ bản trong SQL là phép ánh xạ, khối chuẩn gồm ba lệnh:
* SELECT X
1
, …, X
n
* FROM R
* [WHERE F]
trong đó: X
i
là thuộc tính của quan hệ R
F là biểu thưc logic trên các Xi
Trường hợp:
SELECT*
FROM R
là lấy toàn bộ thuộc tính của R
2) Phép tìm kiếm
a. Phép kiếm đơn giản:
SELECT UNIQUE <thuộc tính >
FROM <quan hệ >
Trần Thị Hồng Nga 18 Quản lý khách sạn
Báo cáo thực tập tốt nghiệp
Phép tìm kiếm tạo ra một quan hệ con có bậc là 1, bằng cách thực hiện
phép chiếu trên thuộc tính. Nếu loại bỏ các thuộc tính trùng lặp ta dùng từ
khoá UNIQUE
Ví dụ: Liệt kê danh mục các cơ quan, xí nghiệp trên địa bàn Hà Nội
được cung cấp các dịch vụ viễn thông trong quan hệ hợp đồng cung cấp R
SELECT UNIQUE thuê bao
FROM R
b. Tìm kiếm theo điều kiện
SELECT <danh sách các thuộc tính 1>
FROM <quan hệ >
WHERE <tân từ xác định điều kiện >
ORDER BY <danh sách các thuộc tính2 > <thứ tự sắp xếp >
Tạo một quan hệ bao gồm các thuộc tính <danh sách các thuộc tính 1>
thoả mãn điều kiện tân từ xác định điều kiện, sắp xếp thứ tự <danh sách các
thuộc tính2 >.
Ví dụ: Tìm tất cả các thuê bao có cước phí dịch vụ viễn thông lớn hơn
1.000.000đ/tháng, sắp xếp thuê bao theo thứ tự A, B, C
SELECT thuê bao, địa chỉ, loại dịch vụ, cước phí
FROM thuê bao dịch vụ
WHERE cước phí > 1.000.000
ORDER BY thuê bao ASC
Tổng quát như sau:
Trần Thị Hồng Nga 19 Quản lý khách sạn
Báo cáo thực tập tốt nghiệp
Tên thuộc tính ASC /DESC trong đó ASC là tăng dần, DESC là giảm
dần
c. Tìm kiếm sử dụng ánh xạ lồng
c.1: SELECT <danh sách thuộc tính1 >
FROM <quan hệ 1>
WHERE <danh sách thuộc tính2 > IS IN (IS NOT IN)
(SELECT <danh sách thuộc tính 3>
FROM <quan hệ 2>
WHERE <điều kiện >)
Ví dụ: Tìm tất cả các thuê bao có dịch vụ nhắn tin và báo thức.
SELECT thuê bao, địa chỉ, các loại dịch vụ
FROM thuê bao dịch vụ
WHERE thuê bao IS IN
(SELECT thuê bao
FROM thuê bao – dịch vụ
WHERE dịch vụ = “nhắn tin” AND dịch vụ = “báo thức”
c.2: SELECT UNIQUE <danh sách thuộc tính 1>
FROM <quan hệ >
WHERE <thuộc tính 2> IN
(SELECT <thuộc tính 2>
WHERE <điều kiện >)
Trần Thị Hồng Nga 20 Quản lý khách sạn
Báo cáo thực tập tốt nghiệp
Ví dụ: Cho biết những độc giả nào có đặt mua ít nhất một loại báo hay
tạp chí với số tiền > 1.000.000đ/năm.
SELECT tên độc giả, địa chỉ, loại báo, tiền
FROM danh sách độc giả
WHERE tên báo IN
(SELECT tên báo
FROM độc giả - tên báo
WHERE tiền >= 1.000.000)
d. Tìm kiếm có chứa hằng và một bộ liệt kê
d.1 Có chứa hằng:
SELECT UNIQUE < thuộc tính >
FROM <quan hệ >
GROUP BY <thuộc tính >
HAVING SET <thuộc tính > CONTAINS <tập hàm >
Ví dụ: Cho biết những cửa hàng nào bán xi măng và sắt
SELECT UNIQUE tên cửa hàng, địa chỉ
FROM cửa hàng – mặt hàng
GROUP BY tên cửa hàng
HAVING SET mặt hàng CONTAINS “xi măng, sắt”
d.2 Bộ liệt kê
SELECT < thuộc tính >
FROM <quan hệ >
Trần Thị Hồng Nga 21 Quản lý khách sạn
Báo cáo thực tập tốt nghiệp
WHERE <bộ> IN
(SELECT <bộ>
FROM <quan hệc >
WHERE <điều kiện >)
Ví dụ: Tìm tất cả các tuyến cáp có cùng số lượng, chiều dài cùng loại
cáp như tuyến cáp A
SELECT tên tuyến cáp
FROM tuyến cáp
WHERE “số lượng, chiều dài, loại cáp” IN
(SELECT số lượng, chiều dài, loại cáp
FROM tuyến cáp
WHERE tên tuyến cáp = “A”)
Chỉ dẫn: GROUP BY chia nhóm sao cho bên trong mỗi nhóm có các
dòng đều cùng chứa một giá một giá trị như trong thuộc tính chỉ ra.
HAVING: Mệnh đề đặc biệt cho tập SET, thao tác:
Từng nhóm SET sẽ so sánh với tập trong dấu ngoặc.
3. Các phép tính cập nhật
a. Phép sửa đổi (UPDATE):
Mệnh đề sửa đổi các giá trị của các bản ghi trong bảng của cơ sở dữ liệu
theo một điều kiện nào đó có dạng tổng quát là:
UPDATE <tên quan hệ >
SET <tân từ xác định sửa đổi giá trị các thuộc tính >
Trần Thị Hồng Nga 22 Quản lý khách sạn
Báo cáo thực tập tốt nghiệp
WHERE <tân từ xác định nhóm thuộc tính >
Ví dụ: Thay đổi giá báo nhân dân từ 500đ thành 600đ trong quan hệ R
(danh mục báo).
UPDATE R
SET giá báo = 600
WHERE tên báo = “nhân dân”
b. Sửa đổi một nhóm bản ghi trong nhiều quan hệ
UPDATE <quan hệ 1>
SET <điều kiện 1>
WHERE <điều kiện 2>
(UPDATE <quan hệ 2>
SET <điều kiện 3>
WHERE <điều kiện 4>)
Ví dụ: Sửa đổi giá báo “Nhân dân” thành 600đ trong quan hệ R (danh
mục báo) và điều chỉnh “thành tiền” của “ Công ty Phương Đông” trong quan
hệ S (danh mục độc giả đặt báo):
UPDATE R
SET giá báo = 600
WHERE tên báo = “Nhân dân”
(UPDATE S
SET thành tiền = 600 x số lượng
WHERE độc giả = “Công ty Phương Đông”)
Trần Thị Hồng Nga 23 Quản lý khách sạn
Báo cáo thực tập tốt nghiệp
c. Phép bổ sung (INSERT)
INSERT <danh sách các thuộc tính > INTO
INSERT INTO <quan hệ đích >
(SELECT <danh sách thuộc tính >
FROM <quan hệ nguồn >
WHERE <điều kiện >).
Ví dụ: Sao chép tất cả thông tin về hợp đồng lắp đặt thuê bao quá thời
gian 15 ngày chưa được hoàn thành trong quan hệ R và quan hệ S dùng để in
ra bản báo cáo có cùng cấu trúc:
INSERT INTO S
(SELECT *
FROM R
WHERE thời gian >= 15 AND chưa hoàn thành)
d. Phép loại bỏ (DELETE)
DELETE <quan hệ >
FROM <tên bảng >
WHERE <điều kiện >
Ví dụ: Loại bỏ hãng S1 khỏi bảng S
DELETE tên bảng
FROM S
WHERE S# = “S1”
Trần Thị Hồng Nga 24 Quản lý khách sạn
Báo cáo thực tập tốt nghiệp
4. Các hàm thư viện
Danh sách các hàm thư viện là: COUNT (đếm), SUM (tính tổng), AVG
(số trung bình), MAX, MIN, SE.
II. PHÂN TÍCH THIẾT KẾ HỆ THỐNG CHO KHÁCH SẠN
II.1 Phân tích hệ thống
II.1.1 Sơ đồ dòng dữ liệu đầy đủ
II.1.1.1 Sơ đồ ngữ cảnh (CONTEXT DIAGRAM)
Sơ đồ ngữ cảnh cung cấp cho ta một cái nhìn logic về toàn bộ hệ thống,
bao gồm những luồng dữ liệu chính vào /ra khỏi hệ thống:
. Vẽ khung của process (tiến trình) ở giữa trang.
Bên trong là tên của hệ thống: Thường tìm tên lấy từ chữ cái đầu của hệ
thống sao cho phát âm được.
Ví dụ: Chương trình “Quản lý sinh viên”:
STUDENT TIMETABLE ADMINISTRATION RECORD SYSTEMS
STARS
. Xác định các Terminatorr như: con người, tổ chức, công việc mà cung
cấp hay nhận thông tin.
. Luồng dữ liệu: Luồng vào /ra chính của hệ thống.
Trần Thị Hồng Nga 25 Quản lý khách sạn