1. Trang chủ
  2. » Công Nghệ Thông Tin

Đào tạo cơ bản về Oracle8i pptx

43 276 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Đào tạo cơ bản về Oracle8i pptx
Trường học Trung tâm giải pháp phần mềm - Công ty FPT
Chuyên ngành Hệ Thống Thông Tin
Thể loại đào tạo cơ bản
Năm xuất bản 2001
Thành phố Hà Nội
Định dạng
Số trang 43
Dung lượng 515,68 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

CSDL có cấu trúc vật lý và cấu trúc logic riêng biệt do vậy lưu trữ vật lý của dữ liệu có thể được quản lý mà không cần truy nhập vào cấu trúc logic Cấu trúc Logic của CSDL Cấu trúc log

Trang 2

Nội dung tài liệu

Giới thiệu về CSDL và hệ quản lý thông tin

Cấu trúc CSDL và quản lý không gian

Cấu trúc bộ nhớ và tiến trình

Mô hình quan hệ hướng đối tượng cho hệ quản trị CSDL

Truy cập dữ liệu đồng thời và tính nhất quán

Distributed Processing and Distributed Databases

Startup and Shutdown Operations

-

Trang 3

Mục lục

Giới thiệu về CSDL và hệ quản lý thông tin 5

Oracle Server 6

Oracle Instance 6

Oracle Parallel Server, Hệ Thống Nhiều Instance (Multiple Instance System) 7

Cấu trúc CSDL và quản lý không gian 7

Cấu trúc Logic của CSDL 7

Tablespace 7

Lược đồ (Schema) và đối tượng lược đồ (Schema Object) 8

Khối dữ liệu, Extent, and Segment 8

Cấu trúc vật lý của CSDL 9

File dữ liệu (Datafile) 9

Các file Redo Log 10

Các file điều khiển (Control File) 10

Cấu trúc của ngôn ngữ truy vấn (SQL) 11

Các tiện ích dữ liệu (Data Utilitie) 11

Cấu trúc bộ nhớ và tiến trình 12

Cấu trúc bộ nhớ 12

Vùng dữ liệu dùng chung của hệ thống (System Global Area) 13

Vùng dùng chung cho chương trình (PGA) 14

Cấu trúc tiến trình (Process Architecture) 14

Tiến trình User (Client) 15

Cấu trúc tiến trình Oracle (Oracle Process Architecture) 15

Các tiến trình ở Server (Server Processes) 15

Các tiến trình nền (Background Process) 15

Phần mềm giao tiếp và Net8 17

Giao diện chương trình (The Program Interface) 18

Ví dụ hoạt động của Oracle 18

Mô hình quan hệ hướng đối tượng cho hệ quản trị CSDL 19

Mô hình quan hệ 19

Mô hình quan hệ hướng đối tượng 19

Lược đồ (Schemas) & các đối tượng lược đồ 20

Bảng 20

Views 20

View thực 21

Sequences 21

Đơn vị chương trình 21

Synonyms 21

Indexes 22

Clusters and Hash Clusters 22

Dimensions 23

Database Links 24

Từ điển dữ liệu 24

Truy cập dữ liệu đồng thời và tính nhất quán 24

Truy cập đồng thời 25

Tính nhất quán 25

Read Consistency, Rollback Segments, and Transactions 25

Giao dịch chỉ đọc 26

Cơ chế khoá 26

Khoá tự động 26

Khoá do người sử dụng 27

Distributed Processing and Distributed Databases 27

Startup and Shutdown Operations 27

Bảo mật CSDL 27

Cơ chế bảo mật 28

Trang 4

User và lược đồ 28

Quyền 29

Roles 29

Hạn mức và tham số lưu trữ 30

Profiles và giới hạn tài nguyên 31

Lưu vết 31

Database Backup and Recovery 32

Truy nhập dữ liệu 32

Cấu trúc nhôn ngữ truy vấn SQL 32

Các câu lệnh SQL 32

Các giao dịch (Transaction) 33

Commit & Roll Back các giao dịch 34

Savepoints - Các điểm đánh dấu giao dịch 34

Sử dụng giao dịch để đảm bảo tính nhất quán của dữ liệu 34

PL/SQL 35

Các thủ tục và các hàm 35

Các gói (Package) 36

Những Trigger CSDL 36

Các phương thức (Method) 36

Toàn vẹn dữ liệu (Data Integrity ) 36

Những ràng buộc toàn vẹn dữ liệu (Integrity Constraint) 37

Khoá (Key) 37

Trigger của CSDL 37

Chi tiết về lệnh SQL 38

Ngôn ngữ định nghĩa dữ liệu (Data Definition Language (DDL)) 38

Lệnh tạo CSDL 38

Lệnh tạo bảng 38

Lệnh tạo VIEW 38

Lệnh tạo User 39

Lệnh xóa CSDL 39

Lệnh xóa một bảng 39

Lệnh xóa User của một CSDL 40

Các lệnh cấp và xóa quyền 40

Sửa đổi cấu trúc 41

Ngôn ngữ thao tác với dữ liệu (DML) 41

Các lệnh truy vấn 41

Các lệnh truy vấn lồng nhau 41

Các lệnh quản trị dữ liệu 42

Trang 5

Giới thiệu về CSDL vμ hệ quản lý thông tin

Máy chủ CSDL giữ vị trí then chốt trong việc giải quyết các vấn đề của hệ quản lý thông tin Sever phải quản lý một cách tin cậy khối lượng lớn dữ liệu trong môi trường nhiều người dùng giúp User có thể truy nhập đồng thời cùng một dữ liệu Các thao tác phải hoàn thành với hiệu năng cao nhất CSDL Server cũng phải ngăn chặn được các truy nhập bất hợp pháp và cung cấp giải pháp phục hồi dữ liệu hiệu quả khi có lỗi

Những đặc trưng của Oracle Server

Cơ sở dữ liệu lớn

quản lý không gian

trống

Oracle hỗ trợ lớn nhất về CSDL bao gồm nhiều terabyte dữ liệu

Sử dụng hiệu quả các thiết bị phần cứng đắt tiền, Oracle cho phép tận dụng tốt các không gian trống

Nhiều User kết nối

đồng thời vào

CSDL

Oracle hỗ trợ số lượng lớn người sử dụng đồng thời kết nối và thao tác trên cùng một dữ liệu, giảm tối đa sự tranh chấp dữ liệu

Khả năng kết nối Phần mềm của Oracle hỗ trợ nhiều kiểu máy tính và hệ điều

hành khác nhau, chúng cùng chia sẻ thông tin trên mạng

