



















Preview text:
lOMoARcP SD| 58886 076
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á KHOA: 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
TÊN BÀI TẬP LỚN: XÂY DỰNG DỮ LIỆU QUẢN LÝ CỬA
HÀNG BÁN ĐIỆN THOẠI HMQ MOBILE BẰNG ORACLE Sinh viên thực Lớp Khóa Mã sinh viên hiện Nguyễn Văn Hào CNTT-1 11 20201078 Phạm Trọng Minh CNTT-1 11 20201022 Trần Đình Quân CNTT-1 11 20200140
Bắc Ninh, tháng 10 năm 2022 lOMoARcP SD| 58886076
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á KHOA: 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 Nhóm: 10
TÊN BÀI TẬP LỚN: XÂY DỰNG HỆ THỐNG QUẢN
LÝ CỬA HÀNG BÁN ĐIỆN THOẠI HMQ MOBILE BẰNG ORACLE STT Sinh viên thực hiện Mã sinh viên Điểm bằng số Điểm bằng chữ 1 Nguyễn Văn Hào 20201078 2 Phạm Trọng Minh 20201022 3 Trần Đình Quân 20200140 CÁN BỘ CHẤM 1 CÁN BỘ CHẤM 2 (Ký và ghi rõ họ tên) (Ký và ghi rõ họ tên)
Bắc Ninh, tháng 10 năm 2022 lOMoARcP SD| 58886076 LỜI NÓI ĐẦU
Hiện nay, dưới sự phát triển của công nghệ thông tin, đặc biệt là lĩnh vực thương
mại điện tử đã giúp các cá nhân, doanh nghiệp có mặt hàng dễ dàng tiếp cận được với
người tiêu dùng. Hầu hết họ đều có hệ thống để quảng cáo, giới thiệu về sản phẩm của
mình. Để áp dụng vào kiến thức của môn học Hệ quản trị cơ sở dữ liệu chúng em đã
chọn đề tài : “Xây dựng hệ thống quản lý cửa hàng bán điện thoại HMQ Mobile”
để làm làm bài tập lớn cho môn học. Phần mềm để chúng em xây dựng hệ thống là hệ
quản trị cơ sở dữ liệu Oracle. Thực hiện bài tập lớn là cơ hội để chúng em áp dụng, tổng
hợp các kiến thức đã học trên lớp, đồng thời đúc kết được những bài học thực tế phục
vụ cho việc học tập và làm việc sau này. Mặc dù đã rất cố gắng thực hiện đề tài nhưng
vì năng lực cũng như thời gian còn hạn chế nên chương trình khó tránh khỏi những thiết
xót, rất mong thầy thông cảm. Những góp ý của thầy là bài học, là hành trang để chúng
em vững bước trên con đường sự nghiệp sau này. Qua đây, em xin trân trọng cám ơn
Thầy Lê Văn Phong, người đã giảng dạy, hướng dẫn và chỉ bảo cho chúng em trong quá
trình thực hiện, hoàn thành đề tài. lOMoARcP SD| 58886076 MỤC LỤC
CHƯƠNG I: CƠ SỞ LÝ THUYẾT VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU................1
I. Lý thuyết về cơ sở dữ
liệu.........................................................................................1
1.1. Khái niệm.............................................................................................................1
1.2. Mô hình cơ sở dữ liệu...........................................................................................1
1.3. Các đối tượng sử dụng cơ sở dữ liệu....................................................................4
1.4. Ưu nhược điểm của cơ sở dữ liệu.........................................................................5
II. Hệ quản trị cơ sở dữ liệu.........................................................................................5
2.1. Khái niệm.............................................................................................................5
2.2. Đặc điểm của hệ quản trị cơ sở dữ liệu.................................................................5
2.3. Chức năng của hệ quản trị cơ sở dữ liệu...............................................................5
III. Hệ quản trị cơ sở dữ liệu Oracle...........................................................................7
3.1. Khái niệm.............................................................................................................7
3.2.Lịch sử hình thành của cơ sở dữ liệu Oracle..........................................................7
3.3. Kiến trúc của cơ sở dữ liệu Oracle.......................................................................8
3.4. Tính năng và tùy chọn tiêu biểu của Oracle Database..........................................8
3.5. Lý do nên sử dụng phần mềm Oracle...................................................................9
3.6. Ưu điểm và nhược điểm của Oracle...................................................................10
CHƯƠNG II: THIẾT KẾ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU HỆ THỐNG.............11
I. Phân tích, thiết kế hệ thống
CSDL.........................................................................11
2.1. Phân tích hệ thống:.............................................................................................11
2.2 Thiết kế hệ thống CSDL:.....................................................................................11
II. Mô hình dữ liệu quan hệ.......................................................................................17
2.1. Mô hình quan hệ.................................................................................................17
2.2.Mô hình ERD......................................................................................................18
III. Phân tích chức năng.............................................................................................18
3.1. Chức năng phía giao diện...................................................................................18
3.2. Chức năng phía người quản trị hệ thống.............................................................21
CHƯƠNG III: CÀI ĐẶT HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU.....................................25
I. Các bước cài đặt Oracle và SQL Deverloper........................................................25
1.1. Cài đặt Oracle.....................................................................................................25 lOMoARcP SD| 58886076
1.2. Cài đặt SQL Deverloper.....................................................................................35
II.Tài khoản người dùng............................................................................................38
2.1. Tạo tài khoản người dùng...................................................................................38
III. Đăng nhập tài khoản và khởi tạo Database........................................................40
3.1.Đăng nhập tài khoản............................................................................................40
3.2.Khởi tạo Database...............................................................................................40
3.3. Bài toán thực tế...................................................................................................47
IV. Sao lưu và khôi phục dữ liệu...............................................................................52
4.1.Sao lưu................................................................................................................52
4.2.Khôi phục dữ liệu trong Oracle...........................................................................57
KẾT LUẬN.....................................................................................................................59
TÀI LIỆU THAM KHẢO.............................................................................................60 lOMoARcP SD| 58886076 DANH MỤC BẢNG BIỂU
Bảng 2.1: QuanTriVien.................................................................................................................11
Bảng 2.2: GioHang.......................................................................................................................12
Bảng 2.3: KhachHang...................................................................................................................12
Bảng 2.4: SanPham.......................................................................................................................13
Bảng 2.5: DanhMucSanPham.......................................................................................................13
Bảng 2.6: DonDatHang................................................................................................................14
Bảng 2.7: ChiTietDonDatHang....................................................................................................14
Bảng 2.8: SanPhamBan................................................................................................................14
Bảng 2.9: BinhLuan......................................................................................................................15
Bảng 2.10: NhaCungCap..............................................................................................................15
Bảng 2.11: NhanVienBanHang.....................................................................................................15
Bảng 2.12: Mô tả chức năng phía giao diện.................................................................................17
Bảng 2.14: Mô tả chức năng phía người quản trị hệ thống..........................................................20 lOMoARcP SD| 58886076 DANH MỤC HÌNH
Hình 1.1: Ví dụ của mô hình phân cấp........................................................................................................1
Hình 1.2: Ví dụ của mô hình mạng.............................................................................................................2
Hình 1.3: Mô tả dữ liệu được tổ chức theo kiểu quan hệ............................................................................3
Hình 1.4: Ví dụ của mô hình dữ liệu hướng đối tượng ............................................................................... 12
Hình 2.1: Mô hình quan hệ ......................................................................................................................... 25
Hình 2.2: Mô hình ERD của hệ thống......................................................................................................... 25
Hình 2.3: Sơ đồ phân cấp chức năng phía giao diện................................................................................21
Hình 2.4: Sơ đồ phân cấp chức năng người quản trị hệ thống..................................................................24
Hình 3.1: File tải Oracle thành công........................................................................................................25
Hình 3.2: Giải nén file tải và run file setup.exe.........................................................................................25
Hình 3.3: Chọn Create and configure a single instance database. (1) > Next (2).....................................26
Hình 3.4: Chọn Desktop class (1) > Next (2)............................................................................................26
Hình 3.5: Chọn Advanced install (1) > Next (2).......................................................................................27
Hình 3.6: Chọn Enterprise Edition (1) > Next (2).....................................................................................27
Hình 3.7: Chọn Use Virtual Account (1) > Next (2)..................................................................................28
Hình 3.8: Khai báo đường dẫn D:/app/oracle (1) > Next (2)...................................................................28
Hình 3.9: Chọn General Purpose / Transaction Processing (1) > Next (2)..............................................29
Hình 3.10: Global database name và Oracle system identifier (SID) khai báo orcl (1) > Next (2).........29
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)...................................................................................................................30
Hình 3.12: Chọn Tab Character sets (1) > Use Unicode (AL32UTF8) (2)..............................................30
Hình 3.13: Tại Tab Sample schemas (1) > Check Install sample schemas in the database (2) > Next (3)
..................................................................................................................................................................31
Hình 3.14: Chọn File system (1) > Specify database file location khai báo đường dẫn
D:/app/oracle/oradata (2) > Next (3).......................................................................................................31
Hình 3.15: Bỏ check Register with Enterprise Manager (EM) Cloud Control > Next.............................32
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)......................................................................................32
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)......................................................................................................33
Hình 3.18: Đang tiến hành kiểm tra cài đặt..............................................................................................33
Hình 3.19: Nhấn install.............................................................................................................................34
Hình 3.20: Cài đặt oracle.........................................................................................................................34
Hinh 3.21: Hoàn thành.............................................................................................................................35
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 lOMoARcP SD| 58886076
bước tiếp theo............................................................................................................................................35
Hình 3.23: File tải sqldeverloper thành công...........................................................................................36
Hình 3.24: Chuyển file tải vào thư mục db_home1, giải nén và run sqldeverloper.exe.............................36
Hình 3.25: Chọn biểu tượng dấu cộng (1) > New Database Connection… (2).........................................37
Hình 3.26: Chọn tên Database và đăng nhập tài khoản Oracle................................................................37
Hình 3.27: Hoàn thành giao diện viết code Database...............................................................................38
Hình 3.28: Chạy câu lệnh sql / as sysdba..................................................................................................38
Hình 3.29: Kết nối tài khoản Oracle với SQLPlus....................................................................................39
Hình 3.30: Kết nối tài khoản Oracle với SQL Developer..........................................................................40
Hình 3.31: Đăng nhập tài khoản và kết nối tới Oracle.............................................................................40
Hình 3.32: Tạo bảng và nhập dữ liệu QUANTRIVIEN.............................................................................41
Hình 3.33: Kết quả của tạo bảng và nhập dữ liệu QUANTRIVIEN..........................................................41
Hình 3.34: Tạo bảng và nhập dữ liệu KHACHHANG...............................................................................42
Hình 3.35: Kết quả của tạo bảng và nhập dữ liệu KHACHHANG............................................................42
Hình 3.36: Tạo bảng và nhập dữ liệu SANPHAM.....................................................................................42
Hình 3.37: Kết quả của tạo bảng và nhập dữ liệu SANPHAM..................................................................42
Hình 3.38: Tạo bảng và nhập dữ liệu DANHMUCSANPHAM.................................................................43
Hình 3.39: Kết quả của tạo bảng và nhập dữ liệu DANHMUCSANPHAM.............................................43
Hình 3.40: Tạo bảng và nhập dữ liệu DONDATHANG............................................................................43
Hình 3.41: Kết quả của tạo bảng và nhập dữ liệu DONDATHANG.........................................................44
Hình 3.42: Tạo bảng và nhập dữ liệu CHITIETDONDATHANG.............................................................44
Hình 3.43: Kết quả của tạo bảng và nhập dữ liệu CHITIETDONDATHANG...........................................44
Hình 3.44: Tạo bảng và nhập dữ liệu SANPHAMBAN.............................................................................45
Hình 3.45: Kết quả của tạo và nhập dữ liệu SANPHAMBAN...................................................................45
Hình 3.46: Tạo bảng BINHLUAN.............................................................................................................45
Hình 3.47: Kết quả tạo bảng BINHLUAN.................................................................................................46
Hình 3.48: Tạo bảng và nhập dữ liệu NHACUNGCAP............................................................................46
Hình 3.49: Kết quả của tạo bảng và nhập dữ liệu NHACUNGCAP..........................................................46
Hình 3.50: Tạo bảng và nhập dữ liệu NHANVIENBANHANG.................................................................46
Hình 3.51: Kết quả của tạo bảng và nhập dữ liệu NHANVIENBANHANG..............................................47
Hình 3.52: Câu lệnh tạo bảng GIOHANG................................................................................................47
Hình 3.53: Kết quả của tạo bảng GIOHANG............................................................................................47
Hình 3.54: Câu lệnh tạo Procedure để nhập dữ liệu cho bảng khách hàng..............................................48
Hình 3.56: Câu lệnh tạo Procedure để nhập dữ liệu cho bảng sản phẩm.................................................48
Hình 3.57: Kết quả sau khi tạo Procedure và nhập dữ liệu sản phẩm......................................................48
Hình 3.58: Câu lệnh lấy ra thông tin khách hàng có địa chỉ Hà Nội........................................................49
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..............................................49 lOMoARcP SD| 58886076
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’...................................49
Hình 3.61: Kết quả sau khi thực thi câu lệnh............................................................................................49
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................................................49
Hình 3.63: Kết quả sau khi thực thi câu lệnh............................................................................................49
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...............................................50
Hình 3.65: Kết quả sau khi thực thi câu lệnh............................................................................................50
Hình 3.66: Câu lệnh tạo Procedure update số lượng mua có mã đơn hàng là ‘DH05’.............................50
Hình 3.67: Kết quả sau khi thực thi câu lệnh............................................................................................50
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’........................................50
Hình 3.69: Kết quả sau khi thực thi câu lệnh............................................................................................51
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’..............................51
Hình 3.71: Kết quả sau khi thực thi câu lệnh............................................................................................51
Hình 3.72: Câu lệnh đếm số sản phẩm......................................................................................................51
Hình 3.73: Kết quả sau khi thực thi câu lệnh............................................................................................51
Hình 3.74: Câu lệnh tạo View cho biết sản phẩm có giá >= 5000000......................................................52
Hình 3.75: Kết quả sau khi thực thi câu lệnh............................................................................................52
Hình 3.76: Thực thi câu lệnh RMAN.........................................................................................................54
Hình 3.77: Thực thi câu lệnh Backup database.........................................................................................54
Hình 3.78: Thực thi câu lệnh List backup.................................................................................................55
Hình 3.79: Thực thi câu lệnh Backup validate database...........................................................................55
Hình 3.80: Kiểm tra thư mục Dump..........................................................................................................56
Hình 3.81:Câu lệnh tạo thư mục Dump....................................................................................................56
Hình 3.82: Câu lệnh UTF8 trên Linux......................................................................................................56
Hình 3.83: Câu lệnh UTF8 trên Windown................................................................................................56
Hình 3.84: Tiến hành sao lưu....................................................................................................................57
Hình 3.85: Tiến hành sao lưu....................................................................................................................57
Hình 3.86: Câu lệnh khôi phục dữ liệu.....................................................................................................58
Hình 3.87: Chạy câu lệnh thực thi phục hồi dữ liệu..................................................................................58
CHƯƠNG I: CƠ SỞ LÝ THUYẾT VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
I. Lý thuyết về cơ sở dữ liệu 1.1. Khái niệm
- 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 lOMoARcP SD| 58886076 -
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ấydữ 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 - Ư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.
+ Ngôn ngữ thao tác đơn giản (duyệt cây). - Nhược điểm:
+ 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) lOMoARcP SD| 58886076 -
Mô hình mạng chỉ được sử dụng phổ biến vào cuối những năm 60, và
được địnhnghĩ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 - Ư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) - Nhược điểm:
+ 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ênlý 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ệ. lOMoARcP SD| 58886076
Hình 1.3: 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 hóa các xử lý phong phú. - Nhược điểm:
+ 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áctrê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 - Ưu điểm:
+ Dễ dàng biểu diễn cái mà con người nhân từ thế giới thực. lOMoARcP SD| 58886076
+ 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ể. - Nhược điểm:
+ 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,
đốitượ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ườidung 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 - Ưu điểm:
+ 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:
+ 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. + Tranh chấp dữ liệu.
+ Cần đảm bảo an toàn dữ liệu khi có sự cố.
II. Hệ quản trị cơ sở dữ liệu 2.1. Khái niệm
- 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. lOMoARcP SD| 58886076
- 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ệukhá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ênquan đế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ậpnhiề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 lOMoARcP SD| 58886076
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ựcsinh 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ăngnà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 đượcnhữ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ể.
III. Hệ quản trị cơ sở dữ liệu Oracle 3.1. Khái niệm
- 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. lOMoARcP SD| 58886076
+ 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ốngquả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ĩnhvự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ảnlý 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. lOMoARcP SD| 58886076
+ 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ìnhtrạ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. - Tính năng quản lý + 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- Hiệu suất:
+ 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 lOMoARcP SD| 58886076 -
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 -
Oracle sử dụng tính năng Recovery Manager, giúp khôi phục,
phục hồi các filedữ liệu trong thời gian downtime. Người dùng có thể backup
dữ liệu online và lưu trữ chúng trên các backup do người dùng quản lý. Ngoài
ra, người dùng có thể sử dụng SQL plus để recovery trong quá trình sử dụng.
3.6. Ưu điểm và nhược điểm của Oracle- Ưu điểm:
+ Sự ổn định cao, dữ liệu luôn trong trạng thái sẵn sàng để truy cập.
+ Khả năng đáp ứng nhanh: tạo ra hệ thống quản trị dữ liệu quy mô lớn với tốc độ
truy vấn nhanh, chính xác.
+ Khả năng bảo mật tốt, giám sát chống xâm nhập trái phép.
+ Hoạt động đa nền tảng: có khả năng hoạt động trên nhiều nền tảng khác nhau của
một công ty lớn, dữ liệu phức tạp.
+ Hỗ trợ từ nhà phát triển: các sự có xảy ra sẽ được hãng phát hành tư vấn, hỗ trợ giải quyết. - Nhược điểm:
+ Chi phí bản quyền khá lớn, đặc biệt là khó với những công ty đang phát triển như Việt Nam.
+ Rào cản khi chưa tương thích với các công nghệ, ứng dụng phát triển bởi Microsoft.
+ Ngôn ngữ sử dụng là Java nên khó khăn trong việc tiếp cận các công cụ thiết kế, lập trình.
CHƯƠNG II: THIẾT KẾ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU HỆ THỐNG
I. Phân tích, thiết kế hệ thống CSDL
2.1. Phân tích hệ thống:
- Để 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ữngthực thể sau: QuanTriVien, KhachHang, ChiTietDonDatHang,
NhanVienBanHang, SanPham, DanhMucSanPham, GioHang, DonDatHang,
SanPhamBan, BinhLuan, NhaCungCap. - Chi tiết thực thể:
+ 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. lOMoARcP SD| 58886076
+ 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: Bảng 2.1: QuanTriVien STT Thuộc tính Kiểu dữ liệu Độ dài Khóa 1 MaQTV Char 10 Khóa chính 2 TenTaiKhoan Varchar 50 3 MatKhau Varchar 50 4 HoTenQTV Varchar 50 5 GioiTinh Char 10 6 DiaChi Varchar 100 7 SDTQTV Char 10 8 Luong Float - Chi tiết thuộc tính:
+ 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ị. lOMoARcP SD| 58886076
+ 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. Bảng 2.2: GioHang STT Thuộc tính Kiểu dữ liệu Độ dài Khóa 1 MaGH Char 10 Khóa chính 2 MaKH Char 10 Khóa chính 3 TenSP Varchar 100 4 SoLuong Int 5 GiaTien Float - Chi tiết thuộc tính:
+ 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. Bảng 2.3: KhachHang STT Thuộc tính Kiểu dữ liệu Độ dài Khóa 1 MaKH Char 10 Khóa chính 2 TenTaiKhoanKH Char 50 3 MatKhau Char 50 4 HoTenKH Varchar 50 5 GioiTinh Varchar 10 6 QueQuan Varchar 100 7 SoDienThoai Char 10 - Chi tiết thuộc tính: