Khóa k trong Tin học là gì

ttmn.mobi đã biên soạn và tổng hợp để giới thiệu đến các em nội dung bài giảng Cơ sở dữ liệu quan hệ. Bài giảng giúp các em nắm vững lý thuyết bài học, kèm theo đó là những bài tập minh họa có hướng dẫn giải chi tiết sẽ giúp các em hiểu bài hơn. Mời các em cùng theo dõi.Bạn đang xem: Khóa là gì tin học 12

Bạn đang xem: Khóa là gì tin học 12

1. Tóm tắt lý thuyết

1.1. Mô hình dữ liệu

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

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

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

2. Bài tập minh họa

3. Luyện tập

3.1. Bài tập tự luận

3.2. Bài tập trắc nghiệm

3.3. Trắc nghiệm Online

4. Kết luận



- Mô hình dữ liệulà một tập khái niệm dùng để mô tả cấu trúc dữ liệu, các thao tác dữ liệu, các ràng buộc dữ liệu của một CSDL.

Bạn đang xem: Khóa là gì tin học 12

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

Mô hình lôgic[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.

Mô 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.

- Mô hình dữ liệu quan hệ được E. F. Codd đề xuất năm 1970. Trong khoảng ba mươi năm trở lại đây, các hệ CSDL xây dựng 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ệunhư thêm, xóahay sửa bản ghi trong một bảng. Cáckết quả tìm kiếm thông tinqua truy vấn dữ liệu có được nhờ thực hiện các thao tác trên dữ liệu.Về mặt các ràng buộc dữ liệu:Dữ liệu trong các bảng phải thoả 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.

1.3. 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ẹ.

Hệ QTCSDL quan hệ: dùng để tạo lập, cập nhật và khai thác CSDL quan hệ.

b.Các đặc trưng của một quan hệ

- Mỗiquan hệcó tên để phân biệt với cácquan hệkhác.

- Cácbộlà phân biệt và thứ tự các bộ là không quan trọng.

- Mỗithuộc tínhcó một tên phân biệt và thứ tự các thuộc tính không quan trọng.

- Quan hệkhông cóthuộc tính đa trịhayphức hợp.

Thuộc tính đa trị: 1 thuộc tính tương ứng trong nhiều bộ giá trị;

Phức hợp: Một thuộc tính có 2 giá trị.

Lưu ý:

Quan hệ là bảngThuộc tính là trường [cột]Bộ là bản ghi [hàng].

Xem thêm: Vì Sao Mắt Có Quầng Thâm Mắt Đơn Giản Và Hiệu Quả Tại Nhà &Ndash; Thefaceshop

Ví dụ:Để quản lí việc học sinh mượn sách ở một trường học, thông thường quản lí các thông tin sau:

- Thông tin sách

- Thông tin mượn sách [ai mượn sách, mượn sách gì, thời gian mượn/ trả]



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

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

Không có hai bộ [khác nhau] trong bảng có giá trị bằng nhau trên khoá.

Không có tập con thực sự nào của tập thuộc tính này có tính chất.

b. Khóa chính

Một bảng có thể có nhiều khóa. Trong các khóacủa một bảng người ta thường chọn [chỉ định] một khóalàmkhoá chính[primary key].

Khi nhập dữ liệu cho một bảng, giá trị củamọi bộ tại khóa chính không được để trống.

Các hệ QTCSDL quan hệ kiểm soát điều đó và đảm bảo sự nhất quán dữ liệu, tránh trường hợp thông tin về một đối tượng xuất hiện hơn một lần sau những cập nhật dữ liệu. Trong mô hình quan hệ, ràng buộc như vậy về dữ liệu còn được gọi làràng buộc toàn vẹn thực thể[hay gọi ngắn gọn làràng buộc khóa].

Chú ý:

Mỗi bảng có ít nhất một khóa. Việc xác định khoá phụ thuộc vào quan hệ lôgic của các dữ liệu chứ không phụ thuộc vào giá trị các dữ liệu.

Nên chọn khoá chính là khoá có ít thuộc tính nhất.

c. Liên kết giữa các bảng

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ạng 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 hai bảng này

2. Bài tập minh họa

Câu 1:Chỉ ra các điều kiện trong mô hình dữ liệu quan hệQl_hoctap



Hướng dẫn giải

Cấu trúc dữ liệu: là các bảng dữ liệu, bảnghoc_sinh,Mon_hoc,Bang_diemgồm có các trường dữ liệu, các bản ghi.

Các ràng buộc:khoá chính, trong bảng hoc_sinh thì dữ liệu trong trường khoá chính là duy nhất.

Các thao tác cập nhật dữ liệu [thêm, sửa, xoá], khai thác dữ liệu, thống kê dữ liệu theo một điều kiện nào đó, có thể thực hiện trên một bảng hoặc nhiềubảng.

Câu 2:Trong CSDL quan hệQl_hoctapở ví dụ trên [ví dụ 1],xác địnhquan hệ,thuộc tínhvàbộ.

Hướng dẫn giải

Quan hệ Hoc_sinh

Có các thuộc tính: ma_hoc_sinh, Ho_dem, Ten.

Vì lớp có 50HS nên có 50 bộ, bộ thứ 10 là {12A9, Nguyễn Thị Thanh, An}

3. Luyện tập

3.1. Bài tập tự luận

Câu 1: Khi xét một mô hình dữ liệu, ta cần quan tâm đến những yếu tố nào?

Câu 2: Nêu khái niệm CSDL quan hệ.

3.2. Bài tập trắc nghiệm

Câu 1:Thuật ngữ “quan hệ” dùng trong hệ CSDL quan hệ là để chỉ đối tượng:

A.Kiểu dữ liệu của một thuộc tính

B.Bảng

C.Hàng

D.Cột

Câu 2:Thuật ngữ “bộ” dùng trong hệ CSDL quan hệ là để chỉ đối tượng:

A.Kiểu dữ liệu của một thuộc tính

B.Bảng

C.Hàng

D.Cột

Câu 3:Mô hình phổ biến để xây dựng CSDL quan hệ là:

A.Mô hình phân cấp

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

C.Mô hình hướng đối tượng

D.Mô hình cơ sỡ quan hệ

Câu 4:Các khái niệm dùng để mô tả các yếu tố nào sẽ tạo thành mô hình dữ liệu quan hệ?

A.Cấu trúc dữ liệu

B.Các ràng buộc dữ liệu

C.Các thao tác, phép toán trên dữ liệu

D.Tất cả câu trên

Câu 5:Thao tác trên dữ liệu có thể là:

A.Sửa bản ghi

B.Thêm bản ghi

C.Xoá bản ghi

D.Tất cả đáp án trên

Câu 6:Phát biểu nào về hệ QTCSDL quan hệ là đúng?

A.Phần mềm dùng để xây dựng các CSDL quan hệ

B.Phần mềm dùng để tạo lập, cập nhật và khai thác CSDL quan hệ

C.Phần mềm Microsoft Access

D.Phần mềm để giải các bài toán quản lí có chứa các quan hệ giữa các dữ liệu

3.3.Trắc nghiệm Online

Các em hãy luyện tập bài trắc nghiệm Cơ sở dữ liệu quan hệTin học 12 sau để nắm rõ thêm kiến thức bài học.

Trắc Nghiệm

4. Kết luận

Sau khi học xongBài 10: Cơ sở dữ liệu quan hệ, các em cần nắm vững cácnội dung trọn tâm:

Khái niệm và phân loại mô hình dữ liệu.Khái niệm mô hình dữ liệu quan hệ và các đặt trưng cơ bản của mô hìnhdữ liệu quan hệ.Khái niệm CSDL quan hệ, khóa, khóa chính và liên kết giữa các bảng. Tham khảo thêm Chuyên mục: Giải bài tập

1.1. Khái niệm bài toán

a. Khái niệm

b. Ví dụ

  • Tìm USCLN của 2 số nguyên dương

  • Tìm số lớn nhất trong 3 số nguyên dương a,b,c

  • Tìm nghiệm của phương trình bậc nhất: ax + b = 0 [a≠0]

1.2. Khái niệm thuật toán

a. Khái niệm

Thuật toán để giải một bài toán là:

  • Một dãy hữu hạn các thao tác [tính dừng]

  • Các thao tác được tiến hành theo một trình tự xác định [tính xác định]

  • Sau khi thực hiện xong dãy các thao tác đó ta nhận được Output của bài toán [tính đúng đắn]

b. Cách biểu diễn thuật toán

Có 2 cách để biểu diễn thuật toán:

2. Bài tập minh họa

Câu 1: Chỉ ra Input và Outphut của bài toán: Kiểm tra tính nguyên tố.

Hướng dẫn giải:

1. Xác định bài toán

  • Input: N là một số nguyên dương

  • Output:

  • Định nghĩa: “Một số nguyên dương N là số nguyên tố nếu nó chỉ có đúng hai ước là 1 và N”

  • Tính chất:

2. Ý tưởng

3. Xây dựng thuật toán

a] Cách liệt kê

  • Bước 1: Nhập số nguyên dương N;

  • Bước 2: Nếu N=1 thì thông báo “N không là số nguyên tố”, kết thúc;

  • Bước 3: Nếu N

  • Bước 4: \[i \leftarrow2 ;\]

  • Bước 5: Nếu i là ước của N thì đến bước 7

  • Bước 6: \[i \leftarrow i +1\] rồi quay lại bước 5; [Tăng i lên 1 đơn vị]

  • Bước 7: Nếu i = N thì thông báo “N là số nguyên tố”, ngược lại thì thông báo “N không là số nguyên tố”, kết thúc;