Tính sẵn sàng cao Tại một số nơi, Oracle phải làm việc liên tục 24 giờ/ngày Các

thao tác thông thường của Hệ điều hành như sao lưu dữ liệu và khi một vài thành phần của hệ thống bị lỗi không làm gián đoạn CSDL đang sử dụng

mà không ảnh hưởng đến các phần ứng dụng khác Chuẩn mở Oracle áp dụng các chuẩn công nghiệp cho ngôn ngữ truy nhập

dữ liệu, hệ điều hành, giao diện người sử dụng và nghi thức giao tiếp mạng Điều đó bảo vệ được đầu tư ban đầu của khách hàng Oracle cũng hỗ trợ chuẩn SNMP trong quản trị hệ thống Giao thức này cho phép người quản trị hệ thống quản lý một hệ thống phức hợp bằng một giao diện chung đơn giản

Bảo mật có điều

khiển

Nhằm tránh những truy nhập và sử dụng trái phép đối với CSDL, Oracle cung cấp các tính năng an toàn bảo mật để giới hạn và theo dõi truy nhập dữ liệu Các tính năng này làm cho việc quản

lý trở nên dễ dàng ngay cả trong hầu hết các trường hợp thiết kế truy cập dữ liệu phức tạp

Toàn vẹn CSDL Oracle buộc dữ liệu phải toàn vẹn, kiểm tra chuẩn cho dữ liệu

Điều này giảm chi phí cho việc lập trình trong nhiều ứng dụng Tính khả chuyển Phần mềm Oracle làm việc với nhiều hệ điều hành khác nhau

Những ứng dụng phát triển với Oracle có thể chuyển sang bất cứ

Trang 6

hệ điều hành nào mà không cần sửa hoặc chỉ sửa chút ít

Tính tương thích Phần mềm Oracle tương thích với nhiều chuẩn công nghiệp, bao

gồm cả các chuẩn công nghiệp của các hệ điều hành Những ứng dụng phát triển với Oracle có thể sử dụng trên bất kì hệ thống nào mà không cần sửa hoặc chỉ sửa chút ít

Hệ thống phân tán Với mạng máy tính, môi trường phân tán, Oracle kết hợp dữ liệu

vật lý trên các máy khác nhau vào một CSDL logic để có thể truy nhập được từ tất cả những người dùng trong mạng Hệ thống phân tán cũng được sử dụng một cách trong suốt với đầy

đủ các ưu thế tương tự như hệ thống đơn lẻ

Oracle cũng cho phép lựa chọn giúp những User có thể truy nhập vào dữ liệu của những CSDL ngoài Oracle

Nhân bản dữ liệu Phần mềm Oracle giúp nhân bản nhóm các bảng và những đối

tượng hỗ trợ của nó đến nhiều nơi Oracle hỗ trợ nhân bản cả những thay đổi ở mức dữ liệu cũng như mức schema Công nghệ nhân bản mềm dẻo của Oracle hỗ trợ cả phương thức nhân bản cơ bản với một CSDL chủ cũng như phương thức nhân bản với mô hình động và dùng chung

Phần sau đây giới thiệu tổng quan các kiến trúc của Oracle

Oracle Server

Oracle server là hệ quản trị CSDL quan hệ hướng đối tượng cung cấp môi trường mở, toàn diện và tích hợp tiếp cận tới hệ thông tin quản lý Oracle server bao gồm CSDL Oracle và Oracle server instance

Oracle Instance

Mỗi khi CSDL khởi động, hệ thống sẽ cấp không gian cho SGA, tiến trình nền của Oracle được khởi động SGA là vùng bộ nhớ sử dụng cho những thông tin dùng chung giữa các phiên làm việc của người sử dụng Tổ hợp giữa các tiến trình này với vùng nhớ đệm được gọi là Oracle instance

Có hai kiểu tiến trình của Oracle instance: Tiến trình của người sử dụng và tiến trình của Oracle

Tiến trình của người sử dụng: Thực hiện các lệnh của chương trình ứng dụng (ví dụ: ứng dụng Oracle Forms) hay của các công cụ Oracle (ví dụ: Oracle Enterprise Manager)

Tiến trình của Oracle là tiến trình của Server thực hiện các công việc phục vụ cho tiến trình của người sử dụng và các tiến trình nền của Oracle nhằm duy trì hoạt động cho Server

Trang 7

Oracle Parallel Server, Hệ Thống Nhiều Instance (Multiple Instance System)

Cấu trúc CSDL vμ quản lý không gian

CSDL Oracle là tập hợp các đơn vị dữ liệu Mục đích của CSDL là lưu trữ và truy vấn các thông tin liên quan với nhau CSDL có cấu trúc vật lý và cấu trúc logic riêng biệt

do vậy lưu trữ vật lý của dữ liệu có thể được quản lý mà không cần truy nhập vào cấu trúc logic

Cấu trúc Logic của CSDL

Cấu trúc logic của CSDL Oracle bao gồm: Các bảng Tablespace, các đối tượng schema, các khối dữ liệu, các extent và các segment

Tablespace

CSDL được chia thành những đơn vị lưu trữ logic được gọi là các tablespace, nó nhóm các cấu trúc logic có liên quan vào với nhau Ví dụ: những Tablespace thông thường nhóm các đối tượng ứng dụng với nhau nhằm đơn giản hoá cho việc quản trị

CSDL, Tablespaces, vμ các file dữ liệu (Datafiles)

Quan hệ giữa databases, tablespaces, và datafiles được minh hoạ ở hình 1.1

Hình 1-1 CSDL, Tablespaces và file dữ liệu

Hình này minh hoạ những điều sau:

Trang 8

‰ Mỗi CSDL là được phân chia một cách logic thành một hay nhiều Tablespace

‰ Một hay nhiều datafile được tạo cho mỗi tablespace nhằm lưu trữ vật lý dữ liệu của tất cả các cấu trúc logic trong tablespace

‰ Tổ hợp kích thước của các datafile trong tablespace là toàn bộ dung lượng của tablespace (tablespace SYSTEM có dung lượng 2 MB trong khi tablespace của USERS có 4 MB)

‰ Tổ hợp dung lượng của các tablespaces trong CSDL là toàn bộ dung lượng lưu trữ của CSDL (6 MB)

Tablespace trực tuyến (online) vμ không trực tuyến (offline)

Tablespace có thể trực tuyến (truy nhập được) hay không trực tuyến (không truy nhập

được) Thông thường thì Tablespace là trực tuyến cho phép User truy cập thông tin trong Tablespace Tuy nhiên, đôi khi Tablespace không trực tuyến nhằm làm cho một phần CSDL không hoạt động để bảo trì sửa chữa trong khi các phần khác vần tiếp tục làm việc Điều đó làm cho công việc quản trị được dễ dàng

