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à một tập hợp các dữ liệu có tổ chức liên quan đến nhau, thường được lưu trữ và truy cập điện tử từ hệ thống máy tính Khi cơ sở dữ liệu phức tạp hơn, chúng thường được phát triển bằng cách sử dụng các kỹ thuật thiết kế và mô hình hóa chính thức.
1.2 Mô hình cơ sở dữ liệu
Mô hình dữ liệu là một khuôn dạng của dữ liệu cho phép người dùng nhìn thấy dữ liệu dưới cấu trúc thuật ngữ để diễn tả mà ta gọi là lược đồ (scheme) Nó cho ta biết cấu trúc của cơ sở dữ liệu, bao gồm hai thành phần:
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 đưa ra vào những năm 60, trong mô hình này dữ liệu được tổ chức thành cấu trúc cây Trong đó các nút (node) là tập các thực thể, các cành (edge) là các mối quan hệ giữa hai nút theo mối quan hệ nhẩt định, cứng nhắc Hay nói cách khác:
Là mô hình dữ liệu trong đó các bản ghi được sắp xếp theo cấu trúc top-down (tree) Một nút con chỉ có một nút cha -> chỉ có một đường truy nhập tới dữ liệu đó trước Tập dữ liệu được tổ chức theo cấu trúc của mô hình dữ liệu phân cấp gọi là CSDL phân cấp
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 60, và được định nghĩa lại vào năm 1971 Trong mô hình này dữ liệu được tổ chức thành một đồ thị có hướng, trong đó các đỉnh là các thực thể, các cung là quan hệ giữa hai đỉnh, một kiểu bản ghi có thể liên kết với nhiều kiểu bản ghi khác.
Một con có thể có nhiều cha dẫn tới có thể có nhiều đường truy nhập đến một dữ liệu cho trước Tập dữ liệu được tổ chức theo cấu trúc của mô hình dữ liệu mạng gọi là CSDL mạng.
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: Đơn giản.
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 này được E.F Codd đưa vào đầu những năm 70, mô hình này dựa trên lý thuyết tập hợp và đại số quan hệ Vì tính chất chặt chẽ của toán học về lí thuyết tập hợp nên mô hình này đã mô tả dữ liệu một cách rõ ràng, mềm dẻo và là mô hình thông dụng nhất hiện nay Hầu hết các DBMS đều tổ chức dữ liệu theo mô hình dữ liệu quan hệ. Trong đó dữ liệu được tổ chức dưới dạng bảng, các phép toán thao tác trên dữ liệu dựa trên lý thuyết tập hợp của toán học Tập dữ liệu được tổ chức theo cấu trúc của mô hình dữ liệu quan hệ thì được gọi là 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 (Object Oriented model): Là mô hình dữ liệu trong đó các thuộc tính dữ liệu và các phương thức thao tác trên các thuộc tính đó đều được đóng gói trong các cấu trúc gọi là đối tượng (object) Tập dữ liệu được tổ chức theo cấu trúc của mô hình dữ liệu hướng đối tượng gọi là CSDL hướng đối tượng. Ưu điểm:
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 (Database Management System - DBMS): Là một hệ thống phần mềm cho phép tạo lập cơ sở dữ liệu và điều khiển mọi truy nhập đối với cơ sở dữ liệu đó.
Trên thị trường phần mềm hiện nay ở Việt Nam đã xuất hiện khá nhiều phần mềm hệ quản trị cơ sở dữ liệu như: Microsoft Access, Foxpro, DB2, SQL Server, Oracle,.v.v…
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ý: Mức thấp nhất của sự trừu tượng mô tả dữ liệu được lưu trữ một cách thực sự như thế nào Tại mức vật lý, các cấu trúc dữ liệu mức thấp phức tạp được mô tả chi tiết.
Mức logic: Mức cao tiếp theo của sự trừu tượng hoá mô tả những dữ liệu nào được lưu trữ và các mối quan hệ nào tồn tại giữa các dữ liệu này.Mức logic của sự trừu tượng được xác định người quản trị CSDL, cụ thể phải quyết định những thông tin gì được lưu trữ trong CSDL.
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ộ
CSDL Mặc dù sử dụng các cấu trúc đơn giản mức logic, một số phức tập vẫn còn tồn tại do kích thước lớn của CSDL Thực chất những người sử dụng chỉ cần truy nhập đến một phần CSDL, do vậy sự tương tác của họ với hệ thống này là đơn giản hoá và mức khung nhìn của sự trừu tượng được xác định Hệ thống có thể được cung cấp nhiều khung nhìn đối với cùng một cơ sở dữ liệu.
Công việc của bộ xử lý câu hỏi là biến đổi một truy vấn hay một thao tác CSDL có thể được biểu diễn ở các mức cao thành một dãy các yêu cầu đối với các dữ liệu lưu trữ trong CSDL.
Thường phần khó nhất của nhiệm vụ xử lý câu hỏi là tối ưu hoá câu hỏi, có nghĩa là lựa chọn một kế hoạch tốt nhất đối với hệ thống lưu trữ để trả lời truy vấn này nhanh nhất.
Thông thường một số thao tác trên CSDL hình thành một đơn vị logic công việc Ðiều này có nghĩa là hoặc tất cả các thao tác được thực hiện hoặc không thao tác nào được thực hiện Hơn nữa sự thực hiện các thao tác này phải đảm bảo tính nhất quán của CSDL.
Một giao dịch là một tập hợp các thao tác mà xử lý như một đơn vị không chia cắt được Các hệ quản trị CSDL điển hình cho phép người sử dụng một hay nhiều nhóm thao tác tra cứu hay thay đổi CSDL thành một giao dịch.
Các CSDL thường đòi hỏi một khối lượng lớn không gian lưu trữ Do bộ nhớ chính của máy tính không thể lưu trữ nhiều thông tin như vậy, các thông tin này được lưu trữ ở các thiết bị nhớ ngoài như đĩa cứng, đĩa mềm,.v.v…
Khi xử lý, dữ liệu cần phải được di chuyển từ đĩa từ vào bộ nhớ chính; sự di chuyển này là khá chậm so với tốc độ xử lý của bộ nhớ trung tâm, do vậy các hệ CSDL phải tổ dữ liệu vật lý sao cho tốt, tối thiểu hoá số yêu cầu chuyển dữ liệu giữa đĩa từ vào bộ nhớ chính.
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:
Dữ liệu, siêu dữ liệu: Ðáy kiết trúc là thiết bị nhớ ngoài lưu trữ dữ liệu và siêu dữ liệu Trong phần này không chỉ chứa dữ liệu được trữ trong CSDL mà chứa cả các siêu dữ liệu, tức là thông tin cấu trúc của CSDL.
Bộ quản lý lưu trữ: Nhiệm vụ của bộ quản lý lưu trữ là lấy ra các thông tin được yêu cầu từ những thiết bị lưu trữ dữ liệu và thay đổi những thông tin này khi được yêu cầu bởi các mức trên nó của hệ thống.
Bộ xử lý câu hỏi: Bộ xử lý câu hỏi điều khiển không chỉ các câu hỏi mà cả các yêu cầu thay đổi dữ liệu hay siêu dữ liệu Nhiệm vụ của nó là tìm ra cách tốt nhất một thao tác được yêu cầu và phát ra lệnh đối với bộ quản lý lưu trữ và thực thi thao tác đó.
Hệ quản trị CSDL Oracle
Cơ sở dữ liệu Oracle (Oracle Database) là loại cơ sở dữ liệu quan hệ, trong đó toàn bộ dữ liệu được lưu trong các bảng 2 chiều bao gồm các hàng và cột, cho phép bạn lưu trữ, cập nhật và truy xuất dữ liệu một cách hiệu quả.
Cơ sở dữ liệu Oracle bao gồm các cấu trúc vật lý và luận lý được dùng để lưu trữ thông tin hệ thống, thông tin người dùng và thông tin điều khiển Bởi vì hai loại cấu trúc này tách biệt nhau, nên việc lưu trữ dữ liệu vật lý có thể được quản lý mà không ảnh hưởng đến việc truy xuất các cấu trúc luận lý.
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 được gọi chung là Hệ Cơ sở dữ liệu Oracle (Oracle Database System) Tuy nhiên, để cho gọn, chúng ta vẫn thường dùng từ
“Oracle Database” để chỉ Oracle Database System.
3.2 Kiến trúc cơ bản của Oracle
Khi tìm hiểu Oracle là gì, chúng ta đã biết, Oracle sử dụng nền tảng SQL Đây là một ngôn ngữ nổi tiếng trong lập trình, được nhiều developer sử dụng SQL có tác dụng chuẩn hóa, giúp việc quản lý dữ liệu chính xác hơn SQL cũng được nhiều đơn vị sử dụng để quản lý và truy vấn dữ liệu trong quá trình lưu trữ.
Oracle cũng được gắn liền với PL/SQL Đây là một phần mềm có chức năng bổ trợ, giúp bổ sung extension cho hệ thống Bên cạnh đó, Oracle cung hỗ trợ lập trình thông qua Java.
Về mặt kiến trúc, Oracle sẽ sử dụng máy chủ cơ sở dữ liệu Máy chủ này gồm có database – có chức năng lưu trữ dữ liệu Tùy từng máy chủ mà có thể có 1 hoặc nhiều database Database cũng giúp quản lý các tệp dữ liệu, kết hợp giữa logic và vật lý Trong đó:
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 Metadata có chức năng điều khiển dữ liệu.
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 Trong trường hợp có người sử dụng đang xem thông tin, thông tin đó sẽ không thể bị thay đổi bởi một người nào khác Chỉ khi người đó đã kết thúc việc xem dữ liệu hoặc không còn ai đang xem thông tin, thông tin đó mới có thể được sửa đổi.
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ở, chắc chắn sẽ không thể tránh được tình trạng xảy ra lỗi Và khi gặp lỗi, người dùng có thể sẽ phải đối mặt với các rủi ro, trong đó có việc mất dữ liệu Oracle đã giúp khắc phục hạn chế này thông qua việc:
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 tại nguồn và ngay cả khi đăng xuất Hệ thống Oracle luôn đảm bảo hệ thống bảo mật, đảm bảo quyền lợi của người sử dụng.
Oracle có tính năng bổ sung dữ liệu, trao đổi dữ liệu từ xa, giúp người dùng dễ dàng tích hợp thông tin Đặc biệt, tất cả các dữ liệu được điều chỉnh bởi hệ thống này sẽ luôn đảm bảo tính nhất quán.
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
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ó như cầu xây dựng một hệ thống quản lý quán để giải quyết được các vẫn đề thường ngày của quán như quản lý nhân viên, quản lý bàn,…để giúp bộ máy hoạt động trơn tru hơn.
Một hệ thống quản lý quán Cafe có nhiệm vụ quản lý bàn và khu vực nhằm tiện lợi cho việc kiểm tra bàn nào đang được sử dụng hay đang ở trạng thái trống, quản lý các sản phẩm, giá cả, hóa đơn giúp khách hàng dễ dàng trong việc thanh toán Quản lý được kho hàng và các thống kê như thống kê bán hàng, nhập xuất kho, thu chi, doanh thu giúp chủ cửa hàng không gặp nhiều khó khan trong việc quản lý cũng như kiểm tra sự phát triển của quán Cafe.
Hệ thống phải quản lý được việc bán hàng nhằm tiện lợi cho quản lý trong việc quản lý sản phẩm bán ra Quản lý được nhân sự để tiện lợi cho trong việc trả lương cũng như sắp xếp lịch làm việc cho các nhân viên Quản lý khách hàng nhằm tiện lợi cho khách hàng, khách quen sẽ có nhiều ưu đãi nhằm thu hút khách hàng tới quán nhiều hơn.
3.2.2 Đăng kí sử dụng dịch vụ
Khi có khách bước vào nhân viên phục vụ sẽ hỏi khách số lượng người đi cùng để có thể sắp xếp chỗ ngồi một cách hợp lý nhất Sau khi đưa khách đến chỗ ngồi nhân viên phục vụ sẽ mang ra một số thứ miễn phí như nước lọc, đá và Menu cho khách để khách chọn đồ uống hoặc đồ ăn… Khi đã ghi hết các yêu cầu của khách, nhân viên phục vụ sẽ chuyển danh sách yêu cầu này cho nhân viên pha chế Đồ uống khi được pha chế xong thì nhân viên phục vụ sẽ mang ra cho khách Khách hang khi ra về sẽ qua 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ố sản phẩm đã bán được trong ngày, tính tiền theo mức giá đã quy định nhân với số lượng sản phẩm bán, lưu hóa đơn trong máy tính
Các khách hàng sử dụng dịch vụ nào đó nhân viện phục vụ sẽ ghi vào bảng dịch vụ sử dụng để sau thành toán vào hóa đơn khi trả tiền gồm các thông tin: mã dịch vụ, tên dịch vụ, đơn giá và thanh toán.
Mỗi khi sử dụng dịch vụ sẽ có phiếu chi tiết sử dụng dịch vụ gồm các thông tin sau: mã số phiếu, mã dịch vụ, ngày sử dụng, số lượng(số lần sử dụng dịch vụ).
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 20 I Các bước cài đặt
Cách tải oracle
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ý.
Các bước cài đặt
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
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
Bật Oracle Database
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
Tắt Oracle Database
Làm tương tự Bật Oracle Database, thay vì chọn Start chúng ta chọn Stop
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
Làm tương tự với OracleServiceORCL
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
1alter 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
Hình ảnh Kết quả Bài 1:
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 ở đây là mã nhận dạng duy nhất, là duy nhất cho mỗi cơ sở dữ liệu chúng ta đang có kế hoạch để làm việc Trong ví dụ này, chúng ta đang làm việc với cơ sở dữ liệu có tên ORCL.
Chúng ta sẽ sao lưu dữ liệu thuộc cơ sở dữ liệu ORCL.
Vì sao lưu là một bản sao vật lý của cơ sở dữ liệu, nên chúng ta cần một thư mục / nơi chúng ta có thể lưu chúng. Để đạt được điều này, chúng ta có thể sử dụng một thư mục đặc biệt có tên là db_recovery_file_dest phục vụ như một vị trí sao lưu Xác định kích thước của tham số này với db_recovery_file_dest_size đánh dấu kích thước của vị trí sao lưu này.
Mặc dù có một số cách để nén các bản sao lưu và một số kỹ thuật có thể làm giảm kích thước của một bản sao lưu, cố gắng thiết lập ít nhất kích thước cho
DB_RECOVERY_FILE_DEST_SIZE của dữ liệu thực tế Đảm bảo rằng bạn cũng có tài khoản cho các bản ghi lưu trữ nhưng không phải là nhật ký làm lại ngoại tuyến ghi lại các thay đổi cho khối dữ liệu của bạn.
Chiến lược sao lưu sẽ bao gồm tất cả các tệp liên quan đến cơ sở dữ liệu như tệp dữ liệu, tập tin điều khiển, tệp tham số, tệp tin liên quan đến mạng, các tệp bản ghi lưu lại.
RMAN hoặc bất kỳ công cụ sao lưu vật lý nào khác có thể sao lưu dữ liệu, tập tin điều khiển, các tệp tham số, các tệp bản ghi lưu lại Các tệp liên quan đến mạng cần được sao lưu theo cách thủ công bằng các tiện ích của hệ điều hành như mã lệnh hoặc tạo bản sao.
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 "backup database".
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
Chúng ta có thể thực hiện một bản xem trước của khôi phục lại cơ sở dữ liệu Điều này cung cấp cho bạn một danh sách tỉ mỉ của các tập tin và tính sẵn sàng của chúng mà không thực sự khôi phục được các tập tin.