Các lệnh khai báo cấu trúc cơ sở dữ liệu

Một phần của tài liệu cơ sở dữ liệu (Trang 49 - 53)

CHƯƠNG 4 : NGÔN NGỮ TRUY VẤN SQL

4.2. Các lệnh khai báo cấu trúc cơ sở dữ liệu

4.2.1. Lệnh tạo cấu trúc bảng

Câu lệnh tạo bảng có cú pháp như sau:

CREATE TABLE <tên_bảng>

(<tên cột > <kiểu dữ liệu > [null | not null],

[constraint <tên ràng bu ộc khóa chính> primary key (khóa chính)],

[constraint <tên ràng buộc khóa ngoại> foreign key (khóa ngọai) references <bảng>])

Trong đó:

– <tên_bảng>: là chuỗi ký tự bất kỳ khơng có ký hiệu trống và khơng trùng v ới các từ khóa.

– <tên_cột>: là chuỗi ký tự bất kỳ không chứa ký hiệu trống, trong một bảng tên cột là duy nhất.Thứ tự các cột trong bảng là không quan tr ọng.

– not null: không l ấy giá trị rỗng (null), thuộc tính khóa chính bị ràng buộc not null.

– Khi muốn tạo ngay khóa chính và khóa ng oại từ câu lệnh tạo bảng ta có thể sử dụng từ khóa Primary key (<khóa chính>) để khai báo khóa chính của bảng. Dùng Foreign key (<khóa ng oại>) để khai báo khóa ngoại cho bảng.

– Kiểu dữ liệu (Data type): Qui định kiểu dữ liệu mà cột sẽ lưu trữ bên trong bảng. Sau đây là bảng mô tả các kiểu dữ liệu cơ sở trong Microsoft SQL Server:

Ký hiệu Kiểu dữ Số Diễn giải

liệu byte

Bit Integer 1 Kiểu dữ liệu bit có giá trị 0 hay 1. 0 là FALSE

Kiểu dữ liệu số nguyên có giá tr ị từ -263 đến

BigInt Integer 8 263 – 1, thơng thường khi cần lưu trữ dữ liệu có

dạng số nguyên thật lớn thì nên dùng kiểu dữ liệu bigint

Kiểu dữ liệu số nguyên có giá tr ị từ

Int Integer 4 n-2,147,483,648 đến 2,147,483,647, thông

thường khi cần lưu trữ dữ liệu dạng số ngun khơng l ớn lắm thì ta nên dùng kiểu dữ liệu int. Kiểu dữ liệu số nguyên có giá tr ị từ -32,768 đến

SmallInt Integer 2 32,767, thông thường khi cần lưu trữ dữ liệu

dạng số nguyên vừa và nhỏ thì ta nên dùng kiểu dữ liệu smallint.

Kiểu dữ liệu số nguyên có giá tr ị từ 0 đến 255.

TinyInt Integer 1 thông thường khi cần lưu trữ dữ liệu dạng số

nguyên nhỏ thì ta nên dùng kiểu dữ liệu tinyint.

Decimal hoặc Decimal Varies Kiểu dữ liệu số từ -1038

– 1 đến 1038 – 1

Numeric Numeric

Money Money 8 Kiểu dữ liệu từ -263 đến 263 thêm vào đó 4 số lẻ

SmallMoney Money 4 Kiểu dữ liệu tiền từ -214,748.3648 đến

214,748.3647

Float Approxima Varies Kiểu dữ liệu số từ: -1.79E+308 đến 1.79E+308

te Numeric

Date/ Kiểu dữ liệu ngày tháng xu ất hiện đầu tiên trong

DateTime Time 8 SQL server 7.0 cho phép có giá tr ị null, có giá

trị từ January 1, 1753 đến December 31, 9999

Date/ Kiểu dữ liệu ngày tháng xu ất hiện đầu tiên trong

4 SQL server 7.0 cho phép có giá tr ị null, có giá

SmallDatetime Time

trị từ January 1, 1900 đến December 31, 2079

Kiểu số đặc Con trỏ đến cursor, trong khi trỏ đến chúng

Cursor 1 nhận một byte, khả năng trỏ đến phụ thuộc vào

biệt số lượng mẫu tin trong bảng

Unique Số đặc biệt 16 Nhận dạng tồn cục duy nhất theo khơng gian

Identity (binary) và thời gian

Char Character Varies Kiểu dữ liệu ký tự Non – Unicode với chiều dài

cố định, chiều dài cho phép là 8000 ký t ự.

Varchar Character Varies Kiểu dữ liệu ký tự Non – Unicode với chiều dài

biến đổi, chiều dài cho phép là 8000 ký t ự.

Nchar Unicode Varies Kiểu dữ liệu ký tự Unicode với chiều dài cố

Nvarchar Unicode Varies Kiểu dữ liệu ký tự Unicode với chiều dài biến đổi, chiều dài cho phép là 4000 ký t ự.

Kiểu dữ liệu ký tự Non – Unicode với không

Text Character Varies gian chứa 8 kb số trang, chiều dài cho phép là

2,147,483,647 ký t ự.

Kiểu dữ liệu ký tự Non – Unicode với không

Ntext Unicode Varies gian chứa 8kb số trang, chiều dài biến đổi cho

phép 1,073,741,823 ký t ự.

Binary Binary Varies Dữ liệu nhị phân có chiều dài cố định tối đa

8000 bytes

XML là một kiểu dữ liệu được sử dụng để lưu

XML XML trữ các tài liệu XML. Mỗi dịng d ữ liệu có thể

lưu trữ lên đến 2GB dữ liệu XML. Ví dụ 4.1: Viết lệnh tạo các bảng

CREATE TABLE KHOA

( MAKHOA char(2) not null,

TENKHOA nvarchar(50) not null,

constraint PK_KHOA primary key (MA_KHOA) )

CREATE TABLE MONHOC

( MAMH char(8) not null,

TENMH nvarchar(50) not null, SOTC INT,

constraint PK_MONHOC primary key (MA_MH) )

CREATE TABLE LOP

( MALOP char(8) not null,

TENLOP nvarchar(50) not null, MAKHOA char(2) not null,

constraint PK_LOP primary key (MALOP),

constraint FK_LOP_KHOA foreign key(MAKHOA) references KHOA(MAKHOA)

)

CREATE TABLE SINHVIEN

( MASV char(10) not null,

HOTEN nvarchar(30) not null,

DCHI nvarchar(30), GIOITINH nvarchar(5), MALOP char(8),

constraint PK_SINHVIEN primary key (MASV),

constraint FK_SINHVIEN_LOP foreign key(MALOP) references LOP(MALOP)

)

CREATE TABLE KETQUA

( MASV char(10) not null,

MAMH char(8) not null, LANTHI char(1) not null, DIEM int,

constraint PK_KETQUA primary key (MASV, MAMH, LANTHI), constraint FK_KETQUA_SINHVIEN foreign key(MASV) references

SINHVIEN(MASV),

constraint FK_KETQUA_MONHOC foreign key(MAMH) references MONHOC(MAMH)

)

4.2.2. Lệnh hủy bỏ một bảng

Lệnh hủy bỏ bảng có chức năng hủy bỏ cấu trúc và tồn bộ dữ liệu có trong bảng Cú pháp : DROP TABLE <tên bảng>

Ví dụ 4.2: DROP TABLE KETQUA DROP TABLE LOP

4.2.3. Lệnh sửa đổi trúc bảng

Lệnh sửa đổi cấu trúc b ảng dùng để: – Thêm cột vào bảng:

– Hủy bỏ cột của bảng

ALTER TABLE <tên_bảng> DROP COLUMN <tên_cột> – Mở rộng độ dài của cột

ALTER TABLE <Tên_bảng> ADD CONSTRAINT <Ten_RBTV> <RBTV> – Xóa ràng bu ộc tồn vẹn trên bảng

– Thêm cột ghi chú vào bảng SINHVIEN ALTER TABLE SINHVIEN

add ghichu nvarchar(100)

– Thêm khóa chính cho bảng KHOAHOC ALTER TABLE KHOA

add primary key (makhoa) hoặc

ALTER TABLE KHOA

add constraint PK_KHOA primary key (MAKHOA) – Thêm khóa ngo ại cho bảng LOPHOC

ALTER TABLE LOP

add foreign key (makhoa) references KHOA(makhoa)

hoặc add constraint FK_LH_KH foreign key (makhoa) references KHOA(makhoa)

– Xóa ràng bu ộc FK_DT_KH của LOPHOC ALTER TABLE LOPHOC

drop constraint FK_LH_KH

Một phần của tài liệu cơ sở dữ liệu (Trang 49 - 53)

Tải bản đầy đủ (DOC)

(136 trang)
w