Wednesday, 24 December 2014

Video hướng dẫn: tạo bảng, diagram, khóa ngoại và cách hoạt động của khóa ngoại trong SQL

Bảng dữ liệu (table) là đối tượng cơ bản và là đặc trưng nhất của SQL, dùng để lưu trữ dữ liệu các thông tin đối tượng trong hệ thống quản lý dữ liệu.
Một bảng sẽ có một hoặc nhiều cột( column), một cột là một trường giá trị với các kiểu giá trị được quy định sẵn. Mỗi bảng đều có một hoặc nhiều trường làm khóa (key), khóa của bảng dùng để định danh, phân biệt giữa các bản ghi trong bảng, các bản ghi khác nhau thì khóa sẽ khác nhau.
Các bảng sẽ được liên kết với nhau thông qua khóa ngoại( foreign key).
Ví dụ:
Cột IDType của bảng DNN_Product là khóa ngoại, giá trị của nó được lấy từ bảng DNN_Type
Video hướng dẫn tạo bảng, diagram và khóa ngoại:
Video hướng dẫn cho các bạn cách thao tác bằng giao diện, bên cạnh đó chúng ta có thể thao tác tương tự bằng lệnh
Tạo bảng:
cskt.net
create table Tên_Bảng(
[Cột_1] [Kiểu dữ liệu] not null primary key (nếu cột này làm khóa),
[Cột_2] [Kiểu dữ liệu],
[Cột_3] [Kiểu dữ liệu],
...
)

hoặc
cskt.net
create table Tên_Bảng(
[Cột_1] [Kiểu dữ liệu] not null,
[Cột_2] [Kiểu dữ liệu],
[Cột_3] [Kiểu dữ liệu],
...
primary key (Cột_1)
)

nếu nhiều cột cùng làm khóa:
cskt.net
create table Tên_Bảng(
[Cột_1] [Kiểu dữ liệu] not null,
[Cột_2] [Kiểu dữ liệu],
[Cột_3] [Kiểu dữ liệu],
...
constraint [Tên_mối_quan_hệ_khóa] primary key (Cột_1, Cột_2)
)

nếu các bạn tạo bảng mà quên chưa thiết lập khóa ngoại thì dùng:
cskt.net
ALTER TABLE Tên_Bảng ADD PRIMARY KEY (Cột_1)

hoặc
cskt.net
ALTER TABLE Tên_Bảng ADD CONSTRAINT [Tên_mối_quan_hệ_khóa] PRIMARY KEY (Cột_1Cột_2)

ví dụ:
CREATE TABLE [dbo].[DNN_Product](
[IDProduct] [int] NOT NULL PRIMARY KEY,
[Name] [nvarchar](50) NULL,
[IDType] [int] NOT NULL,
)

Tạo khóa ngoại:
cskt.net
create table Tên_Bảng(
[Cột_1] [Kiểu dữ liệu] not null primary key (nếu cột này làm khóa),
[Cột_2] [Kiểu dữ liệu],
[Cột_3] [Kiểu dữ liệu],
...
FOREIGN KEY (Cột_3) REFERENCES [Tên_Bảng_Chứa_Khóa_Ngoại] (Cột_3) hoặc CONSTRAINT [Tên_mối_quan_hệ_khóa] FOREIGN KEY (Cột_3) REFERENCES [Tên_Bảng_Chứa_Khóa_Ngoại] (Cột_3)
)
Khi đã tạo bảng mà bạn quên chưa tạo khóa ngoại thì dùng:
cskt.net
ALTER TABLE [Tên_Bảng_Chính] ADD FOREIGN KEY (Cột_3) REFERENCES [Tên_Bảng_Chứa_Khóa_Ngoại](Cột_3)
hoặc
ALTER TABLE [Tên_Bảng_Chính] ADD CONSTRAINT [Tên_mối_quan_hệ_khóa] FOREIGN KEY (Cột_3) REFERENCES [Tên_Bảng_Chứa_Khóa_Ngoại] (Cột_3)

Khi bạn muốn xóa một mối quan hệ khóa ngoại thì có thể dùng:
cskt.net
ALTER TABLE  [Tên_Bảng_Chính] DROP FOREIGN KEY [Tên_mối_quan_hệ_khóa] 
Khi bạn muốn xóa khóa chính:
cskt.net
ALTER TABLE [Tên_Bảng_Chính] DROP PRIMARY KEY
hoặc ALTER TABLE [Tên_Bảng_Chính] DROP CONSTRAINT [Tên_mối_quan_hệ_khóa] 
Các bạn có thể tải code tại đây:

0 comments:

Post a Comment