BỘ GIÁO DỤC VÀ ĐÀO TẠOKHOA: CÔNG NGHỆ THÔNG TIN BÀI TẬP LỚN HỌC PHẦN: HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU QUÁN CAFE BẰNG ORACLE STT Sinh viên thực hiện Ngày Sinh Điểm bằng số Điểm bằng chữ... Khái
CƠ SỞ LÝ THUYẾT VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
Lý thuyết về cơ sở dữ liệu
Cơ sở dữ liệu (Database) là tập hợp các dữ liệu có tổ chức, liên quan chặt chẽ với nhau và thường được lưu trữ, truy cập điện tử qua hệ thống máy tính Đối với những hệ thống phức tạp hơn, cơ sở dữ liệu thường được phát triển dựa trên các kỹ thuật thiết kế và mô hình hóa chính thức nhằm đảm bảo tính hiệu quả và chính xác trong quản lý dữ liệu.
1.2 Mô hình cơ sở dữ liệu
Mô hình dữ liệu là khuôn dạng của dữ liệu giúp người dùng hiểu rõ cấu trúc dữ liệu thông qua các thuật ngữ và lược đồ (schema) Nó mô tả rõ ràng cấu trúc của cơ sở dữ liệu, bao gồm hai thành phần chính Mô hình dữ liệu giúp xác định cách tổ chức và liên kết các dữ liệu trong hệ thống, đảm bảo khả năng truy xuất và quản lý hiệu quả Việc hiểu rõ mô hình dữ liệu là nền tảng để thiết kế cơ sở dữ liệu tối ưu và phù hợp với yêu cầu của hệ thống thông tin.
Hệ thống ký hiệu để mô tả dữ liệu.
Tập hợp các phép toán thao tác trên dữ liệu đó.
Mô hình phân cấp (Hierarchical model)
Mô hình phân cấp, được giới thiệu vào những năm 60, tổ chức dữ liệu theo dạng cấu trúc cây Trong mô hình này, các nút (node) đại diện cho các thực thể khác nhau, trong khi các cành (edge) thể hiện mối quan hệ cứng nhắc và xác định rõ ràng giữa các nút Đây là mô hình dữ liệu phù hợp để mô tả các hệ thống phân cấp, giúp tối ưu hóa quá trình truy xuất thông tin và quản lý dữ liệu hiệu quả.
Mô hình dữ liệu phân cấp là dạng tổ chức dữ liệu theo cấu trúc cây (top-down), trong đó mỗi nút con chỉ có một nút cha, giúp đảm bảo các đường dẫn truy cập tới dữ liệu rõ ràng và dễ quản lý Tập dữ liệu trong mô hình này được sắp xếp theo cấu trúc phân cấp, tạo nên hệ thống CSDL phân cấp hiệu quả và dễ duy trì.
Ví dụ mô hình phân cấp trong quản lý nhân sự của một công ty. Ưu điểm:
Dễ xây dựng và thao tác.
Tương thích với các lĩnh vực tổ chức phân cấp (ví dụ: tổ chức nhân sự trong các đơn vị, ).
Ngôn ngữ thao tác đơn giản (duyệt cây).
Sự lặp lại của các kiểu bản ghi gây ra dư thừa dữ liệu và dữ liệu không nhất quán.
Giải pháp là xây dựng các bản ghi ảo.
Hạn chế trong biểu diễn ngữ nghĩa của các móc nối giữa các bản ghi (chỉ cho phép quan hệ 1-n).
Mô hình mạng (Network model)
Mô hình mạng được sử dụng phổ biến vào cuối những năm 1960 và đã được định nghĩa lại vào năm 1971, đóng vai trò quan trọng trong quản lý dữ liệu Trong mô hình này, dữ liệu được tổ chức thành một đồ thị có hướng, với các đỉnh biểu thị các thực thể và các cung thể hiện mối quan hệ giữa chúng Mô hình mạng còn cho phép một kiểu bản ghi có thể liên kết với nhiều kiểu bản ghi khác nhau, giúp tối ưu hóa khả năng liên kết và truy xuất dữ liệu.
Trong mô hình dữ liệu mạng, một con có thể có nhiều cha, dẫn đến khả năng truy cập đến nhiều đường dẫn khác nhau để tiếp cận cùng một dữ liệu Cấu trúc của dữ liệu được tổ chức theo mô hình Cơ sở dữ liệu mạng (CSDL mạng), giúp tối ưu hóa quá trình truy xuất dữ liệu một cách linh hoạt và hiệu quả hơn.
Ví dụ dữ liệu của một công ty có thể tổ chức theo mô hình mạng như sau. Ưu điểm:
Có thể biểu diễn các ngữ nghĩa đa dạng với kiểu bản ghi và kiểu móc nối
Truy vấn thông qua phép duyệt đồ thị (navigation)
Số lượng các con trỏ lớn.
Hạn chế trong biểu diễn ngữ nghĩa của các móc nối giữa các bản ghi.
Mô hình dữ liệu quan hệ (Relational model)
Mô hình dữ liệu quan hệ do E.F Codd đề xuất từ những năm 70 dựa trên lý thuyết tập hợp và đại số quan hệ, giúp mô tả dữ liệu một cách rõ ràng và linh hoạt Thanks to tính chặt chẽ của toán học trong lý thuyết tập hợp, mô hình này đã trở thành mô hình phổ biến nhất hiện nay Hầu hết các hệ quản trị cơ sở dữ liệu (DBMS) đều tổ chức dữ liệu theo mô hình quan hệ, trong đó dữ liệu được sắp xếp dưới dạng bảng và các phép toán thao tác dựa trên lý thuyết tập hợp của toán học Dữ liệu được tổ chức theo cấu trúc của mô hình dữ liệu quan hệ được gọi là cơ sở dữ liệu quan hệ (CSDL quan hệ).
Ví dụ dưới đây mô tả dữ liệu được tổ chức theo kiểu quan hệ: Ưu điểm:
Dựa trên lý thuyết tập hợp
Khả năng tối ưu hoá các xử lý phong phú
Hạn chế trong biểu diễn ngữ nghĩa
Cấu trúc dữ liệu không linh hoạt
Mô hình dữ liệu hướng đối tượng là mô hình trong đó các thuộc tính dữ liệu và phương thức thao tác được đóng gói trong các đối tượng, giúp tăng tính tổ chức và dễ quản lý dữ liệu Tập dữ liệu trong mô hình này được tổ chức theo cấu trúc của CSDL hướng đối tượng, mang lại khả năng mở rộng và khả năng mô phỏng thực tế cao Ưu điểm của mô hình dữ liệu hướng đối tượng bao gồm khả năng tái sử dụng mã nguồn, dễ bảo trì và mở rộng hệ thống, cùng với khả năng xử lý dữ liệu phức tạp một cách linh hoạt.
Dễ dàng biểu diễn cái mà con người nhận thức từ thế giới thực.
Biểu diễn ngữ nghĩa phong phú của các thực thể và quan hệ giữa các thực thể.
Không dễ dàng ánh xạ vào những cấu trúc lưu trữ trên máy tính
1.3 Ưu, nhược điểm của CSDL Ưu điểm của cơ sở dữ liệu
Giảm sự trùng lặp thông tin xuống mức tối thiểu nhất Do đó đảm bảo thông tin có tính nhất quán và toàn vẹn dữ liệu.
Đảm bảo dữ liệu có thể được truy xuất theo nhiều cách khác nhau.
Nhiều người có thể sử dụng chung một cơ sở dữ liệu.
Nhược điểm của cơ sở dữ liệu
Tính chủ quyền của dữ liệu
Tính bảo mật và quyền khai thác thông tin của người sử dụng
Cần đảm bảo an toàn dữ liệu khi có sự cố
Hệ quản trị Cơ sở dữ liệu
2.1 Định nghĩa hệ quản trị
Hệ quản trị cơ sở dữ liệu (DBMS) là một hệ thống phần mềm quan trọng giúp tạo lập và quản lý cơ sở dữ liệu hiệu quả Nó cho phép kiểm soát mọi truy cập vào dữ liệu, đảm bảo tính bảo mật và nhất quán của thông tin Với nhiệm vụ chính là điều khiển truy xuất dữ liệu, hệ thống này đóng vai trò trung tâm trong quản lý dữ liệu cho các tổ chức và doanh nghiệp.
Trên thị trường phần mềm tại Việt Nam hiện nay, có sự đa dạng về các hệ quản trị cơ sở dữ liệu như Microsoft Access, Foxpro, DB2, SQL Server và Oracle Các công cụ này đóng vai trò quan trọng trong quản lý dữ liệu doanh nghiệp, đáp ứng nhu cầu phát triển phần mềm và tối ưu hóa hoạt động kinh doanh Việc lựa chọn hệ quản trị phù hợp giúp nâng cao hiệu quả quản lý dữ liệu, đồng thời hỗ trợ các doanh nghiệp nâng cao năng lực cạnh tranh trên thị trường số hóa.
Hệ quản trị cơ sở dữ liệu quan hệ (Relation Database Management System - RDBMS) là một hệ quản trị cơ sở dữ liệu theo mô hình quan hệ.
2.2 Đặc điểm hệ quản trị CSDL
2.2.1 Sự trừu tượng hoá dữ liệu: Ðể cho hệ thống có thể sử dụng được, hệ quản trị CSDL phải tra cứu hay tìm kiếm dữ liệu một cách có hiệu quả Ðiều này dẫn đến việc thiết kế các cấu trúc dữ liệu phức tạp để biểu diễn dữ liệu trong CSDL này Người phát triển che dấu tính phức tạp này thông qua một số mức trừu tượng để đơn giản hoá các tương tác của người sử dụng đối với hệ thống.
Mức vật lý là mức thấp nhất trong hệ thống mô tả cách dữ liệu được lưu trữ thực tế, cung cấp cái nhìn chi tiết về các cấu trúc dữ liệu mức thấp phức tạp Đây là nền tảng để hiểu rõ cách dữ liệu được tổ chức và quản lý trong phần cứng Hiểu rõ về mức vật lý giúp tối ưu hóa quá trình lưu trữ, truy xuất dữ liệu và nâng cao hiệu suất hệ thống.
Mức logic trong quản trị cơ sở dữ liệu mô tả các dữ liệu được lưu trữ và các mối quan hệ tồn tại giữa chúng, giúp xác định cấu trúc dữ liệu một cách trừu tượng Người quản trị cơ sở dữ liệu chịu trách nhiệm quyết định những thông tin nào cần được lưu trữ, đảm bảo hệ thống dữ liệu hợp lý và phù hợp với mục tiêu sử dụng Mức logic cao hơn giúp tổ chức dữ liệu một cách rõ ràng, dễ quản lý và phục vụ tốt cho các yêu cầu của hệ thống.
Mức khung nhìn: Mức cao nhất của sự trừu tượng mô tả chỉ một phần của toàn bộ
Dù sử dụng các cấu trúc đơn giản theo mức logic, CSDL vẫn gặp phải một số phức tạp do kích thước lớn Người dùng thường chỉ truy cập vào một phần của CSDL, giúp đơn giản hóa quá trình tương tác và xác định mức khung nhìn của sự trừu tượng Hệ thống có khả năng cung cấp nhiều khung nhìn khác nhau cùng trên cùng một cơ sở dữ liệu, tăng tính linh hoạt và hiệu quả trong quản lý dữ liệu.
Bộ xử lý câu hỏi có nhiệm vụ biến đổi các truy vấn hoặc thao tác cơ sở dữ liệu ở mức cao thành một dãy các yêu cầu cụ thể đối với dữ liệu lưu trữ trong CSDL Quá trình này giúp tối ưu hóa các truy vấn, đảm bảo hiệu quả truy xuất dữ liệu trong hệ thống cơ sở dữ liệu Việc chuyển đổi này là bước quan trọng để đảm bảo các câu lệnh được thực thi chính xác và nhanh chóng Ngoài ra, bộ xử lý câu hỏi giúp đảm bảo tính nhất quán và tối ưu hóa hiệu suất của toàn bộ hệ thống CSDL.
Trong quá trình xử lý câu hỏi, phần khó khăn nhất thường là tối ưu hoá câu hỏi, nghĩa là lựa chọn kế hoạch tốt nhất để hệ thống lưu trữ có thể trả lời truy vấn một cách nhanh nhất Việc tối ưu hoá này đảm bảo hiệu quả truy vấn cao, tiết kiệm thời gian và tài nguyên cho hệ thống Chọn lựa kế hoạch tối ưu đóng vai trò quan trọng trong việc nâng cao hiệu suất và độ chính xác của quá trình truy vấn dữ liệu.
Trong hệ quản trị cơ sở dữ liệu, một giao dịch là một tập hợp các thao tác được xử lý như một đơn vị không thể chia nhỏ, đảm bảo tính toàn vẹn và nhất quán của dữ liệu Các thao tác trong một giao dịch thường được thực hiện hoặc đồng thời hoặc không thực hiện gì, nhằm duy trì sự chính xác của dữ liệu Hệ quản trị CSDL cho phép người dùng thực hiện một hoặc nhiều nhóm thao tác tra cứu hoặc thay đổi dữ liệu trong cùng một giao dịch, giúp quản lý các hoạt động dữ liệu một cách hiệu quả và an toàn.
Các hệ quản trị cơ sở dữ liệu (CSDL) thường yêu cầu lượng lớn không gian lưu trữ để chứa dữ liệu Vì bộ nhớ chính của máy tính có giới hạn về dung lượng, thông tin này thường được lưu trữ trên các thiết bị nhớ ngoài như đĩa cứng và đĩa mềm Điều này giúp đảm bảo khả năng lưu trữ dữ liệu lớn một cách hiệu quả và an toàn.
Khi xử lý dữ liệu trong hệ quản trị cơ sở dữ liệu, việc chuyển dữ liệu từ đĩa từ vào bộ nhớ chính là bước quan trọng nhưng diễn ra khá chậm so với tốc độ xử lý của bộ nhớ trung tâm Vì vậy, các hệ quản trị cơ sở dữ liệu cần tối ưu hóa cấu trúc dữ liệu vật lý để giảm thiểu số lần yêu cầu chuyển dữ liệu giữa đĩa từ và bộ nhớ chính Điều này giúp nâng cao hiệu suất truy cập dữ liệu và tối đa hóa tốc độ xử lý hệ thống.
2.3 Kiến trúc của một hệ quản trị CSDL
Chúng ta sẽ phác thảo kiến trúc và thấy cách thức của một hệ quản trị CSDL điển hình Ta có sơ đồ kiến trúc:
Trong cấu trúc của hệ thống lưu trữ dữ liệu, đĩa cứng là thiết bị nhớ ngoài quan trọng, lưu trữ cả dữ liệu và siêu dữ liệu Dữ liệu được lưu trữ trong cơ sở dữ liệu (CSDL), còn siêu dữ liệu chứa các thông tin cấu trúc của CSDL, giúp hệ thống quản lý và truy xuất dữ liệu hiệu quả hơn Việc lưu trữ cả dữ liệu và siêu dữ liệu trên đĩa cứng đóng vai trò then chốt trong việc tối ưu hóa cấu trúc và vận hành của hệ thống quản lý cơ sở dữ liệu.
Bộ quản lý lưu trữ có nhiệm vụ chính là truy xuất các thông tin cần thiết từ các thiết bị lưu trữ dữ liệu Ngoài ra, bộ quản lý lưu trữ còn chịu trách nhiệm cập nhật và điều chỉnh dữ liệu theo yêu cầu từ các cấp trên trong hệ thống.
Bộ xử lý câu hỏi không chỉ điều khiển các câu hỏi mà còn xử lý các yêu cầu thay đổi dữ liệu và siêu dữ liệu, đảm bảo phù hợp với các yêu cầu của người dùng Nhiệm vụ chính của bộ xử lý câu hỏi là xác định cách thực hiện tốt nhất các thao tác được yêu cầu, sau đó phát lệnh cho bộ quản lý lưu trữ để thực hiện các thao tác này một cách chính xác và hiệu quả.
Bộ quản trị giao dịch đóng vai trò quan trọng trong việc đảm bảo tính toàn vẹn của hệ thống Nó chịu trách nhiệm xử lý đồng thời các thao tác mà không gây trở ngại hoặc mất dữ liệu Hệ thống phải đảm bảo rằng mọi hoạt động diễn ra liên tục và chính xác, ngay cả khi gặp phải lỗi hệ thống hoặc sự cố kỹ thuật Tiêu chí hàng đầu của bộ quản trị giao dịch là duy trì sự ổn định và độ tin cậy của hệ thống, giúp đảm bảo dữ liệu luôn được bảo vệ an toàn trong mọi tình huống.
2.4 Chức năng của hệ quản trị cơ sở dữ liệu
2.4.1 Cung cấp môi trường tạo lập cơ sở dữ liệu
Hệ quản trị CSDL Oracle
Cơ sở dữ liệu Oracle là một hệ quản trị cơ sở dữ liệu quan hệ mạnh mẽ, trong đó dữ liệu được tổ chức dưới dạng các bảng hai chiều gồm hàng và cột, giúp lưu trữ, cập nhật và truy xuất dữ liệu một cách hiệu quả Oracle Database phù hợp cho các doanh nghiệp cần quản lý lượng lớn dữ liệu, đảm bảo tính toàn vẹn và bảo mật cao Với khả năng mở rộng linh hoạt, Oracle Database là lựa chọn hàng đầu cho các dự án công nghệ thông tin hiện đại.
Cơ sở dữ liệu Oracle gồm các cấu trúc vật lý và luận lý nhằm lưu trữ thông tin hệ thống, người dùng và điều khiển Các cấu trúc này được tách biệt, giúp quản lý dữ liệu vật lý mà không làm ảnh hưởng đến quá trình truy xuất dữ liệu luận lý Điều này đảm bảo tính linh hoạt và hiệu quả trong quá trình quản trị cơ sở dữ liệu Oracle.
Oracle cung cấp một phần mềm dùng để quản lý cơ sở dữ liệu này, gọi là Oracle Database Server
Oracle Database Server và Oracle Database thường được gọi chung là Hệ Cơ sở dữ liệu Oracle (Oracle Database System), nhưng để đơn giản hơn, chúng ta vẫn thường sử dụng thuật ngữ này để chỉ toàn bộ hệ thống quản trị dữ liệu của Oracle.
“Oracle Database” để chỉ Oracle Database System.
3.2 Kiến trúc cơ bản của Oracle
Oracle là hệ quản trị cơ sở dữ liệu sử dụng nền tảng SQL, một ngôn ngữ lập trình phổ biến và được nhiều developer ưa chuộng SQL giúp chuẩn hóa quá trình quản lý dữ liệu, đảm bảo tính chính xác và hiệu quả trong truy vấn và lưu trữ dữ liệu Nhiều tổ chức sử dụng SQL để tối ưu hóa việc quản lý và truy xuất dữ liệu trong hệ thống của mình.
Oracle nổi bật với việc hỗ trợ PL/SQL, một phần mềm giúp mở rộng và nâng cao khả năng của hệ thống quản lý cơ sở dữ liệu Ngoài ra, Oracle còn cung cấp khả năng lập trình linh hoạt thông qua Java, giúp đáp ứng đa dạng yêu cầu phát triển phần mềm và ứng dụng doanh nghiệp.
Về mặt kiến trúc, Oracle sử dụng máy chủ cơ sở dữ liệu để lưu trữ dữ liệu, trong đó mỗi máy chủ có thể tích hợp một hoặc nhiều database Database đóng vai trò quản lý các tập tin dữ liệu, kết hợp giữa logic và vật lý nhằm tối ưu hóa hiệu suất và độ tin cậy Cấu trúc vật lý của hệ thống bao gồm các tệp dữ liệu chứa metadata và tệp nhật ký online, trong đó metadata có chức năng điều khiển và quản lý dữ liệu một cách chính xác và hiệu quả.
Cấu trúc Logic gồm các khối dữ liệu, các nhóm dữ liệu như Extents và các phần mở rộng phân đoạn, không gian bảng…
3.3 Tính năng tiêu biểu của Oracle Database
3.3.1 Khả năng mở rộng và hiệu suất
Oracle được thiết kế để đảm bảo đáp ứng đầy đủ các yêu cầu của hệ thống quản lý thông tin, thông qua một số cơ chế như:
Tối đa hóa hệ thống dữ liệu trong trường hợp có nhiều người sử dụng đồng thời.
Giúp việc sửa và đọc dữ liệu trở nên nhất quán hơn, đảm bảo rằng thông tin không bị thay đổi khi có người đang xem Chỉ khi người dùng kết thúc việc xem hoặc không còn ai truy cập, dữ liệu mới có thể được chỉnh sửa, giúp duy trì tính toàn vẹn và tránh xung đột dữ liệu trong hệ thống.
Giúp nâng cao hiệu suất bằng việc cho nhiều người cùng sử dụng trên một hệ thống.
3.3.2 Sao lưu và phục hồi csdl (Backup và Recovery)
Trong quá trình sử dụng hệ thống cơ sở dữ liệu, lỗi phát sinh là điều không thể tránh khỏi, gây ra các rủi ro như mất dữ liệu quan trọng Oracle đã khắc phục những hạn chế này bằng các giải pháp tối ưu, giúp đảm bảo an toàn dữ liệu và duy trì hoạt động liên tục của hệ thống.
Phục hồi cơ sở dữ liệu theo yêu cầu của người sử dụng.
Tùy từng tình huống mà hoạt động khôi phục sẽ linh hoạt hơn
Việc sao lưu, phục hồi dữ liệu sẽ được tích hợp sẵn, ngay cả trong trường hợp người dùng đang làm việc
3.3.3 Bảo mật thông tin Đây là một trong các ưu điểm nổi bật giúp Oracle trở thành hệ thống có doanh số bán hàng cao nhất thị trường
Oracle có tính năng bảo mật thông qua 2 giải pháp bảo vệ tại nguồn đó là:
TDE : mã hóa dữ liệu trong thời gian thực, giúp bảo vệ thông tin nhạy cảm
Data Redaction : giúp mã hóa, che giấu dữ liệu
Với các giải pháp này, Oracle có thể mã hóa dữ liệu ngay tại nguồn và kể cả khi người dùng đăng xuất, giúp bảo vệ thông tin tối ưu Hệ thống Oracle luôn đảm bảo các biện pháp bảo mật mạnh mẽ, giữ vững quyền lợi và an toàn cho người sử dụng.
Oracle tích hợp tính năng bổ sung và trao đổi dữ liệu từ xa, giúp người dùng dễ dàng tích hợp thông tin Hệ thống này đảm bảo tất cả dữ liệu được điều chỉnh sẽ duy trì tính nhất quán, nâng cao hiệu quả quản lý và chia sẻ dữ liệu trong doanh nghiệp.
Oracle cho phép người dùng dễ dàng quản lý thông qua:
Các công cụ quản lý
Tự quản lý cơ sở dữ liệu thông qua các hệ thống
Hỗ trợ lưu trữ tự động
Sử dụng hệ ngôn ngữ SQL plus.
Có sẵn bộ lập trình và quản lý tài nguyên.
THIẾT KẾ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU HỆ THỐNG QUẢN LÝ QUÁN CAFE
Phân tích, thiết kế hệ thống CSDL
1.2 Thiết kế dữ liệu bảng
Tên trường Kiểu dữ liệu Mô tả Ràng buộc
TENTAIKHOAN NVarchar2(100) Tên tài khoản Primary Key TENHIENTHI NVarchar2(100) Tên hiển thị
Tên trường Kiểu dữ liệu Mô tả Ràng buộc
MABILL Number Mã bill Primary Key
MABAN Number Mã bàn Foreign Key
Tên trường Kiểu dữ liệu Mô tả Ràng buộc
MACHITIET Number Mã chi tiết Primary Key
MABILL Number Mã bill Foreign Key
MADOUONG Number Mã đồ uống Foreign Key
Bàn Tên trường Kiểu dữ liệu Mô tả Ràng buộc
MABAN Number Mã bàn Primary Key Đồ uống
Tên trường Kiểu dữ liệu Mô tả Ràng buộc
MADOUONG Number Mã đồ uống Primary Key
TENDOUONG NVarchar2(100) Tên đồ uống
MACATEGORY Number Mã category Foreign Key
Tên trường Kiểu dữ liệu Mô tả Ràng buộc
MACATEGORY Number Mã category Primary Key
Mô hình dữ liệu quan hệ
2.2 Các thực thể tham gia trong bài toán
Thực thể HOADON(NGAYXUAT, NGAYNHAP, MABILL, MABAN,
Thực thể CHITIETHOADON (MACHITIET, MASO, MADOUONG, SOLUONG, TONG)
Thực thể BAN(TRANGTHAI, MABAN, TENBAN)
Thực thể DOUONG(MADOUONG, TENDOUONG, CATEGORY, GIA)
Thực thể CATEGORY(MACATEGORY, TENCATEGORY)
Cơ sở dữ liệu gồm có 5 bảng:
HOADONCHITIET (Hoá đơn chi tiết)
Yêu cầu với hệ thống thông tin
3.1 Yêu cầu của hệ thống
Tốc độ xử lý phải nhanh, dễ dàng, dễ sử dụng.
Có khả năng sao lưu và phục hồi CSDL khi có sự cố.
Cập nhật khách mới, đặt bàn, gọi món, chuyển bàn, ghép bàn, in hóa đơn cho khách hàng
Giúp người quản lý, nhân viên tra cứu dễ dàng.
3.2 Mô tả hoạt động của hệ thống
Một quán cafe cần xây dựng hệ thống quản lý hiệu quả để giải quyết các vấn đề hàng ngày như quản lý nhân viên và quản lý bàn ghế Hệ thống này giúp tối ưu hoá vận hành, nâng cao trải nghiệm khách hàng và đảm bảo hoạt động của quán diễn ra suôn sẻ hơn Việc áp dụng các phần mềm quản lý quán cafe giúp theo dõi doanh thu, đặt bàn và kiểm soát nhân viên một cách dễ dàng và chính xác Từ đó, quán cafe có thể nâng cao hiệu suất và cạnh tranh trên thị trường.
Hệ thống quản lý quán Cafe giúp quản lý bàn và khu vực, dễ dàng kiểm tra trạng thái bàn đang sử dụng hay trống Nó còn quản lý các sản phẩm, giá cả, cùng hóa đơn, giúp khách hàng thanh toán thuận tiện Hệ thống còn theo dõi kho hàng và cung cấp các thống kê quan trọng như bán hàng, nhập xuất kho, thu chi, doanh thu, hỗ trợ chủ quán kiểm soát hoạt động và phát triển kinh doanh hiệu quả Ngoài ra, hệ thống còn quản lý quá trình bán hàng, nhân sự và khách hàng, mang lại sự tiện lợi trong công tác quản lý, trả lương, sắp xếp lịch làm việc và thu hút khách quen bằng các ưu đãi hấp dẫn.
3.2.2 Đăng kí sử dụng dịch vụ
Khi khách bước vào, nhân viên phục vụ hỏi số lượng người để sắp xếp chỗ ngồi phù hợp Sau đó, nhân viên mang đến chỗ khách các món đồ miễn phí như nước lọc, đá và menu để khách lựa chọn đồ uống hoặc món ăn Khi khách đã gửi yêu cầu, nhân viên chuyển danh sách này cho nhân viên pha chế để chuẩn bị đồ uống Sau khi hoàn thành, nhân viên phục vụ mang đồ uống phục vụ khách Khi ra về, khách hàng ghé quầy thu ngân để thanh toán và lấy hóa đơn nếu cần.
Phân tích chức năng
Bộ phận quản lý quán Cafe nhận được nguyên liệu nhập về, tiến hành phân loại theo loại sản phẩm, viết hóa đơn và lưu trữ trong kho
Sau mỗi ngày quản lý tổng hợp các sản phẩm đã bán trong ngày, nguyên liệu đã tiêu tốn và cần nhập thêm thứ gì sắp hết.
Dựa vào số lượng sản phẩm đã bán trong ngày, hệ thống sẽ tính tiền dựa trên mức giá quy định nhân với số lượng sản phẩm đã tiêu thụ Quá trình này giúp đảm bảo tính toán chính xác và nhanh chóng, đồng thời lưu trữ hóa đơn trong máy tính để thuận tiện cho việc quản lý và tra cứu sau này.
Khách hàng sử dụng dịch vụ sẽ được ghi lại trong bảng dịch vụ sử dụng, bao gồm các thông tin quan trọng như mã dịch vụ, tên dịch vụ, đơn giá và phương thức thanh toán Các dữ liệu này giúp thuận tiện cho việc thanh toán và lập hóa đơn chính xác sau này Việc ghi nhận đầy đủ các thông tin dịch vụ là bước cần thiết để đảm bảo quá trình thanh toán diễn ra nhanh chóng và chính xác.
Mỗi lần sử dụng dịch vụ, khách hàng sẽ nhận được phiếu chi tiết thể hiện đầy đủ thông tin, bao gồm mã số phiếu, mã dịch vụ, ngày sử dụng và số lần sử dụng dịch vụ Phiếu chi tiết này giúp khách hàng dễ dàng kiểm tra và theo dõi các lần sử dụng dịch vụ của mình một cách rõ ràng và chính xác Việc cung cấp các thông tin này còn hỗ trợ trong việc quản lý và đối chiếu dữ liệu dịch vụ một cách hiệu quả.
Hóa đơn cũng có chi tiết với các thông tin: mã hóa đơn, mã số phiếu, ngày lập, giá
CÀI ĐẶT HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ORACLE CHO HỆ THỐNG
Các bước cài đặt
Cách 1: Tải file “WINDOWS.X64_193000_db_home.zip” (phiên bản mới nhất đến thời điểm hiện tại và sử dụng cho việc học tập).
Cách 2: tải liên kết từ “Oracle” Lưu ý: phải đăng nhập trước khi tải, nếu chưa có tài khoản thì đăng ký.
Giải nén file WINDOWS.X64_193000_db_home.zip vừa tải về, sau đó tạo đường dẫn thư mục và copy các file vừa giải nén vào như hình bên dưới:
Nhấp chuột phải vào setup.exe (1) > Run as administrator (2)
Create and configure a single instance database (1) > Next (2)
Oracle base khai báo đường dẫn D:\app\oracle\ (1) > Next (2)
General Purpose / Transaction Processing (1) > Next (2)
Global database name và Oracle system identifier (SID) khai báo orcl (1) > Next (2)
Tab Memory (1) > Bỏ check Enable Automatic Memory Management và khai báo bộ nhớ RAM tại Allocate memory (2)
Tab Character sets (1) > Use Unicode (AL32UTF8) (2)
Tab Sample schemas (1) > Check Install sample schemas in the database (2) > Next (3)
File system (1) > Specify database file location khai báo đường dẫn D:\app\oracle\ oradata (2) > Next (3)
Bỏ check Register with Enterprise Manager (EM) Cloud Control > Next
Check Enable Recovery (1) > File system (2) > Recovery area location khai báo đường dẫn D:\app\oracle\recovery_area (3) > Next (4)
Use the same password for all accounts (1) > Khai báo Password và Confirm password (2) vd Admin123 > Next (3)
Hoàn thành Vào Start > Run > Gõ Services.msc > chọn OK
Màn hình hiện ra, tìm OracleOraDB19Home1TNSListener và OracleServiceORCL đang chạy (Running).
Chắc chắn rằng OracleOraDB19Home1TNSListener vàOracleServiceORCL đang Running trước khi thực hiện các bước tiếp theo
Vào Start > Run > Gõ Services.msc > chọn OK, tìm
OracleOraDB19Home1TNSListener, phải chuột chọn Start để bật, Stop để tắt
Làm tương tự Bật Oracle Database, thay vì chọn Start chúng ta chọn Stop
1.5 Cấu hình để không khởi động cùng Windows
Khi cài đặt thì Oracle mặc định sẽ khởi động cùng Window, chúng ta nên tắt tính năng này
Vào Start > Run > Gõ Services.msc > chọn OK, tìm đến OracleOraDB19Home1TNSListener phải chuột chọn Properties
Chọn Manual: tắt bật thủ công => chọn Apply
Tài khoản người dùng
2.1 Tạo tài khoản người dùng
Mở khóa và đặt mật khẩu cho tài khoản hr
Mở màn hình Command Prompt (Start > Run > cmd > Enter) rồi lần lượt thực hiện
1 alter user hr identified by hr account unlock;
Mật khẩu của tài khoản hr là hr
Tương tự có thể mở khóa và đặt mật khẩu cho các tài khoản khác vd như sys (thay hr bằng sys)…
2.2 Sửa tài khoản người dùng
Đăng nhập tài khoản và khởi tạo Database
Chọn biểu tượng dấu cộng (1) > New Database Connection… (2)
Thực hiện lần lượt theo số thứ tự (mật khẩu là hr)
Bài toán ứng dụng
4.1 Đặt giả thiết cho bài toán
4.1.1 Quán café có lượng khách đông nên cần một hệ thống cơ sở dữ liệu có thể kiểm soát được doanh thu hóa đơn và cũng như phục vụ cho việc bán hàng
4.1.2 Các bài toán thực tế để truy vấn
Bài toán 1 : Mỗi khi có người vào bàn thì bàn đó sẽ được update trạng thái từ trống thành thành có người
Bài toán 2 : Lấy thông tin các hóa đơn của bàn số 1
Bài toán 3 : Thông tin của hóa đơn có số tiền cao nhất
Bài toán 4 : Tổng số đồ uống trong quán
Bài toán 5 : Lấy list đồ uống thuộc loại Macchiato
4.2 Giải các bài toán thực tế
Hình ảnh Câu lệnh trruy vấn
Sao lưu và khôi phục dữ liệu
5.1 Sao lưu dữ liệu trên Oracle
Bước 1: Kiểm tra xem Oracle Database của bạn đã có thư mục dump chưa?
Kết nối tới Oracle sqlplus hoặc Oracle SQL Developer, sử dụng câu SQL sau xác định Oracle đã có thư mục dump để chưa file backup:
SQL> select * from dba_directories;
Thư mục dump (DATA_PUMP_DIR) được lưu ở
/user/oracle/app/oracle/admin/orcl/dpdump
Nếu không thấy thư mục này, các bạn tạo thư mục như sau:
1 SQL> create directory DATA_PUMP_DIR as
'/user/oracle/app/oracle/admin/orcl/dpdump';
2 SQL> grant all on directory DATA_PUMP_DIR to ; DBAs dont need this grant
Câu lệnh grant là không cần thiết trong trường hợp là một sysdba
Bước 2: Thiết lập charset (tùy chọn)
Bạn phải đảm bảo export charset phải đúng với charset của database:
VD với American UTF8 (UNIX) (trên Linux)
NLS_LANG=AMERICAN_AMERICA.AL32UTF8
Trên Windows sử dụng command SET, ví dụ với charset Vietnamese UTF8:
C:\> set NLS_LANG=Vietnamese_Vietnam.AL32UTF8
Bước 3: Sao lưu dữ liệu
Mở terminal trên Linux, hoặc CMD/Powershell trên windows, gõ command bên dưới để tiến hành sao lưu.
Chúng ta có thể sao lưu dữ liệu hoặc với sự trợ giúp của chế độ Enterprise Manager (GUI) hoặc thông qua dòng lệnh của hệ điều hành.
RMAN là một công cụ mạnh mẽ, tinh vi được cung cấp bởi Oracle để thực hiện sao lưu và phục hồi.
RMAN được tự động cài đặt khi bạn cài đặt cơ sở dữ liệu Oracle vì vậy không có yêu cầu cài đặt thêm nào để sử dụng RMAN.
Môi trường RMAN bao gồm hai thành phần:
1 Cơ sở dữ liệu đichs (cơ sở dữ liệu mà bạn sẽ sao lưu, thực hiện phục hồi và
2 Máy khách RMAN, là khách hàng giải thích lệnh của người dùng và thực hiện thay cho người dùng trong khi kết nối với Cơ sở dữ liệu đích
Một lệnh đơn giản để kết nối với cơ sở dữ liệu bằng cách sử dụng RMAN như sau:
DBID là mã nhận dạng duy nhất cho mỗi cơ sở dữ liệu, giúp phân biệt các hệ thống riêng biệt trong quy trình làm việc của bạn Trong ví dụ này, chúng ta đang làm việc với cơ sở dữ liệu có tên ORCL, và việc xác định DBID chính xác là bước quan trọng để quản lý và truy cập dữ liệu hiệu quả Việc sử dụng DBID giúp đảm bảo quá trình vận hành dữ liệu diễn ra chính xác, an toàn và có thể theo dõi dễ dàng trong các hệ thống quản lý cơ sở dữ liệu lớn.
Chúng ta sẽ sao lưu dữ liệu thuộc cơ sở dữ liệu ORCL.
Lưu trữ là bản sao vật lý của cơ sở dữ liệu, do đó cần có thư mục hoặc vị trí để lưu trữ các bản sao này Để quản lý việc lưu trữ hiệu quả, chúng ta có thể sử dụng thư mục đặc biệt tên là db_recovery_file_dest, chuyên làm nơi chứa các bản sao lưu dữ liệu Ngoài ra, việc xác định kích thước của thư mục này được thực hiện bằng tham số db_recovery_file_dest_size, giúp giới hạn dung lượng và quản lý bộ nhớ hiệu quả cho các file sao lưu trong hệ thống.
Mặc dù có nhiều phương pháp để nén các bản sao lưu và áp dụng các kỹ thuật làm giảm kích thước của chúng, việc tối ưu hóa kích thước lưu trữ là rất quan trọng trong quản lý dữ liệu Áp dụng các chiến lược phù hợp giúp giảm thiểu dung lượng lưu trữ cần thiết, tiết kiệm chi phí và cải thiện hiệu suất hệ thống Prioritizing việc giảm kích thước bản sao lưu giúp đảm bảo quá trình sao lưu và phục hồi dữ liệu diễn ra nhanh chóng, hiệu quả hơn.
DB_RECOVERY_FILE_DEST_SIZE là tham số quan trọng trong quản lý không gian lưu trữ của cơ sở dữ liệu, cần đảm bảo đủ dung lượng để chứa các bản sao lưu và các tập tin phục hồi Bạn cũng nên tạo tài khoản đặc biệt để quản lý các bản ghi lưu trữ này, nhằm duy trì hiệu suất và an toàn dữ liệu Tuy nhiên, cần phân biệt rõ ràng giữa các tập ghi lưu trữ và nhật ký làm lại ngoại tuyến, vì chúng ghi lại các thay đổi cho khối dữ liệu của bạn một cách khác nhau để phục hồi dữ liệu khi cần thiết.
Chiến lược sao lưu cơ sở dữ liệu bao gồm tất cả các tệp quan trọng như tệp dữ liệu, tệp điều khiển, tệp tham số, tệp liên quan đến mạng, cũng như các tệp ghi lại hoạt động Việc sao lưu đầy đủ các thành phần này đảm bảo dữ liệu của bạn được bảo vệ an toàn và dễ dàng khôi phục khi cần thiết Áp dụng các chiến lược sao lưu đúng cách giúp tối ưu hóa hiệu quả phục hồi dữ liệu và giảm thiểu rủi ro mất mát thông tin quan trọng.
RMAN hoặc các công cụ sao lưu vật lý khác giúp sao lưu dữ liệu, tập tin điều khiển, tệp tham số và tệp ghi lại một cách toàn diện Đối với các tệp liên quan đến mạng, việc sao lưu cần được thực hiện thủ công bằng các tiện ích hệ điều hành như mã lệnh hoặc tạo bản sao để đảm bảo dữ liệu không bị mất mát Việc sao lưu định kỳ và đúng cách đóng vai trò quan trọng trong việc duy trì an toàn dữ liệu hệ thống của bạn.
5.2 Khôi phục dữ liệu trên Oracle
Vì chúng ta đã kết nối với cơ sở dữ liệu đích (ORCL) nên chúng ta sẽ kích hoạt lệnh
Gõ lệnh list backup; ta được list các database đã được backup
Bản sao lưu này được đặt trong file DB_RECOVERY_FILE_DEST được định nghĩa là E:\APP\ORACLE\RECOVERY_AREA\ORCL\
EDE41D81A613475B8EC63D7AE2B2CA7F\BACKUPSET\2022_11_06\
O1_MF_NNNDF_TAG20221106T205225_KPHH1T1F_.BKP
Bạn có thể thực hiện bản xem trước khôi phục cơ sở dữ liệu, giúp kiểm tra danh sách các tập tin và tính sẵn sàng của chúng mà không cần thực hiện quá trình khôi phục đầy đủ Tính năng này cung cấp cái nhìn rõ ràng về các tệp sẽ được phục hồi, tối ưu hóa quá trình quản lý dữ liệu và đảm bảo sự chính xác trước khi tiến hành khôi phục thực tế.