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
Trang 1LỜ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
Trang 2Phần I:
GIỚI THIỆU SƠ BỘ
Trang 3LÝ 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ò
Trang 4củ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
Trang 5GIỚ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)
Trang 6Phần II:
Phân tích thiết kế hệ thống thông tin cho
khách sạn
Trang 7I 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
* 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
Trang 8Ngoà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
Trang 9Chứ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
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ý
Trang 102 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 đó
Báo cáo đã hợp lệ
Ví dụ về dòng dữ liệu
Trang 11hoặ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
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
Trang 12Khi 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
Đơn vị báo cáo
Đơn vị báo cáo
Trang 135 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
Trang 14Phầ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, … Dn (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 (d1, … dn) sao cho d1 thuộc D1, d2 thuộc D2, … dn thuộc Dn Các tập D1, …, Dn 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
Trang 15Trong 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á
Trang 16có 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
Trang 17I.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
Trang 18Có 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ệ
trong đó: Xi là thuộc tính của quan hệ R
F là biểu thưc logic trên các XiTrườ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ệ >
Trang 19Phé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 RSELECT 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:
Trang 20Tê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>
Trang 21Ví 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
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ệ >
Trang 22WHERE <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 >
Trang 23WHERE <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”)
Trang 24c 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:
Trang 25II.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
Trang 26Trong hệ thống quản lý khách sạn, toàn bộ hệ thống bao gồm một khung của process và có hai terminators “KHáCH” và “ Ban Quản Lý” vừa cung cấp
và nhận thông tin từ hệ thống Sơ đồ ngữ cảnh được trình bày ở trang bên
* Nhận xét chung: Ta thấy rằng về tổng quan, hệ thống bao gồm hai
terminal là KháCh và Ban quản lý tác động trực tiếp đến đến hệ thống thông qua các yêu cầu hay các đáp ứng yêu cầu Khác với “KháCh” thì terminator
“Ban Quản Lý” có thêm các tác động (yêu cầu) một chiều đến hệ thống, đó là các yêu cầu về xem thông tin về phòng, tiện nghi, trang bị, thông tin dịch vụ
* Giải thích chi tiết:
“KháCh”: Vì mục đích chính của bất kỳ khách sạn nào cũng nhằm thoả mãn đến mức tối đa các nhu cầu của khách hàng nhằm thu được lợi nhuận càng cao càng tốt Do vậy, trên sơ đồ ngữ cảnh về phía nửa trái (phần khách hàng tác động lên hệ thống) thường có một “mũi tên đi” tương ứng với “một mũi tên về” Tức là hệ thống luôn luôn phải trả được các yêu cầu mà khách hàng đưa ra, điều đó nhằm mục đích cung cấp thông tin cho khách hàng về tính hình cho thuê khách sạn Khách hàng thường xuyên quan tâm đến những vấn đề như sau:
* Yêu cầu đăng ký phòng
* Yêu cầu nhận phòng
Điểm tuyển sinh
đã xếp loại
Manager Enrolment System (MES)
Trang 27* Yêu cầu xem đăng ký thuê
* Thông tin phòng
* Thông tin tiện nghi
* Thông tin trang bị
* Thông tin dịch vụ
* Yêu cầu về tài sản
Trong các thông tin trên, ban quản lý sẽ cung cấp các thông tin về phòng, tiện nghi, trang bị, dịch vụ và hệ thống phải trả lời cho họ thông tin về tình hình đăng ký thuê và tình hình tài sản
II.1.1.2 Sơ đồ phân cấp chức năng (BPC)
Sơ đồ phân cấp chức năng bao là công cụ khởi đầu để mô tả hệ thống qua chức năng do công ty IBM phát triển Vì vậy, cho đến nay nó vẫn còn được sử dụng Nó cho phép phân rã dần dần các chức năng mức cao thành chức năng chi tiết nhỏ hơn, và kết quả cuối cùng ta thu được một cây chức năng Cây chức năng này xác định một cách rõ ràng, dễ hiểu cái gì xảy ra trong hệ thống
Thành phần của biểu đồ bao gồm:
Trang 28Các chức năng: Được ký hiệu bằng hình chữ nhật có gắn tên nhãn
Kết nối: Kết nối giữa các chức năng có tính chất phân cấp được ký hiệu
Trang 29HOTEL MANAGEMENT SYSTEM-HOMAS
Ban qu¶n
lý
(mana gement departe ment
phòng Yêu cầu thuê phòng Trả lời yêu cầu thuê phòng Yêu cầu trả phòng Hóa đơn tính tiền Yêu cầu dịch vụ Tr¶ lêi yªu cÇu dÞch vô
Trả lời xem đăng ký thuê Thông tin phòng Thông tin tiện nghi Thông tin trang bị Thông tin dịch vụ Yêu cầu tài sản Trả lời yêu cầu tài sản
Trang 30Sơ đồ phân cấp chức năng đối với hệ thống HOMAS được chia làm ba mức:
Mức 0: Bao gồm các chức năng sau: