You are on page 1of 22

BÀI TẬP LỚN

HỌC PHẦN: HỆ QUẢN TRỊ


CƠ SỞ DỮ LIỆU ORACLE
TÊN BÀI TẬP LỚN: THIẾT KẾ HỆ
THỐNG QUẢN LÝ NHÀ HÀNG
NHÓM 17
Thành viên nhóm
STT Sinh viên thực hiện MSV

1 Nguyễn Mạnh Tùng 20200155

2 Lê Quang Trường 20200158

3 Nguyễn Văn Thuận 20100135


CHƯƠNG I: CƠ SỞ LÝ THUYẾT

CHƯƠNG II: PHÂN TÍCH VÀ THIẾT


KẾ HỆ THỐNG

CHƯƠNG III: CÀI ĐẶT HỆ QUẢN


TRỊ CƠ SỞ DỮ LIỆU
CHƯƠNG I:
CƠ SỞ LÝ
THUYẾT
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
a), Mô hình phân cấp (Hierarchical model)
b), Mô hình mạng (Netwwork model)
c), Mô hình dữ liệu quan hệ (Relational model)
d), Mô hình dữ liệu hướng đối tượng (Object Oriented model

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
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.
- 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
b), Quản lý Data Storage
c), Kiểm soát truy cập nhiều người dùng
d), Quản lý về bảo mật
e), Chức năng chuyển đổi và trình bày dữ liệu
f), Chức năng quản lý tính toàn vẹn của dữ liệu
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.

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
b), Sao lưu và phục hồi cơ sở dữ liệu (Backup và Recovery)
c), Bảo mật thông tin
d), Tích hợp thông tin

3.5. Lý do nên sử dụng phần mềm Oracle


a) Cluster
b) Failure Recovery
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.
IV: PHÂN TÍCH VÀ THIẾT
KẾ HỆ THỐNG
• 1.Cơ sở của phát triển phần mềm hướng đối tượng
• Giới thiệu các kiểu hệ thống thông tin và mô hình hệ thống dựa vào cách tiếp cận hướng đối tượng. Các khái niệm đối
tượng và lớp, đóng gói, quan hệ giữa các lớp và vấn đề sử dụng lại mã nguồn sẽ được xem xét ở mức độ vừa phải đủ để bạn
đọc có cái nhìn tổng quan về những kiến thức lập trình hướng đối tượng phục vụ cho việc tìm hiểu các chương sau.
• 2.Mô hình hóa hệ phần mềm hướng đối tượng
• Nội dung bao gồm giới thiệu về UML, các biểu đồ UML và sử dụng các biểu đồ UML trong phân tích và thiết kế hướng đối
tượng. Một số phương pháp luận phát triển phần mềm hướng đối tượng hiện nay cũng sẽ được điểm qua và đặc biệt phương
pháp luận UP sẽ được khảo sát chi tiết hơn. Cuối chương sẽ trình bày các pha và các bước thực hiện trong mỗi pha để phục
vụ cho các chương sau này.
• 3.Xác định yêu cầu
• Nội dung tập trung trình bày pha xác định yêu cầu dựa trên quan điểm nghiệp vụ và quan điểm người phát triển. Một case
study về Quản lý đăng ký học theo tín chỉ sẽ được xem xét.
• 4.Phân tích yêu cầu
• Nội dung bao gồm tổng quan quá trình phân tích và phân tích tĩnh cũng như phân tích động. Phần phân tích tĩnh đề cập đến
việc xác định các lớp và quan hệ giữa các lớp, các thuộc tính. Phần phân tích động bàn về việc thực thi các lớp, các lớp
biên, điều khiển và thực thể, các biểu đồ giao tiếp, phương thức trong lớp và cách xây dựng dựa trên gán trách nhiệm cho
lớp và biểu đồ trạng thái.
• 5.Thiết kế kiến trúc hệ thống
• Trình bày các bước trong thiết kế hệ thống, chọn topo hệ thống mạng cho thiết kế, một số chủ đề về công nghệ, thiết kế
đồng thời và an toàn hệ thống. Nội dung bao gồm: Các công nghệ tầng client; Các công nghệ tầng trung gian; Các công
nghệ tầng trung gian đến tầng dữ liệu; Các kiểu cấu hình; Các gói theo UML.
• Thiết kế chi tiết
• V.SQL SEVER
• 5.1 Khái niệm:
• SQL Server chính là một hệ quản trị dữ liệu quan hệ sử dụng câu lệnh SQL để trao đổi dữ liệu giữa máy cài SQL Server
và máy Client. Một Relational Database Management System – RDBMS gồm có: databases, datase engine và các
chương trình ứng dụng dùng để quản lý các bộ phận trong RDBMS và những dữ liệu khác.
• . 5.2 Các thành phần cơ bản trong SQL Server
• + Database Engine
• + Analysis Services
• + Notification Services
• + Reporting  Services
• + Full Text Search Service
• + Service Broker
• CHƯƠNG II: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
• I. Mô tả và đặc toán đề tài.
• 1.1. Hiện trạng tổ chức:
• Một nhà hàng có khoảng 50 bàn. Tổ chức nhà hàng có: 3 thu ngân, 1 quản lý và 15 nhân viên order
• 1.2 Mô tả bài toán:
• Việc sử dụng một phần mềm chuyên nghiệp trong các nghiệp vụ của nhà hàng sẽ làm tăng khả năng quản lý,
nhanh chóng và chính xác trong khâu thanh toán.
• Quản lý sẽ nhập thông tin các thực đơn và nhân viên làm việc trong nhà hàng vào hệ thống chương trình.
Thông tin về thực đơn gồm có: mã thực đơn, tên thực đơn, đơn giá, đơn vị tính. Thông tin về nhân viên gồm
có: mã nhân viên, ngày sinh, tên đăng nhập và mật khẩu (nếu có), công việc (gồm tiếp tân, thu ngân, quản lý).
• Khi có khách hàng yêu cầu thực đơn, người sử dụng chương trình sẽ yêu cầu chức năng gọi món của chương
trình, và sẽ yêu cầu chức năng thanh toán khi khách hàng yêu cầu.
•  
• Ứng dụng CNTT đã mang lại bước đột phá mới cho công tác quản lý bán hàng, giúp doanh nghiệp nắm bắt
thông tin về hàng hóa, vật tư, thông tin khách hàng, và trạng thái các đơn đặt hàng... một cách chính xác và
kịp thời. Từ đó người quản lý có thể đưa ra các kế hoạch và quyết định đúng đắn, giảm chi phí và tăng khả
năng cạnh tranh, nâng cao kết quả hoạt động sản xuất kinh doanh.
• 1.3 Yêu cầu chức năng và phi chức năng:
• 1.3.1Yêu cầu chức năng:
• Bài toán có các chức năng chính sau đây:
• Cho phép người dùng đăng nhập vào hệ thống.
• Cho phép thu ngân lập hóa đơn và in hóa đơn.
• Cho phép người quản trị thêm, xóa sửa nhân viên, thực đơn.
• Cho phép người dùng thống kê doanh thu theo ngày, tháng năm, khoảng ngày, thức ăn nước uống được
bán nhiều nhất.
• Cho phép người dùng tra cứu thực đơn, nhân viên.
• Cho phép người quản trị xóa hóa đơn.
•  
• 1.3.2 Yêu cầu phi chức năng:
• Đảm bảo chương trình hoạt đọng tốt.
• Tốc độ truy xuất dữ liệu nhanh và chính xác.
• II. Mục tiêu – hướng giải quyết.
• 2.1. Mục tiêu cần đạt được:
• Chúng ta cần phải thiết kế cơ sở dữ liệu và cài đặt một chương trình quản lý có các chức năng sau:
• Quản lý hàng hóa: thêm, sửa, xóa thông tin loại hàng và các mặt hàng.
• Quản lý nhân viên: thêm, sửa, xóa thông tin các nhân viên (chỉ có người quản lý mới có quyền này).
• Quản lý bàn, khu vực: thêm, sửa, xóa thông tin bàn, khu vực.
• Quản lý danh mục, thực đơn: thêm, sừa xóa thông tin các danh mục, thực đơn.
• Gọi món, in hóa đơn
• Quản lý và sắp xếp thông tin thực đơn, nhân viên.
• Thống kê thực đơn và doanh thu theo từng tháng, từng năm.
• 2.2. Hướng giải quyết:
• Xây dựng mô hình MVC.
• Thiết kế CSDL, các ràng buộc toàn vẹn.
• Thiết kế ứng dụng: các chức năng, Forms và Reports.
• Cài đặt chương trình ứng dụng, nhập liệu, chạy thử và kiểm tra lỗi.
• Viết một bài báo cáo về công việc đã thực hiện theo mẫu qui định. 
•  
• III. Phân tích
• 3.1 Phân tích bài toán
•  
• - Một nhà hàng có thể thuê nhiều nhân viên để quản lý
• - Một nhân viên thu ngân có 1 tài khoản
• - Một tài khoản chỉ có 1 nhân viên thu ngân quản lý
• - Một nhân viên thu ngân có thể in nhiều hóa đơn
• - Một hóa đơn chỉ được 1 nhân viên thu ngân in
• - Một hóa đơn lưu 1 bàn
• - Một bàn được lưu trong 1 hoặc nhiều hóa đơn
• - Một hóa đơn lưu 1 nhân viên
• - Một nhân viên được lưu trong 1 hoặc nhiều hóa đơn
• - Một bàn chỉ có trong 1 khu vực
• - Một khu vực có 1 hoặc nhiều bàn
• - Một gọi món tạm lưu 1 bàn
• - Một bàn được tạm lưu trong 0 hoặc 1 gọi món
• - Một gọi món tạm lưu 1 nhân viên order
• - Một nhân viên order được tạm lưu trong 0 hoặc nhiều gọi món
• - Một gọi món tạm lưu 1 hoặc nhiều thực đơn
• - Một thực đơn được tạm lưu trong 0 hoặc nhiều gọi món
• - Một danh mục có 1 hoặc nhiều thực đơn
• - Một thực đơn chỉ có trong 1 danh mục
• - Một chi tiết hóa đơn lưu 1 hoặc nhiều thực đơn
• - Một thực đơn được lưu trong 1 hoặc nhiều chi tiết hóa đơn
• - Một chi tiết hóa đơn lưu 1 hóa đơn
• - Một hóa đơn được lưu trong 1 hoặc nhiều chi tiết hóa đơn
• 3.2. Xác đinh các thực thể, thuộc tính
• NHANVIEN(MANHANVIEN,TENNHANVIEN,DIENTHOAI,NGAYSINH,DIACHI,VITRI)
• TAIKHOAN(MATAIKHOAN,LOAITAIKHOAN,MANHANVIEN,TENTAIKHOAN,MATKHAU)
• KHUVUC(MAKHUVUC,TENKHUVUC,TRANGTHAI)
• BAN(MABAN,TENBAN,MAKHUVUC,TRANGTHAI)
• DANHMUC(MADANHMUC,TENDANHMUC)
THUCDON(MATHUCDON,TENTHUCDON,SOLUONGTON,DONGIA,MADANHMUC,DONVITINH)

GOIMON(MAGOIMON,MABAN,MANHANVIEN,MATHUCDON,SOLUONG)

HOADON(MAHOADON,MABAN,MATAIKHOAN,MANHANVIEN,NGAYLAP)

CHITIETHOADON(MAHOADON,MATHUCDON,SOLUONG,THANHTIEN)
3.3. Xác định các mối quan hệ và thuộc tính riêng
 
-CO: là kiểu liên kết 1:1 giữa NHANVIEN và TAIKHOAN
Một nhân viên thu ngân được cấp 1 tài khoản và 1 tài khoản chỉ thuộc về một nhân viên
 
-IN: là kiểu liên kết 1:N giữa NHANVIEN và HOADON
Cả hai kiểu thực thể này đều có lực lượng tham gia toàn bộ vào liên kết
 
-LUU: Là kiểu liên kết 1:N giữa BAN và HOADON
Cả hai kiểu thực thể này đều có lực lượng tham gia toàn bộ vào liên kết
 
-LUU: Là kiểu liên kết M:N giữa THUCDON và CHITIETHOADON
Cả hai kiểu thực thể này đều có lực lượng tham gia toàn bộ vào liên kết
 
-LUU: Là kiểu liên kết M:N giữa HOADON và CHITIETHOADON
Cả hai kiểu thực thể này đều có lực lượng tham gia toàn bộ vào liên kết
• -LUU: Là kiểu liên kết 1:N giữa NHANVIEN và HOADON
• Cả hai kiểu thực thể này đều có lực lượng tham gia toàn bộ vào liên kết
• -CO: là kiểu thực thể 1:N giữa KHUVUC và BAN
• Cả hai kiểu thực thể này đều có lực lượng tham gia toàn bộ vào liên kết
• - LUU: là kiểu thực thể 1:N giữa THUCDON và DANHMUC
• Cả hai kiểu thực thể này đều có lực lượng tham gia toàn bộ vào liên kết
• - TAMLUU: là kiểu thực thể 1:N giữa BAN và GOIMON
• Cả hai kiểu thực thể này đều có lực lượng tham gia toàn bộ vào liên kết
• - TAMLUU: là kiểu thực thể 1:N giữa NHANVIEN và GOIMON
• Cả hai kiểu thực thể này đều có lực lượng tham gia toàn bộ vào liên kết
• - TAMLUU: là kiểu thực thể 1:N giữa THUCDON và GOIMON
• Cả hai kiểu thực thể này đều có lực lượng tham gia toàn bộ vào liên kết
Hình 1.4: mô hình thực thể ERD
Biểu đồ lớp
Chi tiết các lớp cần có trong sơ đồ

You might also like