83
  Đồ Án Tt Nghip GVHD:TS Nguyn Ngc Bình  SVTH: Đỗ Hu Bá Trang 1 LI MĐẦU.  Cơ sdliu l à mt trong nhng ngành được quan tâm nhiu trong khoa hc máy tính, trong công nghthông tin. Tkhi có mô hình cơ sdliu đầu tiên vào nhng năm 60 đến nay tuy không l à chng đường dài đối vi các ngành khoa hc khác, nhưng vi khoa hc máy tính và đặc bit vi cơ sdliu thì đó là thi gian đáng k. Cơ sdliu đ ã tr i qua nhiu thế hca hqun trcơ sdliu, và đ ã có nhiu ng dng trong khoa hc và trong các nghành kinh t ế quc dân. Thi đại thông tin ngày nay, bài toán cơ bn và ct yếu l à :Làm thế nào lưu tr thông tin an toàn và chc chn đồng thi li truy cp chính xác và d d àng. Theo thi gian, yêu cu ca bài toán ngày càng cao vi lượng thông tin cn lưu tr, xlý ng ày càng nhiu và đa dng.  H qun trcơ sdliu Oracle l à mt trong nhng gii pháp tt nht, được công nhn tr ên thtrường tin hc thế gii hin nay. Oracle đ ã được nghiên cu và phát trin, cho phép người sdng khai thác trit để tim năng ca hthng qun lý cơ sdliu quan hmt cách ưu vit và mnh nht hin nay.   Nhu cu tích lũy v à xlý các dliu đ ã ny sinh trong mi công vic, trong mi hot động ca con người. Mt cá nhân hay mt tchc có thđ ã nhm có mt h thng xlý dliu, dù cơ chế hot động ca nó l à th công và chưa tđộng hoá. M t bài toán nhcũng cn đến dliu, nhưng không nht thiết phi qun lý các dliu theo các phương pháp khoa hc. Do khnăng tng hp ca người xlý, các dliu y đượ c ly ra, được xlý m à không vp phi khó khăn nào. Tuy nhiên khi bài toán có kích thước ln hn và slượng dliu cn  phi xlý tăng l ên nhanh thì e r ng tm bao quát ca con người bình thường khó có thqun lý hết được! y l à không k đến mt sloi d liu đặc bit; chúng đ òi hi được qun lý tt không phi vì kích thước mà vì sphc tp ca bn thân chúng tchc xlý dliu mt cách khoa hc đ òi hi con người sd ng cơ sdliu. Chính vì thế em đ ã chn hqun trcơ sdliu Oracle để  xây d ng hthng bán hàng t i công ty VINDA làm đồ án tt nghip.  Em xin chân thành cám ơn đến Tiến sĩ Nguyn Ngc B ình người đ ã tr c tiếp hướng dn, động viên để em hoàn thành đồ án, to điu kin để em thc hin đồ án đúng thi gian. Cám ơn các anh chtrong công ty VINDA đ ã t n t ình giúp đỡ to điu kin để đồ án được hoàn thành. Vì thi gian có hn đồ án chc còn nhiu thiếu xót, kính mong quý thy cô, các bn đóng góp ý kiến để đồ án hoàn thin hơn.  Thành phHChí Minh, 21-5-2003 SVTH : Đỗ Hu Bá 

Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250

Embed Size (px)

Citation preview

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang 1

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 đầutiên vào những năm 60 đến nay tuy không l à chặng đường dài đối với cácngà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ầnlư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, đượccông nhận tr ên thị trường tin học thế giới hiện nay. Oracle đ ã được nghiên cứuvà 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ảiquả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ủangườ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ủabả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ếphướ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á 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  2

PHẦN MỘT Chương I. CƠ SỞ LÝ THUYẾT ............................... ............................. 2

I. Lịch sử ORACLE ..................................................................................... 2II. 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 ....................... 4IV. Các sản phẩm kết nối mạng................................................................ .... 5V. Các công cụ phát triển CLIENT/SERVER........................ ....................... 5

Chương II: CẤU TRÚC ORACLE ........................... ............................. 7II.1 Lớp vật lý của ORACLE ................................................................... .... 7II.2 Cấu trúc bộ nhớ và các quá trình ............................... ............................ 11II.3 Transaction, Commit, Rollback ............................................................ 13II.4 Các tác vụ khởi tạo và chấm dứt ............................... ............................ 13II.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 .......................................... 21III. Kiến trúc của Net8................................................................................. 21IV. 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...................................... 24II. Tổng quan về các cấu h ình kết nối của Oracle ............ ......................... ... 24III. Net8 và nền giao tiếp mạng trong suốt................................................... 25IV. Các tầng giao tiếp.................................................................................. 25

Chương V. NGÔN NGỮ PL/SQL I. Tổng quan về PL/QL ............................................................................... 31II. 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 ................................ ......... 34II. Phương pháp phân tích hệ thống về dữ liệu............................................. 36III. 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 ................................................................ ..................... 37II. REPORT BUIDER ............................................... .................................. 39III. GRAPHICS BUIDER ..................................................... ...................... 39IV. QUERY BUIDER ................................................................................. 40V. SCHEMA BUIDER ....... ......................... ............................................... 41

PHẦN HAI I. Khảo sát hiện trạng .................................................................................. 42II. Phân tích hệ thống .................................................................................. 44II.1 Phân tích hệ thống về chức năng ............................... ............................ 44II.2 Phân tích hệ thống về dữ liệu ................................................ ................ 61II.3 Thiết kế hệ thống .................................................................................. 67III. Kết luận hướng phát triển đồ án............................................................. 83

Tài liệu tham khảo 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  3

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áttriển hệ này bằng C và giao tiếp SQL. Ngay sau một thời gian ngắn, họ đưa raphiên bản một như một nguyên mẫu. Năm 1979, RSI phân phối sản phẩm đầutiê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 ênDigital 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ằngC. 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. Oracle7 được phát hành năm 1992 bao gồm nhiều thay đổi kiến trúc về bộ nhớ, CPUvà 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ệtOracle 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ảnphẩ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ântá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ướnghỗ 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ủakiế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ườngGUI  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ậtvà 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 chocác môi trường ứng dụng từ các nhóm làm việc nhỏ đến các môi trườngcông ty 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  4

III. HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU QUAN HỆ ORACLE 8SERVER.  Ngôn ngữ PL/SQL: Một thành phần chính của Oracle8 Server là enginexử lý PL/SQL. PL/SQL là ngôn ngữ thế hệ thứ tư của Oracle, kết hợp cácnguyên tố ngôn ngữ thủ tục có cấu trúc với SQL. PL/SQL được thiết kế đặcthù để xử lý client/server, trong đó nó cho phép một khối chương trìnhPL/SQL chứa logic ứng dụng như các lệnh SQL để đệ tr  ình đến Server vớimột yêu cầu đơn. Khi sử dụng PL/SQL có thể giảm một cách đáng kể khốilượng xử lý yêu cầu bởi phần Client của ứng dụng và sự lưu chuyển tr ênmạ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ựchiện, nhu cầu phân tích cú pháp và biên dịch PL/SQL lúc thi hành đượcgiả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ộtphần của định nghĩa bảng. Các ràng buộc được hỗ trợ bởi Server khi một bảnghi đượ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ênclient 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òntạ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.

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  5

V. CÁC CÔNG CỤ PHÁT TRIỂN CLIENT/SERVER. 1.  Các hệ Server:   Oracle Unisersal Server có các thành phần tùy chọn: 

  Distributed Option:(Tùy chọn phân tán) cho pháp một số cơ sở dữ liệuOracle trên các máy tính khác nhau hoạt động như một cơ sở dữ liệu logicđơn.   Replication Option(Tùy chọn sao lưu): cho phép một cơ sở dữ liệuOracle sao chép sự thay đổi lên một cơ sở dữ liệu k hác.  Context Option(Tùy chọn ngữ cảnh): mở rộng khả năng cho phépngười dùng tìm nội dung của một cơ sở dữ liệu Oracle theo các từ khóa vàcác chủ đề nhất định.   Spatial Data Option(Tùy chọn không gian dữ liệu) cho phép một nhàthiết kế lựa chọn tạo ra các chỉ mục đặc biệt hỗ trợ các query tạm thời,không gian tinh vi và các query khác.

  Oracle Workgroup Server : được thiết kế cho các nhóm làm việc, có cácbản cho Netware, Window NT, SCO UNIX và Unix Ware. OracleWorkgroup Server là một giải pháp có tính bảo trì nhỏ có kinh tế để hỗ trợ các nhóm nhỏ người dùng.

  Persernal Oracle: Là phiên bản chạy tr ên Windows engine của cơ sở dữliệu Oracle có đủ các chức năng như Oracle Universal Oracle và OracleWorkgroup Server.

  Designer 2000: phát triển các ứng dụng Oracle.  Developer/2000, Develper 6.0, Jdeveloper for Oracle 8i: Các bộ Developer 

này gồm Oracle form, Report, Graphics, và Oracle Procedure Builder đượctích hợp vào môi trường phát triển 

  Power Object: cung cấp môi trường phát triển ứng dụng nhanh với các đặctrưng kéo thả và quản lý các toàn tác cơ sở dữ liệu tự động. 

2.CÁC ỨNG DỤNG 2.1 Các ứng dụng Oracle truyền thống    Tài chính.  Nhân sự.   Quản lý dự án.   Bán hàng.

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang 6 

  Sản xuất. Các ứng dụng OnLine Analytical Processing( OLAP). 

Các ứng dụng OLAP cung cấp một giao diện đồ hoạ cho các ứng dụng kho dữliệu nhỏ. Những công cụ này đưa ra mô h ình đa chiều cho cơ sở dữ liệu, cungcấp các tác vụ thiết kế, dự báo và thống k ê.3. CÁC HƯỚNG PHÁT TRIỂN CỦA ORACLE.   Khách/chủ không dây:Công nghệ này làm việc tr ên các mạng nhỏ, đặcbiệt thích hợp với người sử dụng laptop và palmtop. Một dạng hơi tiên tiếnkhác của công nghệ khách /chủ là Oracle Mobile Agents, sử dụng kiến trúcclien-agent-server cho phép một client làm việc offline và kết nối định kỳvới mạng để gửi yêu cầu và nhận kết quả từ server. Thành phần agent củakiến trúc này hoạt động thay cho client khi nó vắng mặt tr ên mạng. 

  Giao diện Internet/ World Wide Web: Web interface Kit của Oracleđược dùng để tích hợp các server World Wide Web với cơ sở dữ liệuOracle8.  Multimedia Server: Khi các ứng dụng sử dụng nhiều kiểu dữ liệu khácnhau, đặc biệt là dữ liệu multimedia, công nghệ server cơ sở dữ liệu cũng

cải thiện để quản lý chúng. CHƯƠNG II. CẤU TRÚC CỦA ORACLE. 

 II.1  LỚP VẬT LÝ CỦA ORACLE. 1 . Lớp vật l  ý của Oracle bao gồm: các tập tin dữ liệu(data file), các tập tinđiều khiển( control file) và các tập tin phục hồi( redo log file).   T ập tin dữ liệu:  lưu trữ thông tin chứa trong cơ sở dữ liệu. Phụ thuộc vào

kích thước, các bảng và các đối tượng khác có thể nằm tr ên một hay nhiều

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang 7 

tập tin. Các tập tin dữ liệu có kích thước cố định và không bao giờ tự pháttriển lớn hơn kích thước ban đầu tạo ra. 

   M ỗi cơ sở dữ liệu cần có ít nhất một tập tin điều khiển các tập tin này ghitên của cơ sở dữ liệu,vị trí của tập tin dữ liệu, tập tin điều khiển và thông tinđồng bộ để đảm bảo rằng chúng luôn hoạt động ăn khớp với nhau. Các tậptin điều khiển cần được bảo vệ. 

  Các t ập tin phục hồi lưu giữ thông tin  để phục hồi trong trường hợp hệthống có sự cố. Các tập tin này ghi lại toàn bộ thay đổi của cơ sở dữ liệu,các tập tin phục hồi có kích thước cố định. 2. Lớp Logic của Oracle gồm: 

  Một hay nhiều không gian bảng(tablespace).   Các khung cơ sở dữ liệu (database schema) bao gồm nhiều đối tượng

Oracle như:table, cluster, index, view, stored procedure, database trigger,sequence,…

Mỗi khung thuộc về tài khoản người dùng gọi tắt là user, được xác định bởimột tên người dùng và một mật khẩu(password) duy nhất đối với cơ sở dữ liệu.

Sau khi đăng nhập vào cơ sở dữ liệu bằng username và password hợp lệ, ta cóthể truy xuất các bảng cũng như các đối tượng của Oracle trong một khungthuộc tài khoản người dùng vừa đăng nhập. Các bảng có cùng tồn tại tr ên hai tài khoản người dùng khác nhau của Oracle

trong cùng một cơ sở dữ liệu vật lý. Đôi lúc, tr ên một cơ sở dữ liệu có thể tồntại nhiều phiên bản khác nhau của các bảng trong các tài khoản khác nhau đểngười phát triển có thể thử nghiệm hệ thống. Thông thường, người ta hay xem tài khoản người dùng Oracle như một cơ sở 

dữ liệu, nhưng điều này không đúng hoàn toàn. Ta có thể sử dụng hai t ài khoảnngười dùng để giữ dữ liệu cho hai hệ ứng dụng khác nhau; ta sẽ có hai cơ sở dữliệu logic được cài đặt trên cùng cơ sở dữ liệu vật lý sử dụng hai tài khoản

người dùng Oracle.3.  SCHEMA cơ sở dữ liệu. Tổng quan về các đối tượng của Schema: 

Một schema kết hợp với một user cơ sở dữ liệu. Một schema là một tậpcác đối tượng schemasau:table,view,sequence,synonym,index,cluster,database link,snapshot,store procedure, function, triger, package.Các đối tượng schema là cấu trúc lưu trữ dữ liệu logic. Các đối tượng schemakhông có mối tương ứng một-một với các tập tin trên đĩa lưu trữ thông tin củanó.Tuy nhiên, Oracle lưu một đối tượng schema trong một không gian bảngcủa cơ sở dữ liệu về mặt logic. Dữ liệu của mỗi đối tượng được lưu trữ vật lý

bên trong một hay nhiều tập tin của không gian bảng. Đối với một đối tượngnhư: table, index, và cluster ta có thể chỉ định lượng không gian đĩa Oracleđịnh vị cho đối tượng bên trong tập tin dữ liệu của không gian bảng. 3.1 Table

Table là đơn vị lưu trữ dữ liệu trong Oracle. Dữ liệu được lưu trong các hàngvà các cột. Ta định nghĩa một table với một tên bảng và một tập các cột. Ta gáncho mỗi cột một tên cột, một kiểu dữ liệu một chiều dài hay độ chính xác vàscale. Một hàng là một tập các thông tin cột tương ứng với một bản ghi đơn. 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang 8

Ta có thể định nghĩa tuỳ ý các quy tắc đặc thù cho mỗi cột trong bảng.Những quy tắc này gọi là các ràng buộc toàn vẹn. 3.2 View

Một view là sự hiển thị dữ liệu chứa tr ong một hay nhiều bảng. Một view lấykết xuất của một query và xử lý nó như một bảng. V ì vậy một view có thể xemnhư là bảng ảo. Ta có thể sử dụng view hầu như ở mọi chỗ có thể sử dụngbảng. 3.3. Bộ sinh mã tuần tự. 

Bộ sinh mã tuần tự cung cấp một chuỗi số tuần tự. Bộ sinh mã tuần tự đặc biệthữu ích trong môi trường nhiều người dùng để tạo ra những số tuần tự duy nhấtmà không phải tốn công truy xuất I/O đĩa hay khoá chuyển tác.V ì vậy, sẽ giảmsự “chuỗi hoá” mà các lệnh của hai chuyển tác cần phải thực hiện để tạo ra cácsố tuần tự đồng thời. Nhờ đó, bộ sinh mã tuần tự cải thiện năng suất chuyển tácvà giảm đáng kể thời gian chờ đợi của một user. Các sequence là các số nguyên Oracle có 38 chữ số được định nghĩa trong cơ 

sở dữ liệu. Một định nghĩa sequence sẽ định hướng thông tin tổng quát: tên

sequence, tăng lên hay giảm xuống, bước nhảy giữa các số, và các thông tinkhác. Một phần quan trọng trong của một định nghĩa sequence là Oracle có trữtrong bộ nhớ một tập các sequence đã tạo ra hay không. Oracle lưu trữ định nghĩa tất cả các sequence của một cơ sở dữ liệu riêng biệt

như là các hàng của một bảng từ điển dữ liệu trong không gian bảng System.Vì vậy tất cả các định nghĩa sequence luôn có sẵn v ì không gian bảng Systemluôn mở sẵn. Các số sequence đượ c sử dụng bởi các lệnh SQL tham chiếu sequence. Ta có

thể phát ra một lệnh tạo một số sequence mới hay sử dụng một số sequencehiện hành. Khi một lệnh trong một phiên làm việc của user tạo ra một sốsequence đặc thù chỉ có sẵn cho session đó; mỗi user tham chiếu đếm một

sequence hiện hành của m ình.Các số sequence được tạo ra độc lập với các bảng.V ì vậy cùng một bộ sinh mãtuần tự có thể sử dụng cho một hay nhiều bảng. Sự tạo ra các số sequence hữudụng để tạo các khoá chính duy nhất cho dữ liệu một cách tự động và để địnhvị các khoá qua nhiều hàng của bảng. Các sequence riêng biệt có thể bỏ quanếu chúng được tạo ra và sử dụng trong một chuyển tác đã roll back xong. Cácứng dụng có thể cung cấp và sử dụng lại những sequence này, nếu cần. 3.4 Synonym 

Một synonym là một bí danh của bất kỳ một table,view,snapshot,sequence,function hay packagesequence. Do một synonym chỉ đơn giản là mộtbí danh, nó không chiếm nhiều bộ nhớ mà chỉ là một định nghĩa trong từ điển

dữ liệu. Các synonym thường được sử dụng do tính bảo mật và tiện lợi. Ví dụ, chúngta có thể làm những việc sau:   che tên và chủ của một đối tượng   cung cấp vị trí trong suốt các đối tượng từ xa của cơ sở dữ liệu phântán  đơn giản hoá các lệnh SQL cho người dùng cơ sở dữ liệu 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  9

Ta có thê tạo ra cả synonym toàn cục lẫn riêng biệt. Một synonym toàn cụcthuộc quyền một nhóm user đặc biệt tên PUBLIC và mọi USER trong một cơ sở dữ liệu có thể truy xuất nó. Một synonym riêng nằm trong schema của mộtuser đặc thù mà kiểm soát tính sẵn dùng của nó cho user khác.Các synonym rất hữu ích cho cả môi trường cơ sở dữ liệu phân tán và không

phân tán do chúng dấu chỉ danh của đối tượng đang được chỉ định, bao gồmcả vị trí trong một hệ phân tán. Đây là một ưu điểm v ì nếu đối tượng đang chỉđịnh cần phải đổi tên hay di chuyển, chỉ cần định nghĩa lại các synonym vàcác ứng dụng dựa tr ên các synonym vẫn tiếp tục hoạt động mà không cần biếnđổi. 3.5 Index.

Index là cấu trúc tuỳ chọn kết hợp với các table và các cluster. Ta có thể tạora các index tường minh để tăng tốc độ thực hiện SQL tr ên một bảng. Cũngnhư các Index trong một cuốn sách giúp ta định vị thông tin nhanh hơn so vớikhi không có index, một index Oracle cung cấp một đường truy xuất dữ liệucủa bảng nhanh hơn. Các index là các phương thức chủ yếu giảm xuất /nhập

đĩa khi sử dụng thích hợp. Sự vắng mặt hay hiện diện của một Index không yêu cầu thay đổi bất kỳ mộtlệnh SQL nào. Một index đơn thuần chỉ là một đường truy xuất nhanh đến dữliệu, nó chỉ ảnh hưởng đến tốc độ thực hiện. Cho một giá trị dữ liệu đã đượcIndex, index trỏ trực tiếp vào vị trí của hàng chứa giá trị đó. Các index độc lập về mặt vật lý và logic với dữ liệu trong bảng kết hợp. Ta có

thể tạo ra hay xoá một index bất cứ lúc nào mà không ảnh hưởng đến bảng gốchay các index khác. Nếu ta bỏ một index, tất cả các ứng dụng vẫn tiếp tục làmviệc; tuy nhiên, sự truy xuất đến dữ liệu đã được truy xuất trước đây có thểchậm hơn. Các index là một cấu trúc độc lập yêu cầu không gian lưu trữ . Oracle tự động duy tr   ì và sử dụng các Index một khi chúng đã được tạo ra.

Oracle tự động phản ánh sự thay đổi đến dữ liệu trong các index, tương ứng khithêm các hàng mới, cập nhật hay xoá các hàng mà không cần thêm yêu cầu nàocủa user. Hiệu năng truy xuất dữ liệu đã index luôn là hằng số, thậm chí khi thêm các

hàng mới vào. Tuy nhiên, sự hiện diện của nhiều index tr ên một bảng giảmhiệu năng sửa đổi, xoá, và chèn vì Oracle cũng cần cập nhật các index kết hợpvới bảng. 

Các index Unique và Non-Unique

Các Index có thể duy nhất hay không duy nhất Các index duy nhất tr ên cácbảng tính duy nhất là một khái niệm logic nghiêm ngặt và chỉ nên kết hợp vớiđịnh nghĩa một bảng. Ta nên thay vào đó bằng cách định nghĩa các r àng buộc

toàn vẹn UNIQUE tr ên cột mong muốn. Oracle hỗ trợ r àng buộc toàn vẹnUNIQUE bằng cách tự động định nghĩa một index unique tr ên khoá unique.Một index composite là một index tạo ra tr ên nhiều cột của một bảng. Các cột

trong một index composite có thể xuất hiện theo một thứ tự bất kỳ không cầnnằm kế nhau trong một bảng. Các index composite có thể tăng tốc độ lấy dữ liệu cho các lệnh SELECT mà

mệnh đề WHERE tham trỏ đến tất cả hay những cột đầu trong index

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang 10

composite, Vì vậy, thứ tự các cột xuất hiện trong định nghĩa rất quan trọng;thông thường, các cột được truy xuất nhiều nhất nên để đầu tiên trong index. Index và key

Mặc dù hai thuật ngữ index và key thường dùng như nhau, ta nên hiểu sựkhác nhau giữa chúng. Index là các cấu trúc thật sự được lưu trong cơ sở dữliệu, mà user tạo ra, thay thế hay xoá bằng các lệnh SQL. Ta có thể tạo ra mộ tindex để tăng nhanh sự truy xuất đến bảng dữ liệu. Key là một khái niệm hoàntoàn logic. Các key tương ứng với một đặc trưng khác của Oracle gọi là ràngbuộc toàn vẹn. Các ràng buộc toàn vẹn hỗ trợ các quy luật hoạt động. Do Oracle sử dụng

Index để hỗ trợ một số r àng buộc toàn vẹn, thuật ngữ index và key thường dùngthay thế cho nhau. 3.6 Cluster. 

Cluster là một phương pháp tùy chọn để lưu trữ dữ liệu bảng. Một cluster l àmột nhóm các bảng có cùng các khối dữ liệu do chúng có các cột chung vàthường sử dụng chung với nhau. 

Do các cluster lưu trữ các hàng liên quan của hai bảng khác nhau trong cùngmột khối dữ liệu, sử dụng cluster một cách thích hợp sẽ có hai lợi điểm sau:    Việc xuất nhập đĩa giảm và cải thiện thời gian truy cập nhờ nối các bảng

cluster  Trong một cluster, một giá trị key cluster đối với mỗi hàng. Mỗi giá trị key

cluster được lưu trữ chỉ một lần trong cluster và trong index cluster, khôngcần biết có bao nhiêu hàng của các bảng khác nhau chứa giá trị đó. 

Vì vậy, không gian lưu trữ các bảng liên hệ và dữ liệu index trong một cluster luôn hơn khi không cluster. Cluster có thể làm giảm hiệu năng của lệnh INSERT so với việc lưu trữ các

bảng tách riêng với index của nó. Khuyết điểm này liên quan đến việc sử dụng

không gian và sơ đồ khối dữ liệu cần phải xem để quét một bảng. Do nhiềubảng có dữ liệu trong mỗi khối, lưu trữ một bảng có cluster cần sử dụng nhiềukhối hơn là bảng không cluster. Để các định dữ liệu thích hợp lưu trữ ở dạng cluster hay là không cluster, hãy

tìm các bảng liên quan đến các r àng buộc toàn vẹn tham chiếu và các bảngthường được truy xuất với nhau thông qua việc sử dụng một kết nối. Nếu ta thực hiện cluster các bảng tr ên các cột sử dụng để nối dữ liệu bảng, ta

giảm số khối dữ liệu cần truy xuất để xử lý query; tất cả các hàng cần thiết đểnối tr ên một cluster key nằm trong cùng một khối. V ì vậy, hiệu năng đối vớikết nối được cải thiện. Cũng như index, các cluster không ảnh hưởng đến thiết kế ứng dụng. Sự tồn

tại của một cluster trong suốt đối với user và ứng dụng. Ta truy xuất dữ liệu lưutrữ trong một bảng có cluster bằng lệnh SQL như bảng không cluster.   II.2. C  ẤU TRÚC BỘ NHỚ V  À CÁC QUÁ TRÌNH.1. Cấu trúc bộ nhớ: Oracle tạo ra và sử dụng cấu trúc bộ nhớ để hoàn thànhmột số công việc. Ví dụ, bộ nhớ lưu trữ mà chương trình đang được thực hiệnvà dữ liệu dùng chung của các user. Các cấu trúc bộ nhớ cơ bản kết hợp vớiOracle: Vùng toàn cục hệ thống( system global area- bao gồm các buffer cơ sở 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang 11

dữ liệu, các buffer redolog, và shared pool) và vùng toàn cục chương tr  ình(program global areas).  Một thể hiện của Oracle(Oracle Instance): Mỗi lúc một cơ sở dữ liệu được

tạo ra, một SGA được định vị và các quá trình chạy ngầm (background)của Oracle được khởi tạo. Sự kết hợp giữa các quá tr  ình background và cácbộ nhớ đệm gọi là một thể hiện của Oracle. 

 M ột thể hiện của Oracle gồm hai loại: các quá trình User và các quá trìnhOracle.  Một quá tr   ình user thực hiện mã của một chương tr  ình ứng dụng haymột công cụ Oracle.   Các quá trình Oracle gồm: các quá tr  ình Server thực hiện các quá trìnhcủa user và các quá trình chạy ngầm để duy tr  ì công việc của Oracle Server. 

1.  System Global Area(SGA). Là một vùng nhớ dùng chung chứa dữ liệu và các thông tin điều khiển của một

thể hiện Oracle. Một SGA và các quá trình chạy ngầm của Oracle tạo nên mộtthể hiện của Oracle.

Oracle định vị SGA khi một thể hiện khởi động và giải phóng nó khi thể hiệnchấm dứt. Mỗi thể hiện có vùng SGA riêng của nó. Các user đang nối vào một Oracle server chia sẻ dữ liệu trong SGA. Để đạt

hiệu năng tối ưu , toàn bộ SGA càng lớn càng tốt để trữ dữ liệu trong bộ nhớ càng nhiều càng tốt giảm truy xuất đĩa. Thông tin lưu trữ trong SGA được chiathành vài loại cấu trúc bộ nhớ: các bộ đệm buffer cơ sở dữ liệu, các bộ đệmredo log, các vùng chia sẽ. Những vùng này có kích thước cố định và được tạora khi thể hiện setup. 

Bộ đệm cơ sở dữ liệu Bộ đệm cơ sở dữ liệu của SGA lưu trữ những khối dữ liệu thường được sửdụng nhất; tập hợp các bộ đệm cơ sở dữ liệu trong một thể hiện gọi là database

buffer cache. Buffer cache chứa các khối đã biến đổi. Do những dữ liệu thườngđược dùng nhất lưu trong bộ nhớ, việc xuất nhập đĩa giảm đi và hiệu năng đượccải thiện. 

Bộ đệm redo log Redo log buffer của SGA lưu trữ các mục redo-quá trình các thay đổi của cơ 

sở dữ liệu. Các mục redo log lưu trong các redo log buffer được ghi vào trongmột tập tin redo log online, sẽ được sử dụng khi cần khôi phục cơ sở dữ liệu.Kích thước của nó không đổi. Vùng chia sẻ 

Share pool là một phần của SGA chứa các cấu trúc bộ nhớ dùng chung nhưcác vùng SQL dùng chung. Một vùng SQL dùng chung được dùng để xử lý

mọi lệnh SQL xác định đưa tới cơ sở dữ lịêu. Một vùng SQL dùng chung chứathông tin như cây cú pháp và kế hoạch thực hiện tương ứng. Một vùng SQLdùng chung được sử dụng bởi nhiều ứng dụng phát cùng lệnh, để nhiều vùngnhớ chia sẻ hơn cho các user khác. Các cán lệnh Một currsor là một cán bộ nhớ kết hợp với một lệnh xác định. Mặc d ù hầu hết

các user Oracle dựa vào sự quản lý tự động các currsor của các tiện ích

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang 12

Oracle, các yêu cầu về lập tr   ình giao diện(GUI) đề nghị các nhà thiết kế ứngdụng điều khiển các currsor nhiều hơn. Program Global Area(PGA)PGA là một bộ nhớ đệm chứa dữ liệu và kiểm soát thông tin của một quá

trình server. Một PGA được tạo ra bởi Oracle khi một quá tr   ình Server khởitạo. Thông tin trong một PGA phụ thuộc vào cấu h ình của Oracle. 

2.  Cấu trúc các quá tr ình.Một quá tr  ình là một tuyến đoạn điều khiển hay một cơ chế trong hệ điều hành

mà có thể thực hiện một chuỗi các bước. Một số hệ điều hành sử dụng thuậtngữ công việc hay tác vụ. Một tiến tr   ình thường có một vùng nhớ riêng đểchạy. 

Một Oracle server có hai loại quá tr   ình chính: quá trình user và quá trìnhOracle.  Quá trình user:

Một quá tr  ình user được tạo ra và duy trì để thực hiện mã phần mềm của mộtchương tr  ình ứng dụng (như chương tr   ình Pro*C/C++) hay một công cụ của

Oracle(như Oracle Enterprise Manager). Quá tr   ình user cũng quản lý sự giaotiếp với các quá tr  ình Server.Các quá trình user giao tiếp với các quá tr  ình server qua giao diện chương

trình.C ấu trúc quá tr ình củ a Oracle.

Các quá trình của Oracle được gọi bởi các quá tr  ình khác để để thực hiện cácchức năng của quá tr   ình gọi.Chúng bao gồm các quá tr   ình server và các quátrình chạy ngầm.   Các quá trình Server:Oracle tạo ra các quá tr   ình server để quản lý các yêu cầu từ các quá tr  ình

kết nối của user. Một quá tr   ình Server có nhiệm vụ giao tiếp với quá tr  ình

user và tương tác với Oracle để thực hiện các yêu cầu của quá tr  ình user kếthợp. Oracle có thể cấu h ình để thích nghi với một số các quá tr  ình user trên một quá

trình server. Trong một cấu h ình server chuyên dùng, một quá tr  ình server quảnlý các yêu cầu cho một quá tr   ình user đơn lẻ. Cấu h  ình server đa luồng chophép nhiều quá tr  ình user chia sẻ một số nhỏ các quá tr  ình server, giảm thiểu sốquá trình server và tối ưu hoá giảm thiểu tài nguyên hệ thống có sẵn. Trong một số hệ thống, các quá tr  ình user và server được tách biệt riêng, trong

khi các hệ thống khác chúng được kết hợp thành một tuyến tr  ình đơn. Nếu mộthệ thống sử dụng Server đa luồng hay nếu các quá trình user và server chạytrên các máy khác nhau, chúng cần phải tách riêng. Các hệ thống client/server 

tách riêng các quá trình user và server và thực hiện chúng tr ên các máy khácnhau.  Các quá trình Background.

Oracle tạo ra một tập các quá tr   ình background cho mỗi thể hiện. Chúng hợpnhất các chức năng mà lẻ ra sẽ được quản lý bởi nhiều chương tr   ình Oraclechạy cho mỗi quá tr  ình user. Các quá trình background đồng bộ hoá việc thựchiện xuất nhập và giám sát các quá trình Oracle khác để cung cấp cơ chế songhành nhằm cải thiện hiệu năng và độ tin cậy. 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang 13

Một SGA và một tập các quá tr   ình background tạo nên một thể hiện Oracle.Mỗi thể hiện Oracle có thể sử dụng một vài quá trình background.  Giao diện chương tr ình.

Giao diện chương tr  ình là cơ chế giao tiếp của một quá tr  ình server và user. Nócung cấp một phương thức giao tiếp chuẩn giữa một công cụ hay một ứng dụngclient bất kỳ (như Oracle forms) và phần mềm Oracle. Nó có chức năng:   hoạt động như một cơ chế giao tiếp bằng cách định dạng yêu cầu dữ liệu, 

truyền dữ liệu, bẩy và trả về lỗi.   Thực hiện việc chuyển đổi và dịch dữ liệu, đặc biệt giữa các loại máy tính

khác nhau hay dịch sang kiểu dữ liệu chương tr  ình user.II.3 TRANSACTION, COMMIT, ROLLBACK.Một Transaction là một đơn vị làm việc nguyên tố bao gồm một hay nhiều

lệnh SQL; nó bắt đầu khi user kết nối vào cơ sở dữ liệu và kết thúc khi mộtlệnh COMMIT hay ROLLBACK được phát ra. Sau lệnh COMMIT hay ROLLBACK, một chuyển tác mới tự động bắt đầu.

Tất cả các lệnh trong một chuyển tác hoặc là được lưu hết hay đều hồi phục lại

hết. Việc COMMIT một chuyển tác tạo sự thay đổi thường trực từ toàn chuyển tácvào cơ sở dữ liệu, và khi đã COMMIT, sự thay đổi không thể thay đảo lại. Sựrollback đảo lại sự thêm, sửa đổi, xoá trong chuyển tác; và khi đã roll back,những thay đổi này không thể COMMIT. Ở bên trong, quá trình COMMIT có ngh  ĩa là ghi những thay đổi đã ghi ở bộ

đệm chương redo log của SGA vào các tập tin redo log on line lên đĩa. Nếuthao tác xuất nhập đĩa này thành công, ứng dụng nhận một thông báo chỉ địnhmột commit thành côngII.4. CÁC TÁC VỤ KHỞI TẠO VÀ CHẤM DỨT. 

Một cơ sở dữ liệu Oracle có chỉ có sẵn cho user khi Oracle server được

startup và cơ sở dữ liệu được mở. Những tác vụ này cần được thực hiện bởingười quản trị mạng. Việc khởi động một cơ sở dữ liệu và đưa ra những bướcsau:

  Khởi động một thể hiện của Oracle server.    Mount cơ sở dữ liệu.    M ở cơ sở dữ liệu.Việc chấm dứt một cơ sở dữ liệu mà nó kết nối gồm:   Đóng cơ sở dữ liệu.   Dismount cơ sở dữ liệu.   Shutdown thể hiện của Oracle server. 

II.5 BẢO MẬT CƠ SỞ DỮ LIỆU. 

Các hệ thống cơ sở dữ liệu nhiều user như Oracle luôn bao gồm các đặc trưngbảo mật kiểm soát được truy xuất và sử dụng cơ sở dữ liệu. Các cơ chế bảo mậtgồm:   Ngăn cản sự truy xuất dữ liệu trái phép.   Ngăn cản sự truy xuất trái phép các đối tượng schema.   Điều khiển việc sử dụng đĩa.   Điều khiển việc sử dụng các tài nguyên hệ thống.   Giám sát các hành động của user. 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang 14

Theo mặc định,mỗi user tạo ra và có quyền đối với tất cả các đối tượng trongschema tương ứng. 

Tính bảo mật cơ sở dữ liệu có thể phân làm hai loại riêng biệt: bảo mật hệthống và bảo mật dữ liệu.

Bảo mật hệ thống gồm các cơ chế điều khiển việc truy xuất và sử dụng cơ sở dữ liệu ở mức hệ thống. Ví dụ bảo mật hệ thống bao gồm:    Sự kết hợp hợp lệ username/password.  Lượng không gian đĩa sẵn có cho mỗi đối tượng schema của user.   Giới hạn về tài nguyên cấp cho user. Cơ chế bảo mật hệ thống kiểm tra:   User có quyền truy xuất vào cơ sở dữ liệu hay không?   Sự giám sát dữ liệu có hoạt động hay không?   Các tác vụ hệ thống nào user có thể thực hiện? Bảo mật dữ liệu bao gồm các cơ chế điều khiển sự truy xuất và sử dụng cơ sở dữ liệu ở mức đối tượng schema. Ví dụ bảo mật dữ liệu bao gồm:   Xác định quyền của user với một đối tượng schema xác định và những tác

vụ nhất định mà user có thể thực hiện trên đối tượng của schema đó( ví dụ,user SCOTT có thể phát sinh lệnh SELECT và INSERT nhưng không thểdùng lệnh DELETE đối với bảng EMP). 

  Các tác vụ, nếu có, được giám sát với mỗi đối tượng hệ thống. CÁC CƠ CHẾ BẢO MẬT. 

Oracle Sever cung cấp sự điều khiển truy xuất theo nhiệm ý, tức là một cáchgiới hạn sự truy xuất thông tin dựa trên đặc quyền(privilege). Một đặc quyềnthích hợp cần gán cho một user để user đó có quyền tác động/ xử lý một đốitượng schema. Các user có đặc quyền thích hợp có thể gán cho các user khácđặc quyền tuỳ ý; do đó, loại bảo mật này được gọi là “nhiệm ý”(discretionary). Oracle quản lý sự bảo mật bằng các phương tiện sau: 

 Hình 1: Các đ c trưn bảo m t của Oracle 

Đặc quyền thực hiện ứng dụngACCTS_PAY

Đặc quyền thực hiệnứng dụng ACCTS_REC 

Đặc quyềnứn d n  

User

PAY_CLERK Role MANAGER REC_CLERK Role RoleUser

ACCTS_PAY Role ACCTS_REC

Role

Role ứng

dụng 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang 15

  Các User và các schema cơ sở dữ liệu   Các đặc quyền(privilege)  Các vai trò(role)  Chỉ định bộ nhớ và quota.  Giới hạn tài nguyên.  Kiểm tra. II.6. USER CƠ SỞ DỮ LIỆU VÀ SCHEMA.Mỗi cơ sở dữ liệu Oracle có một danh sách username. Để truy xuất một cơ sở 

dữ liệu, một user cần sử dụng ứng dụng cơ sở dữ liệu và gắn với một usernamehợp lệ của cơ sở dữ liệu. Mỗi username có một password kết hợp để ngăn ngừasự truy xuất trái phép.  DOMAIN SECURIY (bảo mật vùng).Mỗi user có một domain security- là một tập các tính chất xác định những

điều như:   Các hoạt động(privilege và role) sẵn có cho user.   Các quote tables( không gian đĩa có sẵn) cho user.  

Giới hạn tài nguyên hệ thống( ví dụ, thời gian xử lý cho CPU) cho user.  PRIVILEGE (Đặc quyền) Một privilege là quyền thực hiện một lọai lệnh SQL đặc biệt. Một số privilege

như:   Quyền kết nối vào cơ sở dữ liệu( tạo ra một session)   Quyền tạo bảng trong schema của m ình.  Quyền chọn các hàng từ bảng của User khác.   Quyền thực hiện các store procedure của user khác. Các privilege của một cơ sở dữ liệu Oracle có thể chia thành hai lọai riêng

biệt: privilege hệ thống và privilege của các đối tượng schema. PRIVILEGE hệ thống. 

Privilege hệ thống cho phép user thực hiện một hành động mức hệ thống đặcbiệt hay một hành động đặc biệt tr ên một loại đối tượng schema đặc biệt. Vídụ., đặc quyền tạo một tablespace hay xóa các hàng trong cơ sở dữ liệu l à cácđặc quyền mức hệ thống. Nhiều đặc quyền hệ thống chỉ dành cho người quảntrị và các nhà phát triển ứng dụng do các đặc quyền này rất mạnh. PRIVILEGE đối tượng schema.Privilege đối tượng schema cho phép các user thực hiện một hành động đặc

biệt tr ên một đối tượng schema đặc biệt. Ví dụ, đặc quyền xoá một số hàng củamột bảng, đặc biệt là một privilege đối tượng. Privilege đối tượng được gáncho các người dùng cuối để họ có thể thực hiện một ứng dụng cơ sở dữ liệunhằm thực hiện một tác vụ xác định. 

CẤP PRIVILEGE. Privilege được cấp cho các user để họ có thể truy xuất và biến đổi dữ liệutrong một cơ sở dữ liệu. Một user có thể nhận một privilege theo hai cách khácnhau:  Các privilege có thể cấp cho user một cách tường minh. Ví dụ, privilege để

chèn các record vào bảng EMP có thể gán tường minh cho user scott.   Các privilege có thể gán cho các role( là một nhóm các privilege được đặt

tên), và sau đó role có thể gán cho một hay nhiều user. Ví dụ, privilege chèn

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang 16 

các record vào bảng EMP có thể gán cho một role tên CLERK, và sau đórole này sẽ được cấp cho các user SCOTT và BRIAN.

Do các role cho phép quản lý các privilege dễ dàng và tốt hơn , các privilegethường được gán cho các role chứ không cho một user xác định. ROLECung cấp việc quản lý privilege một cách dễ dàng qua các role. Các role là

một nhóm các privilege có liên quan được đặt tên để cấp cho các user hay cácrole khác. Các tính chất sau cho phép quản lý các role dễ dàng hơn:  Giảm việc cấp privilege-Thay vì cấp tường minh cùng một tập privilege cho

nhiều user, người quản trị cơ sở dữ liệu có thể gán các privilege cho mộtrole, sau đó người quản trị cơ sở dữ liệu có thể gán role cho các thành viêncủa nhóm. 

  Quản lý privilege động- Khi các privilege của một nhóm cần thay đổi, chỉcần biến đổi privilege của role cần biến đổi. Domain bảo mật của tất cả cácuser được cấp role của một nhóm tự động phản ánh thay đổi được thực hiệntrong role.

 Tính sẵn có chọn lọc của privilege- Các role được cấp cho một user có thểcho phép, sẵn dùng, hay không cho phép, không sẵn dùng, một cách chọnlọc. Điều này cho phép điều khiển đặc quyền của một user trong t ình huốngđã cho.

  Hỗ trợ ứng dụng- một ứng dụng cơ sở dữ liệu có thể thiết kế cho phép haykhông cho phép một cách chọn lọc các role một cách tự động khi các user sử dụng ứng dụng.  Người quản trị mạng thường tạo ra các role cho một ứng dụng cơ sở dữ

liệu. Data Base Aministrator(DBA) cấp cho role của một ứng dụng tất cả cácprivilege cần thiết để chạy ứng dụng. DBA sau đó cấp role ứng dụng cho cácrole khác hay user. Một ứng dụng có thể có một số role khác nhau, mỗi cái

được cấp một tập các privilege mà cho phép truy xuất sử dụng ứng dụng cơ sở dữ liệu. DBA có thể tạo ra một role có password để ngăn cản sự sử dụng trái phép các

privilege cấp cho role. Thông thường, một ứng dụng được thiết kế sao cho khikhởi động nó cho phép một role thích hợp. Do đó, user sử dụng ứng dụngkhông cần biết password của một role của ứng dụng.CÁC XÁC LẬP LƯU TRỮ QUOTA.Oracle cung cấp các biện pháp để định hướng và giới hạn việc sử dụng không

gian của cơ sở dữ liệu tr ên từng User, bao gồm các tablespace, tablespace mặcđịnh, tablespace tạm thời và các quota tablespace.

Tablespace t ạm thời.

Mỗi user có một tablespace mặc định. Khi user tạo ra một bảng index haycluster mà không chỉ định cụ thể một tablespace, tablespace mặc định sẽ đượcsử dụng nếu user có privilege tạo ra các đối tượng schema và có quota trongtablespace mặc định. Đặc trưng tablespace mặc định giúp Oracle chỉ định nơilưu trữ trong trường hợp vị trí của đối tượng schema không được chỉ định. Tablespace t ạm thời. Mỗi user có một tablespace tạm thời. Khi một user thực hiện một lệnh SQL,

mà yêu cầu tạo ra một segment tạm thời( như tạo một index), tablespace tạm

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang 17 

thời của các user vào một tablespace riêng, đặc trưng tablespace tạm thời cóthể giảm sự tranh chấp xuất hiện giữa các segment tạm và các loại segmentkhác.Các quota tablespace.

Oracle có thể giới hạn lượng không gian đĩa sẵn để cung cấp cho các đốitượng trong một schema. Các quota có thể xác lập cho từng tablespace có sẵncủa user. Đặc trưng bảo mật quota tablespace điều khiển chọn lọc lượng khônggian đĩa tiêu tốn bởi các đối tượng của các schema xác định. CÁC PROFILE VÀ GIỚI HẠN TÀI NGUYÊN. 

Mỗi user được gán một profile chỉ định các giới hạn tài nguyên trên một sốtài nguyên hệ thống có sẵn cho user, bao gồm.   Số session có thể được thiết lập đồng thời bởi user.   Thời gian truy xuất CPU. Sẵn có cho session của user. Sẵn có cho lần gọi Oracle của một lệnh SQL.   Lượng xuất nhập logic: 

Sẵn có cho session của user. Sẵn có cho một lần gọi Oracle của một lệnh SQL.   Lượng thời gian rỗi cho phép của một session của user.   Lượng thời gian kết nối cho phép của một session của user.  Các giới hạn password: Khóa account sau nhiều lần cố gắng login thất bại. 

Sự hết hạn của password và chu kỳ gia hạn Sự sử dụng lại password và các hạn chế phức tạp. SỰ KIỂM TRA Oracle cho phép kiểm tra chọn lọc( giám sát có đăng ký) các hành động của  

user nhằm điều tra các sử dụng cơ sở dữ liệu không r õ ràng. Sự giám sát có thể

được thực hiện ở ba mức: kiểm tra lệnh, kiểm tra đặc quyền, kiểm tra các đốitượng schema. Kiểm tra lệnh: sự kiểm tra các lệnh SQL xác định mà không quan tâm đến t êncác đối tượng schema. Sự kiểm tra lệnh có thể mở rộng và kiểm tra tất cả cácuser của hệ thống hay chỉ tập trung kiểm tra các user có lựa chọn hệ thống  Kiểm tra đặc quyền: sự kiểm tra các đặc quyền hệ thống quan trọng mà khôngquan tâm đến tên các đối tượng schema. Sự kiểm tra lệnh có thể mở rộng vàkiểm tra tất cả các user của hệ thống hay chỉ tập trung kiểm tra các user có lựachọn hệ thống. Kiểm tra các đối tượng schema: Kiểm tra sự truy xuất đến một đối tượngschema nhất định mà không quan tâm đến user. Sự kiểm tra đối tượng giám sát

các lệnh được cho phép theo đặc quyền đối tượng, như các lệnh SELECT hayDELETE trên một bảng đã cho.Đối với tất cả các loại kiểm tra, Oracle cho phép kiểm tra chọn lọc sự thựchiện lệnh thành công, sự thực hiện lệnh không thành công, hay cả hai. Điều nàycho phép giám sát các lệnh khả nghi, không kể user có phát lệnh có đặc quyềnthích hợp hay không. TRUSTED ORACLE.

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang 18

Trusted Oracle là một sản phẩm quản lý bảo mật cơ sở dữ liệu nhiều mức củacông ty Oracle. Nó được thiết kế để cung cấp khả năng bảo mật cơ sở dữ liệucao nhằm phục vụ yêu cầu các tổ chức xử lý những dữ liệu tế nhị hay bảo mật.Trusted Oracle tương thích với các sản phẩm cơ bản của Oracle, và nó hỗ trợ tất cả các chức năng của Oracle. II.7 BẢO MẬT ỨNG DỤNG. 1. T ổng quan.

Chế độ bảo mật ứng dụng giới hạn việc truy cập cơ sở dữ liệu từ phíaClient của hệ thống. Bảo mật cơ sở dữ liệu giới hạn đến việc truy xuất đến cácđối tượng cơ sở dữ liệu đặc biệt trong khi bảo mật ứng của ứng dụng giới hạnviệc truy xuất các đối tượng giao diện đặc biệt. Nói rộng ra, bảo mật ứng dụngbao gồm cả việc sử dụng bất kỳ đối tượng cơ sở dữ liệu nào của ứng dụng đượcdùng để nâng cao chế độ bảo mật.   Bảo mật của ứng dụng được sử dụng để tăng cường và bổ sung chế độ bảo

mật của cơ sở dữ liệu. Tuy thế, không nên chỉ tin vào chế độ bảo mật củaứng dụng, v  ì không ai tin rằng user chỉ truy cập đến dữ liệu thông qua dữ

liệu đã viết.   Bảo mật của ứng dụng có thể nâng cao mức bảo mật cơ sở dữ liệu bằngcách giới hạn hơn nữa việc truy xuất đối tượng cơ sở dữ liệu bằng cách giớihạn hơn nữa việc truy xuất đối tượng cơ sở dữ liệu và bằng cách cung cấpmột lớp trừu tượng bổ sung. Nếu giới hạn cả việc truy cập các storedprocedure, function của ứng dụng và tạo thêm các role đặc biệt cho ứngdụng, ta có thể dấu các đối tượng ứng với các user đặc biệt hay các role đặcbiệt khi truy xuất hệ thống. Tương tự như chế độ bảo mật cơ bản, ứng dụngcó thể giới hạn việc truy xuất đến các cột hay chỉ định cột nào đó là chỉ đọcbằng cách sử dụng các view khác nhau ứng với các role khác nhau của user. 

  Trong các ứng dụng thông thường, giao diện cho phép user làm việc với cơ 

sở dữ liệu thông qua các tr  ình đơn, các forms tương ứng với các tiến tr  ìnhvà các đối tượng hoạt động. Đó là một lớp thuận lợi cho việc ngăn ngừauser hiểu biết tên các bảng và các cột được truy xuất. 

  Trong nhiều trường hợp, thông tin của cơ sở dữ liệu sẽ dùng để quản lý cáchoạt động của giao diện, dựa tr ên các role của user. Các bảng của hệ thốngchứa các thông tin bảo mật cho ứng dụng sẽ điều khiển các khả năng củagiao diện là sẳn dùng. Các tuỳ chọn tr  ình đơn và các forms sẽ được hiện racho các user có đặc quyền và sẻ ẩn đi nếu user không được phép. 

  Một lý do nữa để cần phải sử dụng bảo mật ứng dụng là ta có thể truy xuấtcơ sở dữ liệu từ nhiều ứng dụng khác nhau. Lúc này user có thể có các rolekhác nhau ứng với các ứng dụng khác nhau. 

SỬ DỤNG ĐỐI TƯỢNG CƠ SỞ DỮ LIỆU CỦA ỨNG DỤNG. Sự phân biệt giữa bảo mật ứng dụng và bảo mật cơ sở dữ liệu đôi lúc mập mờ như khi ta dùng các đối tượng cơ sở dữ liệu của ứng dụng. Khi các ứng dụngkhác nhau cùng truy cập đến đến một cơ sở dữ liệu chung . Khi tạo ra các đốitượng để dùng cho một ứng dụng cụ thể th ì bảo mật ứng dụng là dùng chung.Dù cho đối tượng tồn tại trong cơ sở dữ liệu, và bảo mật cơ sở dữ liệu đã đượcáp dụng, nhưng nếu đối tượng đó chỉ dùng cho một ứng dụng cụ thể nào đó, th ìta có thể coi đó là ứng dụng chủ “Owner” của nó. 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang 19

Theo định nghĩa chung về bảo mật ứng dụng hệ thống, các đối tượng “cơ bản”( cluster, tables, indexes, sequence) và các quyền cấp cho các đối tượngnày thuộc loại bảo mật cơ sở dữ liệu. Các đối tượng khác như view, proceduresvà function được coi là các đối tượng cơ sở dữ liệu ứng dụng và các quyền cấpvề chúng thuộc loại bảo mật ứng dụng. Thông thường, trong môi trường cơ sở dữ liệu lớn, nhà quản trị cơ sở dữ liệuchính sẽ không chịu trách nhiệm về việc tạo và bảo tr  ì các đối tượng cơ sở dữliệu ứng dụng. Một cách có thể áp dụng để tạo bảo mật cho một cơ sỏ dữ liệulớn được truy xuất từ nhiều ứng dụng là cung cấp quyền tạo sequence và viewscủa các bảng cho các nhà phát triển hay quản trị để họ đóng vai tr ò là nhữngnhà quản trị cơ sở dữ liệu cho các ứng dụng riêng biệt của m ình.

 Hình 2. Vai trò của các đối tượng cơ sở dữ liệu trong bảo mật ứng dụng. 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  20

TABLES

SEQUENCES

VIEWS

PUBLIC SYNONYMS

TablesPROCEDURE&FUNCTION

PUBLICSYNONYMS

VIEWS

PROCEDURE VÀ FUNCTION BÊN TRONG LỚP ĐỐI TƯỢNG ỨNGDỤNG CLIENT 

Đối tượng ứng dụng 

Đối tượng CSDL 

Sequences

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  21

CHƯƠNG III: ORACLE VÀ MÔ HÌNH MẠNG. I.  Tổng quan về NET8. Net8 là nền tảng cho các họ sản phẩm mà Oracle xây dựng nên. Nhờ vào Net8

tất cả mọi dịch vụ và ứng dụng của Oracle nằm tr ên các máy tính khác nhauđều có thể dễ dàng truy cập và trao đổi dữ liệu với nhau như đang làm việc tr êncùng một máy. Chức năng chủ yếu là thiết lập các phiên chuyển tác mạng vàtrao đổi giữa các máy client/server hay giữa các server -server với nhau. Mỗimáy tính có ứng dụng Oracle muốn tham gia vào hệ thống mạng đều phải đượccài Net8 trên đó. Các phiên kết nối mạng được thiết lập thông qua cơ chế lắng nghe và phản hồi.

Một chương tr  ình trên máy chủ được gọi là listener sẽ chạy thường xuyên nhưlà một dịch vụ, tiếp nhận tất cả các kết nối từ các máy khác( máy client) đến cơ sở dữ liệu( máy server, nơi chứa cơ sở dữ liệu và cũng là nơi Listener 

đang hoạt động ). Bộ tiếp nhận đóng vai tr ò như một môi giới hướng dẫn các yêu cầu kết nốixuất phát từ máy client đến máy server. Mỗi khi có một máy client yêu cầu mộtphiên kết nối mạng đến máy mà Listener đang hoạt động, Listener sẽ tiếp nhậnnhững thông tin kết nối do máy client đưa đến. Nếu những thông tin này phù hợp với những thông tin mà mà Listener nắm 

giữ th ì máy client sẽ được listener cấp cho quyền kết nối vào máy server. Nhưvậy muốn kết nối với cơ sở dữ liệu của Oracle một ứng dụng tr ên máy clientcần phải thiết lập đúng những thông số kết nối mà chương tr   ình listener trênmáy server quy định. Trên một môi trường mạng rộng lớn đòi hỏi nhiều kết nối đến cơ sở dữ liệu để

truy xuất cùng một dịch vụ, thay v ì sử dụng cơ chế listener Net8 cho phép càiđặt bộ tiếp nhận listener và quản lý các kết nối tr ên một máy tính riêng biệtbằng chương tr   ình Oracle Connection Manager. Khi đó thao tác kết nối vớilistener nằm tr ên một máy tính trung gian không còn hoạt động chung với cácdịch vụ tr ên máy server nữa. II. CÁC KHÁI NIỆM VÀ KIẾN TRÚC MẠNG CỦA ORACLE.Net8 sử dụng khái niệm” Nền giao tiếp mạng trong suốt”(Trasparent Net WorkSubtrate) gọi tắt là TNS, cùng với các chuẩn công nghiệp về giao tiếp mạng đểthực hiện những kết nối giữa máy client-server cũng như thiết lập các phiênlàm việc tr ên mạng cho ứng dụng Oracle. Net8 đảm nhiệm khả năng giao tiếpgiữa nhiều máy trong hệ một hệ thống mạng thực hiện những chuyển tác phân

tán của Oracle bất chấp các kết nối được thực hiện dưới h ình thức client-serverhay giữa các server -server với nhau. Hoạt động của các dịch vụ mà Net8 cungcấp chủ yếu là ba thao tác:  Thao tác thực hiện kết nối giữa các máy.   Thao tác trên dữ liệu   Các tháo tác xử lý ngọai lệ

III. KIẾN TRÚC CỦA NET8 Kiến trúc của Net8 gồm: 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  22

  Môi trường mạng   Net8 và nền giao tiếp mạng trong suốt   Các tầng giao tiếp mạng.   Các tầng giao tiếp mạng bên trong môi trường mạng điển h ình của Oracle.   Các tầng giao tiếp mạng trong môi trường IIOP. 

  Tương tác giữa Server và Server.  Các tầng giao tiếp mạng trong môi trường JDBC. IV. MÔI TRƯỜNG MẠNG. Môi trường mạng của Oracle được xây dựng tr ên hai khái niệm:   Tiến tr  ình xử lý phân tán  Cơ sở dữ liệu phân tán. 

*Tiến tr ình xử lý phân tán Cơ sở dữ liệu của Oracle và các ứng dụng phía client hoạt động theo cách

của một môi trường xử lý phân tán. Tiến tr  ình xử lý phân tán là sự tương tácgiữa hai hay nhiều máy cùng truy xuất vào cơ sở dữ liệu khác nhau để hoàn tấtmột thao tác chuyển tác về xử lý và truy xuất dữ liệu. Các ứng dụng bao gồmnhững công cụ của Oracle như SQL*Plus, Schema Manager chẳng hạn đều có

khả năng yêu cầu nhiều Server chứa cơ sở dữ liệu đồng thời thực hiện các thaotác khác nhau để trả về một kết quả truy vấn duy nhất. Trong một cấu h ình mạng điển h ình, máy client và server được cài đặt như là

những thực thể tách biệt nhau về mặt vật lý cũng như logic. Cấu h  ình mạngtách biệt này cho phép thể hiện sự phân công lao động giữa các và phân bổ tàinguyên một cách hiệu quả. Những ,máy này không đòi hỏi cấu h ình mạnh nênchỉ là những máy cần tốc độ xử lý và bộ nhớ ở mức b ình thường là đủ. Ngượclại server được xem như là những máy chuyên biệt, lưu trữ tài nguyên và dữ

Server

Client

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  23

liệu để phân bố cho các client. Máy server thường trang bị cấu h ình tối đa vềdung lượng đĩa, tốc độ xử lý, bộ nhớ, cơ chế bảo mật và sao lưu dữ liệu… Vànhư vậy giữa client và Server đã có sự phân công và cùng hợp tác để phục vụcho mục đích xử lý dữ liệu của các chương tr  ình.  Cơ sở dữ liệu phân tán: Là một cơ sở dữ liệu gồm nhiều cơ sở dữ liệu địa phương có quan hệ logicvới nhau mà được phân tán tr ên nhiều trạm làm việc của một mạng máy tính.Đối với người dùng tập hợp cơ sở dữ liệu nằm r ãi rác trên mạng có liên quanđến nhau khi truy xuất sẽ được xem như là một cơ sở dữ liệu duy nhất. Cácserver chứa cơ sở dữ liệu phân tán thường được liên kết với nhau bằng datalink hoặc bằng đường dẫn từ một cơ sở dữ liệu này đến một cơ sở dữ liệukhác. Xu thế phát triển của cơ sở dữ liệu phân tán: 

  Cơ cấu tổ chức kinh tế phi tập trung   Sự tăng trưởng   Giảm chi phí truyền thông 

 Kiến trúc của cơ sở dữ liệu phân tán. 

  Sơ đồ tồng thể Bao gồm tập toàn bộ dữ liệu của xí nghiệp được biểu diển bỡi mô h ìnhquan hệ 

  Tập các quan hệ tổng thể  Mỗi quan hệ là một đối tượng của cơ sở dữ liệu phân tán và qua hệ đó được

tách thành các bộ phận không bao tr ùm lên nhau. Mỗi bộ phận đó là một đoạn. 

SƠ ĐỒ ÁNH XẠ ĐỊAPHƯƠNG 1  SƠ ĐỒ ÁNH XẠ ĐỊA PHƯƠNGn

DBMS1 DBMSn

CSDL1 CSDLn

SƠ ĐỒ TỔNG THỂ 

SƠ ĐỒ PHÂN ĐOẠN 

SƠ ĐỒ SẮP CHỖ 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  24

  Sơ đồ sắp chỗ Mỗi đoạn là một đơn vị logic của cơ sở dữ liệu phân tán mà nó được định

vị tại một hoặc nhiều trạm làm việc. CÁC MỨC TRONG SUỐT KHÁC NHAU 

* M ức trong suốt phân đoạn:  Người sử dụng biểu diễn ứng dụng tr ên các quan hệ tổng thể mà không hề

biết về sự phân đoạn cũng như sự sắp chỗ của quan hệ tổng thể. Sự phân đoạn là hoàn toàn trong suốt đối với người sử dụng.    M ức trong suốt ánh xạ định vị  Người sử dụng biểu diển trên các đoạn do vậy người sử dụng biết sự phân

đoạn của quan hệ tổng thể. Tuy nhiên sự định vị của các đọan là trong suốt đốivới người sử dụng.    M ức trong suốt ánh xạ địa phương   Người sử dụng biểu diễn ứng dụng trên các đọan mà còn phải chỉ r õ làm

việc tr ên bản sao nào của đoạn.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. Oracle xây dựng rất nhiều loại service để hỗ trợ và phục vụ cho các thao táckết nối cũng như truy xuất cơ sở dữ liệu. Một Service thường có hai thao tácchính mà bạn cần quan tâm là START và STOP. Khi một Service đượcSTART nó sẽ ở trạng thái sẵn sàng phục vụ cho mọi yêu cầu gửi đến theo cáchthức mà ứng dụng quy định. Khi STOP một Service cũng đồng nghĩa với cácdịch vụ hay ứng dụng mà bạn yêu cầu phục vụ không còn có sẵn nữa. Chương tr  ình listener của Oracle là một Service dễ h ình dung nhất. II. TỔNG QUAN VỀ CÁC CẤU HÌNH VÀ KẾT NỐI CỦA ORACLE.

Do cơ sở dữ liệu và các ứng dụng của Oracle hoạt động theo mô h ình mạngclient/server nên hầu hết các cấu h ình cần thiết lập cần phải ăn khớp nhau giữa

client với server.Muốn cơ sở dữ liệu trên máy Server chấp nhận kết nối máy client cần phải

được cấu h  ình thiết lập các thông số cho Net Service Name các thông số màNet Service Name nắm giữ phải phù hợp với những thông số thiết lặp trong tậptin LISTENER.ORA do chương tr  ình kiểm soát. Các thông số này chủ yếu baogồm địa chỉ mạng của máy Server và các giao thức dùng để kết nối. Trong quátrình kết nối máy client sẽ gửi thêm thông tin về định danh của cơ sở dữ liệutrên máy chủ để LISTENER biết cách gửi những yêu cầu của bạn đến đúngService của cơ sở dữ liệu mà bạn cần truy xuất. Tập tin LISTENER.ORA dùng lưu những thông tin quy định cách ứng xử và

kiểm soát kết nối của Services listener, các thông tin này bao gồm địa chỉ mạng

nơi listener muốn tiếp nhận kết nối( thường là địa chỉ máy Server ), giao thứcmà Listener dùng để liên lạc và hiểu được máy Client, cổng giao tiếp( dành chogiao thức TCP/IP), định danh SID của cơ sở dữ liệu cần LISTENER phục vụ (hay chuyển giao các yêu cầu truy xuất từ phía client đưa đến). Tập tin nàythường được ORACLE đặt tại thư mục ORACL_HOME  \Net80\Admin \ trênmáy server.Để kết nối với Server máy Client dùng Net Service Name là một chuỗi thông

tin được lấy từ tập tin TNSNAMES.ORA( tr ên máy client cục bộ tập tin này

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  25

thường được ORACLE lưu trong thư mục ORACLE_HOME\Net80\Admin)hoặc tr ên một máy Server khác(Oracle Names Server) trong trường hợp bạn cónhiều cơ sở dữ liệu và cần truy xuất tr ên mạng diện rộng với quy mô cơ sở dữliệu phân tán lớn. Khi cấu h  ình máy client ( hay Server đóng vai tr ò client)chúng ta cần phải quan tâm đến những thông số máy kết nối này.Tổng quát ta có hai cách thiết lập cấu h  ình cho Net Services Name ở máy

Client là:  Cấu h ình quản lý cục bộ. Địa chỉ mạng và giao thức quy định kết nối được đặt trong tập tin

TNSNAMES. ORA hoặc chỉ dùng tập tinWINNT\SYSTEM32\DRIVER\ETC\HOST duy nhất của Window NT. Côngcụ của Oracle giúp bạn thực hiện công việc này là Oracle Net8 Easy Confighay Net 8 Assistance.  Cấu h ình quản lý tập trung. 

Tất cả tên Net Service Name và địa chỉ kết nối với Server được đặt tr ên mộtmáy chủ khác(ONS- Oracle Name Server). Máy client chỉ cần quan tâm đến

địa chỉ máy ONS các thông tin khác về Server chứa cơ sở dữ liệu sẽ được ONScho biết. Công cụ hỗ trợ cấu h ình này của Oracle là Oracle Net8 Assistance.III. NET8 VÀ “NỀN GIAO TIẾP MẠNG TRONG SUỐT”. 

Khái niệm “trong suốt” thường để chỉ những phần mềm trung gian giúp tathực hiện một thao tác nào đó mà không cần biết đến cơ chế hoạt động hay sựhiện diện của thành phần trung gian. Oracle cung cấp mô h  ình hoạt động vàgiao tiếp mạng tương tự như vậy. Tất cả các lời gọi kết nối đều với mạng đềudo TNS( Transaparent Network Subtrate) hay “Nền giao tiếp mạng trong suốt”quản lý và chuyển tải. Kỹ thuật và nền tảng của TNS được xây dựng bên trongNet8 cung cấp một cách giao tiếp duy nhất cho tất cả các giao thức mạng hiệnnay đang được sử dụng rộng r ãi như: TCP/IP, IPX, Pies… 

Với TNS mọi ứng dụng ngang hàng đều có thể kết nối được với nhau mộtcách tự nhiên. Trong kiến trúc mạng ngang hàng gồm hai hay nhiều máy tính (mỗi máy tính được xem như là một node hay là một nút mạng) có thể giao tiếptrực tiếp với nhau không cần thông qua một thiết bị trung gian nào khác. Vớihệ thống ngang hàng mỗi node đều có thể đóng vai tr ò là một client hoặc mộtserver.IV. CÁC TẦNG GIAO TIẾP. Khái niệm xử lý các tiến tr  ình phân tán mà ta đã nêu trước đây dựa vào khả

năng của nhiều máy tính tách biệt nhau có thể giao tiếp và tương tác với nhauthông qua những tầng giao tiếp được thiết kế khác nhau về mặt vật lý.Các tầng giao tiếp này được thiết kế theo mô h ình hệ thống mở (Open System

Interconnection gọi tắt là OSI). Trong mô hình OSI, giao tiếp giữa các máy tínhkhác biệt nhau được thực hiện thông qua việc phân chia trách nhiệm trong việcchuyển và xử lý một gói thông tin xuyên qua nhiều tầng tách rời. Phía máy client thông tin từ tầng cao nhất sẽ được phân tích và chuyển dần

xuống các tầng dưới. Tầng vật lý cuối cùng sẽ chuyển thông tin qua mạng đếnmáy server. Tại máy server gói thông tin sẽ được phân tích và chuyển xuốngthông qua các tầng giao tiếp theo hướng ngược lại. 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  26 

Điều hấp dẫn của tiếp cận OSI chính là ở chỗ nó hứa hẹn giải pháp cho vấn đềtruyền thông giữa các máy tính không giống nhau. Hai hệ thống dù khác nhaunhư thế nào đi nữa, điều có thể truyền thông với nhau một cách hiệu quả nếuchúng đảm bảo những điều kiện sau đây:   Chúng cài đặt một tập các chức năng truyền thông   Các chức năng đó được tổ chức thành một tập các tầng. Các tầng đồng mức

phải cung cấp các chức năng như nhau   Các tầng đồng mức phải sử dụng một giao thức chung. Để đảm bảo những điều tr ên cần phải có các chuẩn. Các chuẩn phải xác địnhcác chức năng và dịch vụ được cung cấp bởi một tầng. Theo cách tiếp cận OSI,trong mỗi tầng của một hệ thống có một hoặc nhiều thực thể(entity) hoạt động.Một(N) entity (thực thể của tầng N) cài đặt các chức năng của tầng N và giaothức truyền thông với các(N) entity trong các hệ thống khác. Một tiến tr  ìnhtrong một hệ đa xử lý là một ví dụ của thực thể. Hay đơn giản hơn, một thựcthể có thể là một tr  ình con(subroutine). Mỗi thực thể truyền thông với các thựcthể ở các tầng trên và dưới nó thông qua một giao diện. Giao diện này gồm một

hoặc nhiều điểm truy cập dịch vụ(Service Access Point-viết tắt là SAP). (N-1)entity cung cấp dịch vụ cho một (N) entity thông qua việc gọi các hàm nguyênthuỷ( primitive). Hàm nguyên thuỷ chỉ rỏ các chức năng thực hiện và đượcdùng để chuyển dữ liệu và thông tin điều khiển. Lời gọi tr  ình con chính là mộtdạng cài đặt cụ thể của một hàm nguyên thuỷ. Bốn hàm nguyên thuỷ được dùng để định nghĩa tương tác giữa các tầng kề

nhau, đó là:   Request(yêu cầu): Là hàm nguyên thuỷ mà Service User( người sử dụng

dịch vụ) dùng để gọi một chức năng.   Indication(chỉ báo): là hàm nguyên thuỷ mà Service Provider( người cung

cấp dịch vụ) dùng để: 

Gọi một chức năng hoặc chỉ bảo một chức năng đã được gọi ở một điểm truycập dịch vụ(SAP)   Respone( trả lời): Là hàm nguyên thủy mà Service User dùng để hoàn tất

một chức năng đã được gọi từ trước bởi một hàm nguyên thủy Indication ở SAP đó. 

  Confirm(xác nhận): Là hàm nguyên thủy mà Service Provider dùng đểhoàn tất một chức năng đã được gọi từ trước bởi một hàm nguyên thủyRequest tại SAP đó. 

Mô hình tham chiếu OSI 7 tầng:   Tầng vật lý. 

Theo định nghĩa của ISO, tầng vật lý cung cấp các phương tiện điện,

cơ,chức năng thủ tục để kích hoạt, duy tr  ì và đ ình chỉ liên kết vật lý giữa các hệthống. Ở đây thuộc tính điện liên quan đến sự biểu diễn các bit và tốc độ truyền các

bit, thuộc tính cơ liên quan đến các tính chất vật lý của giao diện với mộtđường truyền( kích thước, cấu h  ình). Thuộc tính chức năng chỉ ra các chứcnăng được thực hiện bởi các phần tử của giao diện vật lý, giữa một hệ thống v àđường truyền và thuộc tính thủ tục liên quan đến giao thức điều khiển việctruyền các xâu bit qua đường truyền vật lý.  

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  27 

Khác với các tầng khác, tầng vật lý là tầng thấp nhất giao diện với đườngtruyền không có PDU cho tầng vật lý, không có phần header chứa thông tinđiều khiển(PCI), dữ liệu được truyền đi theo dòng bit. bởi giao thức cho tầngvật lý không xuất hiện với ý nghĩa giống như đối với các tầng khác.   Tầng liên kết dữ liệu. 

Tầng liên kết dữ liệu cung cấp các phương tiện để truyền thông qua liên kếtvật lý đảm bảo tin cậy thông qua liên kết vật lý đảm bảo tin cậy thông qua cáccơ chế đồng bộ hoá, kiểm soát lỗi và kiểm soát luồng dữ liệu.   Tầng mạng. 

Cấu trúc tầng mạng được nhiều chuyên gia đánh giá là phức tạp nhất trongcác tầng của mô h ình OSI. Tầng mạng cung cấp các phương tiện để truyền cácđơn vị dữ liệu qua mạng, thậm chí qua một mạng của các mạng. Bởi vậy nócần phải đáp ứng nhiều kiểu mạng và nhiều kiểu dịch vụ cung cấp bởi cácmạng khác nhau. Các dịch vụ và giao thức cho tầng mạng là phải phản ánhđược tính phức tạp đó. Hai chức năng chính của tầng mạng là chọn đường vàchuyển tiếp.  

Tầng giao vận. Trong mô hình OSI người ta phân biệt 4 tầng thấp và ba tầng cao. Các tầngthấp quan tâm đến việc truyền dữ liệu giữa các hệ thống cuối qua phương tiệntruyền thông, còn các tầng cao tập trung đáp ứng các yêu cầu và các ứng dụngcủa người sử dụng. Tầng giao vận là tầng cao nhất của nhóm các tầng thấp ,mục đích của nó là cung cấp các dịch vụ truyền dữ liệu sao cho các chi tiết cụthể của phương tiện truyền thông được sử dụng ở bên dưới trở nên trong suốtđối với các tầng cao. Nói cách khác, có thể h ình dung tầng giao vận như là một“bức màn” che phủ toàn bộ các hoạt động ở các tầng thấp bên dưới nó. Từ đó,nhiệm vụ của tầng giao vận rất phức tạp. Nó phải được tính đến khả năng mộtphạm vi rất rộng các đặc trưng của mạng . Chẳng hạn, một mạng có thể là có

liên kết hoặc không liên kết, có thể là tin cậy hoặc chưa đẳm bảo tin cậy,… Nóphải biết được yêu cầu về chất lượng dịch vụ của người sử dụng đồng thời cũngphải biết được khả năng cung cấp các dịch vụ của mạng bên dưới. Chất lượngcủa các dịch vụ mạng tuỳ thuộc vào loại mạng khả dụng cho tầng giao vận vàcho người sử dụng cuối.   Tầng phiên.

Tầng phiên là tầng thấp nhất trong nhóm các tầng cao và nằm ở ranh giớigiữa hai nhóm tầng nói tr ên. Mục tiêu của nó là cung cấp cho người sử dụngcuối các chức năng cần thiết để quản trị các phiên ứng dụng của họ, cụ thể là:  Điều phối việc trao đổi dữ liệu giữa các ứng dụng bằng cách thiết lập và

giải phóng một cách logic các phiên hay còn gọi là các hội thoại. 

  Cung cấp các điểm đồng bộ hoá để kiểm soát việc trao đổi dữ liệu.   Áp đặt các quy tắc cho các tương tác giữa các ứng dụng của người sử dụng.    Cung cấp cơ chế “lấy lượt” trong quá tr  ình trao đổi dữ liệu. Việc trao đổi dữ liệu có thể thực hiện theo một trong 3 phương thức:    Hai chiều đồng thời.   Hai chiều luân phiên.  Một chiều. 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  28

Với phương thức hai chiều đồng thời, cả hai bên đều có thể đồng thời gửi dữliệu đi. Một khi phương thức này đã được thỏa thuận th ì không đòi hỏi phải cónhiệm vụ quản trị tương tác đặc biệt nào đó. Có lẽ đây là phương thức hội thoạiphổ biến nhất. Trong trường hợp hai chiều luân phiên thì nảy sinh vấn đề: haingười sử dụng phiên” lấy lượt” để truyền dữ liệu. Một ví dụ điển h  ình của phương thức này là dùng cho các ứng dụng hỏi /đáp. Thực thể tầng phiên duytrì tương tác luân phiên bằng cách báo cho người sử dụng khi đến lượt họ đượctruyền dữ liệu. Trường hợp một chiều nói chung ít xảy ra, ví dụ điển h ình là dữ liệu được gửi

tới một người sử dụng tạm thời không làm việc, chỉ có một chương tr  ình nhậnvới nhiệm vụ duy nhất là tiếp nhận dữ liệu đến và lưu giữ lại. Chuẩn của ISOkhông xét đến phương thức này.

Vấn đề đồng bộ hoá trong tầng phiên được thực hiện tương tự như cơ chếđiểm kiểm tra/ phục hồi trong một hệ quản trị tệp. Dịch vụ này cho phép ngườisử dụng xác định các điểm đồng bộ hoá trong dòng dữ liệu và có thể khôi phụcviệc hội thoại bắt đầu từ một trong các điểm đó. 

Một trong những chức năng quan trọng nhất của tầng Phiên là đặt tương ứngcác liên kết phiên với các liên kết giao vận. Ở một thời điểm cho trước , tồn tạimột ánh xạ giữa các liên kết phiên và các liên kết giao vận. Tuy nhiên vòng đờicủa các liên kết phiên và giao vận có thể khác nhau.   Tầng tr ình diễn. 

Mục đích của tầng tr   ình diễn là đảm bảo cho các hệ thống cuối có thểtruyền thông có kết quả ngay cả khi chúng sử dụng các biểu diễn dữ liệu khácnhau. Để đạt được điều đó nó cung cấp một biểu diễn chung để dùng trongtruyền thông và cho phép chuyển đổi từ biểu diễn cục bộ sang biểu diễn chungđó. Tồn tại 3 dạng cú pháp thông tin được trao đổi giữa các thực thể ứng dụng ,đó

là : cú pháp dùng ứng dụng thực thể nguồn, cú pháp dùng bởi thực thể ứngdụng đích và cú pháp được dùng giữa các thực thể tầng tr   ình diễn . Loại cúpháp sau gọi là cú pháp truyền. Có thể cả 3 hoặc một cặp nào đó trong các cúpháp trên là giống nhau. Tầng tr  ình diễn đảm nhiệm việc chuyển đổi biểu diểncủa thông tin giữa cú pháp truyền và mỗi một cú pháp kia khi có yêu cầu. Lưu ý rằng không tồn tại một cú pháp truyền xác định trước duy nhất cho mọi

hoạt động trao đổi dữ liệu. Cú pháp truyền được sử dụng tr ên một liên kết cụthể của tầng tr   ình diễn phải được thương lượng giữa các thực thể tr   ình diễntương ứng. Mỗi bên lựa chọn một cú pháp truyền sao cho có thể sẵn sàng đượcchuyển đổi sang cú pháp người sử dụng và ngược lại. Ngoài ra, cú pháp truyềnđược chọn phản ánh các yêu cầu dịch vụ khác, chẳng hạn như nhu cầu nén dữ

liệu. Việc thương lượng cú pháp truyền được tiến hành trong giai đoạn thiết lậpmột liên kết và cú pháp truyền sử dụng có thể được thay đổi trong vòng đời củaliên kết đó. Tầng tr  ình diễn chỉ liên quan đến cú pháp truyền v ì thế trong giaothức sẽ không quan tâm đến các cú pháp sử dụng bởi các thực thể ứng dụng.Tuy nhiên, mỗi thực thể tr   ình diễn phải chịu trách nhiệm chuyển đổi giữa cúpháp của người sử dụng và cú pháp truyền. 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  29

Trước khi đi vào các chuẩn ISO về dịch vụ và giao thức của tầng tr  ình diễn,chúng ta xét kỹ khái niệm liên quan đến bối cảnh của tầng tr  ình diễn được chỉra trong hìnhHình A. Bối cảnh tầng tr ình diễn 

ApplicationEntity

ApplicationEntity

PresentationEntity

PresentationEntity

Application protocol

(Abstract Syntax)

Presentation Datarequest

Presentation Dataindication

(Abs Syntax) (Abs Syntax)

Presentation protocol

(Negotiation of TranferSyntax Data tranfer)

SessionDatare uest

SessionDataindication

(Bytes)(Bytes)

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  30

Khi qua ranh giới giữa hai tầng tr   ình diễn, tầng Phiên có một sự thay đổiquan trọng trong cách nh ìn dữ liệu. Đối với tầng phiên trở xuống, tham số User data trong các service primitive được đặc tả dưới dạng nhị phân. Giá trị này cóthể được đưa trực tiếp trong các SDU( Service Data Unit) để chuyển đổi giữacác tầng trong một hệ thống và trong các PDU (Protocol data Unit) để chuyểngiữa các tầng đồng mức ở hai hệ thống kết nối với nhau. Tuy nhi ên tầng ứngdụng lại liên quan chặt chẽ với cách nh  ìn dữ liệu của người sử dụng. Nóichung, cách nhìn đó là một tập thông tin có cấu trúc nào đó, như là văn bảntrong một tài liệu, một tệp về nhân sự, một cơ sở dữ liệu tích hợp hoặc một hiểnthị của thông tin videotext. Người sử dụng chỉ liên quan đến ngữ nghĩa của dữliệu. Do đó tầng tr  ình diễn ở giữa có nhiệm vụ phải cung cấp các phương thứcbiểu diễn dữ liệu và chuyển đổi thành các giá trị nhị phân dùng cho các tầngdưới- ngh ĩa là tất cả những g ì liên quan đến cú pháp của dữ liệu.Tuy nhiên trong thực tế không thể tách bạch hoàn toàn giữa cú pháp và ngữ

ngh ĩa của dữ liệu. Nếu tầng ứng dụng không biết g ì về cú pháp còn tầng tr  ìnhdiễn không biết g ì về ngữ nghĩa th ì không thể nào hoàn tất được việc kết hợp

ngữ nghĩa với cú pháp dùng để tạo ra một biểu diễn cụ thể các giá trị dữ liệucho một dịch vụ phiên.Cách tiếp cận của ISO về việc kết hợp giữa ngữ nghĩa và cú pháp dữ liệu là

như sau. Ở tầng ứng dụng thông tin được biểu diển dưới dạng một cú pháp trừutượng liên quan đến các kiểu dữ liệu và giá trị dữ liệu. Cú pháp trừu tượng nàyđặc tả một cách h ình thức dữ liệu, độc lập với mọi biểu diễn cụ thể. Do vậy, một cú pháp trừu tượng có nhiều điểm giống với các khía cạnh địnhngh ĩa kiểu dữ liệu trong các ngôn ngữ lập tr  ình qui ước như: Pascal, C.Ada,…và các ngữ pháp như:BNF(Backus-Naur-Form). Các giao thức tầng ứng dụngmô tả các PDU của chúng bằng một cú pháp trừu tượng. Tầng tr  ình diễn tươngtác với tầng ứng dụng cũng dựa tr ên cú pháp trừu tượng này. Tầng tr  ình diễn có

nhiệm vụ dịch thuật giữa cú pháp trừu tượng của tầng ứng dụng và một cúpháp truyền mô tả các giá trị dữ liệu dưới dạng nhị phân - thích hợp cho việctương tác dịch vụ phiên. Việc dịch thuật này được thực hiện nhờ các quy tắcmã hóa chỉ r õ biểu diễn của mỗi giá trị dữ liệu thuộc một kiểu dữ liệu nào đó. Trước khi sử dụng một liên kết tầng tr  ình diễn để trao đổi dữ liệu th ì hai thựcthể tr   ình diễn ở hai đầu phải thoả thuận về cú pháp truyền. Sau khi cú pháptruyền đã được chọn th ì tổ hợp cú pháp trừu tượng và cú pháp truyền được xemlà bối cảnh tr  ình diễn được dùng để trao đổi dữ liệu. Hai yêu cầu cơ bản để lựa chọn một cú pháp truyền là nó phải yểm trợ cú pháptrừu tượng tương ứng. Ngoài ra ,cú pháp truyền có thể có các thuộc tính kháckhông liên quan gì đến cú pháp trừu tượng mà nó yểm trợ. 

  Tầng ứng dụng Tầng ứng dụng là ranh giới giữa môi trường kết nối các hệ thống mở và cáctiến tr  ình ứng dụng .Các tiến tr  ình ứng dụng sử dụng môi trường OSI để traođổi dữ liệu trong quá tr  ình thực hiện của chúng. Là tầng cao nhất trong mô h ìnhOSI 7 tầng, tầng ứng dụng có một số đặc điểm khác với tầng dưới nó. Trướchết, nó không cung cấp các dịch vụ cho một tầng trên như trong trường hợpcủa các tầng khác. Theo đó , tầng ứng dụng không có khái niệm điểm truy cậpdịch vụ tầng ứng dụng. 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  31

ISO định nghĩa một tiến tr  ình ứng dụng là” một phần tử ở trong một hệ thốngmở thực hiện việc xử lý thông tin cho một ứng dụng cụ thể”.Các tiến tr  ình ứngdụng thuộc các hệ thống mở khác nhau muốn trao đổi thông tin phải thông quatầng ứng dụng. Tầng ứng dụng bao gồm các thực thể ứng dụng, các thực thểnày dùng các giao thức ứng dụng và các dịch vụ tr   ình diễn để trao đổi thôngtin. Như vậy các thực thể ứng dụng cung cấp các tiến tr  ình ứng dụng các phương tiện cần thiết để truy cập môi trường OSI. Tuy nhiên, tầng ứng dụngchủ yếu chỉ giải quyết vấn đề ngữ nghĩa chứ không giải quyết vấn đề cú phápnhư tầng tr  ình diễn. 

CHƯƠNG V. NGÔN NGỮ PL/SQL.  I. T ổng quan về Procedure Language/Structured Query Language(PL/SQL). 

PL/SQL có nhiều ưu điểm so với ngôn ngữ lập trình khác về mặt quản lýlogic và hỗ trợ các quy luật hoạt động của các ứng dụng cơ sở dữ liệu. Đó làmột ngôn ngữ dể hiểu với các cấu trúc logic chung kết hợp với một ngôn ngữlập tr  ình và nhiều mặt khác mà các ngôn ngữ khác không có như tr  ình quản lýlỗi rất mạnh và sự module hoá các khối mã lệnh. Mã PL/SQL được sử dụng để

giao tiếp với cơ sở dữ liệu cũng được lưu trữ trực tiếp trong cơ sở dữ liệuOracle, và là ngôn ngữ lập tr   ình duy nhất giao tiếp với Oracle một cách tựnhiên bên trong môi trường cơ sở dữ liệu. 

 II. C  ẤU TRÚC CHƯƠNG TR ÌNH PL/SQL. II.1. Sự module hoá: 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  32

II.2 CÁC THÀNH PHẦN CỦA MỘT KHỐI PL/SQL.  Bất kỳ một khối PL/SQL nào cũng có ba thành phần:   Phần Khai báo biến.   Phần thực thi .  

Phần xử lý exception. VD:

DeclareSo NUMBER;/* Khai báo biến*/  

Begin  /*Phần thực thi*/  If (so> 3) Then

DBMS_OUTPUT.PUT_LINE(‘Hello, World’);Else

RAISE bad_data;End If;Exceptions /*X ử lý exception*/  

When bad_data ThenDBMS_PUTLINE(‘Error condition’);End;II.3 CÁC KIỂU DỮ LIỆU  NUMBER: chứa bất kỳ số nào.  CHAR( size), VARCHAR2(size): dùng để lưu trữ các chuỗi ký tự số. 

kiểu CHAR thêm các khoảng trắng vào lưu trữ đủ chiều dài.  DATE: dùng để lưu trữ ngày.  LONG: Lưu trữ các Text lớn, đến 2 gigabyte chiều dài.  LONG RAW: dùng lưu trữ những khối dữ liệu lớn ở khuôn dạng nhị phân.   RAW: Lưu trữ những khối dữ liệu nhỏ hơn khuôn dạng nhị phân. 

  MLSLABEL: Sử dụng trong Oracle Trusted.   ROWID: sử dụng để lưu trữ khuôn dạng đặc biệt của ROWID trong cơ sở 

dữ liệu.   BOOLEAN: Lưu trữ giá trị True/false.   TABLE/RECORD: Các bảng có thể sử dụng để lưu các giá trị tương đương

với một dãy, các record lưu các biến có kiểu dữ liệu composite.  II.4. ĐIỀU KHIỂN LUỒNG XỬ LÝ PL/SQL. 

1. Các vòng lặp: 

Declare…beginexec get_it;

A:=fcnt(5)End;

Các khối PL/SQL 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  33

  Loop-exit : Là vòng lặp đơn giản nhất trong PL/SQL. Từ khoá loop địnhngh ĩa bắt đầu của khối mã lệnh sẽ được lặp lại, end loop chỉ định kết thúcvòng lặp.Từ khoá exit chỉ định thoát khỏi vòng lặp. 

VD:Declare

My_leg NUMBER:=0;My_hypotenuse NUMBER:=0;BEGIN

LOOPMy_leg:=my_leg+1;Execute find_hypotenuse(my_leg,my_leg,my_hypotenuse);

If my_leg=25 ThenEXIT;

END IF;END LOOP;END; 

Vòng lặp While-Loop:tương đương loop-exit.Vd:Decclare

So1 NUMBER:=0;So 2 NUMBER:=0;Kq NUMBER:=0;

BEGINWhile ( So1<10) and (So 2<20) LoopKq:=So1+So2;

End Loop;END;

  Vòng lặp For-loopVD:DeclareSo1 NUMBER:=0;

BEGINFor So1 IN 1..25 Loop Execute Tinh(So1,So1);

End Loop;END;

2. LẶP TR ÌNH VỚI CON TRỎ( CURSOR). Có hai loại : Cursor ngầm và Cursor tường minh. 

  Cursor tường minh được đặt tên bỡi nhà phát triển ứng dụng. Nó chính làmột lệnh select được đặt tên. Bất kỳ lệnh nào cũng có thể sử dụng trong mộtcursor tường minh bằng cách sử dụng cú pháp. 

Cursor cursor_name is.1)  XỬ LÝ EXCEPTION.

Ba loại Exception trong PL/SQL là:  Predefined Exceptions: Để tiện ích việc xử lý lỗi trong PL/SQL, Oracle đã

thiết kế một số Exception xây dựng sẵn tức là các predefined exception.

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  34

Những exception này được sử dụng để xử lý những t ình huống chung có thểxảy ra trong cơ sở dữ liệu. 

  User- defined Exceptions:Ngoài các Predefined Exception có thể tạo ra cácUser defined Exception để quản lý các t ình huống xuất hiện trong mã lệnh.Không như các predefined exception xảy ra ngầm khi điều kiện lỗi tươngứng phát sinh, một user defined exception cần có mã lệnh tường minh trongPL/SQL. để sinh ra. Cần có mã lệnh trong ba phần của một khối PL/SQL .Các phần mã lệnh yêu cầu được mô tả như sau: 

  Khai báo exception: Trong phần khai báo của khối PL/SQL, tên exceptioncần phải khai báo. Tên này sẽ sử dụng để yêu cầu exception trong phần thựcthi nếu các điều kiện của exception xảy ra. 

  Kiểm tra exception: Trong phần thực thi của một khối PL/SQL, cần có mãlệnh kiểm tra tường minh các điều kiện lỗi user -defined để gọi exceptionnếu điều kiện được thỏa.

  X ử lý Exception: Trong phần exception handler của khối PL/SQL, cần cómột mệnh đề đặc biệt when gọi tên exception và mã lệnh cần thực hiện nếu

exception xảy ra.  2)  EXCEPTION_INIT PRAGMA.Lệnh pragma cho phép nhà phát triển ứng dụng khai báo một lỗi được đánh số

kết hợp với một exception được đặt tên trong khối. Việc dùng này cho phépdùng mã lệnh xử lý các lỗi chưa được xử lý r õ ràng.

4. CHỈ ĐỊNH CÁC EXCEPTION CHUNG(COMMON EXCEPTION). Một số predefined exception:

  invalid_cursor: Xảy ra khi đóng một cursor không mở.   cursor_already_open: Xảy ra khi mở một cursor chưa đóng.   dup_val_on_index:Xâm phạm r àng buộc unique hay primary key.   no_data_found:  Không có hàng nào được chọn hay thay đổi bởi tác vụ

SQL.  too_many_rows: Nhận được hơn một hàng bỡi một subquery một hàng haytrong một lệnh SQL mà Oracle mong đợi một hàng.

  zero_divide: Chia cho không.  rowtype_mismatch: Các kiểu dữ liệu của record mà dữ liệu từ cursor được

gán không tương thích.   invalid_number: Một chuỗi các ký số được tham trỏ như một số. 

5. MÃ HOÁ TRÌNH XỬ LÝ LỖI. Mỗi user -defined exception trong phần khai báo và thực thi của một khối

PL/SQL nên có một exception handler kết hợp viết cho nó. Cách tốt nhất để xửlý một exception là gọi tên nó rõ ràng khi sử dụng mệnh đề when trong khối

exception của chương tr  ình PL/SQL. Exception handler có lẽ là một thành tựulớn nhất đạt được bằng cách sử dụng PL/SQL để viết các store procedure trongOracle. Tính linh hoạt và dễ dàng giúp đơn giãn hoá việc phát triển nhữngchương tr  ình lớn CHƯƠNG IV: 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 có cấu trúc. 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  35

Phương pháp phân tích có cấu trúc,tr ãi qua thời gian đã chứng tỏ được tínhkinh điển của nó. Nó là phương pháp dung dị, không cầu kỳ như một số phương pháp khác, dễ áp dụng, nhưng lại rất hữu hiệu. Ngày nay nó chưa lạchậu, mà vẫn còn phát huy tác dụng tốt. Bằng chứng là một hệ thống lớn và hiệnđại như ORACLE vẫn tiếp sử dụng nó.  I.1 Phương pháp phân tích hệ thống về chức năng. 

Đó là phương pháp SA(Structured Analysis) do  De Macro và những nhữngngười khác như (Yourdon, Constatine…) đưa ra năm 70 nhưng vẫn còn pháthuy tác dụng cho đến ngày nay. Nó vẫn là nền tảng của những phần mềm trợ giúp phân tích , thiết kế nổi tiếng như Designer 2000 của ORACLE. Công cụchính là biểu đồ luồng dữ liệu.  I.1.1 Biểu đồ phân cấp chức năng. 

Là một loại biểu đồ diễn tả sự phân r ã dần dần các chức năng từ đại thể đếnchi tiết. Mỗi nút trong biểu đồ là một chức năng, và quan hệ duy nhất giữa cácchức năng, diển tả bỡi các cung nối liền các nút, là quan hệ bao hàm. Như vậybiểu đồ phân cấp chức năng là một cấu trúc cây. 

 Đặc điểm của biểu đồ phân cấp chức năng l à:  Cho một cách nh  ìn khái quát ,dễ hiểu, từ đại thể đến chi tiết về các chứcnăng, nhiệm vụ cần thực hiện. 

  Dễ thành lập, bằng cách phân r ã dần các chức năng từ tr ên xuống.   Có tính chất tĩnh, bởi chúng chỉ cho thấy các chức năng mà không cho thấy

trình tự xử lý.   Thiếu vắng sự trao đổi thông tin giữa các chức năng. Vì những đặc điểm kể tr ên mà biểu đồ phân cấp chức năng thường được sử

dụng làm mô hình chức năng trong bước đầu phân tích, hoặc cho các hệ thốngđơn giãn. Nếu hệ thống là phức tạp th ì mô hình chức năng dưới dạng biểu đồphân cấp chức năng là quá sơ lược và các thiếu sót nêu trên trong hai đặc điểm

cuối ở tr ên là không thể châm chước được. Lúc đó người dùng biểu đồ luồngdữ liệu thay cho biểu đồ phân cấp chức năng.  I.1.2 Biểu đồ luồng dữ liệu. 

Biểu đồ luồng dữ liệu(BLD) là một loại biểu đồ nhằm mục đích diển tả mộtquá trình xử lý thông tin với các yêu cầu sau:   Sự diễn tả là ở mức logic, nghĩa là nhằm trả lời câu hỏi “Làm gì”, mà bỏ

qua câu hỏi “Làm thế nào?”.  Chỉ r õ các chức năng con phải thực hiện để hoàn tất quá tr  ình xử lý cần mô

tả.   Chỉ r õ các thông tin được chuyển giao giữa các chức năng đó, và qua đó

phần nào thấy được tr  ình tự thực hiện của chúng. 

(1) Chức năng: Là một quá tr  ình biến đổi dữ liệu( thay đổi giá trị, cấu trúc, vịtrí của một dữ liệu, hoặc từ một số dữ liệu đã cho, tạo ra một dữ liệu mới).  Biểu diễn: Bởi h ình tròn hoặc ovan bên trong có tên chức năng. 

Tênchứcnăng. 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  36 

Tên chức năng phải là động từ, có thêm bổ ngữ nếu cần, cho phép hiểu vắn tắtchức năng làm gì.(2) Các luồng dữ liệu. Luồng dữ liệu là một tuyến truyền dẫn thông tin vào hay ra một chức năng nào

đó.  Biểu diễn: Một luồng dữ liệu được vẽ trong một BLD dướ i dạng một mũi tên,trên đó có viết tên của luồng dữ liệu. 

Tên luồng dữ liệu là danh từ, k èm theo tính ngữ nếu cần, cho phép hiểu vắn tắtnội dung dữ liệu được chuyển giao. (3) Kho d ữ liệu. Một kho dữ liệu là một dữ liệu đơn hay có cấu trúc được lưu lại, để có thể truy

cập nhiều lần về sau. 

 Biểu diễn: Một kho dữ liệu được vẽ trong BLD dưới dạng hai đoạn thẳng nằmngang, kẹp giữa tên của kho dữ liệu. 

(4) Các đối tác. Một đối tác ( hay tác nhân ngoài, hay điểm nút) là một thực thể ngoài hệ

thống, có trao đổi thông tin với hệ thống. Biểu diễn: Đối tác trong biểu đồ luồng dữ liệu vẽ bằng h  ình chữ nhật, bên

trong có tên đối tác. 

(5) Tác nhân trong

Một tác nhân trong là một chức năng hay 1 hệ con của hệ thống, được mô tả ở một trang khác của mô hình, nhưng có trao đổi thông tin với các phần tử thuộctrang hiện tại của mô h ình. Như vậy tác nhân trong xuất hiện trong biểu đồ chỉđể làm nhiệm vụ tham chiếu. Biểu diễn: Tác nhân trong biểu đồ luồng dữ liệu được vẽ dưới dạng một h ìnhchữ nhật thiếu cạnh trên, trong đó viết tên tác nhân trong ( chức năng hay hệthống con). 

Tên tác nhân trong phải là động từ, k èm theo bổ ngữ nếu cần.  II. Phương pháp phân tích hệ thống về dữ liệu. 

Tên luồng dữ liệu 

Kho dữ liệu 

Tên đối tác 

Tên tác nhân trong

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  37 

Mô hình thực /thể liên kết E/A(Entity/Association Model) là mô hình dữ liệudo P.P Chen đưa ra năm 1976 và sau đó được dùng khá phổ biến tr ên thế giới. Nó có ưu điểm là khá đơn giản và gần với tư duy trực quan.   Mô hình thực thể liên k ết kinh điển. Xuất phát từ ba khái niệm cơ bản.: Thực thể, liên kết, và thuộc tính. 

Các giá trị ứng số thường dùng:: Một và chỉ một. 

0..1: không hay một. m..n: Từ m tới n. 0..*: từ không tới nhiều. 1..*: Từ một tới nhiều. 

  Biểu diển đồ hoạ: Thực thể: 

 Liên k ết: 

  Mô hình thực thể liên k ết mở rộng.    Mô hình thực thể liên k ết hạn chế. 

Tuy bị hạn chế nhiều về h  ình thức diển tả, nhưng lại rất gần với mô h ìnhquan hệ và do đó dễ dàng chuyển sang cài đặt với hệ quản trị cơ sở dữ liệuquan hệ. Đây là mô hình được dùng trong một số hệ trợ giúp thiết kế CASE,chẳn hạn trong ORACLE. 

a) Các hạn chế. + Đối với kiểu liên kết hai ngôi dạng: 

Thì chỉ còn liên kết một -nhiều, tức là trường hợp n=1 và q>1 hoặc q=* vàđược biểu diển dưới dạng mới sau: 

 III. Phương pháp thiết kế hệ thống. Đồ án thực hiện theo phương pháp SD(Structured design) do E. Yourdon và

L.Constanie đề xuất. CHƯƠNG VI: GIỚI THIỆU ORACLE DEVELOPER 6.O 

Bộ Oracle Developer 6.0 bao gồm:Form buider, Report buider , Schemabuider và Project buider

A Bm..n p..q

Đơn hàng -SH-đơn hàng - Ngày ĐH 

Giao nộp 

A B

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  38

I. Form Buider.Là các mẫu nối với bảng cơ sở dữ liệu đã định. Những người dùng sử dụng

Form Buider để tạo các ứng dụng cung cấp cho người sử dụng đầu cuối truyxuất thông tin được lưu trong cơ sở dữ liệu. Các thành phần của Form Buider. 

Quá trình ánh xạ dữ liệu từ bảng vào Form.

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  39

II. Report Buider.Report buider là chương tr  ình ứng dụng Oracle Developer, có công dụng tạo

báo biểu dựa tr ên dữ liệu trong cơ sở dữ liệu, vốn có thể xem tr ên màn hình, inra tập tin hoặc in lên giấy. Báo biểu có thể truy xuất dữ liệu bằng SQL, thựchiện các phép toán tr ên dữ liệu truy xuất, và định dạng kết quả cho giống vớihoá đơn, thư mẫu hoặc tài liệu thương mại khác. Report buider là khung nhìndữ liệu tỉnh vào thời điểm cụ thể xem hoặc in được. 

III. Graphics buider.

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  40

Graphics buider là chương tr  ình ứng dụng Oracle Developer dành để tạo đồhọa trong cơ sở dữ liệu Oracle chẳng hạn như: biểu đồ tr òn, biểu đồ thanh, biểuđồ vạch. Oracle graphics buider có thể chạy như một chương tr  ình ứng dụngđộc lập, hoặc lồng trong form, report. 

IV. Query Buider.Query buider là môi trường đồ họa giúp vấn tin câu lệnh SELECT được dễ

dàng hơn. Thay v ì phải viết vấn tin bằng tay, Query buider cho phép bạn chọnbảng muốn truy vấn rồi hiển thị bảng và cột liên quan trên màn hình. Các liênkết khóa ngoài hiển thị giữa các cột trong bảng liên quan.

Hiển thị dữ liệu thông qua truy vấn. 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  41

V. Schema buider.Là công cụ thể hiện các relationship giữa các table trong Oracle Developer. 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  42

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  43

PHẦN HAI  I. Đặt Vấn đề 

Hiện nay tr ên thị trường tin học ở Việt Nam việc áp dụng tin học vào côngtác quản lý đã và đang áp dụng và thu đuợc nhiều thành công bước đầu. Tuynhiên hầu hết là sử dụng các chương tr  ình quản lý viết bằng hệ quản trị cơ sở dữ liệu Foxpro, Access,…do đó với t  ình hình phát triển của nền kinh tế hiệnnay và với vị trí quan trọng của việc áp dụng tin học hoá và công tác quản lý th ìcác chương tr  ình trên đang đứng trước một số vấn đề khó khăn cần được giảiquyết. Các vấn đề đó là:  Khả năng đảm bảo an toàn dữ liệu của Foxpro còn tương đối yếu. Đây làtrở ngại cần được khắc phục v ì cơ sở dữ liệu của hệ quản trị cơ sở dữ liệuFoxpro không đủ lớn nên không đáp ứng được nhu cầu cần lưu trữ thông tinlớn, khả năng bảo mật dữ liệu, độ chính xác cao để đáp ứng uy tín cho côngty.

Từ những khó khăn tr ên yêu cầu đặt ra là xây dựng chương tr  ình quản lý bánhàng tại công ty VINDA phải thỏa mãn được các yêu cầu sau:  

Tự động hoá nghiệp vụ.   Khả năng lưu trữ lớn.   Tố độ truy xuất nhanh.   Bảo mật

Giải quyết vấn đề Từ những phân tích nêu trên rõ ràng các vấn đề phát sinh chủ yếu là do hệ

quản trị cơ sở dữ liệu Foxpro yếu, không đáp ứng được các nhu cầu mới. Nhưvậy chỉ cần thay đổi hệ quản trị cơ sở dữ liệu cùng với việc xây dựng phầnmềm tr ên hệ quản trị đó và lựa chọn mộ hệ điều hành cho phù hợp là có thểgiải quyết được các vấn đề nêu trên. Sự lựa chọn một hệ quản trị cơ sở dữ liệuvà một hệ điều hành tương thích cần phải được thực hiện một cách kỹ càng sao

cho có lợi nhất.   Phần cứng    Loại máy: do yêu cầu về tốc độ và khả năng lưu trữ lớn nên đòihỏi cấu h ình máy phải đủ tốt. Như vậy tối thiểu là loại máy Pentium trở lên, riêng server thì đòi hỏi cao hơn. Các máy phải được nối mạng vớinhau để đảm bảo thống nhất về thông tin. 

  Phần mềm   Hệ điều hành: có ba loại hệ điều hành chủ yếu như: NovellNetware, NT, UNIX.

 H ệ điều h ành NT chỉ chạy được tr ên hai plafform là X86 và Alpha. Hệ điềuhành NT chỉ hỗ trợ cho hệ thống đa xử lý đến 8 CPU, chỉ quản lý bộ nhớ lên

tới Gb.  H ệ điều h  ành UNIX có thể chạy tr ên ba plaform là X86, SPARTC, PPC.UNIX có thể hỗ trợ cho hệ thống xử lý lên đến 128 CPU và có khả năng quảnlý bộ nhớ lên đến TGb. UNIX còn hỗ trợ unlimited uer nghĩa là chỉ cần mộtbản UNIX/Solaris là có thể cài đặt cho cả hệ thống. Ngoài ra UNIX còn có LINUX là hệ điều hành mã nguồn mở rất tiện dụng.    H ệ quản trị cơ sở dữ liệu: hiện nay thị trường tin học có các hệ quản trị

cớ sở dữ liệu quan hệ như:FOXPRO, ACCESS, SQL Server,

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  44

Oracle…Tuy nhiên chỉ có hai loại là SQL Server và Oracle có thể giảiquyết vấn đề tr ên.

 Đối với SQL server   : điểm hạn chế của SQL Server là chỉ chạy được tr ênmột hệ điều hành duy nhất là NT do đó khi lựa chọn SQL Server th ì phải chọnhệ điều hành NT. Trong khi đó NT chỉ chạy được tr ên hai plafform là X86 vàAlpha và chỉ quản lý tối đa lên đến Gb, đây chính là điểm yếu của hệ điềuhành NT. Đối với ORACLE : đây là hệ quản trị cơ sở dữ liệu rất mạnh và tiện lợi, nó có

thể chạy tr ên 80 hệ điều hành khác nhau từ Laptop đến Mainframe. Tuy nhiêntrong số các hệ điều hành này thì hệ UNIX dòng Solaris có ưu thế hơn cả v ì nócó thể chạy trên ba plafform là X86, SPARTC, PC và hơn nữa nó rất phù hợpcho mạng WAN. Riêng Oracle còn có một số ưu điểm:   Cho phép chia sẽ dòng dữ liệu   Refesh trước khi update   Qui định timeout khi người sử dụng để quá lâu hay trong t  ình trạngdealock thì tự động relase  

Xử lý dữ liệu lên đến 5 TGb   Cho phép xử lý dữ liệu song song   Cung cấp nhiều cung cụ hỗ trợ( Design Development tools, Design2000…)  Cho phép cơ chế phân tán dữ liệu hay tập trung dữ liệu 

  Qua các hướng giải quyết tr ên thì tôi đề nghị nên chọn hệ điều hànhUNIX và hệ quản trị cơ sở dữ liệu là Oracle. Tuy nhiên do Oracle có cơ chếphân tán dữ liệu nên chúng ta có một số cách cài đặt chương tr  ình như sau:   Cài đặt dữ liệu tr ên nhiều Server, đây chính là hình thức phân tán dữ liệuthực sự. Với cách cài đặt như thế này thì đòi hỏi đường truyền phải thật tốt,tốt nhất là sử dụng cáp quang. Tuy nhiên với đường truyền bằng cáp quang

thì chi phí lắp đặt và bảo tr  ì rất đắt. Điều này làm cho chi phí của dự án tănglên rất cao do đó cách giải quyết này không khả thi.   Cài đặt dữ liệu tr ên nhiều Server. Mối server có dữ liệu riêng cho mìnhvà bản sao dữ liệu( sự ánh xạ dữ liệu) của tất cả các server khác. Như vậysau một khoản thời gian quy định th ì phải tiến hành cập nhật (refresh) lạithông tin toàn bộ để thông tin được thống nhất .Với cách giải quyết này thìthông tin lưu trữ không được thống nhất tại một thời điểm,có nhiều khi mâuthuẫn có thể gây thiệt hại cho công ty.  Cài đặt dữ liệu tr ên một Server duy nhất, đây có thể coi là dữ liệu tậptrung. Khi các trạm khác muốn trao đổi tr ên dữ liệu th ì phải thông qua mộtuser nào đó do người quản trị cơ sở dữ liệu tạo ra. Với mỗi một user sẽ có

một số quyền nhất định, các quyền này do người quản trị cơ sở dữ liệu quyđịnh. Với cách giải quyết này có thể nói thông tin sẽ được thống nhất mộtcách tuyệt đối.   Kết hợp giữa tập trung và phân tán dữ liệu, dữ liệu sẽ tập trung tại mỗitrung tâm, các server phụ thao tác dữ liệu tại trung tâm mà được quyền sửdụng. Tại trung tâm vừa chứa dữ liệu của m  ình và bản sao của trung tâmkhác.Tóm l ại giải pháp chọn l  à:

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  45

  Hệ điều hành UNIX dòng Solaris  Hệ quản trị cơ sở dữ liệu Oracle với cơ chế dữ liệu tập trung kết hợp với

phân tán dữ liệu   Mạng sẽ cài đặt là WAN.

 Khảo sát hiện trạng. Công ty thép VinDa (A4-E23-F2-Quận Tân B  ình-TPHCM) là công ty kinh

doanh tương đối lớn. Gần đây bộ phận kế toán bán hàng tại công ty tỏ ra bấtcập. V ì vậy có yêu cầu cải tiến quản lý ở bộ phận này.

 Nhiệm vụ cơ bản. Khi bộ phận nghiệp vụ có yêu cầu mua hàng, bộ phận kế toán bán hàng tạicông ty phải thực hiện mua hàng từ nhà cung cấp đáp ứng kịp thời bán hàngcho khách hàng.

Cơ cấu tổ chức. Bộ phận kế toán bán hàng tại công ty gồm: Bộ phận bán hàng và bộ phận

mua hàng  Bộ phận mua hàng đảm nhận việc  đặt hàng dựa tr ên dự tr ù của bộ phận

nghiệp vụ đưa ra. Bộ phận này có dùng một máy tính trong đó có dùng mộtchương tr   ình lưu trữ những thông tin của người cung cấp (bao gồm tênngười cung cấp, địa chỉ người cung cấp và những thông tin liên quan) giúpchọn người cung cấp, làm đơn hàng và theo dõi sự hoàn tất của đơn hàngmột cách dể dàng hơn . Ngoài ra còn có tổ kiểm tra.,vì hai máy tính ở hai bộphận trên là không tương thích với nhau nên không nối ghép với nhau được.Tổ này có nhiệm vụ kiểm tra các sai xót về hàng và tiền để khiếu nại vớinhà cung cấp nhằm chỉnh lại cho đúng. 

  Bộ phận bán hàng có trách nhiệm làm hoá đơn, phiếu xuất hàng, giao hàngcho khách hàng và tiền hàng thanh toán với khách hàng. Bộ phận này cómột máy tính (máy đơn) trong đó dùng chương tr  ình quản lý tất cả các mặt

hàng của công ty giúp việc quản lý tốt hơn. Quy trình xử lý v à các loại dữ liệu xử lý: Qua khảo sát ta thấy quy tr ình làm việc cùng các loại chứng từ giao dịch sử 

d ụng trong quy tr ình đó như sau: Khi có nhu cầu về hàng, bộ phận nghiệp vụ sẽ lập một bản dự tr ù gửi cho bộ

phận mua hàng, trong đó có các mặt hàng được yêu cầu, với các số lượng yêucầu tương ứng. Bộ phận mua hàng trước hết chọn nhà cung cấp để đặt mua cácmặt hàng nói trên. Muốn vậy, nó dùng máy tính để t  ìm các thông tin về cácngười cung cấp được lưu trong tập tin người cung cấp. Sau đó thương lượngvới nhà cung cấp (trực tiếp hoặc gián tiếp). Khi đã thỏa thuận xong dùng hệchương tr  ình Đơn hàng để in một đơn hàng. Các thông tin trên đơn hàng được

lưu lại để theo dõi trong tập tin đơn hàng, còn đơn hàng in ra th ì gửi tới ngườicung cấp. Để tiện theo dõi người ta áp dụng nguyên tắc: mỗi khoản đặt hàng trên một

đơn hàng giải quyết trọn vẹn một khoản yêu cầu về một mặt hàng trên một bảndự tr ù. Tuy nhiên một đơn hàng ,gồm nhiều khoản, có thể đáp ứng yêu cầu củanhiều bản dự trù khác nhau. Ngược lại các khoản yêu cầu tr ên một bản dự tr ùlại có thể phân bố lên nhiều đơn hàng khác nhau, gửi đến các nhà cung cấpkhác nhau. Nhà cung cấp, căn cứ trên đơn hàng, sẽ chuyển đến các kho, kèm

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  46 

phiếu giao hàng. Hàng đưa vào kho, còn thông tin trên phiếu giao hàng cùngđịa điểm cất hàng được lưu vào máy tính, trong tập tin Phiếu NHẬN HÀNG.Trên phiếu giao hàng, mỗi mặt hàng được giao đều có ghi r õ số hiệu đơn hàngđã đặt mặt hàng đó. Để giải quyết vấn đề này, hàng tuần tổ nhận hàng sử dụnghệ chương tr   ình NHẬN HÀNG, in một danh sách nhận hàng trong tuần, gửicho tổ kiểm tra, với nội dung :Số Hiệu(SH) giao hàng- Tên Nhà CungCấp(NCC)- Số Hiệu(SH) mặt hàng- Số Lượng (SL) nhận- Số Hiệu(SH) đơnhàng.Mặt khác, hàng tuần, tổ Đặt hàng sử dụng hệ chương tr  ình Đặt hàng(ĐH), in ramột danh sách Đặt hàng trong tuần, gửi cho tổ kiểm tra với nội dung sau: Mã Số(MS) đơn hàng- Tên NCC- Số Hiệu(SH) mặt hàng- Số lượng đặt- Số

Hiệu(SH) dự tr ù- Tên Kho.Bộ phận kiểm tra khớp hai danh sách này, tìm ra mã Số đơn hàng và Số Hiệu

