THÔNG TIN TÀI LIỆU
BỘ TÀI CHÍNH TRƯỜNG ĐẠI HỌC TÀI CHÍNH - MARKETING KHOA CỘNG NGHỆ THÔNG TIN - - ĐỒ ÁN MÔN HỌC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ĐỀ TÀI: QUẢN TRỊ CƠ SỞ DỮ LIỆU QUẢN LÝ BÁN HÀNG TẠI CHUỖI CỬA HÀNG PHÚC LONG COFFEE Giáo viên hướng dẫn: Th.S Nguyễn Thị Minh Hương Sinh viên thực 1: Nguyễn Thị Lan Hương MSSV: 1921006704 Sinh viên thực 2: Hoàng Minh Ngọc MSSV: 1921006764 Mã lớp học phần : 2011112005502 TP Hồ Chí Minh, tháng 12 năm 2021 BỘ TÀI CHÍNH TRƯỜNG ĐẠI HỌC TÀI CHÍNH - MARKETING KHOA CỘNG NGHỆ THÔNG TIN - - ĐỒ ÁN MÔN HỌC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ĐỀ TÀI: QUẢN TRỊ CƠ SỞ DỮ LIỆU QUẢN LÝ BÁN HÀNG TẠI CHUỖI CỬA HÀNG PHÚC LONG COFFEE Giáo viên hướng dẫn: Th.S Nguyễn Thị Minh Hương Sinh viên thực 1: Nguyễn Thị Lan Hương MSSV: 1921006704 Sinh viên thực 2: Hoàng Minh Ngọc MSSV: 1921006764 Mã lớp học phần : 2011112005502 TP Hồ Chí Minh, tháng 12 năm 2021 LỜI CẢM ƠN Lời đầu tiên, nhóm em xin chân thành cảm ơn đến Nguyễn Thị Minh Hương Trong trình học tập tìm hiểu môn Hệ quản trị sở liệu 2, nhóm em nhận quan tâm giúp đỡ, hướng dẫn tận tình Đó góp ý q báu khơng q trình thực đồ án mà cịn hành trang tiếp bước cho nhóm em q trình học tập làm việc sau Cô sửa tận tình tạo điều kiện thuận lợi cho nhóm em hồn thành tốt đồ án mơn học Tuy vậy, giới hạn kiến thức kinh nghiệm nên khơng tránh khỏi sai sót làm Nhóm em mong nhận ý kiến, nhận xét để nhóm em bổ sung, hồn thiện kiến thức thân Chúng em xin chân thành cảm ơn! TP Hồ Chí Minh, ngày… tháng … năm 2021 Sinh viên thực hiện: Nguyễn Thị Lan Hương Hoàng Minh Ngọc Trang NHẬN XÉT VÀ ĐÁNH GIÁ CỦA GIẢNG VIÊN - Điểm số: - Điểm chữ: Thành phố Hồ Chí Minh, ngày…… tháng……năm 2020 Giảng viên (Kí ghi rõ họ tên) Trang MỤC LỤC LỜI CẢM ƠN i NHẬN XÉT VÀ ĐÁNH GIÁ CỦA GIẢNG VIÊN .ii DANH MỤC TỪ VIẾT TẮT vi DANH MỤC THUẬT NGỮ ANH – VIỆT vii DANH MỤC HÌNH .viii DANH MỤC BẢNG xi CHƯƠNG 1: TỔNG QUAN 1.1 Tổng quan đề tài .1 1.1.1 Mơ tả tốn 1.1.2 Mô tả hoạt động hệ thống 1.1.3 Quy trình xử lý nghiệp vụ hệ thống 1.2 Mục đích đề tài .6 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Giới thiệu hệ quản trị sở liệu Oracle 2.2 Cách cài đặt hệ quản trị sở liệu Oracle: 12 2.3 Ưu điểm nhược điểm hệ quản trị sở liệu Oracle 32 2.3.1 Ưu điểm Oracle .32 2.3.2 Nhược điểm Oracle 32 CHƯƠNG 3: PHÂN TÍCH, THIẾT KẾ CƠ SỞ DỮ LIỆU 34 3.1 Mô tả thành phần sở liệu 34 3.2 Thiết kế sở liệu Quản lý kho hàng 35 3.2.1 Mơ hình thực thể 35 3.2.2 Chuyển đổi danh sách lược đồ quan hệ 40 3.2.3 Mơ hình quan hệ 40 CHƯƠNG 4: XÂY DỰNG CƠ SỞ DỮ LIỆU QUẢN LÝ KHO HÀNG TRÊN ORACLE 47 4.1 Tạo user người dùng 47 4.1.1 Tạo user người dùng giao diện 47 Trang 4.1.2 Tạo user người dùng câu lệnh .52 4.2 Tạo connection quản lý kho hàng .55 4.3 Tạo DIAGRAM (DATA MODELER) .56 4.4 Tạo sở liệu quản lý kho hàng 62 4.4.1 Lệnh tạo bảng CREATE TABLE 62 4.4.2 Lệnh thay đổi cấu trúc bảng ALTER TABLE .65 4.4.3 Lệnh xóa bảng DROP TABLE 68 4.4.4 Lệnh chèn liệu 69 4.5 Lệnh truy vấn liệu 73 4.5.1 Lệnh SELECT có WHERE 73 4.5.2 Lệnh SELECT có GROUP BY 76 4.5.3 Lệnh SELECT có HAVING 77 4.5.4 Lệnh SELECT có ORDER BY 78 4.6 Ngôn ngữ thủ tục PL/SQL 79 4.7 Con trỏ CURSOR .81 4.7.1 Cú pháp 82 4.7.2 Các thao tác 82 4.8 Tạo bảng ảo VIEW .84 4.8.1 Cú pháp tạo bảng ảo .84 4.8.2 Xóa bảng ảo 88 4.9 Tạo thủ tục PROCEDURE 91 4.9.1 Cú pháp tạo thủ tục 91 4.9.2 Xóa thủ tục 96 4.10 Tạo hàm (FUNCTION) 99 4.10.1 Cú pháp tạo hàm 99 4.10.2 Xóa hàm .104 4.11 Tạo TRIGGER .106 4.11.1 Cú pháp tạo TRIGGER 106 4.11.2 Xóa TRIGGER 109 Trang 4.12 Tạo gói packages 110 4.12.1 Cú pháp tạo packages 111 4.12.2 Xóa Package .114 4.13 Các đối tượng khác 116 4.13.1 Synonym 116 4.13.2 Index 118 4.13.3 Sequence 120 4.13.4 Transaction 120 CHƯƠNG 5: KẾT LUẬN 123 5.1 Những kết đạt đồ án 123 5.2 Nhược điểm đồ án 124 TÀI LIỆU THAM KHẢO 125 Trang DANH MỤC TỪ VIẾT TẮT SQL Structured Query Language RDBMS Relational Database Management System ETL Extract - Transform - Load OLAP On-line analytical processing XML eXtensible Markup Language SID Security Identifier DB Database URL Uniform Resource Locator DBA Database Administrator ASC Ascending DESC Descending Trang DANH MỤC THUẬT NGỮ ANH – VIỆT Database Cơ sở liệu Fast-Start Fault Recovery Khôi phục lỗi bắt đầu Real Application Clusters Các cụm ứng dụng thực Recovery Manager Quản lý phục hồi Oracle Flashback Là tính nắng Oracle, cho phép phục hồi hay xe lại liệu Oracle Corporation Công ty Oracle hãng phần mềm, hệ quản trị sở liệu phổ biến giới Execute Thực thi Server Máy chủ Trang DANH MỤC HÌNH Hình 1.1 Quy trình nghiệp vụ nhập Hình 1.2 Quy trình nghiệp vụ xuất .5 Hình 2.1 Giới thiệu Oracle (1) 7 Hình 2.2 Giới thiệu Oracle (2) Hình 2.3 Mơ hình kiến trúc Oracle .11 Hình 3.1 Mơ hình thực thể ERD 39 Hình 3.2 Mơ hình quan hệ 46 Hình 4.1 Giao diện trang chủ Oracle 47 Hình 4.2 Create User 48 Hình 4.3 Cửa sổ Create User 48 Hình 4.4 Kết nối user thành cơng .48 Hình 4.5 Edit User 49 Hình 4.6 Grant Roles 49 Hình 4.7 System Provileges 50 Hình 4.8 Quotas 51 Hình 4.9 Gán quyền thành công 51 Hình 4.10 Tìm kiếm SQL Plus 52 Hình 4.11 Cửa sổ SQL Plus 53 Hình 4.12 Tạo user câu lệnh 53 Hình 4.13 Gán quyền cho user 54 Hình 4.14 Thơng báo gán quyền thành công 54 Hình 4.15 Tạo connection New Connection… 55 Hình 4.16 Cửa sổ New/Select Database Connection 55 Hình 4.17 Connection QuanLyKhoHang 56 Hình 4.18 Data Dictionary 57 Hình 4.19 Connect to Database 58 Hình 4.20 Connect thành cơng 58 Hình 4.21 Select Schema/Database 59 Hình 4.22 Select Objects to Import 60 Hình 4.23 Generate Design 61 Hình 4.24 View log data modeler “QuanLyKhoHang” 61 Hình 4.25 Tạo bảng câu lệnh 64 Hình 4.26 Các bảng database QuanLyKhoHang .65 Hình 4.27 Thêm thuộc tính 66 Hình 4.28 Sửa kiểu liệu thuộc tính 66 Hình 4.29 Xóa thuộc tính bảng 67 Hình 4.30 Một số ràng buộc tồn vẹn 67 Hình 4.31 Thêm ràng buộc khóa 67 Hình 4.32 Xóa ràng buộc khóa 68 Hình 4.33 Xóa bảng liệu 69 Hình 4.34 Chèn liệu vào bảng .70 Trang Đề tài: Quản trị sở liệu Quản lý bán hàng Phúc Long Coffee Ví dụ 30: Xóa TRIGGER t_ThemThongTinKhachHang Hình 4.97 Xóa trigger tgNgayNhapHang Ví dụ 31: Xóa trigger tgGioHanChe Hình 4.98 Xóa trigger tgGioHanChe 4.12 TẠO GĨI PACKAGES Package là tập hợp kiểu liệu, biến lưu giữ giá trị thủ tục, hàm có mối liên hệ với nhau, gộp chung lại Đặc điểm bật package phần tử package gọi tồn nội dung package nạp vào hệ thống Do đó, việc gọi tới phần tử khác package sau không phải thời gian nạp vào hệ thống Từ đó, nâng cao tốc độ thực lệnh toàn bộ hàm, thủ tục có package Sinh viên thực hiện: Nguyễn Thị Lan Hương – Hoàng Minh Ngọc Trang 113 Đề tài: Quản trị sở liệu Quản lý bán hàng Phúc Long Coffee Cấu trúc Package: Một package cấu trúc làm hai phần Phần mô tả (specification) định nghĩa giao tiếp có package với bên Phần thân (body) cài đặt cho giao tiếp có phần mơ tả 4.12.1 Cú pháp tạo packages Cú pháp tạo packages: PACKAGE package_name IS [declarations of variables and types] [specifications of cursors] [specifications of modules] END [package_name]; Ví dụ 32: Tạo package tên pkHangHoa gồm - Thủ tục pThongTinHH, tham số nhận vào mã hàng hóa, thủ tục in danh sách hàng hóa thuộc loại hàng - Hàm pTimKiemHH, tham số nhận vào mã hàng hóa, trả hàng hóa tồn nhất, ngược lại trả Sinh viên thực hiện: Nguyễn Thị Lan Hương – Hoàng Minh Ngọc Trang 114 Đề tài: Quản trị sở liệu Quản lý bán hàng Phúc Long Coffee Cách 1: Tạo package câu lệnh Hình 4.99 Tạo package pHangHoa Hình 4.100 Tạo Package Body câu lệnh Cách 2: Tạo package giao diện Sinh viên thực hiện: Nguyễn Thị Lan Hương – Hoàng Minh Ngọc Trang 115 Đề tài: Quản trị sở liệu Quản lý bán hàng Phúc Long Coffee Hình 4.101 Tạo package New Package… Hình 4.102 Cửa sổ Create Package Hình 4.103 Nhập câu lệnh tạo package Sinh viên thực hiện: Nguyễn Thị Lan Hương – Hoàng Minh Ngọc Trang 116 Đề tài: Quản trị sở liệu Quản lý bán hàng Phúc Long Coffee Hình 4.104 Output Package pkHangHoa Để thực thi kiểm thử package, ta dùng lệnh SET SERVEROUTPUT ON DECLARE… Hình 4.105 Thực thi pkHangHoa 4.12.2 Xóa Package DROP PACKAGE package_name Sinh viên thực hiện: Nguyễn Thị Lan Hương – Hoàng Minh Ngọc Trang 117 Đề tài: Quản trị sở liệu Quản lý bán hàng Phúc Long Coffee Ví dụ 33: Xóa package pkHangHoa Hình 4.106 Xóa pkHangHoa câu lệnh Xóa package giao diện Hình 4.107 Xóa package Drop Package… Sinh viên thực hiện: Nguyễn Thị Lan Hương – Hoàng Minh Ngọc Trang 118 Đề tài: Quản trị sở liệu Quản lý bán hàng Phúc Long Coffee Hình 4.108 Cửa sổ Package Hình 4.109 Package pkHangHoa xóa 4.13 CÁC ĐỐI TƯỢNG KHÁC 4.13.1 Synonym Synonym tên đặt cho đối tượng cụ thể Thường dùng synonym để tạo đối tượng dùng chung Ví dụ người dùng muốn sử dụng bảng sở hữu người dùng khác thay gọi “tên_người dùng.tên_bảng” user tạo synonym cho bảng với tên dễ nhớ đó, tên thật đối tượng che dấu Các thao tác Synonym: tạo Synonym, xóa Synonym Tạo Synonym: Cú pháp: CREATE SYNONYM tênSynonym FOR tênUser.tênTable|tênView Sinh viên thực hiện: Nguyễn Thị Lan Hương – Hoàng Minh Ngọc Trang 119 Đề tài: Quản trị sở liệu Quản lý bán hàng Phúc Long Coffee Cú pháp: DROP SYNONYM tên-synonym; Ví dụ 36: Xóa Synonym HangHoa Hình 4.113 Xóa Synonym HangHoa 4.13.2 Index Index (tạo mục): sử dụng Oracle Index nhằm Tăng tốc độ xây dựng lại dịng theo khóa đặc biệt Bảo đảm giá trị cột, thường giá trị primary key Tạo Index Cú pháp: CREATE [UNIQUE] INDEX index_name ON table (column1 [,], …) Phân loại Index: UNIQUE: Bảo đảm giá trị cột (no two rows of a table have duplicate values in the key column (or columns)) NONUNIQUE: (là default) kết truy vấn nhanh (do not impose this restriction on the column values) Xóa index Cú pháp: Sinh viên thực hiện: Nguyễn Thị Lan Hương – Hoàng Minh Ngọc Trang 120 Đề tài: Quản trị sở liệu Quản lý bán hàng Phúc Long Coffee DROP INDEX index_name; Ví dụ 37: Tạo index UQ_DiaChiKho Hình 4.114 Tạo index UQ_DiaChiKho Ví dụ 38: Xóa index UQ_DiaChiKho Hình 4.115 Xóa index UQ_DiaChiKho Ví dụ 39: Các index khóa database Hình 4.116 Index khóa bảng database 4.13.3 Sequence Sinh viên thực hiện: Nguyễn Thị Lan Hương – Hoàng Minh Ngọc Trang 121 Đề tài: Quản trị sở liệu Quản lý bán hàng Phúc Long Coffee Giá trị hành dãy sequence lưu hai cột: Giá trị hành sequence: tên sequence.CURRVAL Giá trị sequence: tên sequence.NEXTVAL Hai cột Oracle gọi pseudo column (cột ảo), người dùng truy vấn, không cập nhật liệu cột Oracle có cột ảo như: ROWID (mã dòng), ROWNUM (số thứ tự dòng), SYSDATE (ngày hành hệ thống),… Lỗi truy vấn CURRVAL chưa khởi tạo giá trị Sequence ORA-08002: sequence string .CURRVAL is not yet defined in this session Cause: sequence CURRVAL has been selected before sequence NEXTVAL Action: select NEXTVAL from the sequence before selecting CURRVAL Sửa Sequence (tạo lại thông số) Cú pháp: ALTER SEQUENCE tên-sequence Xóa Sequence Cú pháp: DROP SEQUENCE tên-sequence 4.13.4 Transaction Một tính quan trọng hệ quản trị CSDL, giúp hệ thống đảm bảo truy vấn xử lý đồng thời vẩy đến cùng, khơng trả lại trạng thái ban đầu Để làm điều ta sử dụng Transaction, tức xử lý giao dịch đồng thời Transaction module dùng để xử lý tập hợp truy vấn có liên quan đến nhau, thường dùng giao dịch đòi hỏi phải có kết xác Sinh viên thực hiện: Nguyễn Thị Lan Hương – Hoàng Minh Ngọc Trang 122 Đề tài: Quản trị sở liệu Quản lý bán hàng Phúc Long Coffee SET TRANSACTION Oracle Cú pháp: SET TRANSACTION [ READ ONLY | READ WRITE] [ ISOLATION LEVEL [ SERIALIZE | READ COMMITED] [ USE ROLLBACK SEGMENT 'segment_name'] [ NAME 'transaction_name']; Trong đó: - READ ONLY thiết lập đọc, READ WRITE vừa đọc vừa thay đổi liệu transaction - ISOLATION LEVEL có hai mức độ ISOLATION LEVEL SERIALIZE transaction cố gắng thực thay đổi mà trùng với transaction khác transaction thất bại ISOLATION LEVEL READ COMMITTED transaction sử dụng row mà bị row locks transaction khác chờ trạng thái row locks giải phóng - USE ROLLBACK SEGMENT, khơng bắt buộc, gán transaction vào rollback segment có tên "segment_name" đặt dấu ngoặc kép - NAME tên transaction bạn muốn đặt READ ONLY: SET TRANSACTION READ ONLY NAME 'RO_example'; READ WRITE: SET TRANSACTION READ WRITE NAME 'RW_example'; Sinh viên thực hiện: Nguyễn Thị Lan Hương – Hoàng Minh Ngọc Trang 123 Đề tài: Quản trị sở liệu Quản lý bán hàng Phúc Long Coffee COMMIT TRANSACTION Oracle Lệnh COMMIT dùng để đẩy tất cập nhật hệ thống, tức cập nhật thay đổi CSDL transaction người dùng khác nhìn thấy thay đổi Lệnh thường dùng vị trí mà thấy an toàn transaction Cú pháp: COMMIT [COMMENT clause]; Trong đó: COMMENT thích lệnh COMMIT, dùng để giải thích ROLLBACK TRANSACTION Oracle Lệnh ROLLBACK dùng để hoàn trả lại trạng thái ban đầu cho transaction transaction cảm thấy nghi ngờ Cú pháp: ROLLBACK; Sinh viên thực hiện: Nguyễn Thị Lan Hương – Hoàng Minh Ngọc Trang 124 Đề tài: Quản trị sở liệu Quản lý bán hàng Phúc Long Coffee CHƯƠNG 5: KẾT LUẬN 5.1 NHỮNG KẾT QUẢ ĐẠT ĐƯỢC CỦA ĐỒ ÁN Trên sở vận dụng kết hợp phương pháp nghiên cứu khoa học, đồ án môn học với đề tài “Quản trị sở liệu quản lý bán hàng Phúc Long coffee ” nghiên cứu thực nội dung sau: - Nghiên cứu đề tài Quản lý kho hàng: Bài toán quản lý bán hàng Hoạt động hệ thống Quy trình xử lý nghiệp vụ hệ thống - Nghiên cứu sở lý thuyết hệ quản trị sở liệu Oracle: Tổng quan hệ quản trị sở liệu Oracle Cách cài đặt hệ quản trị sở liệu Oracle Ưu điểm nhược điểm hệ quản trị sở liệu Oracle - Phân tích thiết kế sở liệu: Xây dựng mơ hình thực thể Chuyển đổi danh sách lược đồ quan hệ Xây dựng mơ hình quan hệ - Xây dựng sở liệu quản lý bán hàng: Tạo user người dùng Tạo connection quản lý bán hàng Tạo diagram (Data modeler) Tạo sở liệu Lệnh chèn liệu (INSERT INTO) Lệnh truy vấn liệu (SELECT) Ngơn ngữ thủ tục PL/SQL - Tìm hiểu trỏ CURSOR Sinh viên thực hiện: Nguyễn Thị Lan Hương – Hoàng Minh Ngọc Trang 125 Đề tài: Quản trị sở liệu Quản lý bán hàng Phúc Long Coffee - Tìm hiểu bảng ảo (VIEW) - Tìm hiểu thủ tục (PROCEDURE) - Tìm hiểu hàm (FUNCTION) - Tìm hiểu TRIGGER - Tìm hiểu gói PACKAGE - Các đối tượng khác: 5.2 Synonym Index Sequence Transaction NHƯỢC ĐIỂM CỦA ĐỒ ÁN Bên cạnh điểm làm được, đồ án chúng em nhược điểm chưa tìm hiểu kỹ đối tượng khác cấu trúc điều khiển Sinh viên thực hiện: Nguyễn Thị Lan Hương – Hoàng Minh Ngọc Trang 126 Đề tài: Quản trị sở liệu Quản lý bán hàng Phúc Long Coffee TÀI LIỆU THAM KHẢO [1] Th.S Nguyễn Thị Minh Hương | Tài liệu môn Hệ quản trị sở liệu Oracle Website: [2] Administrator | Hướng dẫn cài đặt sở liệu Oracle | https://openplanning.net/10211/cai-dat-co-so-du-lieu-oracle-11g-tren-windows [3] Administrator | Tìm hiểu sở liệu tiếng giới Oracle | https://bizflycloud.vn/tin-tuc/oracle-la-gi-20181115154434768.htm [4] Administrator | Cẩm nang kiến thức tổng hợp Oracle | https://timviec365.vn/blog/oracle-la-gi-new7531.html [5] Đề tài xây dựng phần mềm quản lý quán cà phê | https://www.slideshare.net/trongthuy3/luan-van-xay-dung-phan-mem-quan-li-quan-ca phe Sinh viên thực hiện: Nguyễn Thị Lan Hương – Hoàng Minh Ngọc Trang 127
Ngày đăng: 20/11/2023, 06:29
Xem thêm: