Upload
nguyen-minh
View
405
Download
0
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.