mặt hàng chung và từ đó xác định lượng hàng nào là cần phát về cho các khonào. Tổ kiểm tra còn tiếp nhận hoá đơn từ nhà cung cấp gửi đến, đối chiếu vớihàng đã nhận, nếu chính xác th  ì chi lên hoá đơn và gửi đi thanh toán thuộc

phòng tài chính. Nếu phát hiện có sự không ăn khớp giữa hàng đặt- hàng nhậnvà tiền phải trả th ì tổ kiểm tra khiếu nại với nhà cung cấp để chỉnh sữa lại.  Đối với khách h àng khi mua hàng từ công ty phải có đơn hàng chuyển

đến theo mẫu đã in sẳn bao gồm: phần đầu là những thông tin đầy đủ về mộtkhách hàng , phần thứ hai là danh sách mặt hàng đặt mua ,số lượng ,đơn giátừng loại,và ngày nhận hàng . Đơn đặt hàng được đưa đến bộ phận nghiệp vụđể xem xét. Nếu khách hàng còn nợ trể hạn quá 1 số tiền quy định th ì bộ phậnnghiệp vụ từ chối bán hàng.Khi đặt hàng có thể khách hàng đặt một số tiền nào đó.Người ta tiến hành

kiểm tra đơn hàng của khách xem có hợp lệ hay không. Nếu hợp lệ th ì đơn đóđược đáp ứng ngay và chuyển cho khách giấy báo chờ hàng ngược lại báo cho

khách biết chỉnh sữa lại. Sau đó ngưòi ta lập hoá đơn và phiếu xuất để bánhàng cho khách. Một phiếu xuất để giao hàng và một hoá đơn để chuyển chokhách. Khách hàng nhận phiếu giao hàng sẽ đến thanh toán tại phòng tài chínhcủa công ty. Khi khách hàng trả tiền, bộ phận kế toán xuất 1 phiếu nhận tiền trên đó ghi đầy

đủ thông tin về khách hàng, số tiền và ngày trả. Hàng ngày bộ phận Nghiệp Vụxem xét các đơn đặt hàng so sánh hàng tồn kho để làm giấy báo nhận hàng chokhách và đặt hàng từ nhà cung cấp khi lượng hàng tồn vượt mức tồn tối thiểu.Đồng thời bộ phận nghiệp vụ cũng xem xét t ình hình công nợ để làm giấy báonợ cho khách hàng Những khó khăn hiện tại của công ty. 

  Thiếu: Thiếu một kho hàng dự trữ các mặt hàng thông dụng và rẻ tiền. Đầutư cho một kho như thế không tốn kém mấy.   Kém:  Chu trình quá lâu, do khâu chờ đợi địa chỉ phát hàng .  Kiểm tra không chặt, để sai sót hàng-tiền. 

  Tốn: Tốn nhân lực ở khâu đối chiếu và kiểm tra bằng tay.

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  47 

II.  PHÂN TÍCH HỆ THỐNG. II .1. Phân tích hệ thống về chức năng  II.1.1. Biểu đồ phân cấp chức năng. 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  48

Làm Hoáđơn vàphiếu xuất 

Ki m trađơn hàng 

Giaohàng

Thanhtoán

QỦẢN LÝ BÁN HÀNG-

MUA HÀNG.

BÁN HÀNG

In Đơn 

hàng 

ChọnngườiCC

Theo dõithực hiệnđơn hàng 

In danh sáchđơn hàng 

Khớp đơnhàng vớihàng về 

Làm danhsách địa chỉphát hàng

Ghi nhậnhàng về theođơn hàng 

Khớp đơnhàng có hàngvề vơí hoá đơn 

MUA HÀNG

Đặt hàng Nhận hàngLàm séc Kiểm tra 

Inphiếupháthàng

In danhsáchhàngvề 

Ghinhậnhàng về 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  49

II.1.2. Biểu đồ luồng dữ liệu: 

II.1.3. Biểu đồ luồng dữ liệu mức bối cảnh. 

NHÀ CUNG CẤP KHÁCH HÀNG

QUẢN LÝBÁNHÀNG-MUA

HÀNG

NGHIỆP VỤ 

Dự tr ù

Thương lượng 

Đơnhàng

phiếu giao hàng

Hoá đơn thanh toán 

Hàng hay hoá đơn sai 

tiền 

Đơn hàngKhách

Giấy báo chờ hàng

Giấy báo chờ hàng

Phiếu giao hàng

Tiền 

Đơn không hợp lệ 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  50

Đặc tả chức năng:QUẢN LÝ BÁN HÀNG-MUA HÀNG.

Đầu đề:

Tên chức năng: QUẢN LÝ BÁN HÀNG-MUA HÀNG.Đầu vào: Thương lượng, phiếu giao hàng, hoá đơn, dự tr ù, đơn hàng kháchhàng, tiền khách hàng.Đầu ra: Tiền , đơn không hợp lệ, phiếu giao hàng, giấy báo chờ hàng, hoáđơn khách hàng, hàng hay hoá đơn sai, đơn hàng.

Thân:Khi nhận được dự tr ù từ bộ phận nghiệp vụ, bộ phận quản lý bán hàng- mua

hàng sẽ thương lượng với nhà cung cấp để thực hiện mua hàng thông quađơn hàng. Nếu đơn hàng là hợp lệ th  ì nhà cung cấp sẽ chuyển phiếu giao

hàng và hoá đơn thanh toán ngược lại báo nhà cung cấp biết là hàng hay hoáđơn sai. Bộ phận quản lý bán hàng-mua hàng sẽ chuyển tiền tới nhà cung cấp Đối với khách hàng khi mua hàng phải có đơn hàng chuyển tới. Nếu đơn

hàng khách là hợp lệ th ì chuyển phiếu giao hàng cho khách và giấy báo chờ hàng cộng với hoá đơn chuyển hàng cho khách ngược lại đơn hàng là khônghợp lệ phải báo cho khách biết để chỉnh sữa kịp thời. 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  51

II.1.4 Biểu đồ luồng dữ liệu mức đỉnh.

Hànghayhoáđơnsai

Giấy báochờ hàng

Đơnhàngkhách

KHÁCH HÀNG NHÀ CUNG CẤP 

BÁNHÀNG

1

MUAHÀNG

2

NGHIỆP VỤ 

Khohàng

dựtrù

Đơnhàng

tiền 

Thươnglượng 

Phiếu giaohàng nhà cungcấp 

Hoáđơnkhách

Đơn hàng khách khônghợp lệ 

Phiếu giao hàngKhách hàng

Tiền 

Hoáđơnthanhtoán

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  52

Đặc tả chức năng 1.

Đặc tả chức năng 2. 

Đầu đề:Tên chức năng: BÁN HÀNG.Đầu vào: Kho hàng, Đơn hàng khách. 

Đầu ra: Phiếu giao hàng, Giấy báo chờ hàng, Đơn hàng khách không hợp lệ,Hoá đơn khách. 

Thân :Khi khách hàng cần mua hàng việc đầu tiên là chuẩn bị hoá đơn mua hàngchuyển đến bộ phận bán hàng. Nếu trong kho còn hàng thì báo cho khách giấybáo chờ hàng và hoá đơn và kèm phiếu giao hàng ngược lại báo đơn hàngkhông hợp lệ để cho khách kịp thời chỉnh sửa. 

Đầu đề: Tên chức năng: MUA HÀNG.Đầu vào: Dự trù, thương lượng, phiếu giao hàng.Đầu ra: Tiền , đơn hàng, hàng hay hoá đơn sai, thương lượng, kho hàng.

Thân:Bộ phận nghiệp vụ khi thấy hàng trong kho hết sẽ đề xuất một bản dự tr ù gửi

tới bộ phận mua hàng. Bộ phận này thương lượng với nhà cung cấp được chọnđể mua hàng. Nếu  thương lượng mua hàng thành công thì chuẩn bị đơn hànggửi tới nhà cung cấp,Nhà cung cấp căn cứ trên đơn hàng sẽ chuyển đến công ty

kèm phiếu giao hàng. Khi mua hàng hoàn tất bộ phận mua hàng sẽ chuyển tiềntới nhà cung cấp . Ngược lại   báo hàng hay hoá đơn sai để nhà cung cấp kịpthời chỉnh sữa. 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  53

II.1.5 Biểu đồ luồng dữ liệu mức dưới đỉnh. Phân rã chức năng 1.

Đặc tả chức năng 1.1 

Đầu đề: Tên chức năng: GIAO HÀNG.Đầu vào: Hàng hoá , phiếu giao hàng đã xác nhận. Đầu ra: Hàng, phiếu giao hàng.

Thân:Nếu nhận được phiếu giao hàng đã xác nhận và hàng hoá thì chuyển hàng và

phiếu giao hàng cho khách hàng.

Tiền 

KHÁCH HÀNGKỉêm trađơn hàng 

1.4

Làm hoá đơnvà phiếu xuất 

1.2

Giao hàng1.1

Thanh toán1.3

Đơn hàngkhách

Đơn hàng kháchkhông hợp lệ 

Giấy báo chờ hàng

Đơn hợplệ 

Phiếu giao hàng

Kho hàng

Hàng+phiếugiaohàng

Phiếu giao hàng đã xác nhận 

Hoá đơn 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  54

Đặc tả chức năng 1.2. 

Đặc tả chức năng 1.3. 

Đặc tả chức năng 1.4.

Phân rã chức năng 2. 

Đầu đề: Tên chức năng: LÀM HOÁ ĐƠN VÀ PHIẾU XUẤT. 

Đầu vào: Đơn hợp lệ. Đầu ra: Phiếu giao hàng.

Thân:Nếu đơn là hợp lệ th ì làm phiếu xuất hàng.

Đầu đề: 

Tên chức năng: THANH TOÁN.Đầu vào: Tiền, hoá đơn , phiếu giao hàng.Đầu ra: Phiếu xác nhận thanh toán trong hoá đơn khách.

Thân:Thực hiện thanh toán tiền, hoá đơn , phiếu giao hàng.

Đầu đề: Tên chức năng: Kiểm tra đơn hàng. 

Đầu vào: Đơn hàng khách. Đầu ra: Đơn hàng khách sai, giấy báo chờ hàng, đơn hợp lệ. 

Thân: Khi tiếp nhận đơn hàng khách nếu đơn hợp lệ th ì báo cho khách chờ và làm

hoá đơn , phiếu xuất hàng ngược lại báo cho khách biết là đơn hàng sai. 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  55

dự tr ù

Nghiệp vụ 

Thương lượng mua hàng

ĐặtHàng2.1

Nhậnhàng

2.2

Kiểm tra 2.3

 NGƯỜI CUNG CẤP 

Đơn hàngNCC

Phiếu

giao hàng

địa chỉ phát hàng

Hàng hay hoá đơn sai  

Hoá đơn 

Danhsách đơnhàng

Làm séc2. 4

Xác nhậnchi

séc

Danh sách hàngvề 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  56 

Đặc tả chức năng 2.1. 

Đặc tả chức năng 2.2 

Đặc tả chức năng 2.3. 

Đầu đề: Tên chức năng:  ĐH Đầu vào: Thương lượng mua hàng, dự tr ù.Đầu ra: Đơn hàng, danh sách đơn hàng, thương lượng mua hàng, xác nhận chi. 

Thân:chức năng này thực hiện việc đặt hàng từ nhà cung cấp. Nếu thương lượng

mua hàng từ nhà cung cấp thành công và nhận nhận được dự tr ù từ nhà cungcấp th ì chuyển đơn hàng tới nhà cung cấp và danh sách đơn hàng để kiểm tra. 

Đầu đề: Tên chức năng: NHẬN HÀNG.Đầu vào: Phiếu giao hàng, địa chỉ phát hàng.Đầu ra:Danh sách hàng về, phiếu phát hàng.

Thân:Nếu nhận được phiếu giao hàng từ nhà cung cấp, và địa chỉ phát hàng từ bộ

phận kiểm tra th ì chuyển phiếu phát hàng đến bộ phận nghiệp vụ và danh sách

hàng về để kiểm tra.

Đầu đề: Tên chức năng: KIỂM TRA. Đầu vào :Hoá đơn, danh sách hàng về, danh sách đơn hàng. Đầu ra: Hàng hay hoá đơn sai, địa chỉ phát hàng, xác nhận chi. 

Thân:

Nếu nhận được hoá đơn ,danh sách hàng về, và danh sách đơn hàng th ì phátđịa chỉ phát hàng đến bộ phận nhận hàng làm phiếu xác nhận chi thông báo chonhà cung cấp biết hàng hay hóa đơn sai. 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  57 

Đặc tả chức năng 2.4. 

 Phân rã chức năng 2.1.

Đầu đề: Tên chức năng: LÀM SÉC.

Đầu vào: Xác nhận chi. Đầu ra: Séc.

Thân:Nếu nhận được phiếu xác nhận chi th ì làm séc đưa tới nhà cung cấp. 

Bản ghi trảtiền 

Chọn ngườicung cấp 

2.1.1

In đơnhàng

2.1.2 

In danh sách đơnhàng

2.1.3 

Theo dõi thựchiện đơn hàng 

2.1.4 

Nhà cung cấp 

Thương lượng mua hàng

Đơn hàng 

Đơn Hàng 

Làm séc

dự tr ù+ ngườicung cấp + SH đơn 

Nghiệp vụ 

dự tr ù

Nhà CC

Kiểm tra 

Danh sách đơnhàng

DT/ĐH 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  58

Đặc tả chức năng 2.1.1.

Đặc tả chức năng 2.1.2. 

Đặc tả chức năng 2.1.3. 

Đầu đề: Tên chức năng: CHỌN NGƯỜI CUNG CẤP. 

Đầu vào:Thương lượng mua hàng, Nhà CC, dự tr ù.Đầu ra:Dự trù+ Người CC+ SH đơn. 

Thân:Nếu nhận được dự tr ù từ bộ phận nghiệp vụ , thông tin về nhà cung cấp , và

tiến hành thương lượng mua hàng từ nhà cung cấp thành công thì chuyển dựtrù + SH đơn +người cung cấp để in đơn hàng. 

Đầu đề: Tên chức năng: IN ĐƠN HÀNG. Đầu vào: dự tr ù Nhà cung cấp + Số hiệu đơn. Đầu ra: Đơn hàng. 

Thân :Nếu nhận được dự tr ù Nhà cung cấp và Số hiệu đơn th ì chuyển đơn hàng đến

nhà cung cấp . 

Đầu đề: Tên chức năng: IN DANH SÁCH ĐƠN HÀNG. Đầu vào: Đơn hàng. Đầu ra: Danh sách đơn hàng. 

Thân:Khi có nhu cầu về danh sách đơn hàng th ì in danh sách đơn hàng. 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang  59

Đặc tả chức năng 2.1.4.

 Phân rã chức năng 2.2 

Đặc tả chức năng 2.2.1. 

Đầu đề: 

Tên chức năng: GHI NHẬN HÀNG VỀ. Đầu vào: Phiếu giao hàng.Đầu ra: Phiếu nhận hàng.

Thân:Nếu nhận được phiếu giao hàng thì tiến hành ghi nhận hàng về vào phiếu

nhận hàng.

Đầu đề: 

Tên chức năng: THEO DÕI THỰC HIỆN ĐƠN HÀNG. Đầu vào: Đơn hàng, bản ghi trả tiền. Đầu ra: Đơn hàng. 

Thân:Nếu nhận được bản ghi trả tiền từ bộ phận làm séc thì theo dõi thực hiện đơn

hàng.

Kho Kiểm tra  Nhà cung cấp 

In phiếu pháthàng

2.2.3In danh sáchhàng về 2.2.2

Ghi nhậnhàng về 

2.2.1

phiếupháthàng địa chỉ

phát hàng

Danhsách hàngvề 

Phiếu nhậnhàng

phiếugiaohàng

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang 60

 Đặc tả chức năng 2.2.2. 

 Đặc tả chức năng 2.2.3. 

Đầu đề: Tên chức năng: IN DANH SÁCH HÀNG VỀ 

Đầu vào: Phiếu nhận hàng.Đầu ra: Danh sách hàng về. 

Thân:Nếu nhận được phiếu nhận hàng thì tiến hành in danh sách hàng về để kiểm

tra.

Đầu đề: Tên chức năng: IN PHIẾU PHÁT HÀNG.

Đầu vào: Địa chỉ phát hàng, phiếu nhận hàng.Đầu ra: Phiếu phát hàng.Thân: 

Nếu nhận được địa chỉ phát hàng từ bộ phận kiểm tra th ì tiến hành in phiếuphát hàng

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang 61

Phân rã chức năng 2.3. 

 Đặc tả chức năng 2.3.1 

Khớp đơn

hàng với hàngvề 2.3.1

Làm danhsách địa chỉphát hàng2.3.2

Ghi nhận

hàng về theođơn hàng 

2.3.3

Khớp đơnhàng cóhàng về vớihoá đơn. 

2.3.4

Hệ ĐH 

Danh sách đơnhàng

Hệ NH 

Danh sách hàng về 

địachỉpháthàng.

dự trù đãcó hàngvề 

Đơn hàngđâ có hàngvề 

Nhà CC

Hàng về sai với đặthàng

Hoáđơn 

Hóa đơ nsai vớihàng về 

Làm Séc

Hoá đơn đãxác nhậnchi

Đơn hàng 

Đầu đề: Tên chức năng: KHỚP ĐƠN HÀNG VỚI HÀNG VỀ. Đầu vào: danh sách đơn hàng, hàng về sai với đặt hàng, danh sách hàng về. 

Thân:Nếu nhận danh sách đơn hàng từ hệ ĐH và dang sách hàng về từ hệ NH

cộng với hàng sai với đặt hàng từ nhà cung cấp th ì đưa đơn hàng đã có hàng vềđể ghi nhận hàng về theo đơn hàng và đưa dự trù đã có hàng về để làm danhsách địa chỉ phát hàng.

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang 62

 Đặc tả chức năng 2.3.2 

 Đặc tả chức năng 2.3.2 

 Đặc tả chức năng 2.3.4 

Sau khi tiến hành phân tích hệ thống ta thấy tồn tại một số chức năng vật lý màta có thể bỏ ra khỏi hệ thống. Kết quả từ biểu đồ luồng dữ liệu vật lý mức đỉnh tađược biểu đồ luồng d ữ liệu logic mức đỉnh.

Đầu đề:Tên chức năng: KHỚP ĐƠN HÀNG CÓ HÀNG VỀ. 

Đầu vào: hoá đơn sai với hàng về, hoá đơn. Đầu ra: hoá đơn đã xác nhận chi. 

Thân:Nếu nhận được hoá đơn hoá đơn sai với hàng về từ nhà cung cấp th ì chuyển

hoá đơn đã xác nhận chi đến bộ phận làm séc.

Đầu đề: 

Tên chức năng: GHI NHẬN HÀNG VỀ THEO ĐƠN HÀNG. Đầu vào: đơn hàng đã có hàng về. Đầu ra: đơn hàng. 

Thân:Nếu nhận được đơn hàng đã có hàng về th ì ghi nhận hàng về theo đơn hàng . 

Đầu đề: Tên chức năng: LÀM DANH SÁCH ĐỊA CHỈ PHÁT HÀNG.Đầu vào: dự trù đã có hàng về. 

Đầu ra: địa chỉ phát hàng.

Thân:Nếu nhận được dự trù đã có hàng về th ì phát địa chỉ phát hàng đến hệ Nhận

hàng.

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang 63

Nghiệp vụ 

Khách hàng

Đơn hàng khách sai 

