CƠ SỞ LÝ THUYẾT VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
Lý thuyết về cơ sở dữ liệu
- Một cơ sở dữ liệu là một tập hợp các dữ liệu có liên quan với nhau, được lưu trên máy tính, có nhiều người sử dụng và được tổ chức theo một mô hình Hay nói cách khác, cơ sở dữ liệu là một bộ các dữ liệu tác nghiệp được lưu trữ lại và được các hệ ứng dụng của một đơn vị cụ thể nào đó sử dụng.
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 dung nhìn thấy dữ liệu dưới cấu trúc thuật ngữ để diễn tả mà người 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 đó. a), 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à cơ sở dữ liệu phân cấp.
Hình 1.1: Ví dụ của mô hình phân cấp
+ 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.
+ 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à 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). b), Mô hình mạng (Netwwork model)
- Mô hình mạng chỉ đượ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à cơ sở dữ liệu mạng.
Hình 1.2: Ví dụ của mô hình mạng
+ 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 ngữ nghĩa của các móc nói giữa các bản ghi. c), 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õ rang, 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à cơ sở dữ liệu quan hệ.
Hình 1.3: Mô tả dữ liệu được tổ chức theo kiểu quan hệ
+ Dựa trên lý thuyết tập hợp.
+ Khả năng tối ưu hóa các xử lý phong phú.
+ Hạn chế trong biểu ngữ nghĩa.
+ Cấu trúc dữ liệu không linh hoạt. d), 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à cơ sở dữ liệu hướng đối tượng.
Hình 1.4: Ví dụ của mô hình dữ liệu hướng đối tượng
+ Dễ dàng biểu diễn cái mà con người nhân 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 Các đối tượng sử dụng cơ sở dữ liệu
- Người dùng cuối: Đây là đối tượng cuối cùng sử dụng hệ thống cơ sở dữ liệu, đối tượng này khôn có kiến thức về quản trị hệ thống, nghĩa là không chuyên về lĩnh vực này nên họ cần một công cụ giúp quản trị, khai thác dữ liệu khi cần Thông thường khi làm dự án thì khách hàng chính là đối tượng người dùng cuối.
- Chuyên viên tin học: Chuyên xây dựng các công cụ, ứng dụng nhằm giúp người dung cuối sử dụng khai thác cơ sở dữ liệu, đối tượng này ta gọi là Application User Nếu bạn muốn sau này bạn sẽ là một coder chuyên xây dựng các ứng dụng website thì bạn chính là chuyên viên tin tin học.
- Quản trị cơ sở dữ liệu: đối tượng này cần có kiến thức chuyên sâu về hệ quản trị cơ sở dữ liệu, biết ngôn ngữ cấu trúc truy vấn (T-SQL) ở mức rành hỏi Công việc của đối tượng này là tổ chức hệ thống cơ sở dữ liệu, bảo mật, phân quyền hay cấp quyền cho các đối tượng khác, backup phục hồi dữ liệu và đảm bảo an toàn dữ liệu Nếu bạn muốn trở thành đối tượng này thì bạn phải nghiên cứu sau các mô hình cơ sở dữ liệu, các hệ quản trị cơ sở dữ liệu và cần có kinh nghiệm thực tế rất cao.
1.4 Ưu nhược đ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.
+ 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
- Hệ quản trị cơ sở dữ liệu là phần mềm dùng để thao tác, xử lý với cơ sở dữ liệu.
Nó cung cấp một giao diện giữa người sử dụng và dữ liệu.
- Hệ quản trị cơ sở dữ liệu biến đổi cơ sở dữ liệu vật lý thành cơ sở dữ liệu logic.
- Hiện nay, hệ quản trị cơ sở dữ liệu chính được sử dụng là hệ quản trị cơ sở dữ liệu quan hệ (RDBMS – Relation Database Management System)
2.2 Đặc điểm của hệ quản trị cơ sở dữ liệu
- Để cấu thành một hệ quản trị cơ sở dữ liệu bao gồm: bộ quản lý dự trữ, bộ xử lý câu hỏi và bộ quản trị giao dịch Các bộ phận này sẽ kết hợp nhịp nhàng với nhau để thao tác với các dữ liệu trong cơ sở dữ liệu khi nhận được yêu cầu từ người dùng Từ đó, chúng ta có thể biết được một số đặc điểm về hệ quản trị cơ sở dữ liệu như sau:
+ Tính bảo mật cao của hệ quản trị cơ sở dữ liệu thông qua việc xác định người dùng có được quyền truy cập vào hệ quản trị cơ sở dữ liệu thông qua tài khoản và mật khẩu.
+ Có thể chia sẻ và xử lý dữ liệu cùng lúc cho nhiều người dùng, mang lại sự tiện lợi, nhanh chóng.
+ DBMS sẽ quản lý các trao đổi, giao dịch với người dùng luôn đảm bảo theo thuộc tính AICD.
+ Có thể tách biệt các chương trình, dữ liệu với nhau.
2.3 Chức năng của hệ quản trị cơ sở dữ liệu a), Chức năng quản lý Data Dictionary
- Data Dictionary chính là nơi mà hệ quản trị cơ sở dữ liệu thực hiện lưu trữ những định nghĩa của các phần tử dữ liệu Ngoài ra, chúng còn lưu trữ cả các mối quan hệ của chúng – metadata DBMS sử dụng chức năng này nhằm tra cứu những cấu trúc cũng như mối quan hệ giữa những thành phần dữ liệu được yêu cầu trong khi những chương trình truy cập dữ liệu ở trong hệ quản trị.
- Về cơ bản thì chúng sẽ đi qua DBMS và hàm này tiến hành loại bỏ những sự phụ thuộc về cấu trúc và cả dữ liệu Từ đó, hệ quản trị sẽ mang đến cho người dùng tính trừu tượng hóa các dữ liệu Và chức năng này thường sẽ bị ẩn khỏi user và sẽ được sử dụng bởi những admin của hệ quản trị cơ sở dữ liệu. b), Quản lý Data Storage
- Có chức năng cụ thể này được sử dụng để lưu trữ dữ liệu và các biểu mẫu dữ liệu khác có liên quan Định dạng báo cáo, quy tắc về data validation, procedural code và cấu trúc xử lý các định dạng video và hình ảnh.
- Người dùng không cần biết dữ liệu được lưu trữ hoặc thao tác thế nào Cùng liên quan đến cấu trúc này là một thuật ngữ được gọi là Performance Tuning Nó sẽ liên quan với hiệu suất của cơ sở dữ liệu, tốc độ lưu trữ và truy cập. c), Kiểm soát truy cập nhiều người dùng
- Chức năng tiếp theo được nhắc đến chính là khả năng kiểm soát và truy cập nhiều người dùng Tính toàn vẹn cũng như sự nhất quán của dữ liệu Điều này sẽ cho phép nhiều người sử dụng có thể truy cập cơ sở dữ liệu trong cùng một lúc Chúng không làm ảnh hưởng đến tính toàn vẹn của cơ sở dữ liệu. d), Quản lý về bảo mật
- Quản lý bảo mật là một trong những chức năng quan trọng nhất của DBMS. Quản lý sự bảo mật đặt ra các quy tắc xác định người dùng có được phép truy cập cơ sở dữ liệu hay không.
- Người dùng được cấp username và password Hoặc đôi khi thông qua các thực sinh trắc học (vân tay hoặc võng mạc), nhưng những loại này thì sẽ tốn kém hơn Chức năng này cũng có một số hạn chế đói với dữ liệu cụ thể mà bất kỳ người dùng nào đều có thể xem hoặc quản lý. e), Chức năng chuyển đổi và trình bày dữ liệu
- Chức năng có thể chuyển đổi bất cứ dữ liệu nào khi được nhập vào cấu trúc dữ liệu bắt buộc Thông qua việc sử dụng chức năng trình bày và biến chuyển đổi dữ liệu thì hệ quản trị có thể xác định được sự khác biệt ở giữa những hai loại định dạng là: định dạng dữ liệu logic và physical. f), Chức năng quản lý tính toàn vẹn của dữ liệu
- Ngôn ngữ truy vấn chính là một Nonprocedural Language Ví dụ cho chức năng này là SQL và là một ngôn ngữ truy vấn tương đối phổ biến và được rất nhiều nhà cung cấp DBMS hỗ trợ.
- Khi sử dụng ngôn ngữ đặc biệt này sẽ giúp cho người dùng có thể xác định được những việc mà họ cần làm một cách dễ dàng nhất Bên cạnh đó, bạn cũng không cần phải đau đầu về việc giải thích những cách thực hiện cụ thể.
Hệ quản trị cơ sở dữ liệu Oracle
- Oracle là một hệ thống quản trị Database, viết tắt là RDBMS, tức là một hệ thống quản trị Relational Database Management System Người dùng có thể sử dụng Oracle để quản lý ứng dụng và database Đây là giải pháp hàng đầu được rất nhiều đơn vị lựa chọn để tiết kiệm chi phí, nâng cao hiệu quả quản lý Oracle cho phép bạn tương tác với Database thông qua một ngôn ngữ SQL.
- Một số phiên bản của Oracle có thể kể tới như:
+ Phiên bản Standard One: phù hợp với các đơn vị/ứng dụng sử dụng một server. Đây là phiên bản có các tính năng còn bị hạn chế.
+ Phiên bản Standard: Đây là bản nâng cấp hơn so với phiên bản Standard One, phù hợp với các đơn vị có hệ thống máy chủ lớn hơn.
+ Phiên bản Enterprise: có một số tính năng hiện đại như tính năng bảo mật, tính toán hiệu suất, mở rộng phiên bản… Phù hợp với các ứng dụng liên quan tới vấn đề giao dịch online, yêu cầu tính bảo mật cao.
+ Phiên bản Express: Đây là phiên bản miễn phí, cho phép người dùng có thể tải về, sử dụng, triển khai và quản lý hệ thống.
+ Phiên bản Personal: Đây là phiên bản có các tính năng giống phiên bản Enterprise nhưng được bỏ đi tính năng Oracle Real Application Cluster.
3.2.Lịch sử hình thành của cơ sở dữ liệu Oracle
- Oracle xuất hiện lần đầu vào năm 1979, dựa trên nền tảng RDBMS Hệ thống quản lý này được cung cấp bởi công ty Oracle Corp Đây là công ty chuyên cung cấp các cơ sở dữ liệu trên toàn cầu.
- Ngay từ những ngày đầu ra mắt, Oracle đã nhanh chóng trở nên phổ biến, dẫn đầu thị trường về doanh số bán hàng Đến năm 2016, Oracle đã chiếm tới 40,4% doanh thu từ các phần mềm cơ sở dữ liệu toàn cầu, gấp 2 lần so với đối thủ trực tiếp là Microsoft.
- Sau nhiều năm phát triển, công ty Oracle Corp đang phát triển mạnh trong lĩnh vực cung cấp các hệ thống quản trị Với nhiều phiên bản, Oracle đang được sử dụng phổ biến trong nhiều đơn vị, công ty, đáp ứng nhu cầu của nhiều mô hình kinh doanh.
3.3 Kiến trúc của cơ sở dữ liệu Oracle
- 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 cũng 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.4 Tính năng và tùy chọn tiêu biểu của Oracle Database
- Oracle có nhiều tính năng nổi bật, giúp người dùng dễ dàng sử dụng, quản lý hệ thống dữ liệu Điều này giúp hệ thống Database này trở nên phổ biến và được sử dụng bởi nhiều đơn vị Một số tính năng đó là: a), Khả năng mở rộng và hiệu xuấ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. b), Sao lưu và phục hồi cơ sở dữ liệu (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ụ 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 c), Bảo mật thông tin
- 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. d), Tích hợp thông tin
- 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.
+ 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.
3.5 Lý do nên sử dụng phần mềm Oracle
+ Oracle sử dụng nhiều phương pháp nâng cao hiệu suất của người dùng Bạn có thể triển khai sử dụng để tang hiệu suất của Database, giúp việc truy xuất, thay đổi dữ liệu nhanh chóng và dễ dàng hơn, tiết kiệm thời gian truy vấn.
- Cơ sở dữ liệu đa người dùng:
+ Oracle cho phép nhiều người thực hiện quản lý trên cùng 1 server Ngoài ra, phần mềm này cũng sử dụng phương pháp Instance Caging Đây là phương pháp giúp quản lý thông qua nhiều phiên bản và chạy các cơ sở dữ liệu cá nhân. a), Cluster
- Hệ thống sử dụng Real Application Clusters, cung cấp các hệ thống dữ liệu có sẵn cho người sử dụng Đây là lợi ích nổi bật của database so với các phiên bản truyền thống Ngoài ra, hệ thống cũng có khả năng tang cường linh hoạt khả năng xử lý, có tính khả dụng cao và có khả năng cân bằng tải trong nhiều trường hợp. b), Failure Recovery
THIẾT KẾ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU HỆ THỐNG
Phân tích, thiết kế hệ thống CSDL
- Để hệ thống được tối ưu và quản lý một cách tốt nhất, hệ thống bao gồm những thực thể sau: QuanTriVien, KhachHang, ChiTietDonDatHang, NhanVienBanHang, SanPham, DanhMucSanPham, GioHang, DonDatHang, SanPhamBan, BinhLuan, NhaCungCap.
+ QuanTriVien: lưu trữ tài khoản của người quản trị hệ thống, là người có quyền cao nhất trong hệ thống, người quản trị hệ thống có thể thêm, sửa, xóa các sản phẩm, quản lý người dùng, thống kê số lượng khách hàng truy cập, xuất nhập hàng trong cửa hàng, gửi đi thông báo cho khách hàng.
+ KhachHang: lưu trữ thông tin người đến trực tiếp mua hàng hay mua trực tuyến. + SanPham: lưu trữ chi tiết thông tin của sản phẩm.
+ DanhMucSanPham: lưu trữ tên của danh mục sản phẩm Ví dụ dạnh mục Apple thì trong đó có từng mẫu iphone.
+ GioHang: lưu trữ các sản phẩm khách hàng đã chọn mua chuyển vào giỏ.
+ DonDatHang: lưu trữ đơn hàng của khách hàng đã đặt để lên đơn.
+ ChiTietDonDatHang: thống kê chi tiết đơn đặt hàng của khách hàng Ví dụ như tên sản phẩm tên người nhận, địa chỉ người nhận, …
+SanPhamBan: thống kê ra xem bán được bao nhiêu sản phẩm trong 1 ngày, 1 tháng, 1 năm, …
+ BinhLuan: lưu trữ bình luận của khách hàng về sản phẩm.
+ NhaCungCap: lưu trữ các nhà cung cấp sản phẩm cho cửa hàng.
+ NhanVienBanHang: lưu trữ các thông tin cá nhân của nhân viên bán hàng.
2.2 Thiết kế hệ thống CSDL:
STT Thuộc tính Kiểu dữ liệu Độ dài Khóa
+ MaQTV: là mã của các thành viên ban quản trị.
+ TenTaiKhoan: là tên tài khoản thành viên ban quản trị
+ MatKhau: mật khẩu của thành viên ban quản trị.
+ HoTenQTV: họ tên của thành viên ban quản trị.
+ GioiTinh: giới tính của thành viên ban quản trị.
+ DiaChi: địa chỉ của thành viên ban quản trị.
+ SDTQTV: số điện thoại của quản trị viên.
+ Luong: mức lương của các thành viên.
STT Thuộc tính Kiểu dữ liệu Độ dài Khóa
+ MaGH: là mã giỏ hàng của khách hàng
+ MaKH: là mã khách hàng.
+ TenSP: là tên của sản phẩm khách hàng chọn mua.
+ SoLuong: là số lượng của một sản phẩm chọn mua.
+ GiaTien: là giá tiền của sản phẩm được chọn.
STT Thuộc tính Kiểu dữ liệu Độ dài Khóa
+ MaKH: là mã của khách hàng.
+ TenTaiKhoan_KH: tên tài khoản đăng nhập của khách hàng.
+ MatKhau: là mật khẩu truy cập của khách hàng.
+ HoTenKH: là họ tên của khách hàng.
+ GioiTinh: là giới tính của khách hàng.
+ QueQuan: là quê quán của khách hàng, nơi ở hiện tại.
+ SoDienThoai: là số điện thoại của khách hàng.
STT Thuộc tính Kiểu dữ liệu Độ dài Khóa
+ MaSP: là mã số của sản phẩm.
+ MaDM: mã của danh mục sản phẩm.
+ TenSP: tên của sản phẩm.
+ GiaTien: là số tiền của sản phẩm.
+ SoLuong: số lượng sản phẩm còn trong kho.
+ MauSac: màu sắc của sản phẩm.
+ TinhTrang: trình trạng của sản phẩm (còn hàng, hết hàng hay ngừng kinh doanh).
STT Thuộc tính Kiểu dữ liệu Độ dài Khóa
+ MaDM: là mã danh mục sản phẩm (khóa chính).
+ TenDM: là tên danh mục sản phẩm.
STT Thuộc tính Kiểu dữ liệu Độ dài Khóa
+ MaDonDH: là mã đơn đặt hàng.
+ MaKH: là mã khách hàng đặt mua.
+ MaNVBH: mã nhân viên bán hàng.
+ MaTinhTrang: là mã tình trạng của đơn hàng.
+ NgayLap: là ngày lập đơn hàng.
+ TongGia: là tổng số tiền của đơn hàng.
+ NoiNhan: là địa chỉ chính xác của người nhận hàng.
+ GhiChu: thông tin ghi chú của đơn hàng.
STT Thuộc tính Kiểu dữ liệu Độ dài Khóa
+ MaCTHD: là mã chi tiết hóa đơn của đơn hàng.
+ MaDonDH: là mã đơn đặt hàng.
+ SoLuongMua: số lượng sản phẩm đặt mua.
+ DonGia: đơn giá của đơn hàng.
STT Thuộc tính Kiểu dữ liệu Độ dài Khóa
+ MaSPBan: là mã sản phẩm bán được trong 1 ngày, 1 tháng, 1 năm.
+ MaSP: là mã của sản phẩm.
+ TenSP: là tên của sản phẩm.
+ SoLuongBan: số lượng bán được của loại sản phẩm nào đó.
STT Thuộc tính Kiểu dữ liệu Độ dài Khóa
+ MaBL: là mã bình luận.
+ MaSP: là mã sản phẩm mà khách hàng bình luận.
+ HoTen: họ tên khách hàng bình luận.
+ NgayGio: ngày giờ của bình luận.
+ NoiDung: nội dung của bình luận
STT Thuộc tính Kiểu dữ liệu Độ dài Khóa
+ MaNCC: mã nhà cung cấp.
+ TenNCC: tên nhà cung cấp.
+ SoDienThoai: số điện thoại của nhà cung cấp.
+ DiaChi: địa chỉ nhà cung cấp.
STT Thuộc tính Kiểu dữ liệu Độ dài Khóa
+ MaNVBH: là mã nhân viên bán hàng.
+ HoTenNVBH: họ và tên của nhân viên bán hàng. + SoDienThoai: số điện thoại của nhân viên.
+ DiaChi: địa chỉ của nhân viên.
Mô hình dữ liệu quan hệ
Hình 2.1: Mô hình quan hệ 2.2.Mô hình ERD
Hình 2.2: Mô hình ERD của hệ thống
Phân tích chức năng
3.1 Chức năng phía giao diện
Bảng 2.12: Mô tả chức năng phía giao diện
STT Chức năng Mô tả
1 Xem hàng Người xem có thể xem thông tin về điện thoại di động bao gồm: tên điện thoại, hang sản xuất, giá điện thoại, tình trạng còn hàng hay hết hàng.
2 Bình luận Người xem có thể bình luận về sản phẩm, nội dung và thông tin người bình luận trước cần lưu vào trong database.
3 Đặt hàng Chức năng cho phép khách hàng duyệt sản phẩm trên hệ thống và nhấn nút đặt hàng sản phẩm đã chọn.
4 Giỏ hàng Cho phép khách hàng có thể xem, điểu chỉnh mặt hàng mình đã chọn mua Bao gồm tính tổng giá trị sản phẩm mà khách hàng mua.
Khách hàng nhập thông tin vào thanh tìm kiếm để tìm kiếm sản phẩm.
6 Quảng cáo Trên hệ thống có 1 banner quảng cáo, khi click vào hình ảnh đó thì dẫn đến trang nguồn.
7 Thống kê truy Đếm số lượng người dùng đã vào hệ thống cập
Hiển thị các điện thoại mới nhất cho người xem
9 Xem điện thoại bán chạy
Hiển thị thông tin các điện thoại được bán chaỵ nhất cho người xem a), Chi tiết chức năng
- Xem hàng: khách hàng truy cập vào địa chỉ cảu hệ thống, chọn vào các page trên site để xem thông tin.
+ Đầu vào: thông tin yêu cầu của khách hàng về sản phẩm.
+ Xử lý: khi khách hàng chọn một sản phẩm bất kì trên hệ thống, thông tin mà khách hàng gửi sẽ được xử lý, hệ thống sẽ lấy dữ liệu từ cơ sở dữ liệu, gửi lên cho người dùng.
+ Đầu ra: thông tin về điện thoại bao gồm tên điện thoại, hang sản xuất, màu sắc, kích thước, giá cả, tình trạng, …
- Bình luận: người xem có thể chia sẻ cảm nghĩ của họ về sản phẩm, thông tin bình luận của khách hàng sẽ được lưu vào database bao gồm tên khách hàng, số điện thoại của khách hàng cùng nội dung mà khách hàng bình luận.
+ Đầu vào: thông tin về người bình luận bao gồm tên, số điện thoại, ngày giờ và nội dung mà khách hàng bình luận.
+ Xử lý: kiểm tra nội dung mà người dùng nhập vào, nếu hợp lệ thì cho lưu dữ liệu đó vào database, nếu không thì thông báo lỗi cho người dùng.
+ Đầu ra: thông báo từ hệ thống, nếu hợp lệ thì thông báo “Bạn đã bình luận thành công” Nếu không hợp lệ thì thông báo: “Dữ liệu bạn nhập vào không hợp lệ”…
- Đặt hàng: cho phép khách hàng duyệt sản phẩm trên hệ thống Khi khách hàng gửi thông tin đặt hàng thì mặt hàng đó sẽ được gửi đến giỏ hàng.
+ Đầu vào: thông tin về sản phẩm mà khách hàng muốn mua.
+ Xử lý: khi khách hàng chọn mặt hàng muốn mua, ở phiên làm việc đó nếu khách hàng chọn lần đầu tiên thì ở giỏ hàng sẽ tạo mới sản phẩm có số lượng bằng 1 Nếu đã tồn tại mặt hàng đó trong giỏ hàng rồi thì số lượng của mặt hàng đó sẽ được tăng lên 1.
+ Đầu ra: thông tin của mặt hàng đó lưu trong giỏ hàng.
- Giỏ hàng: cho phép khách hàng xem, điều chỉnh, thêm, xóa mặt hàng mà khách hàng đã đặt mua Có chức năng tính tổng giá trị của đơn hàng đó.
+ Đầu vào: thông tin của các mặt hàng mà khách hàng đã đặt mua, số lượng sản phẩm mà khách hàng muốn mua.
+ Xử lý: khách hàng có thể thay đổi số lượng mặt hàng muốn mua, khi khách hàng chọn lại số lượn và chọn cập nhật thì số lượng của mặt hàng đó cần được cập nhật lại, tổng giá cũng cần được tính toán lại Khi khách hàng chọn xóa sản phẩm thì sản phẩm đó phải được xóa khỏi giỏ hàng Khách hàng chọn xóa hết thì sẽ thông báo không có mặt hàng nào trong giỏ hàng Khách hàng chọn mua tiếp thì sẽ chuyển về trang chủ, chọn đặt hàng thì sẽ chuyển đến trang mua hàng.
+ Đầu ra: thông tin về giỏ hàng bao gồm sản phẩm, số lượng, tổng giá, …
- Tìm kiếm sản phẩm: để không mất thời gian duyệt từng sản phẩm trên hệ thống, khách hàn có thể biết thông tin về sản phẩm mình muốn mua bằng cách nhập thông tin vào ô tìm kiếm.
+ Đầu vào: tên sản phẩm mà khách hàng muốn tìm kiếm.
+ Xử lý: khi khách hàng nhập tên sản phẩm muốn tìm kiếm, hệ thống sẽ so sánh tên đí với dữ liệu trong đó có trong database Nếu nhận được kết quả sẽ trả kết quả tìm kiếm về cho người dùng, nếu không tìm thấy kết quả nào thì hệ thống sẽ gửi thông báo:
“Không tìm thấy kết quả”.
+ Đầu ra: thông báo, kết quả từ hệ thống.
- Quảng cáo: trên hệ thống có 1 banner quảng cáo, khi click vào hình ảnh đó thì dẫn đến trang nguồn.
- Thống kê truy cập: cho biết số lượng người dùng truy cập vào hệ thống.
+ Đầu vào: thông tin về người dùng vào hệ thống
+ Xử lý: mỗi lần người dùng load trang sẽ mở file dem.txt, đọc thông tin số lượng truy cập của file đó sau đó tăng số lượng lên 1 rồi nghi lại vào file dem.txt.
+ Đầu ra: số lượng người dùng đã truy cập vào hệ thống.
- Xem điện thoại mới: khách hàng có thể xem thông tin các điện thoại mới nhất của cửa hàng.
+ Đầu vào: thông tin về sản phẩm
+ Xử lý: hệ thống sẽ lựa chọn những sản phẩm mới nhất mà người quản trị hệ thống nhập vào, trả về kết quả, hiện thị cho người dùng xem.
+ Đầu ra: thông tin về mặt hàng mới nhất.
- Xem điện thoại bán chạy: hiển thị thông tin các điện thoại bán chạy nhất của cửa hàng.
+ Đầu vào: thông tin về sản phẩm.
+ Xử lý: hệ thống sẽ lựa chọn những mặt hàng có số lượng bán được nhiều nhất để trả về kết quả và hiển thị cho người dùng.
+ Đầu ra: thông tin về sản phẩm bán chạy nhất. b), Sơ đồ phân cấp chức năng phía giao diện
Hình 2.3: Sơ đồ phân cấp chức năng phía giao diện 3.2 Chức năng phía người quản trị hệ thống
Bảng 2.14: Mô tả chức năng phía người quản trị hệ thống
STT Chức năng Mô tả
1 Quản lý sản phẩm Quản lý thông tin hình ảnh sản phẩm, người quản trị có thể upload hình ảnh sản phẩm, nhập thông tin mô tả tính năng sản phẩm, giá cả, số lượng.
2 Quản lý danh mục sản phẩm
Quản lý thông tin danh mục sản phẩm bao gồm các chức năng thêm sửa, xóa danh mục sản phẩm
3 Quản lý đơn đặt hàng
Thống kê đơn đặt hàng đặt bởi khách hàng, xem tình trạng đơn đặt hàng như: đã giao, chi tiết đơn đặt hàng.
4 Chi tiết đơn đặt hàng
Hiển thị thông tin chi tiết đơn đặt hàng bao gồm thông tin về khách hàng, thông tin về các sản phẩm trong đơn hàng,nhân viên thực hiện giao đơn hàng, tình trạng đơn hàng, ghi chú của người quản trị.
Thêm mới, sửa, xóa thông tin người dùng.
6 Phản hồi Lưu trữ phản hồi của khách hàng. a), Chi tiết chức năng
CÀI ĐẶT HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
Các bước cài đặt Oracle và SQL Deverloper
- Bước 1: Tải file WINDOWN.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) trên trang chủ của Oracle.
- Bước 2: Vào This PC tạo thư mục app/oracle/product/19c/db_home1 và chuyển file vừa download vào thư mục db_home1.
Hình 3.1: File tải Oracle thành công
- Bước 3: Giải nén file vừa tải về và run phần setup.exe
Hình 3.2: Giải nén file tải và run file setup.exe
- Bước 4: Tiến hành cài đặt Oracle
Hình 3.3: Chọn Create and configure a single instance database (1) > Next (2)
Hình 3.4: Chọn Desktop class (1) > Next (2)
Hình 3.5: Chọn Advanced install (1) > Next (2)
Hình 3.6: Chọn Enterprise Edition (1) > Next (2)
Hình 3.7: Chọn Use Virtual Account (1) > Next (2)
Hình 3.8: Khai báo đường dẫn D:/app/oracle (1) > Next (2)
Hình 3.9: Chọn General Purpose / Transaction Processing (1) > Next (2)
Hình 3.10: Global database name và Oracle system identifier (SID) khai báo orcl (1) > Next
Hình 3.11: Tại Tab Memory (1) > Bỏ check Enable Automatic Memory Management và khai báo bộ nhớ RAM tại Allocate memory (2)
Hình 3.12: Chọn Tab Character sets (1) > Use Unicode (AL32UTF8) (2)
Hình 3.13: Tại Tab Sample schemas (1) > Check Install sample schemas in the database (2)
Hình 3.14: Chọn File system (1) > Specify database file location khai báo đường dẫn
Hình 3.15: Bỏ check Register with Enterprise Manager (EM) Cloud Control > Next
Hình 3.16: Chọn Check Enable Recovery (1) > File system (2) > Recovery area location khai báo đường dẫn D:\app\oracle\recovery_area (3) > Next (4)
Hình 3.17: Chọn Use the same password for all accounts (1) > Khai báo Password và Confirm password (2) vd Admin123 > Next (3)
Hình 3.18: Đang tiến hành kiểm tra cài đặt
Hình 3.22: Kiểm tra chắc chắn rằng OracleOraDB19Home1TNSListener và OracleServiceORCL đang Running (Start > Run > Services.msc > Enter) trước khi thực hiện các bước tiếp theo
- Bước 1: tải file sqldeveloper-19.4.0.354.1759-x64.zip trên trang chủ của Oracle.
Hình 3.23: File tải sqldeverloper thành công
- Bước 2: chuyển file vừa tải vào thư mục db_home1 và giải nén, chạy file sqldeverloper.exe
Hình 3.24: Chuyển file tải vào thư mục db_home1, giải nén và run sqldeverloper.exe
- Bước 3: Kết nối với Oracle
Hình 3.25: Chọn biểu tượng dấu cộng (1) > New Database Connection… (2)
- Bước 4: Đăng nhập với tài khoản và mật khẩu Oracle
Hình 3.26: Chọn tên Database và đăng nhập tài khoản Oracle
- Bước 5: Hoàn thành và viết code
Hình 3.27: Hoàn thành giao diện viết code Database
Tài khoản người dùng
2.1 Tạo tài khoản người dùng
- Bước 1: Kết nối tới sqlplus với quyền sysdba
+ Mở công cụ CMD, PowerShell trên Windown hoặc Terminal trên Linux, chạy lệnh connect tới Oracle Database với quyền sysdba:
Hình 3.28: Chạy câu lệnh sql / as sysdba
SQL> CREATE USER vinasupport IDENTIFIED BY vinasupport;
+ Nếu gặp phải lỗi sau: ORA-65096: invalid common user or role name, là do Oracle yêu cầu phải có tiền tố c## ở đầu username.
+ Có 2 cách để xử lý vấn đề này
Cách 1: Tạo username có tên c## vinasupport
Cách 2: Các bạn thực hiện command bên dưới trước, sau đó thực hiện lại câu lệnh SQL CREATE USER:
SQL> ALTER SESSION SET “_ORACLE_SCRIPT” = true;
- Bước 3: Gán vai trò (Roles)
SQL> GRANT CONNECT, RESOURCE, DBA TO vinasupport;
SQL> GRANT CREATE SESION TO vinasupport;
SQL> GRANT UNLIMITED TABLESPACE TO vinasupport;
- Bước 5: Kết nối tới Oracle Database
+ Giờ chúng ta sẽ kiểm tra xem đã có thể kết nối tới Oracle bằng User vừa tạo chưa nhé !
Kết nối sử dụng Oracle Sqlplus
Hình 3.29: Kết nối tài khoản Oracle với SQLPlus
Kết nối sử dụng Oracle SQL Developer
Hình 3.30: Kết nối tài khoản Oracle với SQL Developer
Đăng nhập tài khoản và khởi tạo Database
Hình 3.31: Đăng nhập tài khoản và kết nối tới Oracle 3.2.Khởi tạo Database a), Tạo bảng và nhập dữ liệu QUANTRIVIEN
Hình 3.32: Tạo bảng và nhập dữ liệu QUANTRIVIEN
Hình 3.33: Kết quả củatạo bảng và nhập dữ liệu QUANTRIVIEN b), Tạo bảng và nhập dữ liệu KHACHHANG
Hình 3.34: Tạo bảng và nhập dữ liệu KHACHHANG
Hình 3.35: Kết quả của tạo bảng và nhập dữ liệu KHACHHANG c), Tạo bảng và nhập dữ liệu SANPHAM
Hình 3.36: Tạo bảng và nhập dữ liệu SANPHAM
Hình 3.37: Kết quả của tạo bảng và nhập dữ liệu SANPHAM d), Tạo bảng và nhập dữ liệu DANHMUCSANPHAM
Hình 3.38: Tạo bảng và nhập dữ liệu DANHMUCSANPHAM
Hình 3.39: Kết quả của tạo bảng và nhập dữ liệu DANHMUCSANPHAM e), Tạo bảng và nhập dữ liệu DONDATHANG
Hình 3.40: Tạo bảng và nhập dữ liệu DONDATHANG
Hình 3.41: Kết quả của tạo bảng và nhập dữ liệu DONDATHANG f), Tạo bảng và nhập dữ liệu CHITIETDONDATHANG
Hình 3.42: Tạo bảng và nhập dữ liệu CHITIETDONDATHANG
Hình 3.43: Kết quả của tạo bảng và nhập dữ liệu CHITIETDONDATHANG g), Tạo bảng và nhập dữ liệu SANPHAMBAN
Hình 3.44: Tạo bảng và nhập dữ liệu SANPHAMBAN
Hình 3.45: Kết quả của tạo và nhập dữ liệu SANPHAMBAN h), Tạo bảng và nhập dữ liệu BINHLUAN
Hình 3.47: Kết quả tạo bảng BINHLUAN i), Tạo bảng và nhập dữ liệu NHACUNGCAP
Hình 3.48: Tạo bảng và nhập dữ liệu NHACUNGCAP
Hình 3.49: Kết quả của tạo bảng và nhập dữ liệu NHACUNGCAP k), Tạo bảng và nhập dữ liệu NHANVIENBANHANG
Hình 3.50: Tạo bảng và nhập dữ liệu NHANVIENBANHANG
Hình 3.51: Kết quả của tạo bảng và nhập dữ liệu NHANVIENBANHANG l), Tạo bảng và nhập dữ liệu GIOHANG
Hình 3.52:Câu lệnh tạo bảng GIOHANG
Hình 3.53: Kết quả của tạo bảng GIOHANG 3.3 Bài toán thực tế
Câu 1: Tạo Procedure để nhập dữ liệu cho bảng KHACHHANG, SANPHAM.
Hình 3.54: Câu lệnh tạo Procedure để nhập dữ liệu cho bảng khách hàng
Hình 3.55: Kết quả sau khi tạo Procedure và nhập dữ liệu khách hàng
Hình 3.56: Câu lệnh tạo Procedure để nhập dữ liệu cho bảng sản phẩm
Hình 3.57: Kết quả sau khi tạo Procedure và nhập dữ liệu sản phẩm
Câu 2: Cho biết thông tin những khách hàng có địa chỉ ở Hà Nội.
Hình 3.58: Câu lệnh lấy ra thông tin khách hàng có địa chỉ Hà Nội
Hình 3.59: Kết quả sau khi lấy ra thông tin khách hàng có địa chỉ Hà Nội
Câu 3: Tạo View tổng hợp thông tin về những khách hàng mua sản phẩm có mã sản phẩm là ‘IP11’.
Hình 3.60: Câu lệnh tạo View thông tin khách hàng mua có mã sản phẩm ‘IP11’
Hình 3.61: Kết quả sau khi thực thi câu lệnh
Câu 4: Cho biết thông tin sản phẩm bán có số lượng lớn nhất.
Hình 3.62: Câu lệnh lấy ra thông tin sản phẩm bán có số lượng lớn nhất
Hình 3.63: Kết quả sau khi thực thi câu lệnh
Câu 5: Cho biết thông tin sản phẩm bán có số lượng nhỏ nhất.
Hình 3.64: Câu lệnh lấy ra thông tin sản phẩm bán có số lượng nhỏ nhất
Hình 3.65: Kết quả sau khi thực thi câu lệnh
Câu 6: Tạo Procedure update số lượng mua lên 2 trong bảng chi tiết đơn hàng có mã đơn hàng là ‘DH05’.
Hình 3.66: Câu lệnh tạo Procedure update số lượng mua có mã đơn hàng là ‘DH05’
Hình 3.67: Kết quả sau khi thực thi câu lệnh
Câu 7: Cho biết thông tin tất cả sản phẩm có mã danh mục là ‘DM01’.
Hình 3.68: Câu lệnh lấy ra thông tin tất cả sản phẩm có danh mục là ‘DM01’
Hình 3.69: Kết quả sau khi thực thi câu lệnh
Câu 8: Đưa ra thông tin về các sản phẩm và tên nhà cung cấp có mã nhà cung cấp là
Hình 3.70: Câu lệnh lấy ra thông tin sản phẩm và tên nhà cung cấp có mã ‘NCC02’
Hình 3.71: Kết quả sau khi thực thi câu lệnh
Câu 9: Cho biết có tất cả bao nhiêu sản phẩm.
Hình 3.72: Câu lệnh đếm số sản phẩm
Hình 3.73: Kết quả sau khi thực thi câu lệnh
Câu 10: Tạo View cho biết những sản phẩm có giá >= 5000000.
Hình 3.74: Câu lệnh tạo View cho biết sản phẩm có giá >= 5000000
Hình 3.75: Kết quả sau khi thực thi câu lệnh
Sao lưu và khôi phục dữ liệu
- Là một quản trị viên cơ sở dữ liệu, quản trị hệ thống hoặc bất kỳ nhân viên nào được giao nhiệm vụ bảo vệ dữ liệu này cần phải biết sự quan trọng của dữ liệu đối với một số tổ chức Làm thế nào để đảm bảo dữ liệu luôn sẵn có? Đó chính là việc sao lưu dữ liệu này.
- Sao lưu là một bản sao chính xác của cơ sở dữ liệu, nó có thể giúp bạn tái tạo dữ liệu của bạn trong trường hợp mất dữ liệu. b), Tại sao cần sao lưu?
- Chúng ta xem xét một trường hợp đơn giản mà ngân hàng có dữ liệu về hàng triệu khách hàng gồm: số tài khoản, tên, chức vụ, số dư tài khoản, … và tổ chức đã đánh mất tất cả dữ liệu, làm cách nào để khách hàng phản hồi lại? Tổ chức sẽ đối phó với áp lực mất dữ liệu như thế nào? Làm thế nào họ có thể chịu trách nhiệm đối với rất nhiều khách hàng không hài long?
- Đây là lý do tại sao chúng ta sao lưu dữ liệu này để trong trường hợp có bất kỳ sự bất thường nào của bộ phận lưu trữ, bộ điều khiển đĩa (bộ điều khiển lưu trữ) chúng ta luôn có thể dựa vào bản sao lưu đã tạo để có thể khôi phục nó vào cơ sở dữ liệu, tránh mất bất kỳ dữ liệu của họ. c), Sao lưu như thế nào?
- Để sao lưu dữ liệu trong Oracle, chúng tôi có một số phương pháp Chúng có thể được phân loại rộng rãi như các sao lưu vật lý và logic.
- Sao lưu thông qua bên thứ ba – chẳng hạn như Veritas NetBackup, SAP, IBM Tivoli Manager, EMC, HP
- User quản lý sao lưu – Sao lưu cơ sở dữ liệu sử dụng các tiện ích hệ điều hành như sao chép (Windown), lệnh (unix).
- Dịch vụ Oracle Secure Backup
- Tiện ích tôi yêu thích nhất đó là – Recover Manager (RMAN).
- Các tiện ích / nhập thông thường và tiện ích Datapump Sao lưu logic là sao lưu các đối tượng dữ liệu logic như các bảng, các chỉ mục vv là các thành phần của một cơ sở dữ liệu độc lập với vị trí của các đối tượng trên.
- Phương pháp nào tốt nhất để sao lưu cơ sở dữ liệu?
+ Chúng ta cần phải hiểu rằng trừ khi bạn có một bản soa lưu vật lý tại chỗ, việc sao lưu không phải lúc nào cũng an toàn đối với những dữ liệu vật lý vị hư hỏng, các vấn đề về ổ đĩa cứng lưu trữ Có một bản sao lưu vật lý hợp lệ, có giá trị chính là chiến lược sao lưu và phục hồi tốt Luôn đảm bảo bạn có một bản sao lưu vật lý tại chỗ.
+ Trong thực tế, chúng ta có thể sử dụng bất kỳ phương pháp nào ở trên nhưng chúng ta luôn cần đảm bảo có một chiến lược sao lưu và phục hồi tốt nhằm tránh những trục trặc không cần thiết trong suốt quá trình hoạt động của cơ sở dữ liệu Chiến lược thử nghiệm khôi phục và phục hồi dữ liệu trên hệ thống thử nghiệm được nhân đôi luôn được khuyến cáo để chúng ta có thể dự đoán thời lượng cần thiết để cơ sở dữ liệu chạy và chạy trong trường hợp có bất kỳ tình huống mà ta không lường trước được. d), Làm thế nào để sao lưu cơ sở dữ liệu Oracle?
- 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:
+ Cơ sở dữ liệu đích (cơ sở dữ liệu mà bạn sẽ sao lưu, thực hiện phục hồi).
+ 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 sao lưu đơn giản để kết nối với cơ sở dữ liệu bằng cách sử dụng RMAN như sau:
Hình 3.76: Thực thi câu lệnh RMAN
- Vì chúng ta đã kết nối với cơ sở dữ liệu đích (ORACLE) nên chúng ta sẽ kich hoạt lệnh “Backup database”.
Hình 3.77: Thực thi câu lệnh Backup database
- Để xem chi tiết về sao lưu mà chúng ta vừa tạo, chúng ta sẽ thực hiện: RMAN> list backup;
Hình 3.78: Thực thi câu lệnh List backup
- Để xác nhận bản sao lưu, chúng ta có thể sử dụng lệnh: RMAN> BACKUPVALIDATE DATABASE;
Hình 3.79: Thực thi câu lệnh Backup validate database
- Bước 1: Kiểm tra xem Oracle Databse 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;
Hình 3.80: Kiểm tra thư mục Dump
+ 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:
Hình 3.81:Câu lệnh tạo thư mục Dump
+ 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:
Với American UTF8 (UNIX) (trên Linux)
Hình 3.82: Câu lệnh UTF8 trên Linux
Trên Windown sử dụng command, ví dụ với charset Japanese UTF8:
Hình 3.83: Câu lệnh UTF8 trên Windown
- Bước 3: Sao lưu dữ liệu
+ Mở terminal trên Linux, hoặc CMD/Powershell trên Windown, gõ command bên dưới để tiến hành sao lưu.
+ Chú ý: Trên Linux, các bạn cần đăng nhập với User là Oracle để thực hiện command bên dưới:
Hình 3.84: Tiến hành sao lưu
là tên Oracle User
là mật khẩu của Oracle User
tên file backup
Hình 3.85: Tiến hành sao lưu 4.2.Khôi phục dữ liệu trong Oracle
- Để khôi phục dữ liệu trên Oracle Database sử dụng command sau:
Hình 3.86: Câu lệnh khôi phục dữ liệu
Sys là User system mặc định của hệ thống.
là password của sys user.
là service name của Oracle Database.
là đường dẫn của file dump (backup).
Hình 3.87: Chạy câu lệnh thực thi phục hồi dữ liệu