Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 59 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
59
Dung lượng
509,5 KB
Nội dung
TRƯỜNG ĐẠI HỌC KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA CÔNG NGHỆ THÔNG TIN LUẬN VĂN TỐT NGHIỆP Đề tài : • TÌMHIỂUCONTEXTCATRIDGETRONGORACLE8 • VIẾT CHƯƠNG TRÌNH QUẢN LÝ LVTN Giáo viên hướng dẫn : TRẦN QUANG Học viên thực hiện : NGUYỄN THANH GIANG Lớp : KS2 - K6 Niên khoá : 1996-1999 Tháng 7-1999 MỤC LỤC I.GIỚI THIỆU CHUNG II.TÌM HIỂUCONTEXT CARTRIDGE TRONGORACLE8 1.Các khái niệm cơ bản của Oracle 1.1.Giới thiệu Oracle 1.2.Cấu trúc cơ sở dữ liệu (CSDL) : 1.2.1. Tablespaces & Data files 1.2.2. Schema Objects (đối tượng CSDL) 1.2.3. Datatypes 1.2.4. Data Integrity (ràng buộc dữ liệu) 1.2.5. Từ điển dữ liệu 1.3. Data Access 1.3.1. SQL & PL/SQL 1.3.2. Transaction (giao dịch) 1.4. Programmatic Constructs 1.4.1.Procedures & Packages 1.4.2.Database Triggers 2.Context Cartridge 2.1.Giới thiệu 2.2.Một số khái niệm 2.3.Text Query 2.4.Theme Query 2.5.Query Methods 2.6.Linguistic services 2.7.Thực hiện Context III.PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 1.Phân tích Hệ thống 1.1.Bài toán "Quản lý luận văn tốt nghiệp" 1.2.Các chức năng của Hệ thống 1.3.Sơ đồ dòng Dữ liệu (DFD) 1.4.Sơ đồ thực thể-Mối liên kết (ERD) 1.5.Đặc tả quá trình 1.6.Từ điển Dữ liệu 2.Thiết kế Hệ thống 2.1.Thiết kế Mã 2.2.Thiết kế File 2.3.Thiết kế Input 2.4.Thiết kế Form IV.HIỆN THỰC HỆ THỐNG 1.Input Screens 2.Physical File 3.Source Code V.ĐÁNH GIÁ KẾT LUẬN Tàiliệu tham khảo III-2 III-3 CHƯƠNG I GIỚI THIỆU CHUNG III-4 Trong cuộc sống hàng ngày Quản lý là một công việc người ta luôn phải làm. Các công việc quản lý xảy ra trong mọi lĩnh vực. Có rất nhiều bài toán quản lý : Quản lý nhân sự, quản lý vật tư, … Trong lĩnh vực quản lý, việc xử lý các thông tin nhận được là một vấn đề rất phức tạp vì lượng thông tin nhận được ngày càng lớn và thường xuyên. Để giải phóng công việc của người làm công tác quản lý thì cần đến sự trợ giúp của máy tính rất nhiều. Bài toán quản lý các thông tin dạng không có cấu trúc (văn bản, hình ảnh, …) luôn luôn là một bài toán rất phức tạp, nhất là trong việc tổ chức Cơ sở dữ liệu. Đề tài nhận được ở đây là "Tìm hiểuContext Cartridge - Viết chương trình quản lý luận văn tốt nghiệp" , đã đưa ra một hướng giải quyết bài toán này. Dựa trên một số công cụ và chức năng mạnh của Oracle 8, Đề tài đã giải quyết tốt vấn đề tổ chức, lưu trữ và tra cứu các dữ liệu không có cấu trúc, mà cụ thể là các luận văn tốt nghiệp, giúp cho việc tra cứu các luận văn tốt nghiệp được thực hiện chính xác, nhanh chóng và dễ dàng. Ngoài ra với ưu thế của Hệ Cơ sở dữ liệuOracle là cơ chế bảo mật dữ liệu rất chặt chẽ giúp cho Hệ thống hoạt động rất tốt và rất an toàn trong việc cập nhật và truy cập dữ liệu, tránh được việc mất dữ liệu. III-5 CHƯƠNG II TÌMHIỂUCONTEXT CARTRIDGE TRONGORACLE8 III-6 1.CÁC KHÁI NIỆM CƠ BẢN CỦA ORACLE 1.1.Giới thiệu OracleOracle bao gồm một tập hợp hoàn thiện các sản phẩm xây dựng ứng dụng và người dùng cuối được trang bị các giải pháp kỹ thuật thông tin hoàn hảo. Các ứng dụng Oracle tương thích với hầu hết các hệ điều hành từ các máy tính cá nhân đến các hệ thống xử lý song song lớn. Oracle cung cấp một hệ quản trị cơ sở dữ liệu (Database Management System - DBMS) uyển chuyển : Oracle Server để lưu giữ và quản lý các thông tin dùng trong các ứng dụng. Phiên bản Oracle 7 quản lý cơ sở dữ liệu với tất cả các ưu điểm của cấu trúc CSDL quan hệ cộng thêm khả năng lưu giữ và thực thi các đối tượng CSDL như các procedure và các trigger. Oracle Server là một hệ quản trị CSDL điều khiển : -Lưu giữ dữ liệu trên các vùng dữ liệu đã thiết kế. -Truy xuất dữ liệu cho các ứng dụng, dùng các kỹ thuật tương đối tối ưu. -Bảo mật dữ liệu, cấp quyền khác nhau cho các user. -Liên kết và toàn vẹn dữ liệu khi CSDL được phân bố trên mạng. Ngoài các chức năng chuẩn cung cấp các tiện ích CSDL, Oracle Server còn có thêm một số chức năng sau : -Procedural Option -Distributed Option -Parallel Server Option -Trusted Oracle. Các sản phẩm của Oracle bao gồm : -Oracle TextRetrieval -Pro* ORACLE -Oracle Card -Oracle CASE -SQL * Plus SQL, SQL * Plus và PL/SQL là các đặc tính của Oracle. SQL : -Là ngôn ngữ dùng để truy xuất cơ sở dữ liệu quan hệ, kể cả Oracle. -Có thể được dùng với mỗi công cụ Oracle khi có yêu cầu truy xuất dữ liệu. PL/SQL : -Là ngôn ngữ thủ tục Oracle để viết các ứng dụng luận lý và thao tác dữ liệu bên ngoài CSDL. -Có thể bao gồm một tập con các lệnh SQL khi có yêu cầu truy xuất dữ liệu. -Sẵn có trongOracle Server. SQL * Plus : -Là sản phẩm Oracletrong đó có thể dùng cả SQL và PL/SQL. -Còn có các ngôn ngữ lệnh riêng để điều khiển hành vi của sản phẩm và định dạng output từ các truy vấn SQL. 1.2. Cấu trúc cơ sở dữ liệu (CSDL) : 1.2.1. Tablespaces & Data files: Một CSDL Oracle được lưu giữ trong một hoặc nhiều đơn vị nhớ logic gọi là tablespace. Mỗi tablespace được lưu giữ thành một hoặc nhiều file vật lý gọi là Data file. 1.2.2. Schema Objects (đối tượng CSDL): III-7 Schema Objects là cấu trúc logic lưu trữ dữ liệu. Schema Objects bao gồm tables, views, sequences, synonyms, indexes, clusters, database links, procedures, packages. -Tables : Là đơn vị nhỏ nhất của việc lưu trữ dữ liệutrong một CSDL Oracle. Dữ liệu được lưu thành dòng và cột. Mỗi table được định nghĩa bằng 1 table name và tập các cột. Mỗi cột (field) có một tên cột, kiểu, và độ lớn. Mỗi dòng là tập hợp những thông tin của các cột gọi là 1 record. -Views : View tương tự như Window mà qua đó dữ liệutrong table có thể được xem hoặc biến đổi. Một view chỉ được lưu giữ dưới dạng câu lệnh SELECT. View là một dạng table ảo nghĩa là table không thực sự tồn tại mà chỉ xuất hiện để user xem. Một view tự nó không có dữ liệu mà sẽ tương tác dữ liệu dựa vào các table cơ sở. View giới hạn việc xâm nhập dữ liệu, cho phép các users nhập các câu truy vấn đơn giản để lấy kết quả từ các câu truy vấn phức tạp thông qua 1 view, cung cấp dữ liệu độc lập cho nhiều người sử dụng hay các chương trình ứng dụng. View được chia thành 2 loại : view đơn và view phức. View đơn là view chỉ truy xuất dữ liệu từ 1 table và không chứa bất kỳ hàm hay GROUP dữ liệu nào, ngược lại gọi là view phức. -Synonyms : Synonym là một bí danh của một table, view, sequence, procedure , function hay một package. Synonym được sử dụng cho việc bảo mật và tiện lợi trong truy xuất dữ liệu. Có 2 loại synonym : Public và Private. -Index (chỉ mục) : Index của Bảng được tạo ra nhằm tăng tốc độ truy xuất, tăng hiệu quả của tính duy nhất trên một hoặc một tập của cột. Chỉ mục của Oracle có 2 mục đích chính là : tăng tốc độ lấy dữ liệu thông qua khóa đặc thù (particular key) , bắt buộc giá trị duy nhất trên cột, thường là khóa chính. 1.2.3. Datatypes Oracle có các kiểu dữ liệu sau đây: -CHAR(n) : Kiểu ký tự có chiều dài cố định là n. -VARCHAR2(n) : Ký tự có chiều dài thay đổi đến n ký tự. -NUMBER : số dấu chấm động với 38 ký số. -NUMBER(n): số nguyên có n ký số. -NUMBER(n,m) : số thập phân có n ký số và m số lẻ. -DATE : Kiểu ngày. -LONG : Ký tự có chiều dài thay đổi tối đa 2 31 -1, chỉ có 1 cột kiểu LONG trong 1 table. -RAW : tương đương VARCHAR2 , nhưng dùng để lưu dữ liệu dạng byte hay nhị phân như hình ảnh, âm thanh. -LONGRAW : tương đương LONG, nhưng dùng để lưu dữ liệu dạng byte hay nhị phân như hình ảnh, âm thanh. 1.2.4. Data Integrity (ràng buộc dữ liệu) Dữ liệu phải thỏa mãn tập các luật được định nghĩa trước bởi người quản trị CSDL. Oracle cho phép định nghĩa các ràng buộc toàn vẹn cho các cột trong table hay giữa các table với nhau để buộc chúng tuân theo một quy luật nào đó nhằm mục đích : Kiểm tra ràng buộc toàn vẹn dữ liệu khi thêm vào, cập nhật hay xóa dữ liệu; ngăn cản việc xóa 1 table khi có sự phụ thuộc của table này vào các table khác. Oracle có các kiểu ràng buộc sau: -NOT NULL : cột không được rỗng. -UNIQUE : đánh dấu một cột hoặc một tập các cột như một khóa duy nhất, không thể có 2 dòng trong table chứa cùng giá trị cho khóa này. -PRIMARY KEY : tương tự như khóa đơn nhất, một khóa chính bắt buộc sự duy nhất của một cột hay một tổ hợp các cột. III-8 -FOREIGN KEY : Khóa ngoại cung cấp các luật ràng buộc tham khảo toàn vẹn không những bên trong 1 table mà còn giữa các table. -CHECK : ràng buộc này định nghĩa một điều kiện mà mỗi dòng phải thỏa trong 1 table khi đưa 1 giá trị vào 1 cột đã được định nghĩa. 1.2.5. Từ điển dữ liệu Từ điển dữ liệu là một trong những phần quan trọng nhất của Oracle DBMS. Từ điển dữ liệu bao gồm một tập hợp các table và view cung cấp các hướng dẫn tham khảo chỉ đọc về CSDL. Từ điển dữ liệu chứa đựng : -Tên username của người sử dụng Oracle -Các quyền và tập quyền được cấp. -Tên của các đối tượng CSDL (table, view, index, synonym,…) -Các ràng buộc được cấp cho table. -Các thông tin cập nhật. Từ điển dữ liệu được tạo ra khi ta tạo 1 CSDL. Từ đó bất cứ lúc nào CSDL đang hoạt động thì từ điển dữ liệu cũng luôn được Oracle RDBMS cập nhật. Từ điển dữ liệu là một tham khảo đến toàn bộ CSDL người dùng. Đây là một tài nguyên có giá trị đối với người dùng cuối, người thiết kế ứng dụng và người quản trị CSDL. Các hoạt động của RDBMS cũng dựa trên từ điển dữ liệu để lưu và kiểm tra các thông tin về CSDL. 1.3. Data Access 1.3.1. SQL & PL/SQL SQL: Một hệ quản trị CSDL cần có một ngôn ngữ cho phép các người sử dụng truy xuất dữ liệu. Ngôn ngữ truy vấn có cấu trúc (SQL) là ngôn ngữ được dùng trong hầu hết các hệ CSDL quan hệ. -SQL là 1 ngôn ngữ tựa tiếng Anh. -SQL là 1 ngôn ngữ phi thủ tục : bạn chỉ rõ thông tin gì bạn cần mà không cần chỉ ra cách thực hiện như thế nào. Nói cách khác, SQL không yêu cầu bạn chỉ phương pháp truy xuất dữ liệu. -SQL xử lý các tập hợp mẫu tin hơn là một mẫu tin đơn lẻ ở 1 thời điểm. Dạng chung nhất của tập các mẫu tin là một bảng. -SQL có thể được dùng bởi nhiều người sử dụng bao gồm người quản trị dữ liệu, các người lập trình ứng dụng, người quản lý, người dùng cuối. -SQL cung cấp nhiều lệnh cho nhiều công việc khác nhau : +truy vấn dữ liệu +thêm vào, cập nhật và hủy bỏ các hàng của bảng +tạo lập, thay đổi và hủy bỏ các đối tượng CSDL +kiểm soát truy xuất đến CSDL và các đối tượng CSDL +bảo đảm tính nhất quán dữ liệu. PL/SQL: (Procedure Language) PL/SQL là một mở rộng của SQL, kết hợp vào trong đó rất nhiều đặc tính của các ngôn ngữ lập trình gần đây. Nó cho phép các thao tác dữ liệu và các câu lệnh query SQL bao gồm các đoạn mã có cấu trúc khối và tính thủ tục, làm cho PL/SQL thành một ngôn ngữ xử lý giao dịch mạnh mẽ. Các ưu điểm của PL/SQL: -Cấu trúc khối : chương trình có thể chia thành các khối luận lý. -Điều khiển theo luồng : dùng các câu lệnh có điều kiện, lặp vòng , rẽ nhánh để điều khiển luồng thủ tục của chương trình, quyết định khi nào SQL hoặc tác vụ khác được thi hành. -Tính cơ động : chương trình có thể chuyển đổi đến bất kỳ môi trường nào mà Oracle và PL/SQL đã được hỗ trợ. -Tính thống nhất -Hiệu quả. III-9 1.3.2. Transaction (giao dịch) Giao dịch là một tác vụ thao tác CSDL bao gồm một loạt các thay đổi trên một hay nhiều table. Có 2 lớp : DML & DDL transaction -DML transaction : gồm có một số lệnh DML mà Oracle xem như một thực thể đơn hoặc một đơn vị công việc luận lý. -DDL transaction : chỉ có thể chứa 1 lệnh DDL. Đối với một giao dịch, hoặc là nó thay đổi CSDL một cách hoàn chỉnh hoặc là không thực hiện bất kỳ sự thay đổi CSDL nào. Một giao dịch bắt đầu khi thực hiện lệnh DML và DDL đầu tiên và kết thúc khi xảy ra 1 trong các trường hợp sau : +COMMIT / ROLLBACK +Lệnh DDL được đưa ra +Lỗi bên trong +Thoát khỏi chương trình SQL * Plus 1.4. Programmatic Constructs 1.4.1.Procedures & Packages Oracle cho phép truy xuất và xử lý thông tin CSDL bằng cách sử dụng các đối tượng CSDL thủ tục , gọi là các đơn vị chương trình PL/SQL. Ví dụ như ta có :Procedure, Function, Package. -Oracle có thể thực hiện procedure và function giống như thực hiện một câu lệnh SQL riêng lẻ. Procedure hoặc function là một đối tượng dữ liệu, gồm tập hợp các câu lệnh, được lưu trong CSDL, được thực thi như một unit để giải quyết một vấn đề nào đó hoặc thực hiện một số công việc có liên quan. -Procedure và function rất giống nhau, chỉ khác là function thì luôn luôn trả về giá trị cho chương trình gọi nó, còn procedure thì không. Thông thường người ta gọi chung procedure và function là "procedure". -Procedure cung cấp một số thuận lợi trong các mặt sau : +Security : bảo mật dữ liệu +Perfomance : +Memory allocation : sử dụng share memory +Productivity : thuận tiện cho việc thiết kế application +Integrity : bảo đảm được những ràng buộc và tính trong suốt Package cung cấp phương pháp tập hợp các procedure, function như một unit trong CSDL. Package cung cấp một số thuận lợi trong các mặt sau : +Nhóm các procedure và các variable +phân biệt định nghĩa package và thân package +khai báo các procedure, variable, constant và cursor 1.4.2.Database Triggers Oracle cho phép định nghĩa các procedure, được tự động thực thi khi có một câu lệnh INSERT, UPDATE hoặc DELETE được thực hiện vào bảng. Các procedure này được gọi là các database trigger. -Trigger tương tự như procedure, có thể chứa một số câu lệnh SQL và PL/SQL, được thực thi như một unit và có thể gọi các procedure khác. Tuy nhiên procedure và trigger khác nhau ở cách chúng được gọi. Trong khi procedure được gọi bởi user hoặc application thì trigger được thực thi trực tiếp bởi Oracle khi có 1 lệnh INSERT, UPDATE hoặc DELETE (đã có trigger) được thực hiện, không phân biệt user nào đang nối kết hay application nào đang thực thi. -Một trigger có 3 phần chính : +Triggering event hoặc statement : câu lệnh SQL, xác định khi nào trigger được thực hiện (INSERT, UPDATE, DELETE). III-10 [...]... số câu lệnh SQL và PL/SQL -Một trigger có thể có một trong 2 dạng : enabled hoặc disabled III-11 2 .CONTEXT CARTRIDGE 2.1.Giới thiệu ConText Cartridge (Oracle 8) cho phép các khả năng tìm kiếm, khôi phục và xem dữ liệu dạng văn bản (text) được lưu trong CSDL của Oracle8 Ngoài ra ConText còn cho phép xử lý ngôn ngữ cao cấp các văn bản tiếng Anh Với ConText chúng ta có thể sử dụng SQL và PL/SQL kết hợp... chủ đề chính hoặc một đề tài được triển khai trong tàiliệu Để thực hiện được theme query chúng ta phải thực hiện các công việc sau: +Tạo theme index cho text column +Tạo Bảng kết quả (đối với two-step query) Mỗi tàiliệu được trả về bởi Theme Query có 1 score Score trong theme query biểu diễn sự liên quan của tàiliệu đối với query, mỗi score là trọng số của theme trong tàiliệu Khi thực thi theme... Linguistic Processing , Chúng ta có thể thực hiện truy vấn theo chủ đề, phục hồi lại tàiliệu dựa trên những chủ đề chính được tìm thấy trong tàiliệu Ngoài ra ConText còn cho phép quá trình Linguistic Processing đối với những tàiliệu riêng biệt dưới dạng Linguistic services Linguistic Services cho phép xem các tàiliệu cao cấp như là danh sách các đề mục và tóm tắt văn bản (gọi là Gists) Để Text Query... services ConText Linguistic được sử dụng để phân tích nội dung các tài liệu tiếng Anh ConText Linguistic cho phép xem xét document ở nhiều khía cạnh khác nhau, cho phép người sử dụng có thể nhanh chóng duyệt qua nội dung của tàiliệu và lấy được nội dung mà họ quan tâm Kết quả của ConText Linguistic có thể là một trong các dạng sau : +Theme : những khái niệm chính của tàiliệu +Generic Gist : những đoạn tài. .. nay phần lớn các dữ liệu không được lưu dưới dạng dữ liệu có cấu trúc, chúng được lưu dưới dạng văn bản với những dạng khác nhau : letters, memos, reports, notes, e-mail, … Những dạng tàiliệu này thường khó tìm kiếm, phục hồi và thường không thể tóm tắt được Oracle giải quyết vấn đề quản lý văn bản với ConTextConText quản lý dữ liệu không có cấu trúc cũng nhanh và dễ dàng như dữ liệu có cấu trúc 2.2.Một... đặc tả (những từ hoặc những câu), và trả về tất cả các dòng (các tài liệu) có chứa những từ hay những câu này Ngoài ra , mỗi tàiliệu được trả về cùng với một con số, đó là số lần xuất hiện điều kiện truy vấn trong tàiliệu và nó biểu hiện sự liên quan của tàiliệu đến truy vấn ConText cho phép thực hiện Text Query đối với các biểu thức logic và các biểu thức mở rộng.Các phương pháp để thực hiện text... tổng quát hơn, xác định tập hợp dữ liệu không có cấu trúc được lưu trữ trong một cột CSDL hoặc trong 1 file hệ thống Trong môi trường ConText , document là một văn bản được lưu trong một cột của một dòng của CSDL hoặc là một con trỏ chỉ tới một file hệ thống -Text Storage : có 2 cách +internal : document được lưu trong 1 text column +external : document được lưu trong những file của hệ điều hành -Search... và các câu +Tìm gần đúng, tìm từ phát âm giống, tìm từ sử dụng thay thế -Query Expressions : được tạo nên bởi những từ và những câu cùng với những toán tử và những ký tự đặc biệt khác tạo ra tiêu chí tìm kiếm -Hitlists : Khi query được thực hiện, ConText tạo ra danh sách tất cả document thỏa tiêu chí tìm kiếm cùng với score Đó là hitlist -Scoring : là cách để ConText đánh giá document nào trong hitlist... giải quyết được vấn đề này , trong hệ thống ta sử dụng các chức năng CONTEXT QUERY (gồm TEXT QUERY và THEME QUERY) của ORACLE8 để thực hiện Ngoài ra, Hệ thống cho phép tìm kiếm các luận văn tốt nghiệp theo các điều kiện khác nhau : +Tên đề tài +Sinh viên thực hiện +Giáo viên hướng dẫn +Thời gian bảo vệ Sau khi tìm kiếm có thể hiển thị lại nội dung các luận văn tốt nghiệp tìm được Hệ thống cũng cho phép... chính của tàiliệu +Generic Gist : những đoạn tàiliệu chứa những nội dung chính +Point-of-view Gist : những đoạn tàiliệu chứa một chủ đề cho trước Để có thể sử dụng được ConText Linguistic , cần phải : +Text được lưu trong 1 cột +Cột phải có 1 policy +ConText Server chạy với Linguistic Personality Các bước thực hiện Linguistic services (Hình 3) -Khởi động Context Servers -Tạo Policy (Định nghĩa cột văn . việc mất dữ liệu. III-5 CHƯƠNG II TÌM HIỂU CONTEXT CARTRIDGE TRONG ORACLE 8 III-6 1.CÁC KHÁI NIỆM CƠ BẢN CỦA ORACLE 1.1.Giới thiệu Oracle Oracle bao gồm. THIỆU CHUNG II.TÌM HIỂU CONTEXT CARTRIDGE TRONG ORACLE 8 1.Các khái niệm cơ bản của Oracle 1.1.Giới thiệu Oracle 1.2.Cấu trúc cơ sở dữ liệu (CSDL) : 1.2.1.