b] Sơ đồ khối

Lưu ý: Nếu N >= 4 và không có ước trong phạm vi từ 2 đến phần nguyên căn bậc 2 của N thì N là số nguyên tố

Câu 2: Sắp xếp bằng cách tráo đổi

Hướng dẫn giải:

1. Xác định bài toán

  • Input: Dãy A gồm N số nguyên a1, a2,…,an

  • Output: Dãy A được sắp xếp thành dãy không giảm

2. Ý tưởng

  • Với mỗi cặp số hạng đứng liền kề trong dãy, nếu số trước > số sau ta đổi chỗ chúng cho nhau. [Các số lớn sẽ được đẩy dần về vị trí xác định cuối dãy]

  • Việc này lặp lại nhiều lượt, mỗi lượt tiến hành nhiều lần so sánh cho đến khi không có sự đổi chỗ nào xảy ra nữa

3. Xây dựng thuật toán

  • Bước 1. Nhập N, các số hạng a1, a2,…,an;

  • Bước 2. Đầu tiên gọi M là số số hạng cần so sánh, vậy M sẽ chứa giá trị của N: \[M \leftarrow N\];

  • Bước 3. Nếu số số hạng cần so sánh

  • Bước 4. M chứa giá trị mới là số phép so sánh cần thực hiện trong lượt: \[M \leftarrow M-1\]. Gọi i là số thứ tự của mỗi lần so sánh, đầu tiên i 0;

  • Bước 5. Để thực hiện lần so sánh mới, i tăng lên 1 [lần so sánh thứ i]

  • Bước 6. Nếu lần so sánh thứ i> số phép so sánh M: đã hoàn tất M số phép so sánh của lượt này. Lặp lại bước 3, bắt đầu lượt kế [với số số hạng cần so sánh mới chính là M đã giảm 1 ở bước 4];

  • Bước 7. So sánh 2 phần tử ở lần thứ i là ai và ai+1. Nếu ai > ai+1 thì tráo đổi 2 phần tử này;

  • Bước 8. Quay lại bước 5