Lược đồ (Schema) vμ đối tượng lược đồ (Schema Object)

Schema là tập các đối tượng cơ sở dữ liệu Các đối tượng Schema là những cấu trúc logic tham chiếu trực tiếp tới dữ liệu trong CSDL Các đối tượng schema bao gồm các bảng, các view, các sequence, các stored procedure, các synonym, các index, các cluster và các database link

Khối dữ liệu, Extent, and Segment

Oracle cho phép điều khiển tối ưu không gian đĩa cứng thông qua cấu trúc logic bao gồm: các khối dữ liệu (Data block), các extent và các segment

Các khối dữ liệu trong Oracle (Oracle Data Block)

Là mức nhỏ nhất của không gian CSDL logic, dữ liệu trong CSDL Oracle được lưu trữ trong các khối dữ liệu Mỗi khối được ấn định một kích thước cụ thể theo byte của không gian CSDL vật lý trên đĩa Kích thước mỗi khối được chỉ ra cho mỗi CSDL Oracle ngay từ khi khi khởi tạo CSDL CSDL sử dụng và cấp phát các khoảng trống theo đơn vị là Data Block

Extent

Mức tiếp theo của không gian CSDL logic được gọi là extent Extent chứa một số cố

định của các khối dữ liệu liên tiếp, được sử dụng toàn bộ trong một lần cấp phát, sử dụng để lưu trữ những kiểu thông tin xác định trước

Segments

Trang 9

cho một cấu trúc logic nào đó Ví dụ có 4 kiểu segment khác nhau gồm:

segment dữ

liệu

Mỗi bảng không phân nhóm có một data segment Tất cả các dữ liệu trong bảng đó được lưu trữ trong các extent của chính segment dữ liệu đó Đối với các bảng được phân vùng thì mỗi phân vùng có một segment dữ liệu riêng

Mỗi cluster có một segment dữ liệu Dữ liệu của tất cả các bảng trong Cluster được lưu trữ trong segment dữ liệu của cluster đó segment chỉ số Mỗi index có một segment chỉ số lưu trữ mọi dữ liệu của nó Đối với

các chỉ số được phân vùng, mỗi phân vùng có một segment cho nó rollback

segment

Người quản trị CSDL tạo một hoặc vài rollback segments để lưu trữ các thông tin tạm thời

Thông tin trong rollback segment được sử dụng:

‰ Tạo dựng thông tin nhằm đảm bảo tính nhất quán cho CSDL

Oracle cấp phát thêm không gian khi extent hiện thời của segment bị đầy Khi đó Oracle cấp phát thêm extent khác cho segment đó theo yêu cầu, những extent này có thể nằm kề nhau trên đĩa hoặc không

Cấu trúc vật lý của CSDL

Phần sau đây sẽ giải thích cấu trúc vật lý của CSDL Oracle, bao gồm những file dữ liệu, các file redo log, và những file điều khiển

File dữ liệu (Datafile)

Mỗi CSDL Oracle có một hay nhiều file dữ liệu (vật lý) Các file dữ liệu bao gồm mọi dữ liệu trong CSDL, dữ liệu của cấu trúc logíc: Các bảng (table), các chỉ mục (index)

được lưu trữ vật lý trong các file dữ liệu của CSDL

Đặc tính của các file dữ liệu là:

‰ File dữ liệu chỉ có thể thuộc một CSDL

‰ File dữ liệu có tập các thuộc tính cho phép chúng tự động mở rộng ra khi CSDL hết không gian lưu trữ

‰ Một hay nhiều file dữ liệu hình thành một đơn vị lưu trữ logic được gọi là tablespace như đã thảo luận ở chương trước

Sử dụng file dữ liệu

Dữ liệu trong file dữ liệu được đọc khi cần thiết trong quá trình thao tác với CSDL và lưu trữ trong vùng nhớ đệm của Oracle Ví dụ: Giả sử rằng User muốn truy nhập vào một số dữ liệu trong bảng của CSDL Nếu thông tin cần thiết không có sẵn trong vùng nhớ đệm của CSDL thì nó sẽ được đọc từ file dữ liệu thích hợp và lưu trữ trong đó Sửa đổi hay tạo mới dữ liệu chưa cần thiết phải ghi ngay vào file dữ liệu Để giảm khối

Trang 10

lượng truy nhập đĩa và tăng hiệu năng, dữ liệu được lưu tạm vào trong một vùng nhớ

và ghi vào file dữ liệu thích hợp cùng một lần thông qua tiến trình DBWn của Oracle

Các file Redo Log

Mọi CSDL Oracle có tập hợp gồm hai hay nhiều file redo log Mỗi redo log được cấu thành từ nhiều bản ghi redo, mỗi bản ghi này là một nhóm vector các thay đổi miêu tả mỗi một thay đổi của CSDL

Chức năng chính của redo log là ghi nhận mọi sự thay đổi của dữ liệu Trong trường hợp xảy ra lỗi nó sẽ tránh không cho ghi trực tiếp dữ liệu này vào các file CSDL, chúng sẽ được phục hồi bằng cách đọc lại thông tin ban đầu từ redo log file và sẽ không bị mất thông tin

Các file Redo log rất quan trọng trong việc bảo vệ CSDL khỏi lỗi Để ngăn ngừa những lỗi với chính redo log, Oracle cho phép sử dụng nhiều redo log, do vậy hai hay nhiều bản sao của redo log có thể được duy trì ở trên những đĩa cứng khác nhau

Sử dụng các file Redo Log

Các thông tin trong file redo log chỉ được sử dụng để phục hồi CSDL từ một hệ thống hoặc thiết bị bị lỗi tránh ghi những dữ liệu lỗi vào file dữ liệu trong CSDL

Ví dụ: Nếu như điện bị mất trong khi ta thao tác trong CSDL, dữ liệu chưa kịp ghi từ

bộ nhớ vào các file dữ liệu và dữ liệu bị mất Tuy nhiên dữ liệu mất có thể được phục hồi khi có điện Bằng cách cập nhật các thông tin trong các file redo log vào file dữ liệu trong CSDL, Oracle khôi phục lại trạng thái CSDL tại thời điểm bị mất điện Quá trình cập nhật như trên được gọi là phục hồi

Các file điều khiển (Control File)

Mọi CSDL Oracle đều có một file điều khiển, file điều khiển chứa các điểm vào, nó chỉ ra cấu trúc vật lý của CSDL Ví dụ: nó chứa các kiểu thông tin sau:

‰ Tên CSDL

