Vì sao phải tạo khóa chính cho bảng và tạo liên kết bảng

Xem toàn bộ tài liệu Lớp 12: tại đây

Giải Bài Tập Tin Học 12 – Bài 10: Cơ sở dữ liệu quan hệ giúp HS giải bài tập, giúp cho các em hình thành và phát triển năng lực sử dụng công nghệ thông tin và truyền thông:

    • Sách Giáo Viên Tin Học Lớp 12

    Bài 1 trang 86 Tin học 12: Theo em khi xét một mô hình dữ liệu quan hệ ta cần quan tâm những yếu tố nào?

    Lời giải:

    – Ta cần quan tâm những yếu tố sau:

    • Cấu trúc dữ liệu: Dữ liệu được lưu trong các bảng. Mỗi bảng gồm các hàng và các cột thể hiện thông tin về một chủ thể.

    • Các thao tác, phép toán trên dữ liệu: Thêm, xóa, sửa các bản ghi trong một bảng. Các kết quả tìm kiếm thông tin qua truy vấn dữ liệu có được nhờ thực hiện các thao tác trên dữ liệu.

    • Ràng buộc dữ liệu: Dữ liệu trong các bảng phải thỏa mãn một số ràng buộc, chẳng hạn không được có hai bộ nào trong một bảng giống nhau hoàn toàn.

    Bài 2 trang 86 Tin học 12: Hãy nêu các khái niệm cơ bản mà em biết về hệ CSDL quan hệ.

    Lời giải:

    – Những khái niệm cơ bản về hệ CSDL quan hệ:

    – Cơ sở dữ liệu quan hệ là cơ sở dữ liệu được xây dựng dựa trên mô hình dữ liệu quan hệ.

    – Hệ quản trị cơ sở dữ liệu quan hệ là hệ quản trị cơ sở dữ liệu dùng để tạo lập, cập nhật và khai thác CSDL quan hệ.

    – Khóa: Các thuộc tính có thể được dùng để phân biệt các cá thể.

    – Khóa chính: Trong các khóa của một bảng người ta thường chọn một khóa làm khóa chính.

    – Liên kết: Thực chất là sự liên kết giữa các bảng được xác lập dựa trên thuộc tính khóa.

    Bài 3 trang 86 Tin học 12: Những tiêu chí nào giúp ta chọn khóa chính cho bảng? Hãy cho ví dụ và giải thích.

    Lời giải:

    – Có 2 tiêu chí giúp ta chọn khóa chính cho bảng:

    – Tập thuộc tính phải đủ để phân biệt các cá thể trong một bảng.

    – Số lượng thuộc tính nên là ít nhất.

    – Ví dụ: Trong bảng Sinhvien có các thuộc tính id,ten,ngaysinh. ID có thề giúp chúng ta phân biệt được các cá thể trong một bảng. Id,ten có thể giúp chúng ta phân biệt được các cá thể trong một bảng. Id,ten,ngaysinh cũng có thể giúp ta phân biệt được các cá thể trong một bảng. Tuy nhiên ta chọn id làm khóa chính vì vừa có ít thuộc tính nhất lại vừa đảm bảo điều kiện của khóa.

    Những tiêu chí nào giúp ta chọn khóa chính cho bảng? Hãy cho ví dụ và giải thích

    Đề bài

    Những tiêu chí nào giúp ta chọn khóa chính cho bảng? Hãy cho ví dụ và giải thích.

    Lời giải chi tiết

    Có 2 tiêu chí giúp ta chọn khóa chính cho bảng :

     - Tập thuộc tính phải đủ để phân biệt các cá thể trong một bảng.

     - Số lượng thuộc tính nên là ít nhất.

    Ví dụ : Trong bảng Sinhvien có các thuộc tính id, ten, ngaysinh. Id có thể giúp chúng ta phân biệt được các cá thể trong một bảng. Id, ten có thể giúp chúng ta phân biệt được các cá thể trong một bảng. Id, ten, ngaysinh cũng có thể giúp ta phân biệt được các cá thể trong một bảng. Tuy nhiên ta chọn id làm khóa chính vì vừa có ít thuộc tính nhất lại vừa đảm bảo điều kiện của khóa.

    Loigiaihay.com

    Việc làm IT phần mềm

    Khóa chính là gì? Đây là câu hỏi nhận được khá nhiều sự quan tâm gần đây vì chắc hẳn rất nhiều người khi tiếp cận tới máy chính và muốn xử lí các cơ sở dữ liệu - database chưa biết rõ về khái niệm này. 

    Vì sao phải tạo khóa chính cho bảng và tạo liên kết bảng
    Khái niệm khóa chính là gì?

    Khóa chính là khái niệm được sử dụng chủ yếu trong các lĩnh vực liên quan tới ngành công nghệ thông tin, toán tin, khoa học dữ liệu thuộc cơ sở dữ liệu (CSDL). Thuật ngữ này trong tiếng Anh được dịch là Primary Key, chắc hẳn nhiều bạn sử dụng máy tính mà muốn khóa dữ liệu lại đã từng thấy ký hiệu này đi kèm với chiếc chìa khóa rồi đúng không nào? Như vậy, khái niệm này có thể được định nghĩa theo một số các quan niệm như sau là:

    - Khóa chính hay khóa ràng buộc chính được dùng để định danh mỗi một record trong bảng (table) duy nhất của cơ sở dữ liệu hay CSDL

    - Khóa chính ngoài ra còn được sử dụng để thiết lập các mối quan hệ (1-n) hoặc có thể gọi là ràng buộc tham chiếu giữa hai bảng (table) với nhau trong cơ sở dữ liệu

    Một số chú ý đưa ra cho các cơ sở dữ liệu mà có sử dụng tới khóa chính đó chính là:

    - Dữ liệu của mỗi một miền (field) khóa chính phải có tính duy nhất và không được chứa các giá trị Null

    - Mỗi một bảng chỉ nên có một khóa chính hay chỉ được thiết lập một Primary Key duy nhất và khóa chính có thể được tạo ra từ nhiều field khác nhau của một bảng

    - Khóa chính không được phép là các miền  (field) rỗng, không chứa các cơ sở dữ liệu gì hết

    - Các khóa chính khi được thiết lập phải có mối quan hệ có định dạng giống nhau về một số các đặc điểm như các loại dữ liệu, kích thước,.. và khác nhau về thể loại. Đây là lưu ý bắt buộc đối với các khóa chính

    - Khóa chính được quy định bởi người thiết lập trong hệ cơ sở dữ liệu hay CSDL

    Chức năng chủ yếu của các khóa chính đó chính là chứa các giá trị duy nhất hay cơ sở dữ liệu duy nhất được lưu thông xuyên suốt ở nhiều bảng với nhau. Như chúng ta vẫn biết khóa chính được gọi là các trường hoặc tập hợp các trường chứa các giá trị dữ liệu trên nhiều bảng. Người thiết lập khóa chính có thể sử dụng giá trị của khóa chính để tham chiếu tới toàn bộ các giá trị trên các bản ghi vì nó được thống nhất trên một mối quan hệ định dạng. Do đó, mỗi bản ghi lại có một giá trị khác nhau.

    Vì sao phải tạo khóa chính cho bảng và tạo liên kết bảng
    Chức năng của khóa chính

    Lưu ý cho người mới dùng đó chính là khóa chính chỉ được thiết lập duy nhất trên mỗi bảng và có nhiều bảng chứa đựng duy nhất một khóa chính. Nhiều ứng dụng yêu cầu người sử dụng máy tính phải thiết lập khóa chính nhưng Access thì lại khác, Access sẽ tự chủ động tạo cho bạn khóa chính để người dùng không bị bỡ ngỡ.

    1.3. Phạm vi áp dụng chủ yếu khóa chính trong đời sống

    Phạm vi chủ yếu áp dụng các khóa chính trong đời sống hiện tại đó chính là tin học mà đặc biệt là lĩnh vực sử dụng nhiều tới cơ sở dữ liệu như tin học văn phòng. Rất nhiều người mong muốn tìm cách sử dụng các khóa chính để có thể lưu thông các giá trị dữ liệu qua nhiều bảng nhằm tạo ra sự liên kết và thuận lợi cho công việc của chính mình.

    Vì sao phải tạo khóa chính cho bảng và tạo liên kết bảng
    Phạm vi áp dụng chủ yếu khóa chính trong đời sống

    Tuy nhiên, việc sử dụng và hiểu được khái niệm, cách dùng của khóa chính không hề đơn giản, đặc biệt là với người mới sử dụng thì sẽ cần học hỏi nhiều mới có thể biết được cách vận dụng khóa chính trong lĩnh vực tin học và ứng dụng trong đời sống hằng ngày.

    1.4. Cách thiết lập khóa chính cho người mới dùng

    Để có thể tạo khóa chính nhằm phục vụ cho công việc của bản thân cũng như bạn bè, đội nhóm và cho công ty, các bạn, đặc biệt là những người mới dùng có thể chọn lựa cách thiết lập khóa chính dưới đây:

    - Để tạo khóa chính ngay trong khi tạo bảng (table) ta có thể dùng các câu lệnh SQL Create table:

    (MaSV varchar (8) NOT NULL, Holot varchar(20), Ten varchar(8), NgaySinh Date, MaLop varchar(8) NOT NULL, Lienhe varchar(11) NOT NULL, PRIMARY KEY (MaSV)

    - Trong trường hợp khóa chính được thiết lập từ nhiều miền khác nhau và ta cần đặt tạo mối ràng buộc cho các khóa chính thì cần phải dùng câu lệnh sau:

    (MaSV varchar (8) NOT NULL, Holot varchar(20), Ten varchar(8), NgaySinh DATE, MaLop varchar(8) NOT NULL, Lienhe varchar(11) NOT NULL, CONSTRAINT Ma PRIMARY KEY (MaSV, MaLop)

    - Để xóa khóa chính ở các bảng (table) chúng ta cần thực hiện các câu lệnh sau: 

    ALTER TABLE HSSV DROP PRIMARY KEY;

    Hoặc ALTER TABLE HSSV DROP CONSTRAINT Ma

    Các câu lệnh được nêu ra trên đây rất có hữu ích cho các bạn mới tiếp cận tới việc sử dụng khóa chính trong ứng dụng và các lĩnh vực liên quan tới tin học!

    Xem thêm: IBM là gì? Cơ hội việc làm đầy triển vọng cho giới trẻ tại IBM

    Việc làm Freelancer

    2. Phân biệt khóa chính và khóa ngoại trong SQL

    2.1. Giới thiệu chung về khóa ngoại

    Bên cạnh khái niệm về khóa chính, nhiều bạn sử dụng tin học nhiều thì cũng cần phải biết tới cả khóa ngoại nữa. Khái niệm khóa chính và khóa ngoại là hai khái niệm song hành và bổ trợ cho nhau trong các cơ sở dữ liệu và được sử dụng phổ biến tương đương nhau, tuy nhiên nhiều người lại không thể phân biệt được hai khái niệm này với nhau. Bài viết này sẽ giúp các bạn hiểu thêm về khóa ngoại cũng như giúp các bạn phân biệt được khái niệm khóa ngoại và khóa chính cũng như cách dùng, cách thiết lập và một số các đặc điểm chủ chốt khác nhé!

    Vì sao phải tạo khóa chính cho bảng và tạo liên kết bảng
    Giới thiệu chung về khóa ngoại

    Về khóa ngoại, cũng được biết đến tương đương khóa chính nhưng có một số đặc điểm như là:

    - Khóa ngoại của một bảng được xem như là con trỏ trỏ tới khóa chính của các bảng (table) khác

    - Ví dụ: Trong trường hợp MSV của bảng DiemSV được dùng để tạo ra sự ràng buộc nhất định đến bảng HSSV, thông qua khóa chính là MSV thì MSV của bảng DiemSV được gọi là khóa ngoại của bảng này đó.

    - Để xóa khóa ngoại ở các bảng (table) chúng ta cần thực hiện các câu lệnh sau: ALTER TABLE DiemSV DROP FOREIGN KEY Ma

    Đây là câu lệnh cực kỳ phổ biến trong hầu hết các tình huống thay đổi tên của bảng, của miền (field) hoặc là xóa/thêm các miền khác trong một bảng nào đó. Do đó, chúng ta sẽ trở lại câu lệnh này vào các bài viết khác để tìm hiểu rõ hơn nhé!

    2.2. Phân biệt khóa chính với khóa ngoại chính xác nhất

    Để có thể phân biệt được khóa chính và khóa ngoại chính xác nhất, bài viết này sẽ đề cập trên 4 phương diện liên quan tới sự khác biệt rõ nhất giữa khóa chính và khóa ngoại:

    - Khóa chính được xác định là loại khóa được thiết lập duy nhất ở mỗi bản ghi trong bảng. Còn khóa ngoại là một trường hay một tập hợp trường trong bảng và lại là khóa chính của một bảng khác.

    Vì sao phải tạo khóa chính cho bảng và tạo liên kết bảng
    Phân biệt khóa chính với khóa ngoại chính xác nhất

    - Khóa chính không chấp nhận chưa các giá trị dữ liệu rỗng. Còn khóa ngoại lại có thể chấp nhận chứa nhiều giá trị dữ liệu rỗng

    - Khóa chính theo mặc định của người thiết lập thì chỉ mục đích được nhóm và dữ liệu trong bảng cơ sở dữ liệu theo thứ tự của dãy chỉ mục nhóm. Còn khóa ngoại không tự động tạo ra một chỉ mục nào cả, nhóm hay không nhóm mà người thiết lập có thể tự tạo một chỉ mục cho khóa ngoại

    - Cái hay của khóa ngoại so với khóa chính đó chính là khóa chính thì chỉ được phép có một hay duy nhất một khóa trên trong một bảng (table) nhưng có thể có nhiều khóa ngoại trong một bảng

    Như vậy, để phân biệt được khóa chính và khóa ngoại, các bạn đã nắm rõ phần nào nhưng chi tiết rõ ràng nhất để nhìn ra được sự khác nhau của hai loại khóa này rồi phải không nào? Mặc dù khóa chính và khóa ngoại được sử dụng phổ biến và gần như là được sử dụng song hành với nhau và gắn bó với nhau một cách mật thiết nhưng không vì thế mà chúng ta, đặc biệt là những người mới sử dụng hay tiếp cận tới khóa chính, lại có thể nhầm lẫn cách thiết lập của hai loại khóa này dẫn đến nhiều rắc rối trong công việc. Sau đây là một số các tóm lược mà bài viết chúng tôi thu thập và tổng kết lại được về khóa chính:

    - Tất cả chúng ta chỉ sử dụng cách thiết lập khóa chính trên mà bài viết đề cập tới trong MySQL nói riêng và không chỉ vậy chúng ta có thể sử dụng cả trong SQL Server hay Oracle cũng có các câu lệnh thiết lập, cú pháp tương tự. Bên cạnh đó, các bạn có thể sử dụng khóa chính trong ứng dụng Access hay một số ứng dụng khác của Microsoft cho phép, đối với Access thì nó đã tự thiết lập khóa chính dành cho các bạn đang sử dụng rồi

    Vì sao phải tạo khóa chính cho bảng và tạo liên kết bảng
    Phân biệt khóa chính với khóa ngoại chính xác nhất

    - Trong các trường hợp thông thường khi làm việc hay tương tác, trao đổi thông tin với nhau qua các ứng dụng web thì chúng ta rất ít khi sử dụng tới khóa ngoại mà chủ yếu là sử dụng khóa chính để thống nhất các hệ thống cơ sở dữ liệu. Mặt khác, việc sử dụng khóa ngoại trong các tình huống thông thường và thường ngày sẽ rất chậm, do đó chúng ta hay các nhà thiết kế hệ thống thông tin như IT sẽ cố gắng hết sức để thiết kế được các cơ sở dữ liệu làm sao đạt được sự tối ưu nhất có thể nhằm hạn chế tối đa việc sử dụng khóa ngoại cho người dùng. Lúc đó, người dùng chỉ việc sử dụng khóa chính là có thể thành công trong công việc, đồng thời tiết kiệm được thời gian và chi phí cho bản thân và doanh nghiệp.

    Trên đây là bài viết về Khóa chính là gì? Phân biệt khóa chính và khóa ngoại trong SQL mà website chúng tôi cung cấp thông tin cho các bạn. Hãy cùng chúng tôi đồng hành để tìm hiểu thêm về các vấn đề khác trong cuộc sống nhé! Cảm ơn các bạn đã ủng hộ và tin tưởng website của chúng tôi. Chúc các bạn thành công và sớm đạt được các dự định trong cuộc sống mà mình đề ra nhé!

    Xem thêm: Nodejs là gì? Hệ thống phần mềm hiện đại bậc nhất 2021