a] Đối chiếu, hình thành các bước liệt kê

  • Bước 1: Nhập N, các số hạng a1, a2,…,an;

  • Bước 2: \[M \leftarrow N ;\]

  • Bước 3: Nếu M

  • Bước 4: \[M \leftarrow M-1 ; i \leftarrow 0 ;\]

  • Bước 5: \[ i \leftarrow i – 1 ;\]

  • Bước 6: Nếu i > M thì quay lại bước 3;

  • Bước 7: Nếu ai > ai+1 thì tráo đổi ai và ai+1 cho nhau;

  • Bước 8: Quay lại bước 5;

b] Sơ đồ khối

Câu 3: Tìm kiếm tuần tự

Hướng dẫn giải:

1. Xác định bài toán

  • Input : Dãy A gồm N số nguyên khác nhau a1, a2,…,an và một số nguyên k [khóa]

  • Output: Vị trí i mà ai = k hoặc thông báo không tìm thấy k trong dãy. Vị trí của 2 trong dãy là 5 [không tìm thấy 6]

2. Ý tưởng

Tìm kiếm tuần tự được thực hiện một cách tự nhiên: Lần lượt đi từ số hạng thứ nhất, ta so sánh giá trị số hạng đang xét với khóa cho đến khi gặp một số hạng bằng khóa hoặc dãy đã được xét hết mà không tìm thấy giá trị của khóa trên dãy.

