Tải bản đầy đủ - 0 (trang)
1 Tạo khóa ngoại cho table đã tạo

1 Tạo khóa ngoại cho table đã tạo

Tải bản đầy đủ - 0trang

 FOREIGN KEY (MaSV) REFERENCES HSSV(MaSV)



 Câu lệnh này được sử dụng trong trường hợp cần đặt tên cho ràng buộc khóa

ngoại và khóa ngoại được hình thành từ nhiều field.

4.2 Xóa khóa ngoại

 Ví dụ:

ALTER TABLE DiemSV DROP FOREIGN KEY Ma

 Câu lệnh MySQL ALTER được sử dụng rất phổ biến trong các trường hợp

thay đổi tên của table, tên của field hoặc thêm/xóa các field trong một table

nào đó. Vì vậy, chúng ta sẽ trở lại câu lệnh này ở các bài sau.

5. Bảng so sánh

Khóa chính



Khóa ngoại



Khóa chính xác định duy nhất một bản ghi

trong bảng.



Khóa ngoại là một trường trong bảng và

là khóa chính trong một bảng khác.



Khóa chính khơng chấp nhận các giá trị

rỗng.



Khóa ngoại có thể chấp nhận nhiều giá

trị rỗng.



Theo mặc định, khố chính là chỉ mục được

nhóm và dữ liệu trong bảng cơ sở dữ liệu

được tổ chức theo thứ tự của dãy chỉ mục

nhóm.



Khóa ngoại khơng tự động tạo ra một

chỉ mục, nhóm hoặc khơng nhóm. Bạn có

thể tự tạo một chỉ mục trên khố ngoại.



Chúng ta chỉ có thể có một khóa chính trong Chúng ta có thể có nhiều khoá ngoại

một bảng.

trong một bảng.

6. Tổng kết

 Chúng ta chỉ sử dụng các cách trên để tạo khóa chính trong MySQL và

khơng chỉ có ở MySQL mà ở SQL Server cũng có cú pháp tương tự vì chúng

đều sử dụng ngôn ngữ T-SQL.

 Thông thường khi làm việc với các ứng dụng web thì ta ít khi sử dụng khóa

ngoại bởi vì sẽ rất chậm, vì vậy người ta sẽ cố gắng thiết kế CSDL làm sao

tối ưu để không tồn tại khóa ngoại.



Chủ đề 5: Các khái niệm cơ bản: Table,

View, Function, Store Procedure, Trigger

trong MS SQL Server

RDBMS là gì?

RDBMS là viết tắt của Relational Database Management System ((Hệ thống quản

lý cơ sở dữ liệu quan hệ)). Tất cả các hệ thống quản lý cơ sở dữ liệu hiện đại như

SQL, MS SQL Server, ORACLE, … là dựa trên RDBMS. Nó được gọi là RDBMS

bởi vì nó dựa trên Relational Model (Mơ hình quan hệ) đã được giới thiệu bởi

E.F.Codd.

Trong RDBMS, dữ liệu được biểu diễn bởi các hàng. Relational Database là cơ sở

dữ liệu được sử dụng phổ biến nhất. Nó chứa các bảng và mỗi bảng có Primary

Key riêng. Bởi vì các bảng này được tổ chức chặt chẽ nên việc truy cập dữ liệu trở

nên dễ dàng hơn trong RDBMS.

1. Table – Bảng:

RDBMS Database sử dụng các bảng để lưu trữ dữ liệu. Một bảng là một tập hợp

các dữ liệu có liên quan và chứa các hàng và các cột để lưu dữ liệu. Một bảng là

một kho lưu trữ (Storage) dữ liệu đơn giản nhất trong RDBMS. Bạn theo dõi ví dụ

về bảng một nhóm sinh viên trong bảng SINHVIEN sau:

+----+---------+-----+-----------+--------+

| ID | TEN | TUOI| KHOAHOC | HOCPHI |

+----+---------+-----+-----------+---------+

| 1 | Hoang | 21 | CNTT | 4

|

| 2 | Viet | 19 | DTVT | 3.0 |

| 3 | Thanh | 18 | KTDN | 4 |

| 4 | Nhan | 19 | CK

| 4.5 |

| 5 | Huong | 20 | TCNH | 5 |

+----+---------+-----+-----------+---------+

5 rows in set (0.00 sec)



Field (Trường) là gì?

Trường, là một thực thể nhỏ nhất của bảng, chứa thông tin cụ thể về mỗi bản ghi

trong bảng. Trong ví dụ trên, trường trong bảng sinh viên là id, ten, tuoi, khoahoc,

