Tải bản đầy đủ (.pdf) (45 trang)

Bài Tập Lớn Hệ Quản Trị Cơ Sở Dữ Liệu Oracle Tên Đề Tài Phân Tích, Thiết Kế Cơ Sở Dữ Liệu Cửa Hàng Bán Hóa Chất.pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.54 MB, 45 trang )

lOMoARcPSD|38590726

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á

BÀI TẬP LỚN

HỌC PHẦN: HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ORACLE
Giảng viên: Lê Văn Phong
TÊN ĐỀ TÀI:

PHÂN TÍCH, THIẾT KẾ CƠ SỞ DỮ LIỆU CỬA HÀNG BÁN HÓA CHẤT
Nhóm trưởng: Nguyễn Anh Vinh
Nhóm: 7

Sinh viên thực hiện Khóa Lớp Mã sinh viên
K11 DC.CNTT11.10.1 20200122
Nguyễn Anh Vinh K11 DC.CNTT11.10.1 20200125

Nguyễn Hồng K11 DC.CNTT11.10.1 20201700
Quân

Nguyễn Đức
Hoàng

Downloaded by BINH NGUYEN ()

lOMoARcPSD|38590726

BỘ GIÁO DỤC VÀ ĐÀO TẠO


TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á

BÀI TẬP LỚN

HỌC PHẦN: HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ORACLE
Giảng viên: Lê Văn Phong
TÊN ĐỀ TÀI:

PHÂN TÍCH, THIẾT KẾ CƠ SỞ DỮ LIỆU CỬA HÀNG BÁN HÓA CHẤT
Nhóm trưởng: Nguyễn Anh Vinh
Nhóm: 7

STT Sinh viên thực hiện Điểm bằng Điểm bằng
số chữ

1 Nguyễn Anh Vinh

2 Nguyễn Hồng

Quân

3 Nguyễn Đức

Hoàng

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)

Downloaded by BINH NGUYEN ()


lOMoARcPSD|38590726

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 về cơ sở dữ liệu 1

1.2. Mơ hình cơ sở dữ liệu 1

II. Hệ quản trị Cơ sở dữ liệu 3

2.1. Hệ quản trị cơ sở dữ liệu là gì? 3

2.2. Một số hệ quản trị CSDL 4

III. Hệ quản trị CSDL Oracle 7

3.1. Oracle là gì? 7

3.2. Lịch sử của lập trình Oracle 8

3.3. Cấu 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 hệ quản trị cơ sở dữ liệu Oracle 8

3.5. Lợi ích của Oracle mang lại là gì? 9


CHƯƠNG II: THIẾT KẾ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU HỆ THỐNG 10

I. Phân tích, thiết kế hệ thống CSDL 10

1.1. Mục đích thiết kế hệ thống shop bán hóa chất Vinh Quân 10

1.2. Thiết kế hệ thống CSDL 10

II. Mơ hình dữ liệu quan hệ 11

2.1. Sơ đồ diagram (truy xuất trực tiếp từ cơ sở dữ liệu oracle) 11

2.2. Mơ hình quan hệ ERD (Bản vẽ tay) 11

2.3. Cơ sở dữ liệu cửa hàng bán hóa chất. 11

III. Yêu cầu với hệ thống thông tin 17

3.1. Yêu cầu với hệ thống thông tin shop bán hóa chất 17

IV. Phân tích chức năng 19

4.1. Chức năng của hệ thống 19

CHƯƠNG III: CÀI ĐẶT HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU 20

Downloaded by BINH NGUYEN ()

lOMoARcPSD|38590726


I. Các bước cài đặt 20

1.1. Cài đặt 20

II. Tài khoản người dùng 23

2.1. Tạo tài khoản người dùng 23

III. Đăng nhập tài khoản và khởi tạo Database 29

IV. Bài toán thực tế 29

4.1. Đặt giải thiết cho bài toán 29

4.2. Giải các bài toán thực tế 29

V. Sao lưu và khôi phục dữ liệu 32

5.1. Sao lưu dữ liệu 32

5.2. Khôi phục dữ liệu 37

KẾT LUẬN 39

TÀI LIỆU THAM KHẢO 40

Downloaded by BINH NGUYEN ()

lOMoARcPSD|38590726


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 về cơ sở dữ liệu
Cơ sở dữ liệu là gì?

Một cơ sở dữ liệu (CSDL) là một tập hợp các dữ liệu có liên quan với nhau,
được lưu trữ 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, CSDL 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.

Ví dụ, để quản lý việc học tập trong một môi trường đại học, các dữ liệu là các
thông tin về sinh viên, về các mơn học, điểm thi... Các dữ liệu đó được tổ chức thành
các bảng và lưu giữ chúng vào sổ sách hoặc sử dụng một phần mềm máy tính để lưu
giữ chúng trên máy tính. Ta có một tập các dữ liệu có liên quan đến nhau và mang
nhiều ý nghĩa, đó là một cơ sở dữ liệu.
1.2. Mơ hình cơ sở dữ liệu

Mơ hình dữ liệu là một khn 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 tố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:

1

Downloaded by BINH NGUYEN ()

lOMoARcPSD|38590726

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).
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à 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)

Nhược điểm:

 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 đượcc 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 tố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ô

2

Downloaded by BINH NGUYEN ()

lOMoARcPSD|38590726


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ú

Nhược điểm:

 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ể.

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

Ư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
 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. Hệ quản trị cơ sở dữ liệu là gì?

Hệ quản trị cơ sở dữ liệu (DBMS) là một phần mềm cho phép tạo lập các CSDL
cho các ứng dụng khác nhau và điều khiển mọi truy cập tới các CSDL đó. Nghĩa là, hệ
quản trị CSDL cho phép định nghĩa (xác định kiểu, cấu trúc, ràng buộc dữ liệu), tạo
lập (lưu trữ dữ liệu trên các thiết bị nhớ) và thao tác (truy vấn, cập nhật, kết xuất, ...)

3

Downloaded by BINH NGUYEN ()

lOMoARcPSD|38590726

các CSDL cho các ứng dụng khác nhau. Ví dụ: MS. Access, MS. SQL Server,
ORACLE, IBM DB2, ...

-- Bộ Quản lý lưu trữ

Lưu trữ và truy xuất dữ liệu trên các thiết bị nhớ.
Tổ chức tối ưu dữ liệu trên thiết bị nhớ.
Tương tác hiệu quả với bộ quản lý tệp.

-- Bộ xử lý câu hỏi

 Tìm kiêốm dữ liệu trả lời cho một yêu câồu truy vâốn.
 Biêốn đổi truy vâốn ở mức cao thành các yêu câồu có thể hiểu được bởi hệ CSDL.
 Lựa chọn một kêố hoạch tốốt nhâốt để trả lời truy vânố này.

-- Bộ Quản trị giao dịch

 Định nghĩa giao dịch: một tập các thao tác được xử lý như một đơn vị khống chia
căt được.

 Đảm bảo tính đúng đănố và tính nhâốt quán của dữ liệu.
 Quản lý điêồu khiển tương tranh.
 Phát hiện lốễi và phục hốồi CSDL

2.2. Một số hệ quản trị CSDL
1. MySQL

MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và
được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Vì MySQL
là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên
nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh. Với tốc độ
và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy nhập CSDL trên
internet. Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho
các hệ điều hành dòng Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell
NetWare, SGI Irix, Solaris, SunOS, ...


MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ lập trình
khác, nó làm nơi lưu trữ thơng tin của các trang web viết bằng PHP hay Perl.

MySQL hiện nay có 2 phiên bản (version): miễn phí (MySQL Community
Server) và có phí (Enterprise Server).

4

Downloaded by BINH NGUYEN ()

lOMoARcPSD|38590726

-- Một số đặc điểm của MySQL
MySQL quản lý dữ liệu thơng qua các CSDL, mỗi CSDL có thể có nhiều bảng

quan hệ, chứa dữ liệu.
MySQL có cơ chế phân quyền người sử dụng riêng, mỗi người dùng có thể

được quản lý một hoặc nhiều CSDL khác nhau, mỗi người dùng có một tên truy cập
(username) và mật khẩu (password) tương ứng để truy xuất đến CSDL.

Khi ta truy vấn tới CSDL MySQL, ta phải cung cấp tên truy cập và mật khẩu
của tài khoản có quyền sử dụng CSDL đó. Nếu khơng, chúng ta sẽ khơng làm được gì
cả giống như quyền chứng thực người dùng trong SQL Server vậy.
2. SQL Server

Microsoft SQL Server là một hệ quản trị cơ sở dữ, cung cấp cách tổ chức dữ
liệu bằng cách lưu chúng vào các bảng. Dữ liệu quan hệ được lưu trữ trong các bảng
và các quan hệ đó được định nghĩa giữa các bảng với nhau. Người dùng truy cập dữ

liệu trên Server thông qua ứng dụng. Người quản trị CSDL truy cập Server trực tiếp để
thực hiện các chức năng cấu hình, quản trị và thực hiện các thao tác bảo trì CSDL.
Ngồi ra, SQL Server là một CSDL có khả năng mở rộng, nghĩa là chúng có thể lưu
một lượng lớn dữ liệu và hỗ trợ tính năng cho phép nhiều người dùng truy cập dữ liệu
đồng thời. Các phiên bản của SQL Server phổ biến hiện này trên thị trường là SQL
Server 7.0, SQL Server 2000, SQL Server 2005, SQL Server 2008, ...
Các phiên bản của SQL Server gồm 6 bản chính dưới đây:

Enterpise Manager: Là phiên bản đầy đủ của SQL Server có thể chạy trên
32CPU và 64GB RAM. Có các dịch vụ phân tích dữ liệu Analysis Service.

Standard: Giống như Enterprise nhưng bị hạn chế một số tính năng cao cấp, có
thể chạy trên 2CPU, 4GB RAM.

Personal: Phiên bản này chủ yếu để chạy trên PC, nên có thể chạy trên các hệ
điều hành Windows 9x, Windows XP, Windows 2000, Windows 2003...

Là phiên bản tương tự như Enterprise nhưng bị giới hạn bởi số user kết nối đến.
Desktop Engine: Là phiên bản một engine chỉ chạy trên desktop và khơng có
giao diện người dùng (GUI), kích thước CSDL giới hạn bởi 2GB.
Win CE: Sử dụng cho các ứng dụng chạy trên Windows CE.
Trial: Phiên bản dùng thử, bị giới hạn bởi thời gian.

5

Downloaded by BINH NGUYEN ()

lOMoARcPSD|38590726

SQL Client: Là phiên bản dành cho máy khách, khi thực hiện khai thác sẽ thực

hiện kết nối đến phiên bản SQL Server, phiên bản này cung cấp giao diện GUI khai
thác cho người sử dụng.

SQL Connectivity only: Là phiên bản sử dụng chỉ cho các ứng dụng để kết nối
đến SQL Server, phiên bản này không cung cấp công cụ GUI cho người dùng khai
thác SQL Server.
3. DB2

DB2 là một trong các dòng phần mềm quản trị cơ sở dữ liệu quan hệ của hãng
IBM. Nó được phát hành đầu tiên vào năm 1982 và hiện đang sẵn dùng cho một phạm
vị rộng các nền hệ điều hành, được dùng chủ yếu trên Unix (thường gọi AIX), Linux,
IBM i (trước đây là OS/400), z/OS and Windows Servers. DB2 sử dụng ngôn ngữ SQL
để đọc và viết thông tin vào dữ liệu.
Các phiên bản của DB2:

