Phân tích và thiết kế hệ thống tkông tin quản lý khách sạn

Tài liệu Phân tích và thiết kế hệ thống tkông tin quản lý khách sạn: 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. Phần I: G... Ebook Phân tích và thiết kế hệ thống tkông tin quản lý khách sạn

doc61 trang | Chia sẻ: huyen82 | Lượt xem: 4047 | Lượt tải: 1download
Tóm tắt tài liệu Phân tích và thiết kế hệ thống tkông tin quản lý khách sạn, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
IỚI THIỆU SƠ BỘ 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ò 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. 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). Phần II: Phân tích thiết kế hệ thống thông tin cho khách sạn 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. 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. 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 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. 1.1 XLBC Báo cáo sau khi nhận được xử lý 2. Dòng dữ liệu (FLOW) Làm hợp lệ báo cáo Thông tin kiểm tra Thông tin báo cáo 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. Làm hợp lệ báo cáo Báo cáo đã hợp lệ Ví dụ về dòng dữ liệu 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 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ó. 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 Đố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 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 vị báo cáo 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 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 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, … 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 (E,R) và có thể lấy giá trị sau: (0,1), (1,1), (0,n) hay (1,n) với n > 1. 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á 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. 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. 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 X1, …, Xn * FROM R * [WHERE F] trong đó: Xi 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 FROM 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 FROM WHERE ORDER BY Tạo một quan hệ bao gồm các thuộc tính thoả mãn điều kiện tân từ xác định điều kiện, sắp xếp thứ tự . 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: 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 FROM WHERE IS IN (IS NOT IN) (SELECT FROM WHERE ) 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 FROM WHERE IN (SELECT WHERE ) 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 FROM GROUP BY HAVING SET CONTAINS 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 FROM WHERE IN (SELECT FROM WHERE ) 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 SET WHERE 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 SET WHERE (UPDATE SET WHERE ) 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”) c. Phép bổ sung (INSERT) INSERT INTO INSERT INTO (SELECT FROM WHERE ). 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 FROM WHERE Ví dụ: Loại bỏ hãng S1 khỏi bảng S DELETE tên bảng FROM S WHERE S# = “S1” 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. Điểm tuyển sinh đã xếp loại 0 Manager Enrolment System (MES) Häc sinh Giấy báo thi Giấy báo KQ Ban tuyển sinh Phòng ĐT Danh sách học sinh trúng tuyển Điểm Học sinh Bản đăng ký dự thi Phòng Đt Ban tuyển sinh Điểm tiêu chuẩn đạt Trong 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 * Yêu cầu thuê phòng * Yêu cầu trả phòng * Yêu cầu dịch vụ Tương ứng với từng yêu cầu này hệ thống sẽ phải thực hiện công việc phản hồi lại những thông tin mà được khách hàng yêu cầu. “Ban Quản Lý”: Về phía ban quản lý yêu cầu từ hệ thống những thông tin hàng ngày về tính hình thuê và cho thuê của khách sạn, bao gồm các thông tin sau: * 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: Các chức năng: Được ký hiệu bằng hình chữ nhật có gắn tên nhãn Tê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 bằng đoạn thẳng. Ví dụ: Chức năng A phân rã thành các chức năng B, C, D A C D B 0 HOTEL MANAGEMENT SYSTEM-HOMAS Ban qu¶n lý (mana gement departement Kh¸ch hµng (guests) Yêu cầu đăng ký phòng Trả lời yêu cầu đăng ký phòng Yêu cầu nhận phòng Trả lời yêu cầu nhận 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ô Yêu cầu đăng ký thuê 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 S¬ ®å ng÷ c¶nh cña hÖ thèng homas Đặc điểm của BPC: Các chức năng được nhìn một cách khái quát nhất, trực quan dễ hiểu, thể hiện tính cấu trúc của phân rã chức năng (Functionally Decomposed) Dễ thành lập vì tính đơn giản: Vì nó trình bày hệ thống phải làm gì hơn là hệ thống làm như thế nào. Mang tính chất tĩnh: Vì bỏ qua các mối liên quan thông tin giữa các chức năng. Các chức năng không bị lặp lại và không dư thừa. Rất gần gũi với sơ đồ tổ chức nhưng ta không đồng nhất nó với sơ đồ tổ chức: Phần lớn các tổ chức của doanh nghiệp nói chung thường gắn liền với chức năng. Sơ đồ 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: Đăng ký thuê nhận Xem khách đăng ký thuê Trả phòng Mức 1: Bao gồm các chức năng sau: Mức 1.1: Bao gồm: Đăng ký phòng Nhập khách Tìm trang bị Nhận phòng Thuê phòng S¬ ®å ph©n cÊp chøc n¨ng HOMAS Xem khách đăng ký thuê Đăng ký thuê nhận Trả phòng Đăng ký phòng Nhập khách Tìm trang bị Nhận phòng Thuê phòng Kiểm tra đăng ký trùng đăng ký Đổi phòng đăng ký Kiểm tra đăng ký trùng thuê Trả lời đăng ký Tìm thuê Tìm đăng ký Tìm sử dụng Trả lời xem Tính tiền dịch vụ Tính tiền phòng Lập hóa đơn Kiểm tra đăng ký trùng đăng ký Đổi phòng đăng ký Kiểm tra đăng ký trùng thuê Trả lời đăng ký Kiểm tra thuê trùng thuê Kiểm tra thuê trùng đăng ký Trả lời thuê Mức 1.2: Bao gồm: 1.2.1 Tìm thuê 1.2.2 Tìm đăng ký 1.2.3 Tìm sử dụng 1.2.4 Trả lời xem Mức 1.3: Bao gồm: 1.3.1 Tính tiền dịch vụ 1.3.2 Tính tiền phòng 1.3.3 Lập hoá đơn Mức 2: Bao gồmn các chức năng sau: Mức 1.1.1 Bao gồm Kiểm tra đăng ký trùng đăng ký Đổi phòng đăng ký Kiểm tra đăng ký trùng thuê Trả lời đăng ký Mức 1.1.4: Bao gồm: 1.1.4.1 Tìm phòng đã đăng ký 1.1.4.2 Kiểm tra đăng ký phòng nhận 1.1.4.3 Đổi phòng đã đăng ký 1.1.4.4 Trả lời phòng nhận Mức 1.1.5: Bao gồm: Kiểm tra thuê trùng thuê Kiểm tra thuê trùng đăng ký Trả lời thuê II.1.2 Mô hình dữ liệu (Data Diagrammer) Phân tích dữ liệu logic nói chung được định nghĩa là một cách tiếp cận bao gồm việc xét dữ liệu được sử dụng trong công tác theo quan điểm trừu tượng thuần tuý không tính đến chức năng kinh doanh thực tại dùng tới nó, nơi nó được sử dụng hoặc khuôn dạng vật lý, tệp hoặc tài liệu chứa nó. Tóm lại, đây là phương pháp thâu tóm cấu trúc tự nhiên của thông tin có sẵn với tính mở về tiềm năng đầy đủ của nó. Phân tích dữ liệu là một phương pháp xác định các đơn vị (các thực thể) thông tin có ích cho hệ thống, và xác định rõ mối quan hệ hoặc các tham trỏ chéo với nhau giữa chúng. điều này có ý nghĩa rằng đảm bảo mọi phần tử dữ liệu sẽ chỉ lưu một lần trong toàn hệ thống của tổ chức và có thể truy nhập được từ bất kỳ chương trình nào. II.1.2.1 Mô hình thực thể Phân tích dữ liệu logic hay có thể nói một cách khác là phân tích dữ liệu lý tưởng. Việc phân tích dữ liệu có nghĩa là lấy một quan điểm lý tưởng về dữ liệu, tìm cách tốt nhất để lưu trữ chúng. Mô hình chuyển tải thông tin trong tổ chức quản lý khách sạn được mô tả một cách lý tưởng như sau Phòng Giám đốc Phòng Kế toán D÷ liÖu (Database) Phòng Dịch vụ PhòngThiết bị Đơn vị nhà bếp Phòng Quản lý kỹ thuật Mô hình lý tưởng về chuyển tải thông tin Ta thấy mô hình này chưa mô tả được cấu trúc và tổ chức dữ liệu cần lưu, ta sẽ xét các chi tiết hơn ở phần tiếp theo sau đây II.1.2.2 Các thành phần trong mô hình thực thể (Entity Diagrammer Elements) Mô hình kiểu thực thể hay còn gọi là mô hình dữ liệu logic hoặc sơ đồ tiêu chuẩn, nó được xây dựng cách dùng các kiểu thực thể. thuộc tính và quan hệ theo ký hiệu sau đây. : Kiểu thực thể # : Nhận biết duy nhất (Unique Indentifier) * : Thành phần bắt buộc (Mandotory) o : Thành phần chọn lựa Ví dụ dưới đây sẽ mô tả chi tiết hơn các thành phần trong mô hình quan hệ thực thể: Khối đơn vị Unique Identifier Entity Đơn vị # Mã đơn vị * Tên đơn vị O Địa chỉ Atributes Relationship (Quan hệ) Các thành phần chính trong mô hình thực thể Việc tổ chức dữ liệu như mô hình lý tưởng hệ thống là điều cần phải làm, nhưng để mô tả cho vùng dữ liệu chung này chúng ta phải xây dựng một mô hình quan hệ thực thể. Trong đó các thực thể được tập hợp lại thành nhóm theo khảo sát ban đầu như sau: Trước khi đến khách sạn, thông thường việc đầu tiên cần làm đối với khách hàng là phải đăng ký phòng trong một khoảng thời gian nào đó (tuy nhiên ta vẫn có những khách hàng không cần đặt trước phòng). Và việc khách hàng đăng ký trước sẽ được quản lý thông qua thời gian đăng ký của khách hàng đó. Việc sử dụng phòng thuê của khách hàng được quản lý bằng thời gian thuê của người đó. Trong quá trình ở tại khách sạn, khách hàng có nhu cầu sử dụng các loại hình dịch vụ mà khách sạn đó cung cấp, khách hàng có thể sử dụng một hay nhiều loại hình dịch vụ khác nhau và tương ứng với mỗi loại hình đó sẽ được khách hàng sử dụng trong một thời gian nhất định gọi là thời gian sử dụng. Mặt khác, trong mỗi phòng của khách sạn đều được trang bị những thiết bị sinh hoạt nhất định được gọi là tiện nghi và với từng loại phòng (loại 1, loại 2,…) mà có những tiện nghi khác nhau, các phòng cùng loại sẽ có số tiện nghi và loại tiện nghi như nhau. Tuy nhiên việc quản lý loại phòng ta thực hiện thông qua tiện nghi trong phòng đó. Dựa vào phân tích trên ta có danh sách các thực thể như sau: Tiện nghi Khách Phòng Thời gian đăng ký Thời gian thuê Dịch vụ Thời gian sử dụng dịch vụ Bây giờ ta sẽ đi phân tích về mối quan hệ giữa các thực thể này: Với mỗi phòng trong khách sạn._.

Các file đính kèm theo tài liệu này:

  • doc12109.doc