hocphi.

Hàng hoặc bản ghi là gì?

Một hàng của một bảng cũng được gọi là bản ghi. Nó chứa thông tin cụ thể về một

entry riêng rẽ trong bảng. Hàng là một thực thể nằm ngang trong bảng. Bảng trên

gồm 5 hàng. Bạn theo dõi ví dụ một hàng trong bảng này:

+----+----------+-----+-----------+----+

| 1 | Hoang | 21 | CNTT | 4 |

+----+----------+-----+-----------+----+

2. View – Khung nhìn:

View có thể được xem như một Table ảo mà dữ liệu của nó được lấy ra từ một câu

truy vấn, có chứa cột và dữ liệu từ một hay nhiều Table khác nhau, hay từ những

View khác nhau. Ðối với lập trình viên thì View khơng khác chi so với Table và có

thể đặt ở vị trí của Table trong các câu lệnh SQL.

Ðặc điểm của View là ta có thể join dữ liệu từ nhiều Table và trả về một tập kết quả

đơn. Ngồi ra ta có thể thao tác dữ liệu trước khi trả về cho user bằng cách dùng

các lệnh SQL như where, case…

Lưu ý: View đơn giản là 1 Table ảo, nó khơng được lưu trữ lễn đĩa về mặt vật lý

như Table thơng thường.

Lợi ích của View.

 Có khả năng tăng tính bảo mật. View giúp ta che giấu cấu trúc của câu truy

vấn bên trong. Sau khi tạo xong View ta có thể Insert, Delete, Update như 1

Table bình thường.

 Giảm độ phức tạp. Ví dụ như User chỉ muốn xem thông tin của một vài cột

với một điều kiện nào đó, View cung cấp đúng dữ liệu họ muốn mà khơng có

dữ liệu thừa.

3. Function – Hàm:



Function có thể hiểu đơn giản là hàm trong ngơn ngữ lập trình để thực hiện một

phép tính hay một xử lý nào đó.

4. Store Procedure – Thủ tục:

Stored Procedure là tên được đặt cho một nhóm các mệnh đề SQL được tạo ra và

lưu trong server database.

SP cho phép truyền tham số, và có thể được gọi bởi nhiều Client qua mạng với các

tham số khác nhau. Khi SP bị thay đổi, tất cả Client sẽ tự động nhận được bản mới,

vì SP được lưu ở Server, chứ khơng phải Client.

Lợi ích của SP:

 Giảm lưu lượng dữ liệu được truyền qua mạng và tăng hiệu năng

(Performance). Client chỉ việc truyền tên SP và tham số (nếu có) thay vì gửi

những câu SQL nhiều dòng dài ngoằng.

 Có thể được sử dụng để đảm bảo tính tồn vẹn dữ liệu của Database.

 Đối với những ứng dụng lớn kết nối với cơ sở dữ liệu, ta nên dùng SP, tơi

liệt kê một vài lợi ích cụ thể như sau:



Dễ bảo trì, việc thay đổi SP hồn tồn khơng ảnh hưởng đến người

dùng cuối, trong suốt với họ.



Chuyên biệt cơng việc, ví dụ những Developer giỏi lập trình C# thì

chun tâm lập trình C#, còn những Developer giỏi lập trình T-SQL thì

chuyên viết SQL từ căn bản đến phức tạp.



Tăng khả năng bảo mật. Đối với những ứng dụng mà ta không muốn

cho Developer biết thông tin về nghiệp vụ bên trong thì ta viết SP,

Developer chỉ gọi SP sử dụng mà khơng biết ta xử lý gì bên trong.



Tái sử dụng Code. Đối với những đoạn Code thường xuyên được sử

dụng thì SP rất hữu dụng.

 VD: sp_spaceused, sp_renameddb…

5. Trigger:

Trigger có thể hiểu đơn giản là một thủ tục SQL được thực thi ở phía Server khi có

một sự kiện xảy ra như Insert, Delete, hay Update. Tuy nhiên khác với Stored

Procedure, Trigger hồn tồn khơng có tham số. Chúng ta không thể gọi thực hiện

trực tiếp Trigger bằng lệnh EXECUTE như Stored Procedure hoặc bằng bất kỳ một

lệnh nào khác, Thay vào đó trigger sẽ được thực hiện một cách tự động.

Trigger cũng có thể gọi thực thi Stored Procedure.

Trigger được lưu trữ và quản lý trong Server Database.



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

1 Tạo khóa ngoại cho table đã tạo

Tải bản đầy đủ ngay(0 tr)

×
x