Khóa của quan hệ la gì

– Mô hình dữ liệu là một tập hợp các khái niệm, dùng để mô tả CTDL, các thao tác dữ liệu, các ràng buộc dữ liệu của một CSDL

– Các loại mô hình dữ liệu:

Mô hình logic: (mô hình dữ liệu bậc cao) cho mô tả CSDL ở mức khái niệm và mức khung nhìn.Bạn đang xem: Khóa là gì khóa chính là gì tin học 12Môhình vật lí: (mô hình dữ liệu bậc thấp) cho biết dữ liệu được lưu trữ thế nào.

Đang xem: Khóa là gì tin học 12

b. Mô hình dữ liệu quan hệ

– Mô hình dữ liệu quan hệ được E.F.Codd đề xuất năm 1970. Trong khoảng 20 năm trở lại đây các hệ CSDL theo mô hình quan hệ được dùng rất phổ biến.

– Trong mô hình quan hệ:

Về mặt cấu trúc: Dữ liệu được thể hiện trong các bảng (hàng, cột).Về mặt thao tác trên dữ liệu: Có thể cập nhật dữ liệu : Thêm, xoá, sửa.Về mặt ràng buộc dữ liệu: Dữ liệu trong một bảng phải thoả mãn một số ràng buộc.

2. Cơ sở dữ liệu quan hệ

a. Khái niệm

– CSDL quan hệ: CSDL được xây dựng trên mô hình dữ liệu quan hệ.

Xem thêm: Các Khóa Học Producer Chuyên Nghiệp Tại Hà Nội, Khóa Học Producer

– Những đặc trưng của CSDL quan hệ:

Mỗi quan hệ có một tên phân biệt với tên các quan hệ khác.Các bộ là phân biệt và thứ tự các bộ là không quan trọng.Mỗi thuộc tính có một tên phân biệt và thứ tự các thuộc tính là không quan trọng.Quan hệ không có thuộc tính đa trị hay phức hợp.

b. Ví dụ

– Để quản lý học sinhmượn sách ở một trường học, thông thườngquản lí các thông tin sau:

Thông tin người mượn sáchThông tin sáchThông tin mượn sách (ai mượn sách, mượn sách gì, thời gian mượn/ trả)

*

c. Khóa và liên kết giữa các bảng

– Khóa: Khóa của một bảng là một tập gồm một hay một số thuộc tính của bảng phân biệt được các cá thể.

– Khoá chính:

Một bảng có thể có nhiều khóa. Trong các khóa của một bảng người ta thường chọn (chỉ định) một khóa làm khóa chính.Khi nhập dữ liệu cho một bảng, giá trị của mọi bộ tại khóa chính không được để trống.

Xem thêm: Cập Nhật Mẫu Hóa Đơn Tài Chính Là Gì? Các Loại Hóa Đơn & Ký Hiệu Trên Hóa Đơn

* Chú ý:

– Liên kết: Thực chất sự liên kết giữa các bảng là dựa trên thuộc tính khóa. Chẳng hạn thuộc tính số thẻ là khóa của bảng người mượn xuất hiện lại ở bảng mượn sách đó tạo nên liên kết giữa 2 bảng này.

Tức là định hình, hình dung ra ra được các bảng, các mối quan hệ cần thiết giữa các bảng đó sao cho đảm bảo được tính logic mà vẫn thoả mãn được các yêu cầu ràng buộc.

Do đó, trước khi tìm hiểu sâu về các câu truy vấn SQL, chúng ta hãy tìm hiểu về kiến thức nền tảng của CSDL trước.

Nội dung bài viết này sẽ cung cấp cho các bạn biết được các khái niệm về mô hình quan hệ, đây là tiền đề để viết được SQL (cũng như các loại CSDL quan hệ khác) sau này.

Các khái niệm cơ bản bề Mô hình quan hệ


Mô hình quan hệ do F.F Codd đề xuất năm 1970, được xây dựng dựa trên cấu trúc toán học tự nhiên và đơn giản: Quan hệ (relation) hay Bảng (table).

* Mặc dù SQL bị ảnh hưởng bởi công trình của tiến sĩ Codd, nhưng SQL không phải do tiến sĩ Codd viết ra. Ngôn ngữ SQL được thiết kế bởi Donald D. Chamberlin và Raymond F. Boyce tại IBM.

Ví dụ: Ta có một quan hệ Phim như sau:

Tên phimNămThời lượngLoạiCuốn theo chiều gió1939231Tình cảmImpossible – Ghost Protocol2011133Hành độngFinding Nemo2003100Hoạt hình

Các khái niệm cơ bản của một mô hình quan hệ:

  • Thuộc tính (attribute): Là các cột của một quan hệ được đặt tên cụ thể.

Như trên quan hệ Phim, thuộc tính chính là Tên phim, Năm, Thời lượng, Loại.

Các thuộc tính xuất hiện ở trên cùng của một cột và mô tả ý nghĩa của cột đó. Thứ tự của các cột trong một quan hệ không quan trọng, miễn sao cung cấp đầy đủ thông tin và tránh dư thừa dữ liệu là được.

Ví dụ: Cột Thời lượng cho ta biết độ dài của một bộ phim theo đơn vị phút.

  • Lược đồ (Schema): Được định nghĩa bao gồm tên của một quan hệ và tập  hợp các thuộc tính của quan hệ đó.

Ví dụ: Lược đồ của quan hệ Phim là: Phim(Tên_phim, năm, thời_lượng, Loại)

Trong mô hình quan hệ, một CSDL bao gồm một hoặc nhiều quan hệ tạo thành tập hợp các lược đồ của các quan hệ của một CSDL được gọi là lược đồ CSDL (Database Schema)

  • Bộ (Tuple): Chính là những dòng của một quan hệ, khác với dòng tiêu đề banh nhé (Bao gồm tên các thuộc tính)

Mộ bộ có các thành phần tương ứng với các thuộc tính của quan hệ.

Ví dụ: Bộ đầu tiên trong quan hệ Phim có 4 thành phần: Cuốn theo chiều gió, 1939, 231, Tình cảm - tương ứng với 4 thuộc tính Tên phim, Năm, Thời lượng, Loại

Cách viết một bộ bao gồm các thành phần xuất hiện theo thứ tự các thuộc tính được liệt kê trong lược đồ, cách nhau dấu phẩy và được bao bọc bởi cặp dấu ngoặc đơn.

Ví dụ: (Cuốn theo chiều gió, 1939, 231, Tình cảm)

  • Thể hiện: Nội dung (bao gồm tập các bộ) của một quan hệ tại một thời điểm nào đó được gọi là thể hiện của quan hệ tại thời điểm đó.

Ví dụ: 3 bộ trong quan hệ Phim này là một thể hiện của chính quan hệ Phim này.

  • Miền giá trị: Tập các giá trị mà một thuộc tính Ai có thể nhận được gọi là miền giá trị của thuộc tính đó, kí hiệu dom(Ai)

Mỗi thành phần của một bộ hay giá trị của các thuộc tính phải là nguyên tố. Một giá trị được gọi là nguyên tố khi giá trị này không thể phân chia được, ví dụ tên sinh viên, năm sinh

=> Kiểu dữ liệu của một thuộc tính phải là các kiểu cơ bản như string, integer.

Ví dụ: dom(năm sinh) phải là tập hợp các số có 4 chữ số.

  • Khoá (Key): Là tập tối thiểu các thuộc tính xác định duy nhất của một bộ.

Một quan hệ có thể có nhiều khoá, gọi là các khoá ứng viên (candidate key). Trong đó, khoá chính (primary key) là khoá được chọn từ các khoá ứng viên:

  • Thường là khoá ứng viên có ít nhất một thuộc tính
  • Thường được gạch dưới trong lược đồ quan hệ
  • Ví dụ: SINHVIEN(MSSV, hoten, namsinh, diachi, ML)

Khóa chính của quan hệ này xuất hiện như là các thuộc tính của một quan hệ khác thì gọi là khóa ngoại (Foreign key).

Khoá chính và khoá ngoại kết hợp với nhau tạo nên các liên kết mật thiết đảm bảo dữ liệu được logic và toàn vẹn.

Chẳng hạn, lược đồ CSDL của một CSDL đơn giản về trường đại học sau đây đảm bảo được chuẩn logic về khoá chính và khoá ngoại:

SINHVIEN (MASV, hoten, namsinh, diachi, ML)
LOP (ML, tenlop)
MONHOC (MM, tenmon, TC, LT, TH)
DIEM (MASV, MM, hk, nk, diem)
GIAOVIEN (MAGV, hotenGv, namsinhGv, diachiGv)
DAY (MAGV, MM, hk, nk)

Phần in đậm -  có gạch dưới là khoá chính, in nghiêng – có gạch dưới là khoá ngoại.

Hoặc với khoá ngoại bạn có thể nhận biết được bằng xét xem một thuộc tính của bất kì một quan hệ nào là khoá chính của một quan hệ khác.

Khoá chính có thể bao gồm nhiều thuộc tính – cũng có thể bao gồm nhiều khoá ngoại khác nhau.
 


Túm lại về mô hình quan hệ


Như vậy, mô hình quan hệ là kiến thức cơ sở để bạn có thể thiết kế CSDL của các dự án của mình  trong tương lai. Nhìn vào mô hình quan hệ bạn có thể hình dung được tổng thể CSDL mà mình phải làm việc.

Tuy chỉ là mức vật lý – nhưng cũng là mức nhập môn cho những ai muốn học Database hoặc học phát triển phần mềm (HỌC LẬP TRÌNH WEB, HỌC LẬP TRÌNH ỨNG DỤNG).

Mô hình quan hệ là một trong các bài viết mang tính nhập môn trong Series Học Lập trình SQL. Nếu bạn là người mới tiếp xúc với CSDL thì hãy làm quen với các kiến thức này đã, đừng vội vàng học ngay truy vấn SQL – nó không mất nhiều thời gian của bạn đâu.

HỌC VIỆN ĐÀO TẠO CNTT NIIT - ICT HÀ NỘI

Học Lập trình chất lượng cao (Since 2002). Học làm Lập trình viên. Hành động ngay!

Đc: Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội

SĐT: 02435574074 - 0914939543

Email: [email protected]

Fanpage: https://facebook.com/NIIT.ICT/

#niit #niithanoi #niiticthanoi #hoclaptrinh #khoahoclaptrinh #hoclaptrinhjava #hoclaptrinhphp #java #php #python