3. Xây dựng thuật toán

a] Cách liệt kê

  • Bước 1: Nhập N, các số hạng a1, a2,…, aN và giá trị khoá k;

  • Bước 2: \[i \leftarrow 1;\]

  • Bước 3: Nếu ai = k thì thông báo chỉ số i, rồi kết thúc;

  • Bước 4: \[i \leftarrow i + 1;\]

  • Bước 5: Nếu i > N thì thông báo dãy A không có số hạng nào có giá trị bằng k, rồi kết thúc;

  • Bước 6: Quay lại bước 3;

b] Sơ đồ khối

Câu 4: Tìm kiếm nhị phân

Hướng dẫn giải:

1. Xác định bài toán

  • Input: Dãy A là dãy tăng gồm N số nguyên khác nhau a1, a2,…,an và một số nguyên k.

  • Output : Vị trí i mà ai = k hoặc thông báo không tìm thấy k trong dãy. Vị trí của 21 trong dãy là 6 [không tìm thấy 25]

2. Ý tưởng

  • Sử dụng tính chất dãy A đã sắp xếp tăng, ta tìm cách thu hẹp nhanh vùng tìm kiếm bằng cách so sánh k với số hạng ở giữa phạm vi tìm kiếm [agiữa], khi đó chỉ xảy ra một trong ba trường hợp:

    • Nếu agiữa= k thì tìm được chỉ số, kết thúc;

    • Nếu agiữa > k thì  việc tìm kiếm thu hẹp chỉ xét từ ađầu [phạm vi] \[\rightarrow\] agiữa – 1;

    • Nếu agiữa \[\rightarrow\] acuối [phạm vi].

  • Quá trình trên được lặp lại cho đến khi tìm thấy khóa k trên dãy A hoặc phạm vi tìm kiếm bằng rỗng.

3. Xây dựng thuật toán

a] Cách liệt kê

  • Bước 1: Nhập N, các số hạng a1, a2,…, aN và giá trị khoá k;

  • Bước 2: Đầu \[\leftarrow\] 1; Cuối \[\leftarrow\] N;

  • Bước 3: Giữa [[Đầu+Cuối]/2];

  • Bước 4: Nếu aGiữa = k thì thông báo chỉ số Giữa, rồi kết thúc;

  • Bước 5: Nếu aGiữa > k thì đặt Cuối = Giữa – 1 rồi chuyển sang bước 7;

  • Bước 6: Đầu \[\leftarrow\] Giữa + 1;

  • Bước 7: Nếu Đầu > Cuối thì thông báo không tìm thấy khóa k trên dãy, rồi kết thúc;

  • Bước 8: Quay lại bước 3.

b] Sơ đồ khối

3. Luyện tập

3.1. Bài tập tự luận

Câu 1: Chỉ ra Input và Outphut của bài toán: Kiểm tra tính chẵn lẻ của một số tự nhiên

Câu 2: Xây dựng thuật toán bằng cách vẽ sơ đồ khối của bài toán: Kiểm tra tính chia hết cho 5 của một số tự nhiên.

3.2. Bài tập trắc nghiệm

Câu 1: Thuật toán có tính:

A. Tính xác định, tính liên kết, tính đúng đắn