Phiếugiaohàng

Giấy báo chờ hàng

Đơn hợplệ 

Tiền khách 

Đơn hàng khách 

Phiếugiaohàngđã xácnhận 

Chọn nhàcung cấp. 

dự 

trù

Làm đơn

hàng

dự tr ù+NgườiCC

Nhà cung cấp Đơn

Thươnglượngmuahàn

Khớp hoáđơn vớihàng về 

Hoá đơn thanhtoán

Thanh toán

Hoá đơn 

Xácnhậnchi

tiền 

Ghi nhậnhàng về 

Đơn hàng 

Khớp đơnhàng vớihàng về. 

DT/ĐH 

Nhà CC

Làmphiếu pháthàng

địa chỉpháthàn

Phiếu nhận hàng

Hoá

đơn saivớihàng về 

Giaohàng

Phiếu giaohàng+hàng

Làm hoáđơn vàphiếu xuất 

Kiểm trađơn hàng 

Hoá đơn 

Kho hàngPhiếugiaohàng

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang 64

 II.2 Phân tích hệ thống về dữ liệu.  II.2.1. Mô hình quan niệm dữ liệu . 

DONG DON HANG-NCC-MSMH-MS-ĐH - Lượng đặt 

NHÀ CC-Mã NCC.-Ten NCC-Email NCC-DT NCC-DCNCC 

KHACH HANG-MSKH

-Ho KH-Ten KH-DTKH-Email KH-DCKH

MAT HANG-MSMH-Ten MH-Đơn vị tính -Quy cách-Đơn giá mua. -Đơn giá bán. 

HOA ĐON -SH-HĐ -Mã NCC- Ngày HĐ 

DONG HOA DON-SH-HĐ -MSMH-Tên HHDV-SLĐ -DG

P-GIAO HANG-SH-GH-Mã NCC-Ngay GH 

DONG G-HANG-SH-GH-MSMH- Lượng GH.

ĐONHANG-NCC-MS-ĐH - Ngày ĐH -MSNCC 

DU TRU-SH-DT

-MS-NV-Ngay DT

DONG DT-SH-DT-MSMH-Lượng DT 

NGHVU-MS-NV

-Ten NV

P-PHAT-HANG-MS-PPH-Ngay PH-MS-K

DONG -PH-MS-PPH-MSMH-LPH

DHANG-KH-MSĐHKH 

-MSKH- Ngay ĐH 

D-ĐH-KH-MSĐHKH -MSMH-SLĐ 

NHA CC-MH-Mã NCC-MSMH-Đơn giá 

KHO-MS-K-Ten K- ĐC K  

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang 65

II.2.2 MÔ HÌNH TỔ CHỨC DỮ LIỆU. NHACC(Mã NCC, Ten NCC, DTNCC, Email NCC, DCNCC).P-GIAO HANG(SH-GH, Mã NCC, Ngày GH).DONGG-HANG(MSMH, SH-GH, Luong GH).NHACC-MH(Mã NCC, MSMH, Đơn giá). 

MATHANG(MSMH,Ten MH, Qui cach, DVT, Đơn giá mua , Đơn giá bán). HOADON(SH-HĐ, Mã NCC,Ngay HĐ). DONGHOADON(SH-HĐ,MSMH, Ten HHDV, SLĐ, DG). DONHANG-NCC(MS-ĐH,Ngay ĐH, MSNCC). DONGDONHANG-NCC(MSMH, MS-ĐH, Lượng đặt). KHACHHANG(MSKH, Ho KH, Ten KH, DTKH, Email KH).KHO(MS-K,Ten K)DHANG-KH(MSĐHKH, MSMH, Ngay ĐH). D-ĐH-KH(MSĐHKH,MSKH,SLĐ). NGHVU(MS-NV, Ten NV).

DUTRU(SH-DT, MS-NV, Ngay DT)..DDUTRU(SH-DT, MSMH, Luong DT).P-PHATHANG(MSPPH, Ngay PH).DONG-PH(MSPPH, MSMH, LPH).II.2.3. MÔ HÌNH VẬT LÝ DỮ LIỆU.NHACC(Mã NCC, Ten NCC, DCNCC, Email NCC, DTNCC)NHACC.Field Name Data type Field Size Validation RuleMã NCC(K) CHAR 10 Len()=10Tên NCC CHAR 50 Len()=50

DCNCC CHAR 50 Len()=50Email NCC CHAR 30 Len()=30DTNCC CHAR 20 Len()=20

Ý ngh ĩa: Mã NCC: Mã số nhà cung cấp . Ten NCC:Tên nhà cung cấp. DCNCC: Địa chỉ nhà cung cấp Email NCC:Email Nhà cung cấp DTNCC: Điện thoại nhà cung cấp. P-GIAO HANG(SH-GH,Mã NCC, Ngày GH)

P-GIAO HANGField Name Data type Field Size Validation Rule

SH-GH(K) CHAR 12 Len()=12Mã NCC CHAR 10 Lookup(NHACC)Ngày GH DATE

Ý ngh ĩa: 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang 66 

SH-GH: Số hiệu phiếu giao hàng.Mã NCC: Mã nhà cung cấp. Ngày GH: Ngày giao hàng.DONG G-HANG(MSMH, SH-GH, Luong GH, MS-ĐH). DONG G-HANG.

Field Name Data type Field size Validation ruleMSMH(K) CHAR 10 Lookup(MATHANG)SH-GH(K) CHAR 12 Lookup(P-GIAOHANG)MS-ĐH CHAR 12 Lookup(DĐONHANGNCC) Luong GH NUMBER 15

Ý ngh ĩa: MSMH: Mã số mặt hàng.SH-GH: Số hiệu giao hàng.Luong GH: Số lượng giao hàng.

MS-ĐH: Mã số đơn hàng nhà cung cấp. NHACC-MH(Mã NCC, MSMH, Đơn giá). NHACC-MH.Field name Data type Field size Validation rule

Mã NCC(K) CHAR 10 Lookup(NHACC)MSMH(K) CHAR 10 Lookup(MATHANG)Đơn giá NUMBER

Mã NCC: Mã số nhà cung cấp. 

MSMH: Mã số mặt hàng.Đơn giá: Giá bán. MATHANG(MSMH,Ten MH, Qui cach, Dg mua VND, Dg ban VND).MATHANG.Field name Data type Field size Validation ruleMSMH(K) CHAR 10 Len()=10Ten MH CHAR 50 Len()=50Qui cach CHAR 10 Len()=10Đơn giá mua NUMBER 15Đơn giá bán NUMBER 15

MSMH:Mã số mặt hàng.Ten MH: Tên mặt hàng.Qui cach:Qui cách tínhDg mua VND: Đơn giá mua tính theo Việt Nam đồng Dg ban VND: Đơn giá bán tính theo Việt Nam đồng. HOADON(SH-HĐ, Mã NCC,Ngay HĐ). 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang 67 

HOADON.Field name Data type Field size Validation ruleSH-HĐ(K) CHAR 12Mã NCC CHAR 10 Lookup(NHACC)

 Ngay HĐ DATEÝ ngh ĩa: SH-HĐ: Mã số hoá đơn. Mã NCC: Mã nhà cung cấp. 

 Ngày HĐ: Ngày ghi lên hoá đơn. DONGHOADON(SH-HĐ, MSMH, Ten HHDV, SLĐ). DONGHOADON.Field name Data type Field size Validation rule

SH-HĐ(K) CHAR 12 Lookup(HOADON)

MSMH(K) CHAR 10 Lookup(MATHANG)Ten HHDV CHAR 20SLĐ NUMBER

Ý ngh ĩa: SH-HĐ: Mã số hoá đơn. 

Mã NCC: Mã số nhà cung cấp. MSMH: Mã số mặt hàng.Ten HHDV: Tên hàng hóa dịch vụ. SLĐ: Số lượng đặt. DONHANG-NCC(MS-ĐH,Mã NCC,Ngay ĐH). DONHANG-NCC.Field Name Data type Field size Validation ruleMS-ĐH(K) CHAR 12 Len()=12Mã NCC CHAR 10 Lookup(NHACC)

 Ngay ĐH DATEÝ ngh ĩa: MS-ĐH: Mã số đơn hàng.

Mã NCC: Mã nhà cung cấp.  Ngay ĐH: Ngày đặt hàng.DONGDONHANG-NCC(MSMH, MS-ĐH, Lượng đặt). DONGDONHANG-NCC.Field name Data type Field size Validation ruleMSMH(K) CHAR 10 Lookup(MATHANG)MS-ĐH(K) CHAR 12 Lookup(DONHANG-

NCC)Lượng đặt NUMBER

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang 68

Ý ngh ĩa: MSMH: Mã số mặt hàng.MS-ĐH:Mã số đơn hàng. KHACHHANG(MSKH,Ho KH, Ten KH, DTKH, Email KH, DCKH).

KHACHHANG.Field Name Data type Field size Validation ruleMSKH(K) CHAR 10 Len()=10.Ho KH CHAR 30 Len()=30Ten KH CHAR 7 Len()=7DTKH NUMBER 7 Len()=7Email KH CHAR 30 Len()=30DCKH CHAR 50 Len()=50

Ý ngh ĩa: MSKH: Mã số khách hàng.Ho KH:Họ khách hàng.Ten KH: Tên khách hàngDTKH: Điện thoại khách hàng.Email KH: Email khách hàng.DCKH: Địa chỉ khách hàng.

DHANG-KH(MSĐHKH, MSKH, Ngay ĐH). DHANG-KH.Field Name Data Type Field size Validation ruleMSĐHKH(K) CHAR 12 Len()=12

MSKH CHAR 10 Lookup(KHACHANG) Ngay ĐH DATEÝ ngh ĩa: MSĐHKH: Mã số đơn hàng khách hàng. MSKH: Mã số khách hàng

 Ngày ĐH: Ngày đặt hàng.D-ĐH-KH(MSĐHKH,MSKH,SLĐ). D- ĐH-KH.Field Name Data Type Field size Validation rule

MSĐHKH(K) CHAR 12MSMH(K) CHAR 10 Lookup(MATHANG)SLĐ NUMBER

Ý ngh ĩa: MSĐHKH: Mã số đơn hàng khách hàng. MSKH: Mã số khách hàng.SLĐ: Số lượng đặt. 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang 69

KHO(MS-K, Ten K, Địa chỉ) KHO.Field Name Data Type Field size Validation ruleMS-K(K) CHAR 10 Len()=10

Ten K CHAR 40Địa chỉ K  CHAR 50 Len()=50

Ý ngh ĩa: MS-K: Mã số kho. Ten K: Tên kho.Địa chỉ: địa chỉ của kho dùng để chứa hàng.DUTRU(SH-DT, MS-K, Ngay DT).DUTRU.Field Name Data type Field size Validation rule

SH-DT(K) CHAR 12MS-NV CHAR 10 Lookup(NGHVU)Ngay DT DATE

Ý ngh ĩa: SH-DT: Số hiệu dự tr ù.MS-NV: Mã số bộ phận nghiệp vụ. Ngay DT: Ngày dự tr ù.DDUTRU(SH-DT, MSMH, Luong DT).DDUTRU.Field Name Data Type Field Size Validation rule

SH-DT(K) CHAR 12 Lookup(DUTRU)MSMH(K) CHAR 10 Lookup(MATHANG)Luong DT NUMBER

Ý ngh ĩa: SH-DT: Số hiệu dự tr ù.MSMH: Mã số mặt hàng.Luong DT: Lượng dự tr ù.P-PHATHANG(MSPPH, Ngay PH, MS-K).P-PHATHANG.Field Name Data type Field Size Validation rule

MSPPH(K) CHAR 12Ngay PH DATEMS-K CHAR 10 Lookup(KHO)

Ý ngh ĩa: MSPPH: Mã số phiếu phát hàng.Ngay PH: Ngày Phát hàng.MS-K:Mã số kho. 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang 70

DONG-PH(MSPPH, MSMH, LPH).DONG-PH.Field Name Data type Field size Validation ruleMSPPH(K) CHAR 12 Lookup(PPHATHANG)

MSMH(K) CHAR 10 Lookup(MATHANG)LPH NUMBER

Ý ngh ĩa: MSPPH: Mã số phiếu phát hàng.MSMH: Mã số mặt hàng.LPH:Lượng phát hàng.Field name Data Type Field size Validation ruleMNV(K) CHAR 8 Len()=8Ten NV CHAR 20 Len()=20

Ý ngh ĩa: MNV: Mã nghiệp vụ. TNV: Tên nghiệp vụ. 

II.3 THIẾT KẾ HỆ THỐNG. II.3.1 PHÂN CHIA CÁC HỆ THỐNG THÀNH CÁC HỆ CON. 

Hệ thống được phân chia thành hai hệ con 1 và 2 bởi đường đứt nét. 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang 71

Nghiệp vụ 

Khách hàng

Đơn hàng khách sai 

Phiếugiao hàng

Giấy báo chờ hàng

Đơn hợplệ 

Tiền khách 

Đơn hàng khách 

Phiếugiaohàngđã xácnhận

Chọn nhàcung cấp. 

dự 

trù

Làm đơn

hàng

dự tr ù+NgườiCC

Nhà cung cấp Đơn hàng 

Thươnglượngmua hàng

Khớp hoáđơn vớihàng về 

Hoá đơn 

Thanh toán

Hoá đơn 

Xácnhậnchi

tiền 

Ghi nhậnhàng về 

Đơn hàng 

Khớp đơnhàng vớihàng về. 

DT/ĐH 

Nhà CC

Làm phiếuphát hàng

địa chỉpháthàn

phiếupháthàng Phiếu nhận hàng

Hoá

đơn saivớihàngv

Giaohàng

Phiếu giaohàng+hàng

Làm hoáđơn vàphiếu xuất 

Kiểm trađơn hàng 

Hoá đơn 

Kho hàngPhiếugiao hàng

HT 2

HT 1

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang 72

THIẾT KẾ GIAO DIỆN CHÍNH CỦA CHƯƠNG TR ÌNH.

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang 73

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang 74

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang 75

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang 76 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang 77 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang 78

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang 79

THIẾT KẾ MỘT SỐ MODULE XỬ LÝ CỦA CHƯƠNG TR ÌNH.(1) Thủ tục chặn thông báo từ hệ thống. 

PROCEDURE Chan ISBEGIN

:SYSTEM.MESSAGE_LEVEL:=25;END;

(2) Thủ tục nạp ảnh v ào Form chính.PROCEDURE Nap IS

 BEGIN SET_WINDOW_PROPERTY(FORMS_MDI_WINDOW,WINDOW_STATE,MAXIMIZE);:Global.project_path:='D:\Totnghiep\cwproject\';READ_IMAGE_FILE(:Global.project_path||'\Moi.bmp','Bitmap','splash_block.splash_image');

 END;(3) Thủ tục thoát khỏi Form. 

 PROCEDURE THOAT ISloi EXCEPTION;alert_button NUMBER;

 BEGIN 

alert_button:=SHOW_ALERT('THOAT_ALERT');IF alert_button=ALERT_BUTTON1 THENEXIT_FORM;COMMIT;

ELSEROLLBACK;

END IF;EXCEPTION

WHEN loi THENMESSAGE('Chuong Trinh Bi Loi');

 END;

(3) Thủ tục thêm mẫu tin PROCEDURE THEM IS

alert_button NUMBER;loi EXCEPTION;BEGIN

alert_button:=SHOW_ALERT('THEM_ALERT');IF alert_button=ALERT_BUTTON1 THEN

INSERT INTO SCOTT.KHACHHANGVALUES(:MSKH,:HOKH,:TENKH,:DCKH,:DTKH,:EMAILKH);CLEAR_FORM;MESSAGE('BAN DA THEM MOT MAU TIN');COMMIT;

ELSEROLLBACK;END IF;EXCEPTION

WHEN loi THENMESSAGE('Chuong Trinh Bi loi');

END;(4)  Thủ tục Cập nhật mẫu tin

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang 80

PROCEDURE CAPNHAT ISalert_button NUMBER;loi EXCEPTION;BEGIN

alert_button:=SHOW_ALERT('CAPNHAT_ALERT');IF alert_button=ALERT_BUTTON1 THEN

UPDATE SCOTT.KHACHHANGSET HOKH=:HOKH,TENKH=:TENKH,DCKH=:DCKH,DTKH=:DTKH,EMAILKH=:EMAILKHWHERE MSKH =:MSKH;

MESSAGE('BAN DA CAP NHAT MOT MAU TIN');COMMIT;

ELSEROLLBACK;

END IF;EXCEPTION

WHEN loi THENMESSAGE('Chuong Trinh Bi loi');

 END;

(5) Thủ tục xoá mẫu tin  PROCEDURE XOA IS

alert_button NUMBER;loi EXCEPTION ;

BEGINalert_button:=SHOW_ALERT('XOA_ALERT');

IF alert_button=ALERT_BUTTON1 THENINSERT INTO SCOTT.KHACHHANG1VALUES(:MSKH,:HOKH,:TENKH,:DCKH,:DTKH,:EMAILKH);

DELETE FROM SCOTT.KHACHHANGWHERE MSKH=:MSKH;MESSAGE('BAN DA XOA MOT MAU TIN');COMMIT;

ELSEROLLBACK;

END IF;EXCEPTION

WHEN loi THENMESSAGE('Chuong Trinh Bi loi');

END;

(6) Thủ tục gọi Form CALL_FORM(:GLOBAL.project_path.’KHACHHANG.FMX’,HIDE,DO_REPLCAE);

(7) Thủ tục in báo cáo 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang 81

 /*DECLARE

dummy_list PARAMLIST;

BEGIN

RUN_PRODUCT(REPORTS,:GLOBAL.project_path||'HOADON.RDF',ASYNCHRONOUS,RUNTIME,FILESYSTEM,dummy_list,NULL);

END; */  /*DECLARE

dummy_list PARAMLIST;BEGIN

RUN_PRODUCT(REPORTS,:GLOBAL.project_path||'DHNCC.rdf',ASYNCHRONOUS,RUNTIME,FILESYSTEM,dummy_list,NULL);END; */ 

 /*DECLARE

dummy_list PARAMLIST;BEGIN

RUN_PRODUCT(REPORTS,:Global.project_path||'DHKH.RDF',ASYNCHRONOUS,RUNTIME,FILESYSTEM,dummy_list,NULL);END; */ 

 /*DECLARE

dummy_list PARAMLIST;BEGIN

RUN_PRODUCT(REPORTS,:Global.project_path||'PPHANG.RDF',ASYNCHRONOUS,RUNTIME,FILESYSTEM,dummy_list,NULL);END; */ 

 /*DECLARE

dummy_list PARAMLIST;BEGIN

RUN_PRODUCT(REPORTS,:GLOBAL.project_path||'PGIAOHANG.RDF',ASYNCHRONOUS,RUNTIME,FILESYSTEM,dummy_list,NULL);END; */ 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang 82

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ứuthô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. 

5/16/2018 Datn He Quan Tri Csdl Oracle Trong Quan Ly Ban Hang 262822031250 - slidepdf.com

http://slidepdf.com/reader/full/datn-he-quan-tri-csdl-oracle-trong-quan-ly-ban-hang-262822

  Đồ Án Tốt Nghiệp GVHD:TS Nguyễn Ngọc Bình

  SVTH: Đỗ Hữu Bá Trang 83

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.