Các công ty viễn thông quản lý một khối lượng lớn dữ liệu về thông tin khách hàng và dữ liệu về chi tiết cuộc gọi (call detail records). Và CSDL Oracle là một lựa chọn tối ưu để lưu trữ lượng dữ liệu lớn đó trong các doanh nghiệp viễn thông.
39
Oracle 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ảọ 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. Một số sản phẩm và công cụ tích hợp trong hệ quản trị cơ sở dữ liệu Oracle:
1. SQL: Là ngôn ngữ dùng để truy xuất cơ sở dữ liệu quan hệ, kể cả Oraclẹ Có thể được dùng với mỗi công cụ Oracle khi có yêu cầu truy xuất dữ liệụ
2. PL/SQL: Là ngôn ngữ thủ tục Oracle để viết các ứng dụng xử 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ệụ Sẵn có trong Oracle Server.
3. Thủ tục lưu trữ (Stored procedures): Là các hàm hay các thủ tục, đây là một tập hợp các câu lệnh SQL và PL/SQL. Sau khi Stored procedures được biên dịch, nó sẽ được gán tên và có thể thực hiện trực tiếp mà không cần phải biên dịch lại thêm bất cứ một lần nào nữạ Các functions và procedures cho phép sử dụng tham số dưới dạng tham số vào (IN) và tham số ra (OUT) hoặc cũng có thể sử dụng tham số vừa vào vừa ra (IN OUT). Theo mặc định, các tham số được xác định ở chế độ vào IN. Một số ưu điểm của hệ quản trị CSDL quan hệ là:
ạ Các Stored procedures được nạp sẵn vào bộ nhớ, do đó có thể giảm bớt việc truy xuất đĩa khi thực hiện thủ tục.
b. Đảm bảo an toàn cho dữ liệu, ngăn không cho các users truy cập trực tiếp vào dữ liệu mà phải thông qua các thủ tục và hàm giao tiếp đã được cung cấp.
c. Cho phép nhiều users có thể cùng sử dụng các bản sao của Stored procedures để thực hiện.
40
4. Packages chuẩn: Một packages thông thường gồm hai phần: specification (phần đặc tả hay còn gọi là phần khai báo) và body (phần thân). Chúng được lưu riêng biệt trong cùng một databasẹ
ạ Phần specification là phần giao tiếp với các ứng dụng. Phần này chứa các lời khai báo, các kiểu, biến, hằng, exceptions, cursors, và các khai báo hàm để sử dụng.
b. Phần body là phần cài đặt cụ thể (implementation) của các khai báo trong phần specification.
Chức năng của packages cũng tương tự như Stored procedures. Một khi packages được biên dịch, packages đó có thể được sử dụng bởi nhiều ứng dụng khác nhaụ Tuy nhiên, có một lợi ích lớn nhất khi sử dụng packages là ngay lần đầu tiên gọi đến packages, toàn bộ packages sẽ được nạp vào trong bộ nhớ.
5. 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.
6. Table partitioning (Phân khu trong bảng dữ liệu): Kỹ thuật phân chia bảng thành từng khu (Table partitioning) nhằm quản lý hiệu quả cơ sở dữ liệu với dung lượng lớn và các bảng trong CSDL có số lượng truy cập lớn và đồng thời với các mục đích:
ạ Khi một câu lệnh chỉ cần lấy dữ liệu ở một khu nào đó thì hệ thống chỉ cần truy nhập vào khu đó và bỏ qua các khu còn lạị
b. Khi các khu dữ liệu được lưu trữ ở các ổ cứng khác nhau sẽ làm giảm tranh chấp vào/ra giữa các câu lệnh. Ví dụ hai câu lệnh SELECT và UPDATE hoạt động trên cùng một bảng nhưng ở hai khu khác nhau có thể thực hiện hoàn toàn song song với nhaụ
41
7. Câu lệnh SQL tĩnh (Static SQL): Câu lệnh SQL không thay đổi hay nói cách khác là đã được định nghĩa trước khi chạy, toàn bộ câu lệnh SQL tĩnh là được nhận biết khi biên dịch, nó sẽ có nhiều ích lợi như:
ạ Sự biên dịch thành công sẽ xác minh rằng các câu lênh SQL đã tham chiếu đến các đối tượng hợp lệ trong CSDL. Ví dụ, câu lệnh SQL truy vấn dữ liệu từ một bảng chắc chắn tồn tại trong cơ sở dữ liệụ
b. Xác minh quyền có thể truy cập vào các đối tượng cơ sở dữ liệụ
c. Hiệu suất thực hiện của các câu lệnh SQL tĩnh nói chung là tốt hơn so với SQL động.
8. SQL động (Dynamic SQL): Cho phép viết các chương trình sử dụng các câu lệnh SQL, toàn bộ đoạn lệnh chương trình sẽ không được nhận biết cho đến trước khi chạỵ Bởi vì những lợi thế này, bạn nên sử dụng SQL động chỉ khi bạn không thể sử dụng SQL tĩnh để hoàn thành mục tiêu của bạn, hoặc nếu sử dụng SQL tĩnh là cồng kềnh so với SQL động.
Tuy nhiên, SQL tĩnh có những hạn chế có thể được khắc phục với SQL động. Bạn có thể không phải lúc nào cũng biết toàn bộ câu lệnh SQL phải được thực hiện trong một thủ tục PL/SQL. Chương trình của bạn có thể chấp nhận đầu vào là các câu lệnh SQL để thực hiện, mà chúng được định nghĩa bởi người sử dụng. Hoặc các câu lệnh SQL được sử dụng là khác nhau, phụ thuộc vào kết quả của một tiến trình khác hoặc các tham số đầu vàọ.. Trong những trường hợp như vậy, bạn nên sử dụng SQL động.