DB2 for Z/OS: cung cấp các tính năng của DB2 cho các hệ thống máy chủ.
DB2 Personal Edition: cung cấp cho người dùng đơn lẻ trên một máy tính cá
nhân.
DB2 Enterprise Server Edition (ESE) là một RDBMS hoàn chỉnh với cài đặt
khách/chủ (client/server setup)
DB2 Workgroup Server Editon (WSE) chủ yếu nhằm đến các doanh nghiệp từ
nhỏ đến vừa với tất cả các tính năng của DB2 ESE, trừ kết nối với máy tính lớn.
4. Oracle
Khơng có gì ngạc nhiên khi Oracle được xem là hệ quản trị cơ sở dữ liệu phổ
biến nhất thế giới. Oracle luôn dẫn đầu trong nhiều năm từ khi ra đời năm 1979. Điều
có thể nói về Oracle là “hệ thống phức tạp nhưng mạnh mẽ”. Oracle đang phát triển
hướng đến mơ hình dữ liệu đám mây trong phiên bản 12c, cho phép các công ty củng
cố và quản lý cơ sở dữ liệu như là các dịch vụ đám mây.
Các phiên bản:


 Phiên bản 1 (năm 1977), Phiên bản 2 (năm 1979)
 Phiên bản 3 (năm 1983), Phiên bản 4 (1984)
 Phiên bản 5 phát hành năm 1985 (SQLNet: hệ thốống khách/chủ (client/server)).
 Phiên bản 6 phát hành năm 1988 (Sequence, thao tác ghi trêễ).

Oracle7 được phát hành năm 1992 (SQL*DBA).
Năm 1999 Oracle giới thiệu Oracle8i (i: internet).

6

Downloaded by BINH NGUYEN ()

lOMoARcPSD|38590726

 Năm 2001-2002: 2 phiên bản Oracle9i (Release 1&2).
 Năm 2004-2005: 2 phiên bản Oracle10g (g: Grid) (Release 1&2).
 Năm 2007 – 2009: 2 phiên bản 11g (Release 1&2)
 Năm 2013 – 2017: 2 phiên bản 12c (Release 1&2)
 Năm 2018: Phiên bản 18c

Các release phổ biến hiện nay (10g, 11g, 12c) có 5 phiên bản sau:
Oracle Database Express Edition (Oracle Database XE): là phiên bản đơn giản

nhất, download nhanh chóng, cài đặt và quản lý đơn giản, miễn phí cho lập trình, triển
khai và mở rộng.

Oracle Database Standard Edition One
Oracle Database Standard Edition
Oracle Database Enterprise Edition: là phiên bản mạnh mẽ nhất, cung cấp nhiều
tính năng bảo mật cao cấp, giúp cho các cơng ty quản lý truy xuất các nguồn tài

nguyên và dữ liệu một cách hữu hiệu và tiện lợi hơn.
Oracle Database Personal Edition: là một sản phẩm đặc biệt, có chứa hầu hết
các tính năng của Enterprise Edition (ngoại trừ Oracle Real Application Clusters), phù
hợp cho môi trường phát triển và triển khai một người dùng có địi hỏi có sự tương
thích đầy đủ với các phiên bản khác của Oracle.

III. Hệ quản trị CSDL Oracle
3.1. Oracle là gì?

Oracle là một trong những nhà cung cấp lớn nhất trên thị trường hiện nay.
Oracle có tên đầy đủ là Oracle database, là sản phẩm chủ lực của hệ thống quản lý cơ
sở dữ liệu quan hệ Relational Database Management System (RDBMS). Oracle chủ
yếu được thiết kế để tính tốn Grid Computing và Data Warehousing.

Đây là một trong những lựa chọn hàng đầu cho các doanh nghiệp về các giải
pháp hiệu quả về chi phí cho các ứng dụng và quản lý database của họ. Nó hỗ trợ SQL
như một ngôn ngữ truy vấn để tương tác với database.

Cơ sở dữ liệu của nó có năm phiên bản khác nhau dựa trên các tính năng có sẵn.
Phiên bản Standard One: Nó phù hợp với các ứng dụng kinh doanh một server
với các tính năng hạn chế.
Phiên bản Standard: Nó cung cấp tất cả các tính năng được cung cấp trong
phiên bản Standard One. Ngoài ra, phiên bản này hỗ trợ những máy lớn hơn và dịch vụ
Oracle Real Application Cluster.

7

Downloaded by BINH NGUYEN ()

lOMoARcPSD|38590726


Phiên bản Enterprise: Phiên bản này được đóng gói với các tính năng như bảo
mật, hiệu suất, khả năng mở rộng và tính khả dụng, cần thiết cho các ứng dụng quan
trọng có liên quan đến xử lý giao dịch online.

Phiên bản Express: Đây là một phiên bản entry-level miễn phí tải xuống, cài
đặt, quản lý, phát triển và triển khai.

Phiên bản Personal: Nó đi kèm với các tính năng tương tự của phiên bản
Enterprise ngoài trừ Oracle Real Application Cluster.
3.2. Lịch sử của lập trình Oracle

Năm 1977, tập đoàn Oracle với tên Software Development Laboratories (SDL)
là công ty đầu tiên đưa nền tảng RDBMS vào thị trường. Đến năm 1983, đổi tên thành
Oracle Systems Corporation để phù hợp với sản phẩm chủ lực là Oracle Database.

Hiện nay, Oracle vẫn là nhà cung cấp dẫn đầu với tỷ suất lợi nhuận đáng kinh
ngạc. Doanh thu dẫn đầu phải kể đến Oracle Database với 40,4% trên tổng doanh thu
toàn thế giới năm 2016. Theo thống kê, tuy đã giảm 2% nhưng vẫn gấp đôi số cổ phần
so với Microsoft ở vị trí thứ hai.

Đến nay, tập đoàn phát triển đã mở rộng các danh mục sản phẩm, cung cấp một
số cơ sở dạng dữ liệu khác, các hạng mục phân tích dữ liệu, phần mềm trung gian, hệ
thống máy tính, … Ngoài ra, tập đoàn Oracle cũng đang hướng tới để phát triển trở
thành nhà cung cấp các dịch vụ điện toán đám mây.
3.3. Cấu trúc của cơ sở dữ liệu Oracle

Oracle Database được xây dựng dựa trên SQL, một ngôn ngữ lập trình chuẩn
hóa để quản trị cơ sở dữ liệu. Đây là ngơn ngữ mà các nhà phân tích dữ liệu và các
chuyên gia CNTT thường sử dụng công cụ này để quản lý cơ sở dữ liệu và truy vấn dữ

liệu được lưu trữ trong đó.

Cơ sở dữ liệu Oracle được triển khai nhằm tạo sự độc quyền trong việc bổ sung
các extension cho công cụ SQL chuẩn. Mặt khác, những cơ sở dữ liệu này cịn hỗ trợ
cho ngơn ngữ lập trình bằng Java, thêm một số các chương trình được viết trên
PL/SQL.

Về mặt kiến trúc, một máy chủ cơ sở dữ liệu Oracle sẽ bao gồm một database
để lưu trữ dữ liệu cùng với một hay nhiều phiên bản database để quản lý các tệp có
trong cơ sở dữ liệu đó. Cơ sở dữ liệu có kết hợp các cấu trúc lưu trữ vật lý và logic.

8

Downloaded by BINH NGUYEN ()

lOMoARcPSD|38590726

3.4. Tính năng và tùy chọn tiêu biểu của hệ quản trị cơ sở dữ liệu Oracle
Khả năng mở rộng và hiệu suất: Các tính năng như Real Application Clustering

và Portability làm cho Oracle database có thể mở rộng tùy theo cách sử dụng. Trong
cơ sở dữ liệu đa người dùng, nó u cầu kiểm sốt tính nhất qn và đồng thời của dữ
liệu được Oracle dự tính.

Tính khả dụng: Các ứng dụng real-time yêu cầu tính khả dụng của dữ liệu cao.
Mơi trường máy tính hiệu suất cao được định cấu hình để cung cấp dữ liệu ln sẵn
sàng. Dữ liệu ln có sẵn trong Downtime theo kế hoạch hoặc ngoài kế hoạch.

Backup và Recovery: Layout của nó hồn chỉnh các tính năng recovery để khôi
phục dữ liệu từ hầu hết các loại lỗi. Trong trường hợp bị lỗi, database cần được phục

hồi ngay lập tức để có tính khả dụng cao. Các phần dữ liệu khơng bị ảnh hưởng vẫn có
sẵn trong khi phần dữ liệu bị ảnh hưởng vẫn đang được phục hồi.

Bảo mật: Bảo mật dữ liệu luôn được ưu tiên hàng đầu. Oracle cung cấp các cơ
chết để kiểm soát việc truy cập và sử dụng dữ liệu. Việc thực hiện ủy quyền và chỉnh
sửa hành động của người dùng có thể ngăn chặn truy cập trái phép và cho phép người
dùng truy cập riêng biệt.

