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... Cơ sở dữ liệu đã trải qua nhiều thế h
Trang 1
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
Trang 2LỜ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á
Trang 3PHẦ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
Trang 4PHẦ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
Trang 5III 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
Trang 6III 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
Trang 7TÀ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