‰ Tên và vị trí của các file dữ liệu và các file redo log

‰ Dấu thời gian của CSDL khi được tạo

Giống như redo log, Oracle cho phép sử dụng nhiều file điều khiển để bảo vệ chúng

Sử dụng các file điều khiển

Mỗi khi khởi động một instance của CSDL, các file điều khiển của nó được sử dụng

để xác định CSDL và các file redo log cần phải mở để làm việc Nếu như cấu trúc vật

lý của CSDL bị thay đổi (ví dụ như: File dữ liệu mới hay các file redo log được tạo) thì các file điều khiển tự động thay đổi tương xứng với những sự thay đổi đó

File điều khiển cũng được sử dụng, nếu như việc hồi phục CSDL là cần thiết

Trang 11

Cấu trúc của ngôn ngữ truy vấn (SQL)

SQL là ngôn ngữ lập trình dùng để định nghĩa và thao tác với CSDL CSDL SQL là CSDL quan hệ, có nghĩa là dữ liệu được lưu trữ trong tập các quan hệ CSDL có thể có một hay nhiều bảng, mỗi bảng bao gồm các cột với các hàng

Ta có thể định nghĩa và thao tác với dữ liệu trong bảng bằng các câu lệnh SQL, sử dụng các câu lệnh DDL để định nghĩa dữ liệu Các câu lệnh DDL bao gồm những câu lệnh tạo, thay thế CSDL và các bảng

Có thể cập nhật, xoá hay lấy dữ liệu trong bảng bằng các câu lệnh DML Các câu lệnh DML bao gồm câu lệnh: cập nhật và lấy dữ liệu Câu lệnh SQL hay được sử dụng nhất là câu lệnh SELECT cho phép ta lấy dữ liệu từ bảng

Cùng với các câu lệnh SQL, Oracle Server có ngôn ngữ hướng thủ tục được gọi là PL/SQL cho phép lập trình viên có thể lập trình với những câu lệnh SQL, điều khiển các luồng chương trình SQL, sử dụng các biến nhớ hay xây dựng các thủ tục xử lý lỗi

Các tiện ích dữ liệu (Data Utilitie)

Có ba tiện ích di chuyển tập con của CSDL Oracle từ CSDL này sang CSDL khác đó là: Export, Import, and SQL*Loader

Export

Tiện ích Export cung cấp cách đơn giản giúp bạn chuyển dữ liệu giữa các CSDL Oracle ngay cả với những nền tảng hệ thống khác nhau Export đưa ra những định nghĩa đối tượng và dữ liệu bảng từ CSDL Oracle và lưu chúng đưa vào dạng file nhị phân đặt trên đĩa hay trên băng từ

Các file có thể được sao lại qua FTP hay truyền thông vật lý (ví dụ đĩa từ) tới một số vị trí khác, sau đó sử dụng tiện ích import cập nhật các file đó vào CSDL mới Dùng phương thức này để truyền dữ liệu giữa các CSDL không được nối mạng cũng như backup

Khi bạn chạy Export với CSDL Oracle, nó đưa ra các đối tượng như là các bảng và các

đối tượng liên quan sau đó ghi vào các file dump

Trang 12

SQL*Loader tải dữ liệu từ các tệp bên ngoài vào các bảng trong CSDL Oracle, SQL*Loader chấp nhận dữ liệu vào với nhiều định dạng khác nhau, có thể lọc dữ liệu dựa vào giá trị dữ liệu, và có thể tải dữ liệu vào nhiều bảng khác nhau trong CSDL Oracle cùng một phiên làm việc

Cấu trúc bộ nhớ vμ tiến trình

Phần này ta tập trung vào thảo luận cấu trúc bộ nhớ và tiến trình của Oracle Server để quản lý CSDL Cùng với nhiều thứ khác, các đặc trưng kiến trúc được thảo luận trong phần này cung cấp những hiểu biết cơ bản về khả năng của Oracle để hỗ trợ:

‰ Nhiều người sử dụng đồng thời truy nhập vào một CSDL

‰ Nhiều người sử dụng cùng một lúc, nhiều ứng dụng hoạt động đồng thời đòi hỏi hệ thống phải có hiệu năng cao

Oracle server sử dụng các cấu trúc bộ nhớ và tiến trình nhằm quản lý và truy nhập CSDL Mọi cấu trúc bộ nhớ hiện hữu trong bộ nhớ chính của máy tính tạo thành hệ thống CSDL

Tiến trình là các công việc hay nhiệm vụ đang được thực hiện trong bộ nhớ của máy tính

Hình 1-2 đưa ra một hô hình thường gặp của các cấu trúc bộ nhớ và những tiến trình của Oracle Server

Cấu trúc bộ nhớ

Oracle tạo và sử dụng các cấu trúc bộ nhớ để hoàn thành một số công việc Ví dụ như: Phần bộ nhớ lưu mã chương trình đang được thực hiện và dữ liệu được chia sẻ giữa các user Hai cấu trúc cơ bản của Oracle là: vùng dữ liệu dùng chung của hệ thống (bao gồm các vùng nhớ đệm của CSDL, các vùng nhớ đệm của redo log, và vùng chia sẻ thông tin) và vùng dùng chung của chương trình Sau đây là các mô tả chi tiết:

Trang 13

Figure 1-2 Memory Structures and Processes of Oracle

Vùng dữ liệu dùng chung của hệ thống (System Global Area)

System Global Area (SGA) được chia sẻ vùng nhớ bao gồm dữ liệu và các thông tin

điều khiển cho một instance của Oracle, SGA và các tiến trình nền của Oracle cấu thành nên instance của Oracle

Oracle cấp phát SGA khi instance bắt đầu và giải phóng nó khi kết thúc instance Mỗi instance đều có SGA riêng của nó

User hiện thời kết nối vào Oracle server chia sẻ dữ liệu trong SGA Để có được hiệu năng tốt nhất, SGA được cấp phát với kích thước lớn nhất có thể được để lưu được nhiều nhất dữ liệu trong bộ nhớ và giảm tối thiểu truy nhập đĩa cứng

Thông tin lưu trữ trong SGA được phận loại thành vài kiểu cấu trúc bộ nhớ bao gồm

bộ nhớ đệm CSDL, bộ nhớ đệm redo log và vùng chia sẻ Những vùng này có kích thước cố định và được tạo ngay khi instance bắt đầu

Trang 14

Bộ nhớ đệm Cache của CSDL

Các vùng nhớ đệm CSDL của SGA lưu trữ các khối dữ liệu được sử dụng gần nhất của dữ liệu, tập hợp các vùng nhớ đệm của CSDL trong một instance là vùng nhớ đệm truy cập nhanh của CSDL Vùng nhớ đệm truy cập nhanh lưu giữ các khối dữ liệu bị thay