3.5. Lợi ích của Oracle mang lại là gì?

Hiệu suất: Oracle có phương pháp luận và nguyên tắc để đạt được hiệu suất
cao. Vietnix có thể triển khai điều chỉnh hiệu suất trong database của nó để truy xuất
và thay đổi dữ liệu nhanh hơn. Nhằm cải thiện thời gian thực hiện truy vấn.

Cơ sở dữ liệu đa người dùng: Database của nó hỗ trợ quản lý nhiều trường hợp
database trên một server duy nhất. Phương pháp Instance Caging được Oracle cung
cấp để quản lý việc cấp phát CPU trên server đang chạy các cơ sở dữ liệu cá nhân.
Instance Caging hoạt động với database resource manager để quản lý các dịch vụ qua
nhiều phiên bản.

Các phiên bản: Như chúng ta đã thảo luận ở trên, về các phiên bản khác nhau
được cung cấp bởi Oracle. Nó mang lại lợi ích cho người dùng khi mua phiên bản theo
yêu cầu ứng dụng của họ. Họ có thể cập nhật liên tục phiên bản nếu yêu cầu của họ
thay đổi trong tương lai. Nếu bạn muốn tìm hiểu và thực hành một số Oracle, bạn có
thể tải xuống và cài đặt database phiên bản Express hồn tồn miễn phí.

Cluster: Nó sử dụng Real Application Clusters để cung cấp một hệ thống dữ
liệu sẵn. Database với RAC có những lợi ích so với các database server truyền thống
như: scaling database qua nhiều trường hợp, cân bằng tải, dự phịng dữ liệu và tính khả
dụng, linh hoạt để tăng khả năng xử lý.


Failure Recovery: RMAN (Recovery Manager) là tính năng của Oracle DB có
chức năng khơi phục hoặc phục hồi các file database trong downtime. Nó hỗ trợ

9

Downloaded by BINH NGUYEN ()

lOMoARcPSD|38590726

backup online, lưu trữ. Người dùng cũng có thể sử dụng SQL*PLUS để recovery,
được gọi là recovery do người dùng quản lý. Có một tiện ích có sẵn trong database để
thêm các backup do người dùng quản lý.

PL/SQL: Database hỗ trợ PL/SQL extension để lập trình liên tục.

10

Downloaded by BINH NGUYEN ()

lOMoARcPSD|38590726

CHƯƠNG II: THIẾT KẾ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU HỆ THỐNG
(HỆ THỐNG QUẢN SHOP BÁN HĨA CHẤT VINH QN)
I. Phân tích, thiết kế hệ thống CSDL
1.1. Mục đích thiết kế hệ thống shop bán hóa chất Vinh Quân

Phần mềm quản lý bán hàng được thiết kế và phát triển để hỗ trợ chủ cửa hàng
quản lý một quy trình bán hàng một cách chun nghiệp mang tính chi tiết, chính xác
và nhanh chóng.


Mục đích của phần mềm quản lý bán hàng nhằm giúp cho cá nhân người quản
lý nâng cao chất lượng dịch vụ bán hàng đối với khách hàng đồng thời cũng là một
công cụ để quản lý hàng hóa, kho, quy trình bán hàng, chăm sóc khách hàng một cách
hiệu quả, tiết kiệm được nhiều thời gian và chi phí cho việc phải cần quá nhiều nhân
viên để quản lý.
1.2. Thiết kế hệ thống CSDL
Hệ thống bao gồm các bảng sau:
• tblHang: PK(MaHang); TenHang; MaChatLieu; SoLuuong; DonGiaNhap;

DonGiaBan; Anh; GhiChu.
• tblChatLieu: PK(MaChatLieu); TenChatLieu.
• tblNhanVien: PK(MaNhanVien); TenNhanVien; GioiTinh; DiaChi; DienThoai;

NgaySinh.
• tblKhach: PK(MaKhach); TenKhach; DiaChi; DienThoai.
• tblHoaDonBan: PK(MaHDBan); MaNhanVien; NgayBan; MaKhach;
TongTien.
• tblChiTietHDBan: PK(MaHDBan); MaHang; SoLuong; DonGia; GiamGia;

ThanhTien.

11

Downloaded by BINH NGUYEN ()

lOMoARcPSD|38590726

II. Mơ hình dữ liệu quan hệ
2.1. Sơ đồ diagram (truy xuất trực tiếp từ cơ sở dữ liệu oracle)


2.2. Mơ hình quan hệ ERD (Bản vẽ tay)

2.3. Cơ sở dữ liệu cửa hàng bán hóa chất.
 Tạo bảng:

create TABLE tblChatLieu (
12

Downloaded by BINH NGUYEN ()

lOMoARcPSD|38590726

MaChatLieu VARCHAR (50) NOT NULL,
TenChatLieu VARCHAR (50) NULL,
PRIMARY KEY (MaChatLieu)
);

CREATE TABLE tblHang (
MaHang VARCHAR (50) NOT NULL,
TenHang VARCHAR (50) NOT NULL,
MaChatLieu VARCHAR (50) NOT NULL,
SoLuong FLOAT (53) NOT NULL,
DonGiaNhap FLOAT (53) NOT NULL,
DonGiaBan FLOAT (53) NOT NULL,
Anh VARCHAR (50) NOT NULL,
GhiChu VARCHAR (50) NULL,
PRIMARY KEY (MaHang),
FOREIGN KEY (MaChatLieu) REFERENCES tblChatLieu (MaChatLieu)
);


CREATE TABLE tblKhach (
MaKhach VARCHAR (50) NOT NULL,
TenKhach VARCHAR (50) NOT NULL,
DiaChi VARCHAR (50) NOT NULL,
DienThoai VARCHAR (50) NOT NULL,
PRIMARY KEY (MaKhach)
);

CREATE TABLE tblNhanVien (
MaNhanVien VARCHAR (50) NOT NULL,
TenNhanVien VARCHAR (50) NOT NULL,
GioiTinh VARCHAR (50) NOT NULL,
DiaChi VARCHAR (50) NOT NULL,
DienThoai VARCHAR (50) NOT NULL,
NgaySinh DATE NULL,
PRIMARY KEY (MaNhanVien)
);

13

Downloaded by BINH NGUYEN ()

lOMoARcPSD|38590726

CREATE TABLE tblHDBan (
MaHDBan VARCHAR (50) NOT NULL,
MaNhanVien VARCHAR (50) NOT NULL,
NgayBan DATE NOT NULL,
MaKhach VARCHAR (50) NOT NULL,

TongTien FLOAT (53) NOT NULL,
PRIMARY KEY (MaHDBan),
FOREIGN KEY (MaNhanVien) REFERENCES tblNhanVien (MaNhanVien),
FOREIGN KEY (MaKhach) REFERENCES tblKhach (MaKhach)
);

CREATE TABLE tblChiTietHDBan (
MaHDBan VARCHAR (50) NOT NULL,
MaHang VARCHAR (50) NOT NULL,
SoLuong FLOAT (53) NOT NULL,
DonGia FLOAT (53) NOT NULL,
GiamGia FLOAT (53) NOT NULL,
ThanhTien FLOAT (53) NOT NULL,
PRIMARY KEY (MaHDBan),
FOREIGN KEY (MaHang) REFERENCES tblHang (MaHang),
FOREIGN KEY (MaHDBan) REFERENCES tblHDBan (MaHDBan)
);
Insert dữ liệu vào các table tương ứng:

INSERT ALL
INTO tblchatlieu VALUES ('58', 'Xeri')
INTO tblchatlieu VALUES ('59', 'Prazeodim')
INTO tblchatlieu VALUES ('60', 'Neodim')
INTO tblchatlieu VALUES ('61', 'Prometi')
INTO tblchatlieu VALUES ('62', 'Samari')
INTO tblchatlieu VALUES ('63', 'Europi')
INTO tblchatlieu VALUES ('64', 'Gadoleni')
INTO tblchatlieu VALUES ('65', 'Tebi')
INTO tblchatlieu VALUES ('66', 'Diprozi')
INTO tblchatlieu VALUES ('67', 'Honmi')


SELECT * FROM DUAL;

INSERT ALL

14