B. Tính dừng, tính liên kết, tính xác định

C. Tính dừng, tính xác định, tính đúng đắn

D. Tính tuần tự: Từ  input cho ra output

Câu 2: Thuật toán tốt là thuật toán:

A. Thời gian chạy nhanh

B. Tốn ít bộ nhớ

C. Cả A và B đều đúng

D. Tất cả các phương án đều sai

Câu 3: Trong tin học sơ đồ khối là:

A. Ngôn ngữ lập trình bậc cao

B. Sơ đồ mô tả thuật toán

C. Sơ đồ về cấu trúc máy tính

D. Sơ đồ thiết kế vi điện tử 

Câu 4: Chọn phát biểu đúng khi nói về Bài toán và thuật toán:

A. Trong phạm vi Tin học, ta có thể quan niệm bài toán là việc nào đó mà ta muốn máy tính thực hiện

B. Thuật toán [giải thuật] để giải một bài toán là một dãy hữu hạn các thao tác được sắp xếp theo một trình tự xác định sao cho sau khi thực hiện dãy thao tác đó, từ Input của bài toán này, ta nhận được Output cần tìm

C. Sơ đồ khối là sơ đồ mô tả thuật toán

D. Cả ba câu trên đều đúng

Câu 5: Thuật toán sắp xếp bằng đổi chỗ cho dãy số A theo trật tự tăng dần dừng lại khi nào?

A. Khi M =1 và không còn sự đổi chỗ

B. Khi số lớn nhất trôi về cuối dãy

C.  Khi ai > ai + 1

D. Tất cả các phương án

Câu 6: Cho thuật toán tìm giá trị nhỏ nhất trong một dãy số nguyên sử dụng phương pháp liệt kê dưới đây:

Bước 1: Nhập N, các số hạng a1, a2,…., aN;

Bước 2: Min ←←  a1, i ←← 2;

Bước 3: Nếu i

Bước 4:

             Bước 4.1: Nếu ai > Min thì Min ←← ai;

             Bước 4.2: i ←← i+1, quay lại bước 3.

Hãy chọn những bước sai trong thuật toán trên:

A. Bước 2

B. Bước 3

C. Bước 4.1

D. Bước 4.2

Câu 7: Khi biểu diễn thuật toán bằng lưu đồ [sơ đồ khối], hình chữ nhật có ý nghĩa gì?

A. Thể hiện thao tác tính toán

B. Thể hiện thao tác so sánh

C. Quy định trình tự thực hiện các thao tác

D. Thể hiện các thao tác nhập, xuất dữ liệu

Câu 8: Input của bài toán: “Hoán đổi giá trị của hai biến số thực A và C dùng biến trung gian B” là:

A. Hai số thực A, C

B. Hai số thực A, B

C. Hai số thực B,C

D. Ba số thực A,B,C

Câu 9: Cho bài toán kiểm tra tính nguyên tố của một số nguyên dương N. Hãy xác đinh Output của bài toán này?

A. N là số nguyên tố

B. N không là số nguyên tố

C. N là số nguyên tố hoặc N không là số nguyên tố

D. Tất cả các ý trên đều sai

Câu 10: “…[1] là một dãy hữu hạn các …[2] được sắp xếp theo một trình tự xác định sao cho khi thực hiện dãy các thao tác ấy, từ …[3] của bài toán, ta nhận được …[4] cần tìm”. Các cụm từ còn thiếu lần lượt là?

A. Input – Output – thuật toán – thao tác

B. Thuật toán – thao tác – Input – Output

C. Thuật toán – thao tác – Output – Input

D. Thao tác – Thuật toán– Input – Output

4. Kết luận

Sau khi học xong bài này, các em cần nắm vững các nội dung trọng tâm:

  • Khái niệm bài toán trong Tin học

  • Khái niệm thuật toán và cách biểu diễn thuật toán

  • Một số ví dụ về thuật toán: Kiểm tra tính nguyên tố, sắp xếp bằng cách tráo đổi, tìm kiếm tuần tự, tìm kiếm nhị phân

Video liên quan

Chủ Đề