đổi cũng như chưa được thay đổi Vì các khối dữ liệu mới nhất cũng như hay được dùng nhất được lưu giữ trong bộ nhớ nên giảm được thao tác truy cập đĩa cứng và nhờ

đó cải thiện được hiệu năng của hệ thống

Bộ nhớ đệm Redo Log

Bộ nhớ đệm của redo log được lưu trữ khi có sự thay đổi CSDL Các bản ghi trong redo log lưu trữ trên bộ nhớ đệm và được ghi trực tiếp vào file redo log, nó được sử dụng khi cần phục hồi dữ liệu ban đầu Kích thước của nó là cố định

Vùng dùng chung (Shared Pool )

Vùng dùng chung là một phần của SGA bao gồm những cấu trúc bộ nhớ dùng chung kiểu như là vùng dùng chung cho lệnh SQL Vùng dùng chung cho lệnh SQL cần thiết khi xử lý mọi câu lệnh SQL riêng rẽ gửi tới CSDL Nó còn bao gồm những thông tin như là phân tích cây, kế hoạch thực hiện các câu lệnh tương ứng Một vùng dùng chung cho lệnh SQL được sử dụng bởi nhiều chương trình ứng dụng đang yêu cầu xử

lý cùng một câu lệnh, để dành lại nhiều bộ nhớ hơn cho mục đích khác

Vùng đệm lớn (Large Pool)

Vùng đệm lớn là một vùng tuỳ chọn trong SGA cung cấp vùng nhớ lớn cho việc thực hiện công việc backup và khôi phục, các tiến trình vào/ra của máy chủ và vùng bộ nhớ cho các phiên của máy chủ đa luồng

Các thẻ điều khiển lệnh (Statement Handle) hay con trỏ (Cursor)

Con trỏ là một thẻ điều khiển cho vùng nhớ liên quan tới câu lệnh cụ thể (Oracle Call Interface - OCI tham chiếu tới như một thẻ điều khiển câu lệnh) Mặc dù hầu hết người dùng đều tin vào khả năng điều khiển con trỏ một cách tự động của Oracle, giao diện lập trình vẫn hỗ trợ người thiết kế chương trình tự điều khiển các con trỏ

Ví dụ: Trong bộ tiền biên dịch phát triển ứng dụng, con trỏ là một tài nguyên có tên gọi sẵn sàng để sử dụng trong chương trình và có thể được sử dụng riêng cho việc phân tích câu lệnh SQL nhúng trong ứng dụng Người lập trình có thể viết mã lệnh cho ứng dụng điều khiển từng bước thực hiện câu lệnh SQL và nhờ đó cải thiện được hiệu năng chương trình

Vùng dùng chung cho chương trình (PGA)

PGA là vùng nhớ đệm bao gồm dữ liệu và các thông tin điều khiển cho những tiến trình trên server PGA được tạo bởi Oracle khi tiến trình server được bắt đầu Thông tin trong PGA phụ thuộc vào cấu hình của Oracle

Cấu trúc tiến trình (Process Architecture)

Tiến trình là một "luồng điều khiển", nó là một cơ chế trong hệ điều hành cho phép

Trang 15

Bộ nhớ đệm Cache của CSDL

Các vùng nhớ đệm CSDL của SGA lưu trữ các khối dữ liệu được sử dụng gần nhất của dữ liệu, tập hợp các vùng nhớ đệm của CSDL trong một instance là vùng nhớ đệm truy cập nhanh của CSDL Vùng nhớ đệm truy cập nhanh lưu giữ các khối dữ liệu bị thay

đổi cũng như chưa được thay đổi Vì các khối dữ liệu mới nhất cũng như hay được dùng nhất được lưu giữ trong bộ nhớ nên giảm được thao tác truy cập đĩa cứng và nhờ

đó cải thiện được hiệu năng của hệ thống

Bộ nhớ đệm Redo Log

Bộ nhớ đệm của redo log được lưu trữ khi có sự thay đổi CSDL Các bản ghi trong redo log lưu trữ trên bộ nhớ đệm và được ghi trực tiếp vào file redo log, nó được sử dụng khi cần phục hồi dữ liệu ban đầu Kích thước của nó là cố định

Vùng dùng chung (Shared Pool )

Vùng dùng chung là một phần của SGA bao gồm những cấu trúc bộ nhớ dùng chung kiểu như là vùng dùng chung cho lệnh SQL Vùng dùng chung cho lệnh SQL cần thiết khi xử lý mọi câu lệnh SQL riêng rẽ gửi tới CSDL Nó còn bao gồm những thông tin như là phân tích cây, kế hoạch thực hiện các câu lệnh tương ứng Một vùng dùng chung cho lệnh SQL được sử dụng bởi nhiều chương trình ứng dụng đang yêu cầu xử

lý cùng một câu lệnh, để dành lại nhiều bộ nhớ hơn cho mục đích khác

Vùng đệm lớn (Large Pool)

Vùng đệm lớn là một vùng tuỳ chọn trong SGA cung cấp vùng nhớ lớn cho việc thực hiện công việc backup và khôi phục, các tiến trình vào/ra của máy chủ và vùng bộ nhớ cho các phiên của máy chủ đa luồng

Các thẻ điều khiển lệnh (Statement Handle) hay con trỏ (Cursor)

Con trỏ là một thẻ điều khiển cho vùng nhớ liên quan tới câu lệnh cụ thể (Oracle Call Interface - OCI tham chiếu tới như một thẻ điều khiển câu lệnh) Mặc dù hầu hết người dùng đều tin vào khả năng điều khiển con trỏ một cách tự động của Oracle, giao diện lập trình vẫn hỗ trợ người thiết kế chương trình tự điều khiển các con trỏ

Ví dụ: Trong bộ tiền biên dịch phát triển ứng dụng, con trỏ là một tài nguyên có tên gọi sẵn sàng để sử dụng trong chương trình và có thể được sử dụng riêng cho việc phân tích câu lệnh SQL nhúng trong ứng dụng Người lập trình có thể viết mã lệnh cho ứng dụng điều khiển từng bước thực hiện câu lệnh SQL và nhờ đó cải thiện được hiệu năng chương trình

Vùng dùng chung cho chương trình (PGA)

PGA là vùng nhớ đệm bao gồm dữ liệu và các thông tin điều khiển cho những tiến trình trên server PGA được tạo bởi Oracle khi tiến trình server được bắt đầu Thông tin trong PGA phụ thuộc vào cấu hình của Oracle

Cấu trúc tiến trình (Process Architecture)

Tiến trình là một "luồng điều khiển", nó là một cơ chế trong hệ điều hành cho phép thực hiện được hàng loạt các bước Một số HĐH sử dụng các thuật ngữ công việc (job)

Trang 16

hay nhiệm vụ (task) Tiến trình thông thường tự quản lý một vùng nhớ riêng mà nó chạy trong đó

Oracle server có hai kiểu chính: Tiến trình user và tiến trình Server

Tiến trình User (Client)

Tiến trình user được tạo ra và duy trì nhằm thực hiện các mã lệnh của chương trình ứng dụng (kiểu như Pro*C/C++) hay công cụ của Oracle (như là Oracle Enterprise Manager) Tiến trình user cũng quản lý giao tiếp với các tiến trình server

Tiến trình user giao tiếp với tiến trình server qua giao diện chương trình, được mô tả ở phần dưới

Cấu trúc tiến trình Oracle (Oracle Process Architecture)

Các tiến trình Oracle được gọi bởi các tiến trình khác để thực hiện các chức năng thay cho các tiến trình đã gọi nó Các kiểu khác của tiến trình Oracle cùng với các chức năng của nó được thảo luận trong phần sau Chúng bao gồm tiến trình Server và tiến trình nền

Các tiến trình ở Server (Server Processes)

Oracle khởi tạo các tiến trình server để xử lý các yêu cầu từ các tiến trình user Tiến trình server phụ trách việc giao tiếp với các tiến trình của User và Oracle để thực hiện các yêu cầu Ví dụ: nếu như user truy vấn một số dữ liệu mà nó không có sẵn trong những bộ nhớ đệm CSDL của SGA, tiến trình server liên quan sẽ đọc khối dữ liệu cần thiết từ các file dữ liệu vào SGA

Oracle có thể được cấu hình cho phù hợp với số tiến trình của user trên một tiến trình Server Trong cấu hình server dành riêng, một tiến trình server điều khiển các yêu cầu cho một tiến trình của user Trong khi cấu hình server đa luồng lại cho phép nhiều tiến trình của user chia sẻ một số lượng nhỏ các tiến trình của server, giảm thiểu số lượng các tiến trình của server và tăng tối đa khả năng phục vụ của tài nguyên hệ thống hiện

ở một số hệ thống, tiến trình user và tiến trình của Server là riêng biệt trong khi ở một

số hệ thống khác chúng hợp nhất vào một tiến trình đơn Nếu như hệ thống sử dụng cấu hình Server đa luồng hoặc nếu như tiến trình user và tiến trình server chạy trên các máy khác nhau thì chúng cần phải tách biệt Các hệ thống Client/Server tách riêng tiến trình server và tiến trình user, thực hiện chúng trên những máy khác nhau

Các tiến trình nền (Background Process)

Oracle tạo tập các tiến trình nền cho mỗi instance Chúng hợp nhất các chức năng

đáng ra sẽ được thực hiện bởi nhiều chương trình ứng dụng của Oracle chạy cho mỗi tiến trình user Các tiến trình nền không thực hiện đồng thời với những thao tác vào/ra

và theo dõi các tiến trình khác của Oracle nhằm tăng cường tính song song để tăng hiệu năng và độ tin cậy

Trang 17

instance có thể sử dụng vài tiến trình nền Các tiến trình này là: DBWn, LGWR, CKPT, SMON, PMON, ARCn, RECO, Dnnn, LCK0, SNPn, và QMNn

Tiến trình ghi của CSDL (DBWn)

Tiến trình ghi của CSDL ghi những khối dữ liệu có sự thay đổi từ bộ nhớ đệm của CSDL vào các file dữ liệu Mặc dù một tiến trình ghi của CSDL (DBW0) đáp ứng đầy

đủ các yêu cầu đối với hầu hết các hệ thống, chúng ta vẫn có thể thêm vào các tiến trình ghi mới (từ DBW1 tới DBW9) để nâng cao hiệu năng ghi dữ liệu cho hệ thống

mà dữ liệu thay đổi nhiều Sử dụng tham số DB_WRITER_PROCESSES để chỉ ra số lượng của các tiến trình ghi DBWn

Vì Oracle sử dụng phương thức ghi trước nhật ký, DBWn không cần thiết phải ghi các khối dữ liệu khi hoàn thành một giao dịch Thay vào đó, DBWn được thiết kế để ghi cả gói gồm nhiều khối dữ liệu với hiệu quả cao Trong hầu hết các trường hợp, DBWn chỉ ghi khi dữ liệu cần phải đọc vào vùng SGA lớn hơn vùng nhớ đệm của CSDL còn rỗi Những dữ liệu ít được dùng đến sẽ được ghi vào file dữ liệu trước tiên DBWn cũng ghi cho các chức năng khác kiểu như chức năng kiểm soát giao dịch

Tiến trình kiểm soát giao dịch (CKPT)

Vào những thời điểm xác định, mọi thay đổi trong các vùng đệm CSDL của SGA được DBWn ghi vào các file dữ liệu, sự kiện này được gọi là kiểm soát giao dịch ở những thời điểm đó, tiến trình kiểm soát giao dịch chịu trách nhiệm phát tín hiệu cho DBWn cập nhật các file dữ liệu và các file điều khiển của CSDL nhằm ghi nhận các điểm kiêm soát mới nhất

Tiến trình theo dõi hệ thống (SMON)

Tiến trình theo dõi hệ thống thực hiện việc phục hồi ngay khi instance bị lỗi khởi động lại Trong hệ thống chạy nhiều Instance thì tiến trình SMON của một Instance có thể phục hồi cho các Instance bị lỗi khác SMON cũng dọn dẹp những segment tạm thời không còn sử dụng nữa và khôi phục lại các giao dịch lỗi đã bị bỏ qua do lỗi đọc file hay offline Các giao dịch này cuối cùng cũng được SMON khôi phục lại khi tablespace hoặc file dữ liệu làm việc trở lại SMON cũng tập hợp các extent rỗi lại với nhau nhằm tạo ra các khoảng trống liên tục để cấp phát về sau

Theo dõi các tiến trình (PMON)

Tiến trình theo dõi tiến hành phục hồi các tiến trình khi tiến trình của user bị lỗi PMON chịu trách nhiệm dọn dẹp bộ nhớ đệm và giải phóng tài nguyên mà tiến trình

đó sử dụng Nó cũng kiểm tra tiến trình phân phối (Xem mục dưới) và những tiến trình của server và khởi động lại chúng nếu như chúng bị lỗi

Tiến trình lưu trữ (ARCn)

Tiến trình lưu trữ sao lại tất cả những file redo log đang hoạt động vào kho lưu trữ khi

Trang 18

chúng đầy hoặc xuất hiện một khoá nhật ký Mặc dù cấu hình có một tiến trình đơn ARCn phù hợp với hầu hết các hệ thống, bạn vẫn có thể chỉ ra đến 10 tiến trình ARCn bằng cách thay đổi tham số hệ thống LOG_ARCHIVE_MAX_PROCESSES Nếu khối lượng công việc trở nên quá tải với số lượng tiến trình ARCn hiện thời, LGWR tự

động khởi tạo thêm tiến trình ARCn cho đến khi đạt số lượng tối đa ARCn chỉ hoạt

động khi CSDL ở chế độ ARCHIVELOG và chế độ sao lưu tự động

Tiến trình khôi phục (RECO)

Tiến trình khôi phục được dùng để xử lý các giao dịch phân tán bị lỗi do hệ thống hoặc do đường truyền trong hệ thống CSDL phân tán Sau những khoảng thời gian xác

định, RECO cục bộ sẽ thử kết nối vào CSDL ở xa và tự động commit hay rollback phần giao dịch cục bộ của các giao dịch phân tán đang bị treo

Dispatcher - Tiến trình phân phối (Dnnn)

Tiến trình phân phối là một tiến trình nền tuỳ chọn, chỉ có trong cấu hình server đa luồng ít nhất có một tiến trình phân phối được tạo cho mỗi phương thức giao tiếp đang

được sử dụng (D000, , Dnnn) Mỗi tiến trình phân phối chịu trách nhiệm phân luồng các yêu cầu nhận được từ các tiến trình của người sử dụng và gửi đến một trong những tiến trình Server còn rỗi và trả lại kết quả về các tiến trình của người sử dụng

Tiến trình khoá (LCK0)

Tiến trình khoá được sử dụng để khoá bản ghi lẫn nhau giữa các instance trong hệ thống xử lý song song của server Oracle Instance A khoá bản ghi của Instance B và ngược lại trong cấu hình Parallel Server

Hμng đợi công việc( Job Queue (SNPn) )

Trong cấu hình CSDL phân tán, có tới 36 tiến trình hàng đợi (SNP0, , SNP9, SNPA, , SNPZ) có thể tự động làm tươi lại những ảnh chụp snapshot Những tiến trình này

xử lý định kì và làm tươi lại những snapshot đã được đặt tự động Nếu có hơn 1 tiến trình hàng đợi được sử dụng thì các tiến trình chia sẻ những công việc làm tươi các

ảnh chụp snapshot Những tiến trình này cũng thực hiện những yêu cầu công việc được tạo bởi gói DBMS_JOB và lan truyền các thông báo hàng đợi đến các CSDL khác

Queue monitor - Tiến trình theo dõi hμng đợi (QMNn)

Đây là loại tiến trình nền tuỳ chọn, theo dõi hàng đợi thông báo Oracle AQ Có thể đặt cấu hình đến 10 tiến trình theo dõi hàng đợi

Phần mềm giao tiếp vμ Net8

Nếu như tiến trình của User và Server chạy trên những máy khác nhau trong mạng hay nếu như tiến trình User kết nối vào các tiến trình Server dùng chung qua tiến trình phân phối thì chúng giao tiếp với nhau bằng Net8 Tiến trình phân phối là một tiến trình nền tuỳ chọn, chỉ có trong cấu hình server đa luồng Net8 là giao diện của Oracle với các giao thức truyền thông chuẩn cho phép truyền dữ liệu chính xác giữa các máy tính

Trang 19

Giao diện chương trình (The Program Interface)

Giao diện chương trình là cơ chế qua đó cho phép tiến trình user giao tiếp với tiến trình Server Nó phục vụ như một phương thức giao tiếp chuẩn giữa bất kì công cụ nào của Oracle hay ứng dụng của người sử dụng (như Oracle Forms) với phần mềm của Oracle Chức năng của nó là:

‰ Làm nhiệm vụ của cơ cấu truyền tin bằng cách định dạng các yêu cầu dữ liệu, chuyển dữ liệu, bẫy lỗi và trả lại mã lỗi

‰ Chuyển hoá và biến đổi dữ liệu, đặc biệt giữa những kiểu máy tính khác nhau hay với những kiểu dữ liệu ngoài chương trình người sử dụng

Ví dụ hoạt động của Oracle

Ví dụ sau minh hoạ một cấu hình của Oracle khi user và các tiến trình server chạy trên những máy khác nhau (kết nối qua mạng)

Một Instance đang chạy trên máy tính cài đặt phần mềm Oracle (thường được gọi là máy chủ hay máy chủ CSDL)

Một máy tính chạy ứng dụng (cài trên máy trạm) chạy ứng dụng trong tiến trình của người sử dụng ứng dụng Client cố gắng thiết lập kết nối tới máy chủ qua Net8

Server đang chạy với cùng chuẩn Net8 Nó nhận được yêu cầu kêt nối từ ứng dụng và tạo một tiến trình server dành riêng thay cho tiến trình của User

ứng dụng thực hiện một câu lệnh SQL và kết thúc giao dịch Ví dụ: User thay đổi tên trong một dòng dữ liệu

Tiến trình server nhận câu lệnh và kiểm tra vùng dùng chung để tìm xem đã có câu lệnh SQL đó chưa Nếu tìm thấy, tiến trình Server kiểm tra quyền truy nhập của người dùng đó với dữ liệu được yêu cầu và vùng dùng chung câu lệnh SQL đó sẽ được sử dụng để xử lý câu lệnh này Nếu không tìm thấy thì một vùng dùng chung câu lệnh SQL mới sẽ được cấp phát cho câu lệnh để có thể phân tích và xử lý

Tiến trình server đọc các giá trị dữ liệu cần thiết từ file dữ liệu hoặc trong SGA

Nó tiến hành sửa đổi dữ liệu trong SGA Tiến trình DBWn ghi những khối thay đổi này lên đĩa Vì giao dịch đã được hoàn thành, tiến trình LGWR ngay lập tức ghi giao dịch trong file redo log đang hoạt động

Nếu như giao dịch thành công, tiến trình Server gửi một thông báo qua mạng tới ứng dụng, nếu như không thành công thì thông báo lỗi tương ứng sẽ được gửi

Trong toàn bộ thủ tục, các tiến trình nền khác vẫn chạy và đợi các yêu cầu khác Ngoài ra, máy chủ CSDL quản lý các giao dịch khác của người sử dụng hạn chế những tranh chấp giữa các giao dịch yêu cầu cùng một dữ liệu

Trên đây chỉ mô tả những thao tác hết sức cơ bản của Oracle

Trang 20

Mô hình quan hệ hướng đối tượng cho hệ quản trị CSDL

Hệ QTCSDL đã được phát triển từ cấu trúc cho đến mạng đều theo mô hình quan hệ Mô hình CSDL được sử dụng rộng rãi nhất là mô hình quan hệ Oracle mở rộng mô hình quan hệ lên thành mô hình quan hệ hướng đối tượng làm cho nó có thể lưu trữ các dạng thức nghiệp vụ phức tạp trong CSDL quan hệ

Mô hình quan hệ

Mô hình quan hệ có 3 hình thức chính:

Cấu trúc Cấu trúc là các đối tượng đã được định nghĩa trước (bảng, view,

index hoặc những đối tượng khác) dùng lưu trữ hoặc truy cập dữ liệu trong CSDL Cấu trúc và dữ liệu chứa trong đó có thể xử lý bằng các thao tác

Thao tác Các thao tác là các hành động được định nghĩa rõ ràng cho phép

người sử dụng xử lý dữ liệu và cấu trúc trong CSDL Các thao tác trên một CSDL cần gắn với một tập hợp các luật toàn vẹn dữ liệu đã

Hệ quản trị CSDL quan hệ có những ưu điểm nổi bật:

‰ Tính độc lập giữa lưu trữ dữ liệu vật lý và cấu trúc lô gic của CSDL

‰ Dễ dàng truy cập dữ liệu

‰ Hoàn toàn mềm dẻo trong thiết kế CSDL

‰ Giảm khối lượng lưu trữ và dư thừa dữ liệu

Mô hình quan hệ hướng đối tượng

Mô hình quan hệ hướng đối tượng cho phép người sử dụng tự định nghĩa các đối tượng, chỉ ra cả cấu trúc dữ liệu cùng với thao tác xử lý dữ liệu và sử dụng các kiểu dữ liệu này ngay trong mô hình quan hệ

Đối tượng là sự trừu tượng hoá của các thực thể trong thế giới thực, ví dụ các đơn hàng

mà các chương trình ứng dụng thường xử lý Một kiểu đối tượng thường có 3 thành phần:

‰ Tên để xác định duy nhất đối tượng đó

‰ Các thuộc tính được xây dựng bên trong các kiểu dữ liệu hoặc kiểu do người dùng

định nghĩa Các thuộc tính mô hình hoá cấu trúc của thực thể trong thực tế

‰ Phương thức xử lý là các hàm hoặc các thủ tục được viết dưới dạng PL/SQL và lưu trữ trong CSDL, hoặc viết dưới dạng ngồn ngữ khác kiểu như C và được lưu trữ bên ngoài Các phương thức thực hiện các thao tác định trước mà ứng dụng cần phải thực hiện để xử lý dữ liệu Mọi kiểu đối tượng đều có một phương thức constructor để tạo ra một đối tượng mới phù hợp với kiểu dữ liệu đã định

Trang 21

Lược đồ (Schemas) & các đối tượng lược đồ

Schema là một tập hợp các đối tượng của CSDL mà người dùng có thể sử dụng Các

đối tượng schema là những cấu trúc logic tham chiếu trực tiếp đến dữ liệu của CSDL Chúng bao gồm các cấu trúc như: bảng, view, sequence, stored procedure, synonym, index, cluster và database link (Không có liên hệ gì giữa một tablespace và một schema; các đối tượngt rong cùng một schema có thể tồn tại trong các tablespace khác nhau và một tablespace có thể chứa nhiều đối tượng của nhiều schema khác nhau)

Để đảm bảo các ràng buộc nghiệp vụ đối với dữ liệu trong bảng, các ràng buộc dữ liệu

và trigger có thể được định nghĩa cho bảng đó

Views

View là một dạng trình diễn dữ liệu do người sử dụng tự định nghĩa, dữ liệu có thể lấy

từ một hoặc nhiều bảng khác nhau View cũng có thể coi là "stored query"

View không thực sự chứa dữ liệu, thay vào đó, chúng nhận dữ liệu từ các bảng nguồn Các bảng nguồn có thể là bảng hoặc cũng lại là một view khác

Cũng giống như các bảng, view cũng có thể truy vấn, chèn và xoá dữ liệu trong một số

điều kiện nhất định Tất cả các thao tác dữ liệu tác động lên view thực tế đều thực hiện trên các bảng nguồn

View thường được sử dụng để làm các công việc sau:

‰ Mở rộng khả năng bảo mật cho các bảng bằng cách hạn chế truy cập đến một số hàng và cột của bảng Ví dụ, có thể tạo view của một bảng trong đó không có các cột dữ liệu nhạy cảm (như thông tin về lương chẳng hạn)

‰ ẩn giấu những dữ liệu phức tạp Ví dụ, một view có thể chứa dữ liệu bán hàng 12 tháng trong năm để phân tích và báo cáo Cũng có thể tạo view liên kết từ một số cột có quan hệ trong nhiều bảng khác nhau Tuy nhiên, view giấu đi quan hệ giữa dữ liệu gốc trong các bảng nguồn

‰ Đơn giản cho người sử dụng Ví dụ, view cho phép nhiều người cùng truy cập thông tin từ nhiều bảng nguồn mà không yêu cầu người dùng phải biết cách làm thế nào để thu thập từ các nguồn số liệu đó

‰ Hiển thị dữ liệu khác với bảng dữ liệu nguồn Ví dụ, nó cho phép đổi tên các cột

mà không làm ảnh hưởng đến bảng dữ liệu nguồn

‰ Lưu giữa các câu lệnh truy vấn phức tạp Ví dụ, một query có thể thực hiện một số phép tính mở rộng từ các thông tin trong bảng Bằng cách lưu lại query này dưới dạng view, các phép tính sẽ được thực hiện khi truy vấn dữ liệu trên các view này Các view liên kết dữ liệu từ nhiều bảng khác nhau chỉ có thể cập nhật được trong một

Ngày đăng: 27/06/2014, 06:20

HÌNH ẢNH LIÊN QUAN

Hình 1-1 CSDL, Tablespaces và file dữ liệu - Đào tạo cơ bản về Oracle8i pptx
Hình 1 1 CSDL, Tablespaces và file dữ liệu (Trang 7)
Hình 1-4 mô tả quan hệ của các ph−ơng tiện bảo mật khác nhau của Oracle, tiếp sau - Đào tạo cơ bản về Oracle8i pptx
Hình 1 4 mô tả quan hệ của các ph−ơng tiện bảo mật khác nhau của Oracle, tiếp sau (Trang 29)
w