Downloaded by BINH NGUYEN ()

lOMoARcPSD|38590726

INTO tblHang VALUES ('1', 'Xeri', '58', 100000, 1000000, 1500000, '01.jpg',
'ghichu') ('2', 'Prazeodim', '59', 200000, 2000000, 2500000, '02.jpg',
('3', 'Neodim', '60', 190000, 5000000, 5600000, '03.jpg',
INTO tblHang VALUES ('4', 'Prometi', '61', 210000, 3000000, 3500000, '04.jpg',
'ghichu') ('5', 'Samari', '62', 150000, 500000, 1000000, '05.jpg',
('6', 'Europi', '63', 300000, 1500000, 2000000, '06.jpg',
INTO tblHang VALUES ('7', 'Gadoleni', '64', 50000, 2500000, 3000000, '07.jpg',
'ghichu') ('8', 'Tebi', '65', 90000, 4500000, 5000000, '08.jpg',
('9', 'Diprozi', '66', 600000, 500000, 900000, '09.jpg',
INTO tblHang VALUES ('10', 'Honmi', '67', 10000, 7000000, 7600000, '10.jpg',
'ghichu')

INTO tblHang VALUES
'ghichu')

INTO tblHang VALUES
'ghichu')

INTO tblHang VALUES

'ghichu')

INTO tblHang VALUES
'ghichu')

INTO tblHang VALUES
'ghichu')

INTO tblHang VALUES
'ghichu')
SELECT * FROM DUAL;

INSERT ALL
INTO tblNhanVien VALUES ('1', 'Nguyen Anh Vinh', 'Nam', '36 Lien Co - Nam Tu

Liem', '0833925568', '08/01/2002')
INTO tblNhanVien VALUES ('2', 'Nguyen Hong Quan', 'Nam', '14 Ham Nghi - Nam

Tu Liem', '0822206919', '02/10/1999')
INTO tblNhanVien VALUES ('3', 'Nguyen Duc Hoang', 'Nam', '16 Lien Co - Nam

Tu Liem', '0196231684', '18/05/2022')
SELECT * FROM DUAL;

INSERT ALL
INTO tblKhach VALUES ('1', 'Hoa Moc Lan', '26 Nguyen Chi Thanh - Thanh

Xuan', '021833691')
INTO tblKhach VALUES ('2', 'Kim Ngoc Dung', '06 Trinh Van Bo - Nam Tu Liem',


'047245239')
INTO tblKhach VALUES ('3', 'Luong Huu Bich', '76 Ta Quang Buu - Dong Da',

'047528293')
INTO tblKhach VALUES ('4', 'Trinh Xuan Linh', '55 Tran Quoc Toan - Ha Dong',

'054682763')
INTO tblKhach VALUES ('5', 'Luu Ngoc Phung', '43 Pham Ngu Lao - Hoan Kiem',

'025428975')
SELECT * FROM DUAL;

INSERT ALL
INTO tblhdban VALUES ('1', '1', '27/09/2022', '1', 24000000)
INTO tblhdban VALUES ('2', '2', '26/09/2022', '2', 30000000)
INTO tblhdban VALUES ('3', '3', '28/09/2022', '3', 39200000)
INTO tblhdban VALUES ('4', '3', '22/09/2022', '4', 49000000)

15

Downloaded by BINH NGUYEN ()

lOMoARcPSD|38590726

INTO tblhdban VALUES ('5', '2', '21/09/2022', '5', 16000000)
SELECT * FROM DUAL;
INSERT ALL

INTO tblchitiethdban VALUES ('1', '1', 16, 1500000, 0, 24000000)
INTO tblchitiethdban VALUES ('2', '2', 12, 2500000, 0, 30000000)

INTO tblchitiethdban VALUES ('3', '3', 7, 5600000, 0, 39200000)
INTO tblchitiethdban VALUES ('4', '4', 14, 3500000, 0, 49000000)
INTO tblchitiethdban VALUES ('5', '5', 16, 1000000, 0, 16000000)
SELECT * FROM DUAL;

Các bảng trong chương trình:
TABLE tblChatLieu

TABLE tblHang

16

Downloaded by BINH NGUYEN ()


×