CÔNG NGHỆ THÔNG TIN >> SINH VIÊN BKAP

Các kiểu dữ liệu phổ biến trong Oracle

Đăng lúc: 04:36 PM - 14/09/2023 bởi Charles Chung - 2345

Để tối ưu trong việc lưu trữ thì Oracle phân chia dữ liệu thành nhiều loại khác nhau, mỗi loại sẽ có đồ dài nhất định và phù hợp với từng trường hợp. Trong bài này chúng ta sẽ tìm hiểu một số kiểu dữ liệu phổ biến trong Oracle.

Danh sách các kiểu dữ liệu phổ biến trong Oracle

Tên kiểu Mô tả
CHAR Kiểu CHAR dùng để khai báo một chuỗi có chiều dài cố định, khi khai báo biến hoặc cột kiểu CHAR với chiều dài chỉ định thì tất cả các mục tin của biến hay cột này đều có cùng chiều dài được chỉ định. Các mục tin ngắn hơn ORACLE sẽ tự động thêm vào các khoảng trống cho đủ chiều dài. ORACLE không cho phép gán mục tin dài hơn chiều dài chỉ định đối với kiểu CHAR. Chiều dài tối đa cho phép của kiểu CHAR là 255 byte
VARCHAR2 Kiểu VARCHAR2 dùng để khai báo chuỗi ký tự với chiều dài thay đổi. Khi khai báo một biến hoặc cột kiểu VARCHAR2 phải chỉ ra chiều dài tối đa, các mục tin chứa trong biến hay cột kiểu VARCHAR2 có chiều dài thực sự là chiều dài của mục tin. ORACLE không cho phép gán mục tin dài hơn chiều dài tối đa chỉ định đối với kiểu VARCHAR2. Chiều dài tối đa kiểu VARCHAR2 là 2000 byte
VARCHAR Hiện tại ORACLE xem kiểu VARCHAR2 và VARCHAR là như nhau, tuy nhiên ORACLE khuyên nên dùng VARCHAR2. ORACLE dự định trong tương lai dùng kiểu VARCHAR để chứa các chuỗi với chiều dài biến đổi, nhưng trong phép so sánh sẽ được chỉ định theo nhiều ngữ nghĩa khác nhau.
NCHAR Chuỗi ký tự unicode có độ dài cố định với kích thước tối đa là 32,767 byte
NVARCHAR2 Chuỗi ký tự unicode có độ dài thay đổi với kích thước tối đa là 32,767 byte
NUMBER

Kiểu số của ORACLE dùng để chứa các mục tin dạng số dương, số âm, số với dấu chấm động.

NUMBER(p, s)

Trong đó:

p: số chữ số trước dấu chấm thập phân (precision), p từ 1 đến 38 chữ số

s: số các chữ số tính từ dấu chấm thập phân về bên phải (scale), s từ -84 đến 127

NUMBER(p) số có dấu chấm thập phân cố định với precision bằng p và scale bằng 0

NUMBER số với dấu chấm động với precision bằng 38. Nhớ rằng scale không được áp dụng cho số với dấu chấm động.

INT Loại số nguyên cụ thể ANSI với độ chính xác tối đa là 38 chữ số thập phân
INTEGER Kiểu số nguyên cụ thể của ANSI và IBM với độ chính xác tối đa là 38 chữ số thập phân
SMALLINT Kiểu số nguyên cụ thể của ANSI và IBM với độ chính xác tối đa là 38 chữ số thập phân
REAL Loại dấu phẩy động với độ chính xác tối đa là 63 chữ số nhị phân (khoảng 18 chữ số thập phân)
FLOAT

Dùng để khai báo kiểu số dấu chấm động, với độ chính xác thập phân 38 hay độ chính xác nhị phân là 126.

FLOAT(b) Khai báo kiểu dấu chấm động với độ chính xác nhị phân là b, b từ 1 đến 126. Có thể chuyển từ độ chính xác nhị phận sang độ chính xác thập phân bằng cách nhân độ chính xác nhị phân với 0.30103.

LONG

Dùng để khai báo kiểu chuỗi ký tự với độ dài biến đổi, chiều dài tối đa của kiểu LONG là 2 gigabyte. Kiểu LONG thường được dùng để chứa các văn bản.

Có một số hạn chế khi dùng kiểu LONG:

  • Một table không thể chứa nhiều hơn một cột kiểu LONG.
  • Dữ liệu kiểu LONG không thể tham gia vào các ràng buộc toàn vẹn, ngoại trừ kiểm tra NULL và khác NULL.
  • Không thể index một cột kiểu LONG.
  • Không thể truyền tham số kiểu LONG cho hàm hoặc thủ tục.
  • Các hàm không thể trả về dữ liệu kiểu LONG.
  • Trong câu lệnh SQL có truy cập các cột kiểu LONG, thì việc cập nhật hoặc khóa các bảng chỉ cho phép trong cùng một CSDL
DATE Nó lưu trữ thông tin ngày và giờ ở cả kiểu dữ liệu ký tự và số. Nó được làm bằng thông tin về thế kỷ, năm, tháng, ngày, giờ, phút và giây. Nó được chỉ định là -

TIMESTAMP

Đây là phần mở rộng của kiểu dữ liệu DATE. Nó lưu trữ năm, tháng và ngày của loại dữ liệu DATE, cùng với các giá trị giờ, phút và giây. Nó rất hữu ích để lưu trữ các giá trị thời gian chính xác.
   
RAW và LONG RAW

Kiểu RAW và LONG RAW dùng để chứa các chuỗi byte, các dữ liệu nhị phân như hình ảnh, âm thanh. Các dữ liệu kiểu RAW chỉ có thể gán hoặc truy cập chứ không được thực hiện các thao tác như đối với chuỗi ký tự.

Kiểu RAW giống như kiểu VARCHAR2 và kiểu LONG RAW giống kiểu LONG, chỉ khác nhau ở chổ ORACLE tự động chuyển đổi các giá trị kiểu CHAR, VARCHAR2 và LONG giữa tập hợp ký tự của CSDL và tập ký tự của các ứng dụng.

ROWID

Mỗi mẫu tin trong CSDL có một địa chỉ có kiểu ROWID. ROWID gồm block.row.file, trong đó:

block : chuỗi hệ hexa cho biết block chứa row

row : chuỗi hệ hexa cho biết row trong block

file : chuỗi hệ hexa cho biết database file chứa block

 

thay lời cảm ơn!

QUẢNG CÁO - TIẾP THỊ