Academia.eduAcademia.edu
Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình LUẬN VĂN TỐT NGHIỆP KHOA CÔNG NGHỆ THÔNG TIN Đề tài: Ứng dụng hệ quản trị cơ sở dữ liệu Oracle để xây dựng hệ thống bán hàng tại công ty VINDA SVTH: Đỗ Hữu Bá Trang 1 Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình LỜI MỞ ĐẦU. Cơ sở dữ liệu là một trong những ngành được quan tâm nhiều trong khoa học máy tính, trong công nghệ thông tin. Từ khi có mô hình cơ sở dữ liệu đầu tiên vào những năm 60 đến nay tuy không là chặng đường dài đối với các ngành khoa học khác, nhưng với khoa học máy tính và đặc biệt với cơ sở dữ liệu thì đó là thời gian đáng kể. Cơ sở dữ liệu đã trải qua nhiều thế hệ của hệ quản trị cơ sở dữ liệu, và đã có nhiều ứng dụng trong khoa học và trong các nghành kinh tế quốc dân. Thời đại thông tin ngày nay, bài toán cơ bản và cốt yếu là :Làm thế nào lưu trữ thông tin an toàn và chắc chắn đồng thời lại truy cập chính xác và dễ dàng. Theo thời gian, yêu cầu của bài toán ngày càng cao với lượng thông tin cần lưu trữ, xử lý ngày càng nhiều và đa dạng. Hệ quản trị cơ sở dữ liệu Oracle là một trong những giải pháp tốt nhất, được công nhận trên thị trường tin học thế giới hiện nay. Oracle đã được nghiên cứu và phát triển, cho phép người sử dụng khai thác triệt để tiềm năng của hệ thống quản lý cơ sở dữ liệu quan hệ một cách ưu việt và mạnh nhất hiện nay. Nhu cầu tích lũy và xử lý các dữ liệu đã nảy sinh trong mọi công việc, trong mọi hoạt động của con người. Một cá nhân hay một tổ chức có thể đã nhầm có một hệ thống xử lý dữ liệu, dù cơ chế hoạt động của nó là thủ công và chưa tự động hoá. Một bài toán nhỏ cũng cần đến dữ liệu, nhưng không nhất thiết phải quản lý các dữ liệu theo các phương pháp khoa học. Do khả năng tổng hợp của người xử lý, các dữ liệu ấy được lấy ra, được xử lý mà không vấp phải khó khăn nào. Tuy nhiên khi bài toán có kích thước lớn hẳn và số lượng dữ liệu cần phải xử lý tăng lên nhanh thì e rằng tầm bao quát của con người bình thường khó có thể quản lý hết được! Ấy là không kể đến một số loại dữ liệu đặc biệt; chúng đòi hỏi được quản lý tốt không phải vì kích thước mà vì sự phức tạp của bản thân chúng tổ chức xử lý dữ liệu một cách khoa học đòi hỏi con người sử dụng cơ sở dữ liệu. Chính vì thế em đã chọn hệ quản trị cơ sở dữ liệu Oracle để xây dựng hệ thống bán hàng tại công ty VINDA làm đồ án tốt nghiệp. Em xin chân thành cám ơn đến Tiến sĩ Nguyễn Ngọc Bình người đã trực tiếp hướng dẫn, động viên để em hoàn thành đồ án, tạo điều kiện để em thực hiện đồ án đúng thời gian. Cám ơn các anh chị trong công ty VINDA đã tận tình giúp đỡ tạo điều kiện để đồ án được hoàn thành. Vì thời gian có hạn đồ án chắc còn nhiều thiếu xót, kính mong quý thầy cô, các bạn đóng góp ý kiến để đồ án hoàn thiện hơn. Thành phố Hồ Chí Minh :21-5-2003. . SVTH: Đỗ Hữu Bá SVTH: Đỗ Hữu Bá. Trang 2 Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình PHẦN MỘT Chương I. CƠ SỞ LÝ THUYẾT ............................................................2 I. Lịch sử ORACLE .....................................................................................2 II. Cơ sở dữ liệu ORACLE trong kiến trúc CLIENT/SERVER ....................4 III. Hệ quản trị Cơ sở dữ liệu Quan hệ ORACLE8 SERVER .......................4 IV. Các sản phẩm kết nối mạng....................................................................5 V. Các công cụ phát triển CLIENT/SERVER...............................................5 Chương II: CẤU TRÚC ORACLE ........................................................7 II.1 Lớp vật lý của ORACLE .......................................................................7 II.2 Cấu trúc bộ nhớ và các quá trình...........................................................11 II.3 Transaction, Commit, Rollback ............................................................13 II.4 Các tác vụ khởi tạo và chấm dứt ...........................................................13 II.5 Bảo mật cơ sở dữ liệu ...........................................................................14 Chương III. ORACLE VÀ MÔ HÌNH MẠNG. I. Tổng quan về Net8...................................................................................20 II. Các khái niệm và kiến trúc mạng của Oracle ..........................................21 III. Kiến trúc của Net8.................................................................................21 IV. Môi trường mạng ..................................................................................21 Chương IV. ORACLE VÀ CẤU HÌNH MẠNG I. Service và những chức năng phục vụ của Oracle......................................24 II. Tổng quan về các cấu hình kết nối của Oracle ........................................24 III. Net8 và nền giao tiếp mạng trong suốt...................................................25 IV. Các tầng giao tiếp..................................................................................25 Chương V. NGÔN NGỮ PL/SQL I. Tổng quan về PL/QL ...............................................................................31 II. Cấu trúc chương trình PL/SQL ...............................................................31 Chương VI. PHƯƠNG PHÁP LUẬN PHÂN TÍCH THIẾT KẾ HỆ THỐNG I. Phương pháp phân tích hệ thống về chức năng.........................................34 II. Phương pháp phân tích hệ thống về dữ liệu.............................................36 III. Phương pháp thiết kế hệ thống ..............................................................37 CHƯƠNG VII. GIỚI THIỆU ORACLE DEVELOPER 6.0 I. FORM BUIDER .....................................................................................37 II. REPORT BUIDER .................................................................................39 III. GRAPHICS BUIDER ...........................................................................39 IV. QUERY BUIDER .................................................................................40 V. SCHEMA BUIDER ...............................................................................41 PHẦN HAI I. Khảo sát hiện trạng ..................................................................................42 II. Phân tích hệ thống ..................................................................................44 II.1 Phân tích hệ thống về chức năng...........................................................44 II.2 Phân tích hệ thống về dữ liệu ................................................................61 II.3 Thiết kế hệ thống ..................................................................................67 III. Kết luận hướng phát triển đồ án.............................................................83 Tài liệu tham khảo SVTH: Đỗ Hữu Bá Trang 3 Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình PHẦN MỘT Chương I:CƠ SỞ LÝ THUYẾT I. LỊCH SỬ ORACLE. Vào năm 1977, Larry Ellison, Bob Miner, và Ed Oates thành lập một công ty và đặt tên là Relation Software Incorporated(RSI). Công ty này xây dựng một hệ quản trị cơ sở dữ liệu gọi là Oracle. Ellison, Miner và Oates quyết định phát triển hệ này bằng C và giao tiếp SQL. Ngay sau một thời gian ngắn, họ đưa ra phiên bản một như một nguyên mẫu. Năm 1979, RSI phân phối sản phẩm đầu tiên cho khách hàng: hệ quản trị cơ sở dữ liệu Oracle phiên bản 2, làm việc trên Digital PDP-11 chạy hệ điều hành RSX-11 và ngay sau đó chuyển sang hệ thống DEC VAX. Năm 1983 phiên bản 3 được giới thiệu với những thay đổi trong ngôn ngữ SQL. Không như các phiên bản trước đây , phiên bản 3 được viết toàn bộ bằng C. Vào thời điểm này , RSI được đổi tên thành Oracle Corporation. Phiên bản 4 được phát hành vào năm 1984. Phiên bản 5 được giới thiệu vào năm 1985, là mốc lịch sử vì nó đưa công nghệ Client/ Server vào thị trường với việc sử dụng SQL*Net. Năm 1988, Oracle đưa ra phiên bản 6, giới thiệu việc khoá ở mức thấp. Oracle 7 được phát hành năm 1992 bao gồm nhiều thay đổi kiến trúc về bộ nhớ, CPU và tiện ích xuất /nhập. Năm 1997 Oracle giới thiệu Oracle8, thêm phần mở rộng đối tượng cũng như nhiều tính năng và công cụ quản trị mới đặc biệt Oracle 8i phiên bản hỗ trợ nhiều tính năng mới và đặc biệt là các ứng dụng cơ sở dữ liệu Internet. I.1. ORACLE VÀ CÔNG NGHỆ CLIENT/ SERVER. Oracle Corporation trở thành một công ty cơ sở dữ liệu nổi tiếng nhờ tạo ra một hệ thống quản trị cơ sở dữ liệu quan hệ kiểu Server với hiệu suất cao và đầy đủ chức năng .Oracle đã vượt qua tầm vóc của một công ty cơ sở dữ liệu khi bổ sung hệ quản trị cơ sở dữ liệu quan hệ kiểu Server của nó những sản phẩm tích hợp cao được thiết kế đặc biệt cho các ứng dụng xử lý dữ liệu phân tán và công nghệ Client/ Server. II.CƠ SỞ DỮ LIỆU ORACLE TRONG KIẾN TRÚC CLIENT/SERVER. Oracle Corporation đã trở thành người dẫn đầu khi đưa ra công nghệ Client/Server tiên tiến, định hướng phát triển sản phẩm đặc trưng theo hướng hỗ trợ thiết kế, cài đặt và quản lý các hệ thống cơ sở dữ liệu Client/Server. Orcale đã thiết kế các sản phẩm theo một trong ba thành phần chủ yếu của kiến trúc Client/Server:  Một hệ cơ sở dữ liệu quan hệ server hiệu suất cao, đủ tính năng, thích ứng cho các chủng loại, từ các máy tính xách tay( laptop, notebook) cho đến các máy mainframe.  Sự phát triển client và các sản phẩm run-time hỗ trợ nhiều môi trường GUI  Các phần trung gian kết nối cơ sở dữ liệu cung cấp sự giao tiếp bảo mật và hiệu quả trên nhiều lọai hình giao thức mạng. Các sản phẩm Oracle có tính thích ứng cao, cung cấp các giải pháp Client/Server trọn vẹn cho cho các môi trường ứng dụng từ các nhóm làm việc nhỏ đến các môi trường công ty SVTH: Đỗ Hữu Bá Trang 4 Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình III. HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU QUAN HỆ ORACLE 8 SERVER.  Ngôn ngữ PL/SQL: Một thành phần chính của Oracle8 Server là engine xử lý PL/SQL. PL/SQL là ngôn ngữ thế hệ thứ tư của Oracle, kết hợp các nguyên tố ngôn ngữ thủ tục có cấu trúc với SQL. PL/SQL được thiết kế đặc thù để xử lý client/server, trong đó nó cho phép một khối chương trình PL/SQL chứa logic ứng dụng như các lệnh SQL để đệ trình đến Server với một yêu cầu đơn. Khi sử dụng PL/SQL có thể giảm một cách đáng kể khối lượng xử lý yêu cầu bởi phần Client của ứng dụng và sự lưu chuyển trên mạng để thực hiện phần logic.  Các Stored procedure: Việc xử dụng các stored procedure tăng đáng kể hiệu quả của hệ thống Client/Server vì các lý do sau:  Gọi một stored procedure từ một ứng dụng Client giảm đáng kể mật độ lưu thông trên mạng.  Các stored procedure cung cấp một cơ chế bảo mật hiệu quả và tiện lợi.  Cả hai dạng text và đã biên dịch của các stored procedure đều nằm trong cơ sở dữ liệu. Do dạng biên dịch của thủ tục có sẵn và sẵn sàng thực hiện, nhu cầu phân tích cú pháp và biên dịch PL/SQL lúc thi hành được giảm nhẹ.  Database trigger: Các trigger cơ sở dữ liệu giống như các stored procedure ở chỗ chúng là các khối PL/SQL thường trú trong cơ sở dữ liệu.  Tính toàn vẹn có thể khai báo Khi ta định nghĩa một bảng trong Oracle, các ràng buộc toàn vẹn như là một phần của định nghĩa bảng. Các ràng buộc được hỗ trợ bởi Server khi một bản ghi được chèn, sữa đổi hay xoá. Tính toàn vẹn được hỗ trợ bởi Server làm số mã yêu cầu để kiểm tra bên client và cũng tăng sức mạnh của mô hình giao dịch được định nghĩa bên trong cơ sở dữ liệu.  Các User-defined function: Các user- defined function cũng tương tự các stored procedure. IV. CÁC SẢN PHẨM KẾT NỐI MẠNG.  Net8: Là một phần mềm kết nối cơ sở dữ liệu dùng để cung cấp các thông tin cơ sở dữ liệu xác thực, tối ưu trên mọi thủ tục mạng thông dụng.  Oracle Names: Tạo các liên kết cơ sở dữ liệu chứa các thông tin nút mạng trên một mạng bằng cách sử dụng từ điển toàn cục chung Oracle Names.  Multi- protocol Interchange: cung cấp một nhu cầu giao tiếp trên các thủ tục khác biệt bằng cách gửi thông điệp SQL* Net từ thủ tục này sang thủ tục khác.  Oracle Network Manager: Quản lý cấu hình và quản lý mạng cơ sở dữ liệu phân tán được thực hiện dễ dàng với Network Manager. Network Manager được sử dụng không chỉ để quản lý từ điển Oracle Names mà còn tạo ra các file cấu hình cho các thành phần Client/Server của SQL*Net và định nghĩa cho các đường kết nối cho các nút Multi-Protocol Interchange. SVTH: Đỗ Hữu Bá Trang 5 Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình III. KẾT LUẬN, HƯỚNG PHÁT TRIỂN ĐỒ ÁN.  Hiện tại đồ án đang được thiết kế chạy trên máy đơn nhưng theo hướng mở có thể phát triển ứng dụng trên nền Web. Server có thể lấy dữ liệu trên các máy đơn thông qua môi trường mạng phân tán. Và đó cũng là mục đích thiết kế của đồ án.  Tiếp tục hoàn thiện một số chức năng chưa cài đặt  Xây dựng thêm phần Oracle Web Server cho phép người dùng tra cứu thông tin từ xa. Những kết quả đạt được của đồ án:  Thực hiện demo cơ sở dữ liệu được trên máy đơn.  Chương trình chạy tương đối ổn định.  Cung cấp cho người dùng một giao diện đồ họa có hệ thống menu, toolbar,..  Cung cấp các báo cáo phục vụ cho việc quản lý. Những vấn đề tồn tại:  Chưa thực hiện được trên môi trường mạng.  Giao diện còn một số phần chưa thân thiện với người dùng.  Font chữ chưa việt hoá hoàn toàn có một số phần còn tiếng anh. SVTH: Đỗ Hữu Bá Trang 83 Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình TÀI LIỆU THAM KHẢO [1] Giáo Trình Phân Tích Thiết Kế Hệ Thống Thông Tin. PGS- TS Nguyễn Văn Ba-Nhà Xuất Bản Đại Học Gia Hà Nội- 2003. [2]. De Macro T..,Structured Analysisa and System Specification, Yourdon Press, New York 1989. [3] Weinberg V.., Structured Analysia, Yourdon Press, New York 1978. [4] Oracle 8 VN-Guide- Nhà xuất Bản Thống kê-2003. [5] Giáo Trình Lý Thuyết Và Thực Hành Oracle Trần Tiến Dũng-Nhà Xuất Bản Giáo Dục. [6] Special Edition Using Oracle8, 1998, Macmillan Computer Puslishing. [7] Oracle8 Unleased, 1996-1998, The Coriolis Group. [8] Oracle8 How-To,1998, Macmillan Computer Puslishing. [9] SAMS Teach YourSelf Oracle8 in 21 days,1998, Sams Publishing. [10] Oracle Documentation Online,1996-1999, Oracle Corporation. [11] Các bài viết trong Oracle Magazine, 1997-2000. [12] Bài Giảng Môn Học Nhập Môn Công Nghệ Phần Mềm Tiến Sĩ: Nguyễn Ngọc Bình-Đại Học Bách Khoa Hà Nội. [13] Bài giảng môn học Cơ sở dữ liệu phân tán Tiến sĩ :Nguyễn Kim Anh – Đại Học Bách Khoa Hà Nội. [14] Nhập Môn Cơ Sở Dữ Liệu Quan Hệ PGS-TS: Lê Tiến Vương- Nhà xuất bản thống kê. [15] Mạng Máy Tính Và Các Hệ Thống Mở. GS-TS:Nguyễn Thúc Hải- Nhà Xuất Bản Giáo Dục-1999. SVTH: Đỗ Hữu Bá Trang 84