Định nghĩa cơ sở dữ liệu quan hệ. Cơ sở dữ liệu quan hệ. Khái niệm cơ sở dữ liệu quan hệ

Mô hình quan hệ

Mô hình cơ sở dữ liệu quan hệ được đề xuất vào năm 1969 bởi nhà toán học và nhà nghiên cứu IBM E.F. Codd (EF Codd). Để biết một số thông tin cơ bản về cơ sở dữ liệu quan hệ, hãy xem bài viết tổng quan “ Cơ sở dữ liệu và cơ sở dữ liệu cơ sở dữ liệu" 2. Vì cơ sở dữ liệu quan hệ hiện đang chiếm ưu thế nên trong bài viết này (cũng như trong các bài viết " mô tả dữ liệu”, “Xử lí dữ liệu" Và " Thiết kế cơ sở dữ liệu” 2) các khái niệm cơ bản nhất của mô hình quan hệ sẽ được thảo luận chi tiết.

Chúng ta hãy lưu ý ngay rằng lý thuyết về cơ sở dữ liệu quan hệ ban đầu được xây dựng bằng ngôn ngữ toán học chặt chẽ và chính các khái niệm toán học được xác định chính thức, chặt chẽ sẽ mô tả tốt nhất bản chất của sự vật. Đồng thời, trong hầu hết các trường hợp, có thể hy sinh sự chặt chẽ của thuật ngữ để có được sự minh bạch trong cách trình bày mà không gây nhiều thiệt hại, đó là điều chúng tôi sẽ cố gắng thực hiện.

Ý tưởng chính của mô hình quan hệ như sau. Cơ sở dữ liệu bao gồm một loạt các dữ liệu không có thứ tự những cái bàn(trong trường hợp đơn giản nhất - từ một bảng). Các bảng có thể được thao tác thông qua các hoạt động phi thủ tục (khai báo) - yêu cầu, kết quả của nó cũng là các bảng.

Thường thì từ “quan hệ” ( quan hệ) trong thuật ngữ “mô hình quan hệ” được hiểu dựa trên thực tế là các kết nối được thiết lập trong cơ sở dữ liệu quan hệ ( liên quan) giữa các bảng. Lời giải thích này thuận tiện, nhưng nó không chính xác. Trong hệ thống thuật ngữ ban đầu của Codd, các thuật ngữ kết nối ( quan hệ), thuộc tính ( thuộc tính) và bộ dữ liệu ( bộ dữ liệu) được sử dụng khi hầu hết chúng ta sử dụng các thuật ngữ quen thuộc hơn như bảng, cột (trường) và hàng (bản ghi).

Khi xây dựng mô hình thông tin của một lĩnh vực chủ đề (xem “ Cơ sở dữ liệu và cơ sở dữ liệu cơ sở dữ liệu”, “Thiết kế cơ sở dữ liệu” 2) nổi bật nước hoa(đối tượng), mô tả chúng của cải a (đặc điểm, thuộc tính) cần thiết cho mục đích lập mô hình và kết nối giữa các thực thể được thiết lập. Ở giai đoạn chuyển đổi từ mô hình thông tin sang mô hình quan hệ dữ liệu, các bảng sẽ xuất hiện. Thông thường, mỗi thực thể được đại diện bởi một bảng. Mỗi hàng của bảng (một bản ghi) tương ứng với một phiên bản của thực thể và mỗi trường mô tả một thuộc tính (thuộc tính) nhất định.

Ví dụ: nếu chúng ta cần lưu trữ thông tin về mọi người, bao gồm họ, tên, họ, mã TIN, quốc gia cư trú và ngày sinh của mỗi người, thì thực thể là người đó và dữ liệu được chỉ định là các thuộc tính. Bản thân thực thể đó tự nhiên trở thành tên của bảng.

Bàn “Người”

Mô hình quan hệ yêu cầu mỗi hàng trong bảng phải là duy nhất, tức là sao cho hai hàng bất kỳ có giá trị khác nhau ở ít nhất một thuộc tính.

Biểu mẫu dạng bảng truyền thống rất hữu ích khi bạn cần trình bày dữ liệu. Nếu, như trong ví dụ trên, bạn chỉ quan tâm đến kết cấu- tên trường, thì xét về mặt rõ ràng, dễ sử dụng trong sơ đồ và tiết kiệm không gian, sẽ thuận tiện hơn khi mô tả nó như sau:

Phím

Chìa khóa những cái bànlà một trường hoặc nhóm trường chứa các giá trị duy nhất trong một bảng nhất định. Khóa xác định duy nhất hàng tương ứng của bảng. Nếu khóa bao gồm một trường duy nhất, nó thường được gọi là đơn giản, nếu từ một số - hỗn hợp. Trong ví dụ trên, khóa là trường TIN (chúng tôi giả định rằng TIN là duy nhất trong một quốc gia).

Hãy xem một ví dụ về bảng có khóa tổng hợp. Các trang web dự báo thời tiết thường trình bày thông tin như sau: đối với mỗi ngày, chúng cho biết nhiệt độ dự báo vào ban đêm, buổi sáng, buổi chiều và buổi tối. Để lưu trữ thông tin này, bạn có thể sử dụng bảng như thế này:

Trong bảng này, cả các trường Ngày, Giờ trong ngày và Nhiệt độ đều không phải là khóa - các giá trị có thể được lặp lại trong mỗi trường này. Nhưng sự kết hợp của các trường Ngày + Giờ trong ngày là duy nhất và xác định duy nhất một hàng trong bảng. Đây là một khóa tổng hợp.

Thường có những tình huống trong đó việc lựa chọn khóa không rõ ràng. Hãy quay lại ví dụ đầu tiên. Giả sử, ngoài họ, tên, họ, mã TIN, ngày sinh, cần phải lưu dãy và số hộ chiếu phổ thông cũng như dãy và số hộ chiếu nước ngoài. Bảng sẽ trông như thế này:

Bạn có thể chọn tối đa ba khóa trong bảng này. Một trong số đó là đơn giản (TIN), hai cái còn lại là tổng hợp (Sê-ri + số hộ chiếu phổ thông và Sê-ri + số hộ chiếu nước ngoài). Trong tình huống như vậy, nhà phát triển sẽ chọn khóa thuận tiện nhất theo quan điểm tổ chức cơ sở dữ liệu (nói chung, khóa có giá trị mất ít thời gian nhất để tìm thấy). Khóa được chọn trong trường hợp này thường được gọi là khóa chính hoặc sơ đẳng, khóa và các tổ hợp cột khác mà từ đó có thể tạo khóa là khả thi, hoặc thay thế, các phím. Lưu ý rằng luôn có ít nhất một khóa có thể có trong một bảng, vì các hàng không thể lặp lại và do đó, sự kết hợp của tất cả các cột được đảm bảo là một khóa có thể có.

Khi mô tả bảng, người ta thường làm nổi bật các khóa chính của bảng. Ví dụ: các trường liên quan thường được gạch chân. Và Microsoft Access đánh dấu các trường chính được in đậm.

Thậm chí thường xuyên hơn với sự mơ hồ trong việc chọn khóa, các nhà phát triển phải đối mặt với việc thiếu khóa trong số dữ liệu cần được lưu trữ. Một thực tế tương tự có thể được thiết lập trong quá trình phân tích lĩnh vực chủ đề. Ví dụ: nếu bạn cần lưu trữ một danh sách người đơn giản - tên, họ, họ và ngày sinh, thì không có khóa nào trong tập hợp thuộc tính này - có thể hình dung được một tình huống khi hai người khác nhau có cùng một dữ liệu hoàn toàn. Trong trường hợp này, bạn phải nhập một trường bổ sung một cách giả tạo, chẳng hạn như số người duy nhất. Chìa khóa như vậy đôi khi được gọi trong tài liệu người đại diện. Thường thì một khóa thay thế được đưa ra vì lý do hiệu quả. Ví dụ: nếu một bảng có khóa tổng hợp dài thì các nhà phát triển thường giới thiệu một khóa thay thế số ngắn bổ sung và đặt nó làm khóa chính. Điều này thường được thực hiện ngay cả khi có một khóa đơn giản có kiểu dữ liệu “bất tiện” (không hiệu quả cho việc tìm kiếm), chẳng hạn như một chuỗi. Những thao tác như vậy không còn phù hợp với lý thuyết nữa mà thường gặp trong thực tế.

Người đọc chú ý có thể lưu ý rằng khóa hầu như luôn có thể được mở rộng (trừ khi nó bao gồm tất cả các trường của bảng) bằng cách bao gồm các trường dư thừa. Về mặt hình thức, một chiếc chìa khóa như vậy sẽ vẫn là một chiếc chìa khóa, nhưng xét từ góc độ thực tế thì đây chỉ là một trò chơi về khái niệm. Những khóa như vậy thậm chí không được coi là có thể thực hiện được, vì luôn cần phải cố gắng giảm thiểu độ dài (độ phức tạp) của khóa.

Hình thức bình thường, chuẩn hóa

Không phải bảng nào chúng ta vẽ trên giấy hay trong Word đều có thể là bảng cơ sở dữ liệu quan hệ. Và không phải mọi bảng có thể được sử dụng trong cơ sở dữ liệu quan hệ đều đúng theo quan điểm yêu cầu của mô hình quan hệ.

Trước hết, yêu cầu tất cả dữ liệu trong cùng một cột phải cùng loại(về các loại xemmô tả dữ liệu” 2). Từ quan điểm này, ví dụ dưới đây thậm chí không có ý nghĩa gì để thảo luận:

Thứ hai, yêu cầu bảng phải được gán khóa chính.

Những yêu cầu này là cần thiết nhưng chưa đủ. Lý thuyết về cơ sở dữ liệu quan hệ giới thiệu các khái niệm về cái gọi là “dạng chuẩn” - các yêu cầu để tổ chức dữ liệu trong bảng. Các biểu mẫu thông thường được đánh số tuần tự khi các yêu cầu trở nên nghiêm ngặt hơn. Trong cơ sở dữ liệu được thiết kế phù hợp, các bảng ít nhất ở dạng chuẩn thứ ba. Theo đó, chúng ta sẽ xem xét ba dạng chuẩn đầu tiên. Hãy nhớ lại rằng chúng ta đang xử lý các bảng thỏa mãn hai yêu cầu cơ bản được nêu ở trên.

Dạng bình thường đầu tiên (1NF)

Dạng chuẩn đầu tiên quy định rằng tất cả dữ liệu chứa trong bảng phải là dữ liệu nguyên tử(không thể chia cắt). Danh sách các kiểu dữ liệu nguyên tử tương ứng được xác định bởi DBMS. Yêu cầu 1NF là hoàn toàn tự nhiên. Điều đó có nghĩa là mỗi trường của mỗi bản ghi chỉ được chứa một giá trị chứ không phải một mảng hoặc bất kỳ cấu trúc dữ liệu nào khác. Hãy đưa ra một ví dụ có ý nghĩa về một bảng không có trong 1NF. Hãy để chúng tôi có danh sách điểm của học sinh trong một môn học nhất định.

Vì giá trị của trường Xếp hạng không phải là giá trị nguyên tử nên bảng không đáp ứng các yêu cầu của 1NF.

Một cách khả thi để trình bày danh sách xếp hạng được mô tả trong hướng dẫn của bài viết. “Thiết kế cơ sở dữ liệu” 2.

Dạng chuẩn thứ hai (2NF)

Một bảng được cho là ở dạng chuẩn thứ hai nếu nó ở dạng 1NF và mọi cột không khóa hoàn toàn phụ thuộc vào khóa chính. Nói cách khác, giá trị của từng trường phải được xác định hoàn toàn bằng giá trị của khóa chính. Điều quan trọng cần lưu ý là sự phụ thuộc vào khóa chính được hiểu chính xác là sự phụ thuộc vào toàn bộ khóa chứ không phụ thuộc vào thành phần riêng lẻ của nó (trong trường hợp khóa tổng hợp). Hãy đưa ra một ví dụ về một bảng không ở dạng 2NF. Để làm điều này, chúng ta hãy quay lại ví dụ về dự báo thời tiết và thêm một cột khác vào bảng - thời điểm mặt trời mọc (đây là một ví dụ hoàn toàn hợp lý; loại thông tin này thường được cung cấp trên các trang dự báo thời tiết).

Như chúng ta nhớ, bảng này có khóa tổng hợp Ngày+Thời gian trong ngày. Trường Nhiệt độ hoàn toàn phụ thuộc vào khóa chính - không có vấn đề gì với nó. Nhưng trường Mặt trời mọc chỉ phụ thuộc vào trường Ngày. Thời gian trong ngày không ảnh hưởng đến thời điểm mặt trời mọc.

Ở đây thật thích hợp để đặt câu hỏi: ý nghĩa thực tế của 2NF là gì? Lợi ích của những hạn chế này là gì? Hóa ra nó lớn. Giả sử trong ví dụ trên, nhà phát triển bỏ qua các yêu cầu 2NF. Đầu tiên, cái gọi là - lưu trữ dữ liệu không cần thiết. Rốt cuộc, nếu đối với một bản ghi có ngày nhất định, thời gian mặt trời mọc đã được lưu trữ, thì đối với tất cả các bản ghi khác có ngày nhất định, thời gian mặt trời mọc sẽ giống nhau và nói chung là không cần phải lưu trữ nó.

Chúng ta hãy chú ý đến từ “nên”. Nếu không thì sao? Rốt cuộc, ở cấp cơ sở dữ liệu, điều này không được kiểm soát theo bất kỳ cách nào - khóa trong bảng là tổng hợp, có thể có các ngày giống hệt nhau (và về mặt ý nghĩa rất có thể sẽ có). Và không có hạn chế chính thức nào (và sự hiểu biết của chúng tôi rằng “điều này không thể xảy ra” không phải là một trong số đó) cấm chỉ ra các thời điểm mặt trời mọc khác nhau trong cùng một ngày.

Dạng chuẩn thứ ba (3NF)

Một bảng được cho là ở dạng 3NF nếu nó là 2NF và tất cả các cột không khóa đều độc lập với nhau.

Sự phụ thuộc lẫn nhau của các cột được hiểu một cách thuận tiện như sau: Các cột phụ thuộc lẫn nhau nếu không thể thay đổi một trong số chúng mà không thay đổi cột kia.

Hãy đưa ra một ví dụ về một bảng không có trong 3NF. Hãy xem xét một ví dụ về một cuốn sổ tay đơn giản để lưu trữ số điện thoại nhà của những người có lẽ sống ở các vùng khác nhau của đất nước.

Bảng này có sự phụ thuộc giữa các cột không khóa Thành phố và Mã Thành phố, do đó bảng không ở dạng 3NF.

Lưu ý rằng nhà phát triển xác định sự hiện diện của phần phụ thuộc trên bằng cách phân tích lĩnh vực chủ đề - không thể nhìn thấy sự xung đột như vậy bằng bất kỳ phương pháp chính thức nào. Khi thay đổi thuộc tính của vùng chủ đề, sự phụ thuộc giữa các cột có thể biến mất. Ví dụ: nếu các mã khác nhau được nhập trong cùng một thành phố (như 495 và 499 ở Moscow), các cột tương ứng không còn liên quan đến việc vi phạm yêu cầu 3NF.

Trong lý thuyết về cơ sở dữ liệu quan hệ, các dạng bậc cao hơn cũng được xem xét - dạng chuẩn Boyce-Codd, 4NF, 5NF và thậm chí cao hơn. Những hình thức này không có nhiều ý nghĩa thực tế và theo quy luật, các nhà phát triển luôn dừng lại ở 3NF.

Chuẩn hóa cơ sở dữ liệu

Chuẩn hóa là quá trình giảm các bảng cơ sở dữ liệu về dạng bình thường đã chọn. Theo quy luật, việc chuẩn hóa thành 2NF sẽ chuyển sang phân tách - chia một bảng thành nhiều bảng. Việc chuẩn hóa thành 3NF thường có thể được thực hiện bằng cách loại bỏ các cột phụ thuộc (được tính toán). Trong một số trường hợp, khi chuẩn hóa thành 3NF, bạn cũng phải thực hiện phân tách.

Cơ sở dữ liệu nhiều bảng, mối quan hệ giữa các bảng, khóa ngoại

Trong thực tế, cơ sở dữ liệu một bảng khá hiếm, vì từ quan điểm mô hình hóa cơ sở dữ liệu miền, sự hiện diện của một bảng có nghĩa là sự hiện diện của một thực thể. Ngược lại, sự hiện diện của một số thực thể thường có nghĩa là sự hiện diện của các kết nối giữa chúng.

Không đặt mục tiêu thiết kế cơ sở dữ liệu hoàn chỉnh, hãy xem xét một ví dụ cho phép chúng ta chứng minh mối quan hệ trong cơ sở dữ liệu nhiều bảng.

Giả sử chúng ta đang đối mặt với một ngôi trường trong đó có học sinh được chia thành các lớp và giáo viên dạy một số môn học nhất định. Chúng tôi phân biệt ngay bốn thực thể: học sinh, giáo viên, lớp học và đối tượng. Những thực thể này đã cung cấp cho chúng tôi bốn bảng.

Tiếp theo, chúng ta cần giải quyết vấn đề về thuộc tính thực thể - loại thông tin nào chúng ta sẽ lưu trữ. Vì ví dụ của chúng tôi chỉ nhằm mục đích trình diễn nên chúng tôi sẽ cố gắng giảm thiểu lượng thông tin được lưu trữ. Chúng tôi sẽ đồng ý lưu trữ họ và tên của mỗi học sinh, đối với lớp - số song song và chữ cái xác định lớp trong song song, đối với giáo viên - họ, tên và họ viết tắt, đối với môn học - chỉ tên của môn học đó .

Bây giờ chúng ta cần giải quyết vấn đề bằng khóa chính. Về cơ bản, bảng học sinh và giáo viên không có khóa, vì vậy chúng tôi sẽ đưa một khóa số thay thế vào đó - một số. Nói chung, các bảng lớp và vật phẩm đều có khóa. Trong bảng lớp, khóa là hỗn hợp, nó được hình thành bởi các thuộc tính Số song song + Chữ cái và trong bảng đối tượng, khóa đơn giản bao gồm một trường duy nhất - tên của đối tượng. Hãy nhớ lại rằng khi nói về khóa, chúng tôi đã đề cập rằng các khóa thay thế thường được thêm vào vì lý do hiệu quả, cố gắng loại bỏ các khóa phức hợp hoặc các trường khóa thuộc loại bất tiện, chẳng hạn như chuỗi. Đó là những gì chúng tôi sẽ làm. Hãy thêm một khóa số thay thế vào mỗi bảng.

Kết quả chúng ta sẽ nhận được bộ bảng sau tương ứng với các thực thể được mô tả.

Hiểu được lĩnh vực chủ đề mà chúng tôi đang giải quyết, chúng tôi biết rằng các thực thể của chúng tôi không tồn tại riêng lẻ - chúng được kết nối bởi các mối quan hệ nhất định mà chúng tôi đã nêu ở trên. Nhưng làm thế nào để kết nối chúng về mặt kỹ thuật? Ở đây bạn không thể làm gì nếu không giới thiệu các trường bổ sung và thậm chí cả các bảng bổ sung. Chúng ta hãy xem xét các mối quan hệ giữa các thực thể theo thứ tự.

Để chỉ định một học sinh vào một lớp nhất định, chúng tôi thêm một trường bổ sung Số lớp trong bảng “Học sinh”. (Rõ ràng là loại của nó phải hoàn toàn trùng khớp với loại của trường Số lớp trong bảng “Lớp”.) Bây giờ chúng ta có thể liên kết các bảng “Student” và “Class” bằng cách sử dụng các giá trị khớp của trường Số lớp (không phải ngẫu nhiên mà chúng ta đặt tên cho các trường này giống nhau, trong thực tế việc này thường được thực hiện để dễ dàng điều hướng các trường kết nối). Lưu ý rằng một bản ghi trong bảng “Lớp” có thể tương ứng với nhiều bản ghi trong bảng “Học sinh” (và trong thực tế rất có thể tương ứng - thật khó để tưởng tượng một lớp chỉ có một học sinh). Những bảng như vậy được cho là có liên quan bởi mối quan hệ “ một đến nhiều" Và trường Số lớp trong bảng “Student” được gọi là khóa ngoại. Như bạn có thể thấy, mục đích của khóa ngoại là liên kết các bảng. Lưu ý rằng khóa ngoại luôn đề cập đến khóa chính của bảng liên quan (tức là khóa ngoại nằm ở phía “nhiều”). Khóa chính liên kết với khóa ngoại được gọi là cha mẹ, mặc dù thuật ngữ này được sử dụng ít thường xuyên hơn.

Hãy minh họa điều này bằng một sơ đồ theo kiểu Microsoft Access (thông tin thêm về “Lược đồ dữ liệu” của Access được viết trong bài viết "Mô tả dữ liệu" 2).

Bây giờ chúng ta hãy nghĩ về giáo viên và môn học. Phân tích lĩnh vực chủ đề (đây là cách duy nhất - xét cho cùng, không thể rút ra được tình trạng thực sự từ chính mô hình chính thức), chúng tôi nhận thấy rằng kiểu kết nối giữa các thực thể “giáo viên” và “chủ đề” là khác nhau từ đó đã thảo luận ở trên. Suy cho cùng, không chỉ nhiều giáo viên có thể dạy một môn học mà một giáo viên có thể dạy nhiều môn học. Như vậy, giữa các thực thể này có một mối liên hệ “ nhiều nhiều" Ở đây bạn không thể làm gì nếu không giới thiệu các trường bổ sung (hãy thử!). Mối quan hệ nhiều-nhiều luôn được giải quyết bằng cách giới thiệu một bảng bổ sung. Cụ thể, chúng tôi tổ chức bảng “Giáo viên-Chủ đề”, có cấu trúc như sau:

Bảng “Giáo viên-Chủ đề”

Bảng này có khóa tổng hợp được hình thành từ hai trường của nó. Cả bảng “Giáo viên” và bảng “Chủ đề” đều có liên quan đến bảng này theo mối quan hệ một-nhiều (tất nhiên, trong cả hai trường hợp, “nhiều” đều nằm ở phía “Giáo viên-Chủ đề”). Theo đó, trong bảng “Giáo viên-Chủ đề” có hai khóa ngoại (cả hai đều là một phần của khóa chính tổng hợp, không bị cấm), dùng để liên kết với các bảng tương ứng.

Trong thực tế, ngoài các mối quan hệ “một-nhiều” và “nhiều-nhiều” được coi là còn có mối quan hệ “ một đối một" Từ quan điểm lý thuyết, mối quan hệ như vậy không được quan tâm, vì hai bảng được kết nối bằng mối quan hệ một-một luôn có thể được kết hợp đơn giản thành một. Tuy nhiên, trong cơ sở dữ liệu thực, mối quan hệ một-một được sử dụng để tối ưu hóa việc xử lý dữ liệu. Hãy để chúng tôi minh họa điều này bằng một ví dụ.

Giả sử chúng ta lưu trữ nhiều thông tin khác nhau về mọi người - dữ liệu từ tất cả các loại tài liệu, số điện thoại, địa chỉ, v.v. Rất có thể, hầu hết dữ liệu này sẽ rất hiếm khi được sử dụng. Và thường chúng ta chỉ cần họ, tên, họ và số điện thoại. Khi đó, việc tổ chức hai bảng và liên kết chúng theo mối quan hệ một-một là điều hợp lý. Lưu trữ thông tin được sử dụng thường xuyên trong một bảng (nhỏ) và phần còn lại trong một bảng khác. Đương nhiên, các bảng liên quan theo mối quan hệ một-một có cùng khóa chính.

Quy tắc toàn vẹn

Mô hình quan hệ xác định hai quy tắc chung về tính toàn vẹn của cơ sở dữ liệu: tính toàn vẹn của đối tượng và tính toàn vẹn tham chiếu.

Quy tắc toàn vẹn các đối tượng rất đơn giản. Nó yêu cầu các khóa chính của bảng không chứa giá trị null (null).

Quy tắc toàn vẹn tham chiếu yêu cầu khóa ngoại không chứa các giá trị không nhất quán với khóa cha của chúng. Quay lại ví dụ đã thảo luận ở trên, chẳng hạn, chúng ta phải yêu cầu rằng học sinh chỉ thuộc về lớp có số được chỉ định trong bảng “Lớp”.

Hầu hết các DBMS đều có thể giám sát tính toàn vẹn của dữ liệu (tất nhiên, điều này đòi hỏi những nỗ lực tương ứng từ nhà phát triển ở giai đoạn mô tả cấu trúc dữ liệu). Đặc biệt, các cơ chế được sử dụng để duy trì tính toàn vẹn tham chiếu đổ xuống hoạt động. Đặc biệt, phân tầng ngụ ý rằng khi xóa một bản ghi khỏi bảng "cha" được kết nối với bảng khác bằng mối quan hệ một-nhiều, tất cả các bản ghi liên quan sẽ tự động bị xóa khỏi bảng "nhiều" (bởi chính DBMS, không có sự can thiệp của người dùng). Và điều này là tự nhiên, bởi vì những hồ sơ như vậy “treo lơ lửng trên không”; chúng không còn liên kết với bất cứ thứ gì nữa.

Lập chỉ mục

Việc lập chỉ mục là cực kỳ quan trọng xét từ quan điểm ứng dụng thực tế, nhưng lại mang tính tùy chọn xét từ quan điểm lý thuyết thuần túy. Mục đích chính của việc lập chỉ mục là tối ưu hóa (tăng tốc) tìm kiếm (và theo đó là một số thao tác khác với cơ sở dữ liệu). Việc lập chỉ mục trong mọi trường hợp đều yêu cầu tài nguyên bổ sung (các tệp chỉ mục đặc biệt thường được tạo ở cấp độ vật lý). Việc lập chỉ mục thậm chí có thể làm chậm các hoạt động liên quan đến sửa đổi dữ liệu; do đó, các bảng hiếm khi được sửa đổi và được tìm kiếm thường xuyên thường được lập chỉ mục.

Tệp chỉ mục rất giống với tệp chỉ mục sách thông thường. Đối với mỗi giá trị chỉ mục, một danh sách các hàng trong bảng chứa giá trị đó sẽ được lưu trữ. Theo đó, để tìm kiếm, bạn không cần phải xem qua toàn bộ bảng - chỉ cần nhìn vào chỉ mục. Tuy nhiên, khi sửa đổi bản ghi, bạn có thể cần phải xây dựng lại chỉ mục. Và điều này cần thêm thời gian.

Tất nhiên, không cần phải trình bày lý thuyết về cơ sở dữ liệu quan hệ như một phần của khóa học khoa học máy tính cơ bản! Tuy nhiên, bài viết này rất quan trọng đối với bộ bách khoa toàn thư của chúng ta, vì trong trường hợp này chúng ta đang xử lý những tài liệu không thể trình bày đầy đủ trong bài học mà giáo viên phải nắm vững nó. Tại sao?

Thứ nhất, vì một số khái niệm được nghiên cứu trong khuôn khổ khóa học cơ bản. Điều này bao gồm chế độ xem bảng của dữ liệu và các phím bảng. Và tất cả chúng ta đều biết rằng rất khó để trình bày chính xác và chính xác chỉ một số khái niệm mà không trình bày được bức tranh tổng thể.

Thứ hai, thực hiện các truy vấn cơ sở dữ liệu đơn giản với trẻ em (tài liệu liên quan được trình bày trong bài viết "Xử lí dữ liệu" 2), cần phải xử lý các bảng đúng theo quan điểm của lý thuyết quan hệ. Không cần phải giải thích cho học sinh rằng các bảng này đúng, nhưng “nếu…, thì bảng đó sẽ sai”, nhưng việc sử dụng những ví dụ xấu là không thể chấp nhận được.

Trong một khóa học khoa học máy tính chuyên ngành, tình hình có thể khác về cơ bản. Hình thức làm việc quan trọng nhất và cực kỳ hiệu quả trong các lớp học chuyên biệt là làm việc theo dự án. Là một phần của các dự án giáo dục, việc phát triển cơ sở dữ liệu đơn giản là có thể và cần thiết, và ở đây người ta không thể làm gì nếu không có nền tảng lý thuyết được trình bày. Tuy nhiên, những điều sau đây phải được tính đến:

Các lĩnh vực chủ đề được mô hình hóa không nên quá lớn;

Chúng phải rất quen thuộc với học sinh (theo nghĩa này, dự án “Trường học” mà mọi người đã khá chán ngấy không phải là lựa chọn tồi tệ nhất!);

Thật là ngây thơ khi hy vọng rằng sau khi nghe những kiến ​​thức cơ bản về lý thuyết, học sinh sẽ có thể tự thiết kế được một thứ gì đó. Bạn cần phải cùng họ thực hiện từng bước, biện minh chi tiết cho hành động của mình.

2. Nguyên tắc của mô hình quan hệ

Nguyên tắc của mô hình cơ sở dữ liệu quan hệ, quan hệ, bảng, tập kết quả, bộ, số lượng, thuộc tính, thứ nguyên, tiêu đề, nội dung, miền

Mô hình quan hệ được phát triển vào cuối những năm 1960 bởi E.F. Codd (một nhân viên của IBM) và xuất bản vào năm 1970. Nó xác định cách thức biểu diễn dữ liệu (cấu trúc dữ liệu), các phương pháp bảo vệ dữ liệu (tính toàn vẹn của dữ liệu) và các hoạt động có thể được thực hiện trên dữ liệu (thao tác dữ liệu).

Mô hình quan hệ không phải là mô hình duy nhất có thể được sử dụng khi làm việc với dữ liệu. Ngoài ra còn có mô hình phân cấp, mô hình mạng, mô hình sao, v.v. Tuy nhiên, mô hình quan hệ tỏ ra thuận tiện nhất và do đó hiện được sử dụng rộng rãi nhất.

Các nguyên tắc cơ bản của cơ sở dữ liệu quan hệ có thể được xây dựng như sau:

· Tất cả dữ liệu ở mức khái niệm được biểu diễn dưới dạng tổ chức có trật tự, được xác định dưới dạng hàng và cột và được gọi là mối quan hệ. Một từ đồng nghĩa phổ biến hơn với từ “mối quan hệ” là một bảng (hoặc “tập bản ghi” hoặc tập kết quả. Đây là nguồn gốc của thuật ngữ “cơ sở dữ liệu quan hệ” chứ không hề từ mối quan hệ giữa các bảng;

· tất cả các giá trị đều là vô hướng. Điều này có nghĩa là đối với bất kỳ hàng và cột nào của bất kỳ mối quan hệ nào, đều có một và chỉ một giá trị;

· Tất cả các thao tác được thực hiện trên toàn bộ quan hệ và kết quả của các thao tác này cũng là toàn bộ quan hệ. Nguyên tắc này được gọi là đóng cửa. Do đó, kết quả của một thao tác (ví dụ: truy vấn) có thể được sử dụng làm đầu vào để thực hiện thao tác khác (truy vấn con).

Bây giờ - về thuật ngữ chính thức:

· thái độ(quan hệ) là toàn bộ cấu trúc, một tập hợp các bản ghi (theo nghĩa thông thường - một bảng).

· đoàn xe hộ tống là mỗi hàng chứa dữ liệu. Một thuật ngữ phổ biến hơn nhưng ít trang trọng hơn là ký hiệu.

· quyền lực- số lượng bộ trong quan hệ (nói cách khác là số lượng bản ghi);

· thuộc tính là một cột trong quan hệ;

· kích thước- là số thuộc tính trong quan hệ (trong trường hợp này - 3);

Mỗi mối quan hệ có thể được chia thành hai phần - tiêu đềthân hình. Trong ngôn ngữ đơn giản, phần đầu của một mối quan hệ là một danh sách các cột và phần thân là các bản ghi (bộ dữ liệu).

· trong ví dụ của chúng tôi, tên của mỗi cột (thuộc tính) bao gồm hai từ cách nhau bằng dấu hai chấm. Theo định nghĩa chính thức, phần đầu tiên là tên thuộc tính(tên cột) và phần thứ hai là lãnh địa(loại dữ liệu mà cột dữ liệu đại diện). Các khái niệm "miền" và "kiểu dữ liệu" không tương đương với nhau. Trong thực tế, tên miền thường bị bỏ qua.

· Phần thân của quan hệ bao gồm một tập các bộ không có thứ tự (số của nó có thể là bất kỳ - từ 0 đến lớn vô hạn).

Mô hình dữ liệu là một tập hợp các cấu trúc dữ liệu và hoạt động để xử lý chúng. Bằng cách sử dụng mô hình dữ liệu, bạn có thể biểu diễn trực quan cấu trúc của các đối tượng và mối quan hệ được thiết lập giữa chúng. Thuật ngữ mô hình dữ liệu được đặc trưng bởi các khái niệm về “phần tử dữ liệu” và “quy tắc ràng buộc”. Phần tử dữ liệu mô tả bất kỳ tập hợp dữ liệu nào và các quy tắc kết hợp xác định các thuật toán để kết nối các phần tử dữ liệu. Cho đến nay, nhiều mô hình dữ liệu khác nhau đã được phát triển, nhưng trên thực tế có ba mô hình chính được sử dụng. Có các mô hình dữ liệu phân cấp, mạng và quan hệ. Theo đó, họ nói về các DBMS phân cấp, mạng và quan hệ.

O Mô hình dữ liệu phân cấp. Dữ liệu được tổ chức theo cấp bậc rất phổ biến trong cuộc sống hàng ngày. Ví dụ, cấu trúc của một cơ sở giáo dục đại học là cấu trúc phân cấp nhiều cấp độ. Cơ sở dữ liệu phân cấp (cây) bao gồm một tập hợp các phần tử được sắp xếp theo thứ tự. Trong mô hình này, các phần tử ban đầu tạo ra các phần tử khác và các phần tử này lần lượt tạo ra các phần tử tiếp theo. Mỗi phần tử con chỉ có một phần tử cha.

Cơ cấu tổ chức, danh sách tài liệu, mục lục trong sách, kế hoạch dự án và nhiều bộ dữ liệu khác có thể được trình bày dưới dạng phân cấp. Tính toàn vẹn của mối liên kết giữa tổ tiên và con cháu được duy trì một cách tự động. Nguyên tắc cơ bản: không đứa trẻ nào có thể tồn tại nếu không có cha mẹ của nó.

Nhược điểm chính của mô hình này là cần phải sử dụng hệ thống phân cấp làm cơ sở cho cơ sở dữ liệu trong quá trình thiết kế. Nhu cầu tổ chức lại dữ liệu liên tục (và thường là không thể tổ chức lại được) đã dẫn đến việc tạo ra một mô hình tổng quát hơn - mô hình mạng.

O Mô hình dữ liệu mạng. Cách tiếp cận mạng để tổ chức dữ liệu là một phần mở rộng của cách tiếp cận phân cấp. Mô hình này khác với mô hình phân cấp ở chỗ mỗi phần tử được tạo có thể có nhiều phần tử tạo. ■

Do cơ sở dữ liệu mạng có thể biểu diễn trực tiếp tất cả các loại mối quan hệ vốn có trong dữ liệu của tổ chức tương ứng nên dữ liệu này có thể được điều hướng, khám phá và truy vấn theo nhiều cách khác nhau, nghĩa là mô hình mạng không bị ràng buộc bởi chỉ một hệ thống phân cấp. Tuy nhiên, để đưa ra yêu cầu đối với cơ sở dữ liệu mạng, cần phải đi sâu vào cấu trúc của nó (có sẵn lược đồ của cơ sở dữ liệu này) và phát triển cơ chế điều hướng cơ sở dữ liệu, đây là một nhược điểm đáng kể của mô hình cơ sở dữ liệu này. .

O Mô hình dữ liệu quan hệ. Ý tưởng cơ bản của mô hình dữ liệu quan hệ là biểu diễn bất kỳ tập hợp dữ liệu nào dưới dạng bảng hai chiều. Ở dạng đơn giản nhất, mô hình quan hệ mô tả một bảng hai chiều, nhưng thường thì mô hình này mô tả cấu trúc và mối quan hệ giữa một số bảng khác nhau.

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

Vì vậy, mục đích của hệ thống thông tin là xử lý dữ liệu Về các đối tượng thế giới thực, có tính đến kết nối giữa các vật thể. Trong lý thuyết cơ sở dữ liệu, dữ liệu thường được gọi là thuộc tính và các đối tượng - các thực thể.Đối tượng, thuộc tính và kết nối là những khái niệm cơ bản của I.S.

Một đối tượng(hoặc bản chất) là cái gì đó tồn tại và có thể phân biệt được, nghĩa là, một đối tượng có thể được gọi là “thứ gì đó” mà có tên và cách để phân biệt đối tượng tương tự này với đối tượng khác. Ví dụ, mỗi trường học là một đối tượng. Đối tượng cũng là một người, một lớp học ở trường, một công ty, một hợp kim, một hợp chất hóa học, v.v. Đối tượng có thể không chỉ là đối tượng vật chất mà còn là những khái niệm trừu tượng hơn phản ánh thế giới thực. Ví dụ: sự kiện, khu vực, tác phẩm nghệ thuật; sách (không phải dưới dạng sản phẩm in mà dưới dạng tác phẩm), vở kịch, phim; quy phạm pháp luật, lý thuyết triết học, v.v.

Thuộc tính(hoặc được cho)- đây là một chỉ báo nhất định đặc trưng cho một đối tượng nhất định và lấy một số, văn bản hoặc giá trị khác nhất định cho một phiên bản cụ thể của đối tượng. Hệ thống thông tin hoạt động với các tập đối tượng được thiết kế liên quan đến một lĩnh vực chủ đề nhất định, sử dụng các giá trị thuộc tính(dữ liệu) của một số đối tượng nhất định. Ví dụ: hãy lấy các lớp trong trường học làm một tập hợp các đồ vật. Số lượng học sinh trong một lớp là một mốc có giá trị bằng số (một lớp có 28, lớp khác có 32). Tên lớp là tên cho sẵn có giá trị văn bản (một tên có 10A, tên khác có 9B, v.v.).

Sự phát triển của cơ sở dữ liệu quan hệ bắt đầu vào cuối những năm 60, khi những tác phẩm đầu tiên được thảo luận xuất hiện; khả năng sử dụng các cách trình bày dữ liệu quen thuộc và tự nhiên - cái gọi là mô hình dữ liệu dạng bảng - khi thiết kế cơ sở dữ liệu.

Người sáng lập lý thuyết về cơ sở dữ liệu quan hệ được coi là nhân viên của IBM, Tiến sĩ E. Codd, người đã xuất bản một bài báo vào ngày 6 tháng 6 năm 1970 Mô hình dữ liệu quan hệ cho các ngân hàng dữ liệu được chia sẻ lớn(Mô hình dữ liệu quan hệ cho các ngân hàng dữ liệu tập thể lớn). Bài viết này là bài viết đầu tiên sử dụng thuật ngữ “mô hình dữ liệu quan hệ”. Lý thuyết về cơ sở dữ liệu quan hệ, được phát triển vào những năm 70 ở Hoa Kỳ bởi Tiến sĩ E. Codd, có cơ sở toán học mạnh mẽ mô tả các quy tắc để tổ chức dữ liệu một cách hiệu quả. Khung lý thuyết do E. Codd phát triển đã trở thành cơ sở cho sự phát triển lý thuyết về thiết kế cơ sở dữ liệu.

E. Codd, vốn là một nhà toán học được đào tạo bài bản, đã đề xuất sử dụng bộ máy lý thuyết tập hợp (hợp, giao, sai, tích Descartes) để xử lý dữ liệu. Ông đã chứng minh rằng bất kỳ tập hợp dữ liệu nào cũng có thể được biểu diễn dưới dạng bảng hai chiều thuộc loại đặc biệt, được gọi trong toán học là “quan hệ”.

quan hệ Cơ sở dữ liệu được coi là cơ sở dữ liệu trong đó tất cả dữ liệu được trình bày cho người dùng dưới dạng bảng hình chữ nhật chứa các giá trị dữ liệu và tất cả các thao tác trên cơ sở dữ liệu được giảm xuống thành các thao tác với bảng.

Bảng bao gồm cột (trường)dòng (hồ sơ); có một tên duy nhất trong cơ sở dữ liệu. Bàn phản ánh Loại đối tượng thế giới thực (thực thể), và mỗi cô ấy chuỗi là một đối tượng cụ thể. Mỗi cột trong bảng là một tập hợp các giá trị cho một thuộc tính cụ thể của một đối tượng. Các giá trị được chọn từ tập hợp tất cả các giá trị có thể có cho một thuộc tính đối tượng, được gọi là lãnh địa.

Ở dạng tổng quát nhất, một miền được xác định bằng cách chỉ định một số loại dữ liệu cơ sở mà các phần tử của miền thuộc về và một biểu thức Boolean tùy ý được áp dụng cho các phần tử dữ liệu. Nếu bạn đánh giá điều kiện Boolean trên một mục dữ liệu và kết quả là đúng thì mục đó thuộc về miền. Trong trường hợp đơn giản nhất, một miền được định nghĩa là một tập hợp các giá trị tiềm năng hợp lệ cùng loại. Ví dụ: việc thu thập ngày sinh của tất cả nhân viên tạo thành “miền ngày sinh” và tên của tất cả nhân viên tạo thành “miền tên nhân viên”. Miền ngày sinh phải có kiểu dữ liệu thời điểm và miền tên nhân viên phải có kiểu dữ liệu ký tự.

Nếu hai giá trị đến từ cùng một miền thì có thể thực hiện so sánh giữa hai giá trị đó. Ví dụ: nếu hai giá trị được lấy từ miền ngày sinh, bạn có thể so sánh chúng và xác định nhân viên nào lớn tuổi hơn. Nếu các giá trị được lấy từ các miền khác nhau thì việc so sánh chúng là không được phép, vì rất có thể, điều đó không có ý nghĩa. Ví dụ, sẽ không có gì chắc chắn khi so sánh tên và ngày sinh của nhân viên.

Mỗi cột (trường) có một tên, thường được viết ở đầu bảng. Khi thiết kế các bảng trong một DBMS cụ thể, có thể chọn cho từng trường kiểu, nghĩa là xác định một bộ quy tắc để hiển thị nó, cũng như xác định các thao tác có thể được thực hiện trên dữ liệu được lưu trữ trong trường này. Các tập hợp kiểu có thể khác nhau giữa các DBMS khác nhau.

Tên trường phải là duy nhất trong bảng, nhưng các bảng khác nhau có thể có các trường có cùng tên. Bất kỳ bảng nào cũng phải có ít nhất một trường; Các trường được đặt trong bảng theo thứ tự tên của chúng xuất hiện khi nó được tạo. Không giống như các trường, chuỗi không có tên; thứ tự của chúng trong bảng không được xác định và số lượng của chúng là không giới hạn về mặt logic.

Vì các hàng trong bảng không được sắp xếp theo thứ tự nên không thể chọn một hàng theo vị trí của nó - không có hàng “đầu tiên”, “thứ hai” hoặc “cuối cùng” trong số đó. Bất kỳ bảng nào cũng có một hoặc nhiều cột, các giá trị trong đó xác định duy nhất từng hàng của nó. Một cột như vậy (hoặc sự kết hợp của các cột) được gọi là khóa chính. Một trường nhân tạo thường được đưa vào các bản ghi số trong một bảng. Ví dụ, một trường như vậy có thể là trường thứ tự của nó, có thể đảm bảo tính duy nhất của mỗi bản ghi trong bảng. Khóa phải có các thuộc tính sau.

Tính độc đáo. Tại bất kỳ thời điểm nào, không có hai bộ quan hệ khác nhau có cùng giá trị cho sự kết hợp các thuộc tính có trong khóa. Tức là không thể có hai hàng trong bảng có cùng số căn cước hoặc số hộ chiếu.

Chủ nghĩa tối giản. Không có thuộc tính nào có trong khóa có thể bị loại khỏi khóa mà không vi phạm tính duy nhất. Điều này có nghĩa là bạn không nên tạo khóa bao gồm cả số hộ chiếu và số nhận dạng. Chỉ cần sử dụng bất kỳ thuộc tính nào trong số này để xác định duy nhất một bộ dữ liệu là đủ. Bạn cũng không nên đưa thuộc tính không phải duy nhất vào khóa, tức là cấm sử dụng kết hợp số nhận dạng và tên nhân viên làm khóa. Bằng cách loại trừ tên nhân viên khỏi khóa, mỗi hàng vẫn có thể được xác định duy nhất.

Mọi quan hệ đều có ít nhất một khóa khả dĩ, vì tổng tất cả các thuộc tính của nó thỏa mãn điều kiện duy nhất - điều này xuất phát từ chính định nghĩa của quan hệ.

Một trong những chìa khóa có thể được chọn ngẫu nhiên trong làm khóa chính. Các khóa có thể còn lại, nếu có, được lấy làm các phím thay thế. Ví dụ: nếu bạn chọn số nhận dạng làm khóa chính thì số hộ chiếu sẽ là khóa thay thế.

Mối quan hệ của các bảng là thành phần quan trọng nhất của mô hình dữ liệu quan hệ. Nó được hỗ trợ khóa ngoại.

Khi mô tả một mô hình cơ sở dữ liệu quan hệ, các thuật ngữ khác nhau thường được sử dụng cho cùng một khái niệm, tùy thuộc vào mức độ mô tả (lý thuyết hoặc thực hành) và hệ thống (Access, SQL Server, dBase). Trong bảng 2.3 cung cấp bản tóm tắt các thuật ngữ được sử dụng.

Bảng 2.3. Thuật ngữ cơ sở dữ liệu

Lý thuyết cơ sở dữ liệu____________ Cơ sở dữ liệu quan hệ_________ SQL Server __________

Bảng bảng quan hệ

Hàng bản ghi Tuple

Trường thuộc tính______________Cột

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

Cơ sở dữ liệu quan hệ là tập hợp các mối quan hệ chứa tất cả thông tin phải được lưu trữ trong cơ sở dữ liệu. Nghĩa là cơ sở dữ liệu đại diện cho một tập hợp các bảng cần thiết để lưu trữ tất cả dữ liệu. Các bảng của cơ sở dữ liệu quan hệ có liên quan logic với nhau. Các yêu cầu để thiết kế cơ sở dữ liệu quan hệ nói chung có thể được rút gọn thành một số quy tắc.

О Mỗi bảng có một tên duy nhất trong cơ sở dữ liệu và bao gồm các hàng cùng loại.

O Mỗi bảng bao gồm một số cột và giá trị cố định. Không thể lưu trữ nhiều giá trị trong một cột hàng. Ví dụ: nếu có một bảng chứa thông tin về tác giả, ngày xuất bản, số phát hành, v.v. thì cột có tên tác giả không thể lưu trữ nhiều hơn một họ. Nếu cuốn sách được viết bởi hai hoặc nhiều tác giả, bạn sẽ phải sử dụng các bảng bổ sung.

O Sẽ không bao giờ có hai hàng trong bảng trùng lặp với nhau. Các hàng phải khác nhau ít nhất một giá trị để có thể nhận dạng duy nhất bất kỳ hàng nào trong bảng.

О Mỗi cột được gán một tên duy nhất trong bảng; một loại dữ liệu cụ thể được đặt cho nó để các giá trị đồng nhất được đặt trong cột này (ngày, họ, số điện thoại, số tiền, v.v.).

O Nội dung thông tin đầy đủ của cơ sở dữ liệu được biểu diễn dưới dạng các giá trị rõ ràng của chính dữ liệu đó và đây là phương pháp biểu diễn duy nhất. Ví dụ: mối quan hệ giữa các bảng dựa trên dữ liệu được lưu trữ trong các cột tương ứng chứ không dựa trên bất kỳ con trỏ nào xác định mối quan hệ một cách giả tạo.

О Khi xử lý dữ liệu, bạn có thể tự do truy cập vào bất kỳ hàng hoặc cột nào của bảng. Các giá trị được lưu trữ trong bảng không áp đặt bất kỳ hạn chế nào đối với thứ tự truy cập dữ liệu. Mô tả các cột,

II. Mô hình mạng

III. Mô hình quan hệ

ghicánh đồng

thứ bậcmô hình mạng khóa ngoại


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

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

* Thái độ

* Thuộc tính cột (trường) những cái bàn.

* Loại dữ liệu

* Sự liên quan chìa khóa.

* Một hiệp hội

Chủ yếu chức năng RDBMS là:

· Định nghĩa dữ liệu

· Xử lí dữ liệu

· Quản lý dữ liệu

Microsoft truy cập

Cửa sổ cơ sở dữ liệu trong Access



Các phương thức làm việc với đối tượng

Các nút để làm việc với các đối tượng cơ sở dữ liệu nằm trên Thanh công cụ của cửa sổ cơ sở dữ liệu:

Mở– cho phép bạn chuyển sang chế độ chỉnh sửa bảng, thực hiện truy vấn, tải biểu mẫu, xây dựng báo cáo, chạy macro.

Người xây dựng– cung cấp sự chuyển đổi sang chế độ cấu hình của đối tượng đã chọn.

Tạo nên– cho phép bạn bắt đầu tạo một đối tượng mới thuộc loại đã chọn.

7. Làm việc với bảng

Để tạo bảng, bạn cần vào danh sách bảng và nhấn nút Tạo nên . Một hộp thoại mới sẽ xuất hiện Bảng mới:

Bạn có thể tạo bảng trong Access theo một số cách:

· xây dựng một bảng mới "từ đầu" bằng cách sử dụng Nhà thiết kế;

· phóng Trình hướng dẫn bảng– một chương trình đặc biệt cung cấp khả năng tạo bảng ở chế độ từng bước dựa trên các giải pháp tiêu chuẩn có sẵn trong Access;

· nhập bảng cơ sở dữ liệu từ một tệp chương trình, ví dụ: FoxPro hoặc Excel.

Chỉ định tên trường

Tên trường được chỉ định trong cột Tên trường. Tên có thể chứa tối đa 64 ký tự, cho phép bất kỳ ký tự nào ngoại trừ dấu chấm, dấu chấm than và dấu ngoặc nhọn. Không được phép lặp lại tên trường.

Định nghĩa kiểu dữ liệu

Đối với mỗi trường, bạn phải chỉ định loại dữ liệu chứa trong đó. Kiểu dữ liệu được chọn từ danh sách có thể được gọi lên bằng cách nhấp vào cột Loại dữ liệu. Access hoạt động trên các kiểu dữ liệu sau:

Ø Chữ– để lưu trữ văn bản thuần túy với số ký tự tối đa là 255.

Ø trường MEMO– để lưu trữ số lượng lớn văn bản lên tới 65.535 ký tự.

Ø Số- để lưu trữ số thực.

Ø Ngày giờ- để lưu trữ ngày dương lịch và thời gian hiện tại.

Ø Tiền tệ– những trường này chứa số tiền.

Ø Quầy tính tiền– để xác định khóa hệ thống duy nhất của bảng. Thường được sử dụng để đánh số thứ tự các bản ghi. Khi một bản ghi mới được thêm vào bảng, giá trị của trường này sẽ tăng thêm 1 (một). Các giá trị trong các trường như vậy không được cập nhật.

Ø Logic – để lưu trữ dữ liệu có giá trị: Có hoặc Không.

Ø Trường đối tượng OLE– để lưu trữ các đối tượng được tạo trong các ứng dụng khác.

Mô tả thuộc tính trường

Như đã lưu ý, đặc điểm của các trường riêng lẻ được xác định trong vùng thuộc tính trường (tab Là phổ biến). Mỗi trường có một tập hợp thuộc tính cụ thể, tùy thuộc vào loại trường. Một số loại trường có bộ thuộc tính trường tương tự. Các thuộc tính chính của các trường được liệt kê dưới đây.

Ø Kích thước trường– độ dài tối đa của trường văn bản (50 ký tự mặc định) hoặc loại dữ liệu của trường số. Bạn nên đặt thuộc tính này ở giá trị tối thiểu có thể vì kích thước dữ liệu nhỏ hơn được xử lý nhanh hơn.

Nếu kiểu dữ liệu là số thì cho phép các giá trị thuộc tính sau Kích thước trường:

Bình luận. Nếu trường được chuyển đổi sang kích thước nhỏ hơn, có thể xảy ra mất dữ liệu.

Ø Định dạng trường– định dạng để hiển thị dữ liệu trên màn hình hoặc in ấn. Thông thường, định dạng mặc định được sử dụng.

Ø Số chữ số thập phân– đặt số vị trí thập phân sau dấu thập phân cho kiểu dữ liệu số và tiền tệ.

Ø Mặt nạ– xác định hình thức nhập dữ liệu vào trường (công cụ tự động hóa nhập dữ liệu).

Ø Chữ ký– chỉ định cho trường sẽ được sử dụng để hiển thị trường trong bảng, biểu mẫu hoặc báo cáo. Nếu giá trị này không được xác định, tên trường sẽ được lấy làm chữ ký.

Ø Giá trị mặc định– giá trị tiêu chuẩn được tự động nhập vào trường khi tạo bản ghi dữ liệu mới.

Ø Điều kiện về giá trị– đặt các hạn chế đối với các giá trị đã nhập, từ đó cho phép kiểm soát tính chính xác của việc nhập dữ liệu.

Ø Thông báo lỗi– đặt văn bản của thông báo hiển thị trên màn hình nếu điều kiện trên giá trị bị vi phạm.

Ø Trường bắt buộc– xác định xem trường này có thể chứa giá trị Null hay không (tức là vẫn trống) hoặc liệu dữ liệu có phải được nhập vào trường này hay không.

Ø Trường được lập chỉ mục– được sử dụng cho các hoạt động tìm kiếm và sắp xếp các bản ghi theo giá trị được lưu trữ trong trường này, cũng như để tự động loại bỏ các bản ghi trùng lặp. Các trường thuộc loại BẢN GHI NHỚ, đối tượng OLESiêu liên kết không thể lập chỉ mục.

Định nghĩa trường khóa

Sau khi chỉ định đặc điểm của tất cả các trường, bạn phải chọn ít nhất một trường khóa. Theo quy định, các trường có dữ liệu không lặp lại được chỉ định làm trường khóa hoặc trường có kiểu dữ liệu được tạo Quầy tính tiền . Trong mọi trường hợp, trường khóa không được chứa dữ liệu trùng lặp. Để xác định khóa, bạn cần chọn trường (hoặc các trường) mong muốn và nhấp vào nút Trường khóa Biên tập . Hình ảnh của một phím sẽ xuất hiện ở bên trái điểm đánh dấu.

Lưu một bảng

Trước khi nhập thông tin phải lưu lại bảng đã thiết kế: nhấn nút Cứu trên thanh công cụ hoặc lệnh tương ứng trong p.m. Tài liệu và nhập tên của bảng, sau đó câu hỏi “Tạo trường khóa ngay bây giờ?” sẽ xuất hiện trên màn hình. (Có hay không)

Nếu câu trả lời là " Đúng" thì Access sẽ tự động tạo một trường có tên "Code" và kiểu dữ liệu Quầy tính tiền , Nếu như " KHÔNG", thì bảng sẽ được tạo mà không có trường khóa. Trong trường hợp này, bạn cần mở bảng đã tạo ở chế độ Nhà thiết kế và xác định trường khóa theo cách thủ công.

Nhập dữ liệu

Để chuyển bảng sang chế độ nhập thông tin, bạn cần chuyển sang chế độ Những cái bàn. Các trường được điền tuần tự. Thật thuận tiện khi di chuyển từ trường này sang trường khác bằng phím Chuyển hướng(hoặc kết hợp Shift+Tab- Ở hướng ngược lại). Nếu bảng được thiết kế với các giá trị mặc định cho một số trường thì các giá trị này sẽ tự động xuất hiện trong các trường tương ứng. Các bản ghi trong bảng có thể được di chuyển, sao chép và xóa theo cách tương tự như trong bảng tính, nghĩa là trước tiên hãy chọn các hàng rồi thực hiện thao tác cần thiết. Bạn có thể chọn một cột bằng cách nhấp vào tiêu đề. Các cột có thể được di chuyển sang trái và phải bằng phương thức kéo và thả(kéo và thả).

Nếu cần, bạn có thể quay lại chế độ Nhà thiết kế. Điều này làm cho nó có thể sửa bất cứ điều gì trong cấu trúc bảng.

Sắp xếp dữ liệu trong bảng

Dữ liệu trong bảng có thể được sắp xếp theo thứ tự tăng dần hoặc giảm dần. Để thực hiện việc này, bạn cần đặt con trỏ chuột vào bất kỳ ô nào của cột, các giá trị của ô đó sẽ được sắp xếp từ chiều. bài viết chọn một đội Sắp xếp hoặc nhấp vào nút tương ứng trên bảng điều khiển.

8. Tạo kết nối giữa các bảng cơ sở dữ liệu

Mối quan hệ giữa các bảng được thiết lập bằng cách xác định trong một bảng ( cấp dưới) trường tương ứng với khóa của bảng khác ( chủ yếu). Mối quan hệ được thiết lập sẽ liên kết các bản ghi chứa cùng giá trị trong trường được chỉ định. Access sau này sẽ sử dụng các mối quan hệ đã tạo trong truy vấn, biểu mẫu hoặc báo cáo.

Ghi chú.

Ø Cả hai trường được liên kết phải giống nhau loại dữ liệu.

Ø Thuộc tính Kích thước trường cho cả hai trường được liên kết kiểu số nên giống nhau.

Ø Nếu trường khóa của bảng chính là trường có kiểu dữ liệu Quầy tính tiền, thì trường này có thể được liên kết với một trường số trong bảng phụ. Trong trường hợp này, đối với trường số của bảng liên kết cho thuộc tính Kích thước trường giá trị phải được chỉ định Số nguyên dài .

Toàn vẹn dữ liệu

Toàn vẹn dữ liệu là một bộ quy tắc duy trì tính chính xác của mối quan hệ giữa các bản ghi trong các bảng liên quan và bảo vệ dữ liệu khỏi những thay đổi hoặc xóa do vô tình.

Những quy tắc này bao gồm:

Ø Bạn không thể nhập các bản ghi vào bảng phụ không liên quan đến bản ghi trong bảng chính.

Ø Trong bảng chính, bạn không thể thay đổi giá trị của trường khóa nếu có bản ghi trong bảng phụ được liên kết với nó.

Ø Bạn không thể xóa các bản ghi trong bảng chính nếu có các bản ghi liên kết với nó trong bảng phụ.

Hoạt động xếp tầng

Tính toàn vẹn của dữ liệu trong các bảng liên quan được đảm bảo bởi hai loại hoạt động xếp tầng:

Ø hoạt động cập nhật tầng;

Ø hoạt động xóa tầng.

Bạn có thể bật hoặc tắt các thao tác này bằng cách chọn các hộp kiểm thích hợp: “Cập nhật xếp tầng các trường liên quan” và “Xóa xếp tầng các trường liên quan”.

Nếu hộp kiểm "Cập nhật xếp tầng các trường liên quan" được chọn thì mọi thay đổi đối với giá trị của trường khóa trong bảng chính nằm ở phía "một" của mối quan hệ 1:M sẽ tự động cập nhật các giá trị tương ứng trong tất cả các trường. hồ sơ liên quan.

Việc chọn hộp kiểm "Xóa xếp tầng các bảng liên quan" khi xóa một bản ghi khỏi bảng chính sẽ đảm bảo rằng các bản ghi liên quan trong các bảng phụ sẽ tự động bị xóa.

Xóa (thay đổi) kết nối

Ø Mở cửa sổ Lược đồ dữ liệu;

Ø kích hoạt bằng nút chuột trái kết nối cần xóa (đã thay đổi);

Ø nhấp chuột phải để mở menu ngữ cảnh và chọn lệnh Xóa bỏ (Thay đổi) tương ứng.

9. Các kiểu quan hệ giữa các bảng

Có ba loại mối quan hệ giữa các bảng:

Một đối một (1:1). Giá trị khóa trong mỗi bản ghi trong bảng chính có thể có giá trị tương ứng trong trường liên kết chỉ trong một bản ghi trong bảng con. Trong trường hợp này, mối quan hệ giữa các bảng chỉ có thể được thiết lập thông qua các trường khóa của cả hai bảng.

Một-nhiều (1:M). Một giá trị khóa trong mỗi bản ghi trong bảng chính có thể có các giá trị tương ứng trong (các) trường liên kết trong nhiều bản ghi trong bảng phụ. Loại mối quan hệ này thường được sử dụng trong cơ sở dữ liệu quan hệ.

Nhiều-nhiều (M:M). Xảy ra giữa hai bảng khi một bản ghi từ bảng đầu tiên A (mối quan hệ đầu ra) có thể được liên kết với nhiều bản ghi của bảng B khác (mối quan hệ nhận), ngược lại, một bản ghi từ bảng khác có thể được liên kết với nhiều bản ghi trong bảng đầu tiên. Lược đồ này chỉ được thực hiện với sự trợ giúp của bảng nối thứ ba, khóa liên kết của bảng này bao gồm ít nhất hai trường. Các trường này là các trường khóa ngoại trong bảng A và B. Khóa chính của bảng nối thường là sự kết hợp của các khóa ngoại.

Nếu có mối quan hệ loại M:M giữa các bảng, một bảng giao bổ sung sẽ được tạo, với sự trợ giúp của bảng này, mối quan hệ M:M sẽ được giảm xuống thành hai mối quan hệ loại 1:M. Access không cho phép bạn xác định mối quan hệ M:M trực tiếp giữa hai bảng.

10. Hình thành yêu cầu

Chạy một truy vấn

Để khởi chạy một yêu cầu thực thi từ một cửa sổ Nhà thiết kế Bạn cần nhấn vào nút trên thanh công cụ Phóng» ! hoặc chạy lệnh Yêu cầu/Chạy. Kết quả lựa chọn dữ liệu truy vấn được hiển thị trên màn hình ở chế độ bảng.

Hình thành điều kiện tuyển chọn

Danh sách các toán tử được sử dụng khi chỉ định biểu thức như sau:

Ø toán tử so sánh:


= (bằng)

<> (không công bằng)

> (hơn)

>= (không ít hơn)

< (ít hơn)

<= (không nhiều hơn)


GIỮA– cho phép bạn thiết lập một loạt các giá trị. Cú pháp: Giữa"Sự biểu lộ" "Biểu hiện" (ví dụ: GIỮA 10 20 có nghĩa giống như biểu thức Boolean >= 10 VÀ<= 20).

TRONG– cho phép bạn chỉ định danh sách các giá trị dùng để so sánh (toán hạng là danh sách được đặt trong ngoặc đơn). Ví dụ: TRONG(“Brest”, “Minsk”, “Grodno”) có nghĩa giống như biểu thức logic “Brest” HOẶC"Minsk" HOẶC"Grodno".

Ø trêu ghẹo não toán tử:

(ví dụ: >=10 VÀ<=20)

HOẶC(Ví dụ:<50 OR >100)

KHÔNG(ví dụ: Is Not Null – trường chứa giá trị).

Ø toán tử GIỐNG– kiểm tra sự tuân thủ chữ hoặc Trường ghi nhớ theo một mẫu ký tự nhất định.

Bảng ký tự mẫu

Ví dụ về việc sử dụng toán tử Giống:

NHƯ "C*"– dòng bắt đầu bằng ký hiệu C;

THÍCH "[A - Z] #"– bất kỳ ký hiệu nào từ A đến Z và một số;

THÍCH "[! 0 - 9 ABC] * # #"– dòng bắt đầu bằng bất kỳ ký tự nào không phải là số hoặc các chữ cái A, B, C và kết thúc bằng 2 chữ số;

Tiêu chí lấy mẫu phức tạp

Thông thường, bạn phải chọn các bản ghi theo một điều kiện được đặt cho một số trường bảng hoặc theo một số điều kiện cho một trường. Trong trường hợp này áp dụng "Tôi-truy vấn"(chỉ chọn bản ghi nếu tất cả các điều kiện được đáp ứng) và "HOẶC truy vấn"(chọn bản ghi khi đáp ứng ít nhất một trong các điều kiện).

Khi thiết lập " Truy vấn HOẶC» Mỗi điều kiện lựa chọn phải được đặt trên một dòng riêng biệt Mẫu yêu cầu.

Khi thiết lập " tôi-truy vấn» Mỗi điều kiện lựa chọn phải được đặt trên cùng một dòng nhưng ở các trường khác nhau Mẫu yêu cầu.

Những thao tác này có thể được chỉ định rõ ràng bằng cách sử dụng các toán tử HOẶC tương ứng.

Hàm Iif() và Format()

Chức năng IIf(điều kiện; ifTrue; ifFalse)– trả về một trong hai đối số tùy thuộc vào kết quả đánh giá biểu thức.

Chức năng Định dạng(biểu thức; hướng dẫn định dạng)– trả về một chuỗi chứa biểu thức được định dạng theo hướng dẫn định dạng.

Đối với biểu thức ngày giờ Bạn có thể sử dụng các ký tự sau trong hướng dẫn định dạng:

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

II. Mô hình mạng

III. Mô hình quan hệ

Trong mô hình quan hệ, thông tin được trình bày dưới dạng bảng hình chữ nhật. Mỗi bảng bao gồm các hàng và cột và có một tên duy nhất trong cơ sở dữ liệu. Lần lượt, mỗi dòng ( ghi) của bảng như vậy chỉ chứa thông tin liên quan đến một đối tượng cụ thể và mỗi cột ( cánh đồng) bảng có một tên duy nhất cho bảng của nó.

Cơ sở dữ liệu quan hệ (RDB), không giống như thứ bậcmô hình mạng, cho phép bạn tổ chức kết nối giữa các bảng bất kỳ lúc nào. Với mục đích này, RDB thực hiện một cơ chế khóa ngoại. Mỗi bảng cơ sở dữ liệu có ít nhất một trường dùng làm liên kết đến bảng khác. Trong thuật ngữ RDB, các trường như vậy được gọi là trường khóa ngoại. Sử dụng khóa ngoại, bạn có thể liên kết bất kỳ bảng cơ sở dữ liệu nào ở bất kỳ giai đoạn làm việc nào với cơ sở dữ liệu.


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

Cơ sở dữ liệu quan hệ (RDB) là tập hợp các bảng quan hệ hai chiều được liên kết với nhau một cách logic đơn giản nhất, bao gồm nhiều trường và bản ghi phản ánh một lĩnh vực chủ đề nhất định.

Mô hình dữ liệu quan hệ được đề xuất bởi E. Codd, một chuyên gia cơ sở dữ liệu nổi tiếng người Mỹ. Các khái niệm cơ bản của mô hình này được xuất bản lần đầu tiên vào năm 1970. Là một nhà toán học được đào tạo, Codd đề xuất sử dụng bộ máy lý thuyết tập hợp (hợp, giao, sai, tích Descartes) để xử lý dữ liệu. Ông đã chỉ ra rằng mọi cách biểu diễn dữ liệu đều được rút gọn thành một tập hợp các bảng hai chiều thuộc một loại đặc biệt, được gọi trong toán học là một mối quan hệ (trong tiếng Anh - quan hệ, do đó có tên - cơ sở dữ liệu quan hệ).

Một trong những ý tưởng chính của Codd là các kết nối giữa dữ liệu phải được thiết lập phù hợp với các mối quan hệ logic bên trong của chúng. Nguyên tắc quan trọng thứ hai do Codd đề xuất là trong các hệ thống quan hệ, một lệnh duy nhất có thể xử lý toàn bộ tệp dữ liệu, trong khi trước đây chỉ một bản ghi có thể được xử lý bằng một lệnh duy nhất.

Các khái niệm cơ bản về cơ sở dữ liệu quan hệ (RDB)

* Thái độ– thông tin về các đối tượng cùng loại, ví dụ như về khách hàng, đơn đặt hàng, nhân viên. Trong cơ sở dữ liệu quan hệ, mối quan hệ được lưu trữ dưới dạng bảng.

* Thuộc tính– một phần thông tin nhất định về một số đối tượng – ví dụ: địa chỉ của khách hàng hoặc mức lương của nhân viên. Thuộc tính này thường được lưu dưới dạng cột (trường) những cái bàn.

* Loại dữ liệu– một khái niệm trong mô hình quan hệ hoàn toàn tương đương với khái niệm tương ứng trong các ngôn ngữ thuật toán. Tập hợp các kiểu dữ liệu được hỗ trợ được xác định bởi DBMS và có thể khác nhau rất nhiều giữa các hệ thống.

* Sự liên quan– cách thức mà thông tin trong một bảng có liên quan đến thông tin trong bảng khác. Các mối quan hệ được thực hiện bằng cách sử dụng các trường phù hợp được gọi là chìa khóa.

* Một hiệp hội– Quá trình nối các bảng hoặc truy vấn dựa trên việc so khớp các giá trị của các thuộc tính nhất định.

Các quy tắc (chuẩn hóa) để xây dựng cơ sở dữ liệu quan hệ

Chuẩn hóa là một quá trình sắp xếp lại dữ liệu bằng cách loại bỏ các nhóm lặp lại và các mâu thuẫn khác nhằm đưa các bảng về dạng cho phép chỉnh sửa dữ liệu một cách nhất quán và chính xác. Mục tiêu cuối cùng của việc chuẩn hóa là đạt được một thiết kế cơ sở dữ liệu trong đó mỗi sự kiện chỉ xuất hiện ở một nơi, tức là. sự dư thừa thông tin được loại trừ.

1. Mỗi trường của bảng bất kỳ phải là duy nhất.

2. Mỗi bảng phải có một mã định danh duy nhất ( khóa chính), có thể bao gồm một hoặc nhiều trường bảng.

3. Đối với mỗi giá trị khóa chính, phải có một và chỉ một giá trị cho bất kỳ cột dữ liệu nào và giá trị đó phải liên quan đến đối tượng bảng (nghĩa là không được có dữ liệu nào trong bảng không liên quan đến đối tượng được xác định bởi khóa chính, nhưng Ngoài ra, thông tin trong bảng phải mô tả đầy đủ đối tượng).

4. Có thể thay đổi giá trị của bất kỳ trường nào (không có trong khóa chính) và điều này không đòi hỏi phải thay đổi trường khác (tức là không có trường được tính toán).

5. Hệ thống quản lý cơ sở dữ liệu (DBMS)

Cơ sở dữ liệu được duy trì trong môi trường máy tính bằng phần mềm - hệ thống quản lý cơ sở dữ liệu, là một tập hợp các công cụ ngôn ngữ và phần mềm chung hoặc chuyên dụng cần thiết để tạo cơ sở dữ liệu trên phương tiện máy, cập nhật chúng và tổ chức quyền truy cập của những người dùng khác nhau trong môi trường máy tính. điều kiện của công nghệ xử lý dữ liệu được áp dụng.

cơ sở dữ liệu - đây là các chương trình điều khiển cung cấp tất cả các thao tác với cơ sở dữ liệu: tạo cơ sở dữ liệu, bảo trì, sử dụng bởi nhiều người dùng, v.v., tức là chúng triển khai một bộ chức năng phức tạp để quản lý cơ sở dữ liệu tập trung và phục vụ lợi ích của người dùng.

DBMS có thể được coi là một lớp vỏ phần mềm nằm giữa cơ sở dữ liệu và người dùng. Nó cung cấp khả năng kiểm soát tập trung về bảo vệ và toàn vẹn dữ liệu, truy cập, xử lý dữ liệu, báo cáo dựa trên cơ sở dữ liệu cũng như các hoạt động và thủ tục khác.

Hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS)

Bộ công cụ để quản lý RDB được gọi là hệ thống quản lý cơ sở dữ liệu quan hệ , có thể chứa các tiện ích, ứng dụng, dịch vụ, thư viện, công cụ tạo ứng dụng và các thành phần khác. Bằng cách được liên kết thông qua các trường khóa chung, thông tin trong RDB có thể được kết hợp từ nhiều bảng thành một tập kết quả duy nhất.

Chủ yếu chức năng RDBMS là:

· Định nghĩa dữ liệu– thông tin nào sẽ được lưu trữ, thiết lập cấu trúc cơ sở dữ liệu và loại của chúng.

· Xử lí dữ liệu– bạn có thể chọn bất kỳ trường nào, sắp xếp và lọc dữ liệu. Bạn có thể kết hợp dữ liệu và tóm tắt.

· Quản lý dữ liệu- sửa và thêm dữ liệu.

6. Đặc điểm chung của ACCESS DBMS

Microsoft truy cập là một DBMS quan hệ hoàn chỉnh về mặt chức năng, cung cấp tất cả các công cụ cần thiết để xác định và xử lý dữ liệu cũng như quản lý chúng khi làm việc với khối lượng thông tin lớn. Các phiên bản khác nhau của nó là một phần của gói phần mềm MS Office và hoạt động trong môi trường Windows (3.11/95/98/2000/XP).

Cửa sổ cơ sở dữ liệu trong Access

Sau khi tạo tệp cơ sở dữ liệu mới hoặc mở tệp cơ sở dữ liệu hiện có trong không gian làm việc của cửa sổ Access, cửa sổ cơ sở dữ liệu xuất hiện:


Cơ sở dữ liệu (DB) -Đây là tập hợp dữ liệu có cấu trúc được đặt tên liên quan đến một lĩnh vực chủ đề cụ thể và được dùng để lưu trữ, tích lũy và xử lý bằng máy tính.

Cơ sở dữ liệu quan hệ (RDB) là tập hợp các quan hệ có tên trùng với tên của các quan hệ lược đồ trong lược đồ cơ sở dữ liệu.

Các khái niệm cơ bản Cơ sở dữ liệu quan hệ:

· Loại dữ liệu– loại giá trị của một cột cụ thể.

· Lãnh địa(miền) – tập hợp tất cả các giá trị thuộc tính hợp lệ.

· Thuộc tính(thuộc tính) – tiêu đề cột trong bảng mô tả thuộc tính được đặt tên của một đối tượng, ví dụ: họ của sinh viên, ngày đặt hàng, giới tính của nhân viên, v.v.

· đoàn tùy tùng– một hàng trong bảng biểu thị một tập hợp các giá trị của các thuộc tính có liên quan một cách logic.

· Thái độ(quan hệ) – một bảng phản ánh thông tin về các đối tượng trong thế giới thực, ví dụ: về sinh viên, đơn đặt hàng, nhân viên, cư dân, v.v.

· Khóa chính(khóa chính) – một trường (hoặc tập hợp các trường) của bảng xác định duy nhất từng bản ghi của nó.

· Khóa thay thế là một trường (hoặc tập hợp các trường) không khớp với khóa chính và xác định duy nhất một phiên bản của bản ghi.

· Chìa khóa ngoài là một trường (hoặc tập hợp các trường) có giá trị khớp với các giá trị hiện có của khóa chính của bảng khác. Khi bạn liên kết hai bảng, khóa chính của bảng đầu tiên sẽ được liên kết với khóa ngoại của bảng thứ hai.

· Mô hình dữ liệu quan hệ (RDM)- Tổ chức dữ liệu dưới dạng bảng hai chiều.

Mỗi bảng quan hệ phải có các thuộc tính sau:

1. Mỗi bản ghi bảng là duy nhất, tức là. tập hợp các giá trị trong các trường không được lặp lại.

2. Mỗi giá trị ghi tại giao điểm của một hàng và một cột là giá trị nguyên tử (không thể tách rời).

3. Các giá trị của mỗi trường phải cùng loại.

4. Mỗi trường có một tên duy nhất.

5. Thứ tự các mục không đáng kể.

Các thành phần chính của cơ sở dữ liệu:

Cánh đồng- đơn vị cơ bản của việc tổ chức dữ liệu một cách logic. Các đặc điểm sau được sử dụng để mô tả trường:

· tên, ví dụ: Họ, Tên, Tên viết tắt, Ngày sinh;

· Kiểu, ví dụ: chuỗi, ký tự, số, ngày tháng;

· độ dài, ví dụ, tính bằng byte;

· độ chính xác cho dữ liệu số, chẳng hạn như hai chữ số thập phân để hiển thị phần phân số của một số.

Ghi- một tập hợp các giá trị của các trường có liên quan một cách logic.

Mục lục– một phương tiện tăng tốc hoạt động tìm kiếm bản ghi, được sử dụng để thiết lập mối quan hệ giữa các bảng. Một bảng có sử dụng chỉ mục được gọi là bảng được lập chỉ mục. Khi làm việc với các chỉ mục, bạn cần chú ý đến việc tổ chức các chỉ mục, làm cơ sở để phân loại. Một chỉ mục đơn giản được biểu thị bằng một trường đơn lẻ hoặc một biểu thức Boolean xử lý một trường đơn lẻ. Chỉ mục tổng hợp được biểu thị bằng nhiều trường với khả năng sử dụng nhiều chức năng khác nhau. Chỉ mục bảng được lưu trữ trong một tệp chỉ mục.


Toàn vẹn dữ liệu– đây là phương tiện bảo vệ dữ liệu trên các trường giao tiếp, cho phép bạn duy trì các bảng ở trạng thái nhất quán (consistent) (nghĩa là không cho phép tồn tại các bản ghi ở bảng con mà không có bản ghi tương ứng ở bảng cha) bàn).

Lời yêu cầu– một câu hỏi được xây dựng cho một hoặc nhiều bảng được kết nối với nhau chứa tiêu chí lấy mẫu dữ liệu. Truy vấn được thực hiện bằng ngôn ngữ truy vấn có cấu trúc SQL (Ngôn ngữ truy vấn có cấu trúc). Việc truy xuất dữ liệu từ một hoặc nhiều bảng có thể tạo ra một tập hợp các bản ghi được gọi là dạng xem.

Trình bày dữ liệu– một truy vấn được đặt tên được lưu trữ trong cơ sở dữ liệu để lấy dữ liệu (từ một hoặc nhiều bảng).

Chế độ xem về cơ bản là một bảng tạm thời được tạo do kết quả của một truy vấn. Bản thân yêu cầu có thể được gửi đến một tệp, báo cáo, bảng tạm thời, bảng trên đĩa, v.v.

Báo cáo– một thành phần hệ thống có mục đích chính là mô tả và in tài liệu dựa trên thông tin từ cơ sở dữ liệu.

Đặc điểm chung khi làm việc với RDB:

Cách giải thích phổ biến nhất về mô hình dữ liệu quan hệ dường như là của Dữ liệu, người đã tái tạo nó (với nhiều cải tiến khác nhau) trong hầu hết các cuốn sách của mình. Theo Date, mô hình quan hệ bao gồm ba phần mô tả các khía cạnh khác nhau của cách tiếp cận quan hệ: phần cấu trúc, phần thao tác và phần tổng thể.

Phần cấu trúc của mô hình nêu rõ rằng cấu trúc dữ liệu duy nhất được sử dụng trong cơ sở dữ liệu quan hệ là quan hệ n-ary được chuẩn hóa.

Phần thao tác của mô hình khẳng định hai cơ chế cơ bản để thao tác cơ sở dữ liệu quan hệ - đại số quan hệ và phép tính quan hệ. Cơ chế đầu tiên chủ yếu dựa trên lý thuyết tập hợp cổ điển (với một số cải tiến), và cơ chế thứ hai dựa trên bộ máy logic cổ điển của phép tính vị từ bậc nhất. Lưu ý rằng chức năng chính của phần thao tác của mô hình quan hệ là cung cấp thước đo về mối quan hệ của bất kỳ ngôn ngữ cơ sở dữ liệu quan hệ cụ thể nào: một ngôn ngữ được gọi là quan hệ nếu nó có tính biểu cảm và sức mạnh không kém đại số quan hệ hoặc phép tính quan hệ.


28. NGÔN NGỮ THUẬN TÁC. NGƯỜI DỊCH (thông dịch viên và biên dịch). NGÔN NGỮ THUẬN TÁC CƠ BẢN. CẤU TRÚC CHƯƠNG TRÌNH. NHẬN DẠNG. BIẾN. NGƯỜI ĐIỀU HÀNH. XỬ LÝ Mảng MỘT CHIỀU VÀ HAI CHIỀU. CHỨC NĂNG NGƯỜI DÙNG. CHƯƠNG TRÌNH CON. LÀM VIỆC VỚI TỆP DỮ LIỆU.

Ngôn ngữ cấp cao- một ngôn ngữ lập trình có khái niệm và cấu trúc thuận tiện cho nhận thức của con người.

Ngôn ngữ thuật toán(Ngôn ngữ thuật toán) - ngôn ngữ lập trình - ngôn ngữ nhân tạo (chính thức) được thiết kế để viết thuật toán. Ngôn ngữ lập trình được xác định bằng mô tả của nó và được triển khai dưới dạng một chương trình đặc biệt: trình biên dịch hoặc trình thông dịch. Ví dụ về các ngôn ngữ thuật toán là Borland Pascal, C++, Basic, v.v.

Các khái niệm cơ bản của ngôn ngữ thuật toán:

Thành phần của ngôn ngữ:

Ngôn ngữ nói thông thường bao gồm bốn yếu tố cơ bản: ký hiệu, từ, cụm từ và câu. Một ngôn ngữ thuật toán chứa các phần tử tương tự nhau, chỉ có các từ được gọi là cấu trúc cơ bản, các cụm từ được gọi là biểu thức và các câu được gọi là toán tử.

Biểu tượng, các cấu trúc, biểu thức và toán tử cơ bản tạo thành một cấu trúc phân cấp, vì các cấu trúc cơ bản được hình thành từ một chuỗi các ký hiệu.

Biểu thức là một chuỗi các cấu trúc và ký hiệu cơ bản,

Nhà điều hành- một chuỗi các biểu thức, cấu trúc cơ bản và ký hiệu.

Mô tả ngôn ngữ:

Mô tả ký tự bao gồm việc liệt kê các ký tự hợp lệ của ngôn ngữ. Việc mô tả các cấu trúc cơ bản có nghĩa là các quy tắc hình thành của chúng. Mô tả biểu thức là quy tắc hình thành bất kỳ biểu thức nào có ý nghĩa trong một ngôn ngữ nhất định. Mô tả các toán tử bao gồm việc xem xét tất cả các loại toán tử được phép trong ngôn ngữ. Mô tả của mỗi thành phần ngôn ngữ được đưa ra bởi CÚP ĐỔI và NGỤY NGHĨA của nó.

cú pháp các định nghĩa thiết lập các quy tắc để xây dựng các thành phần ngôn ngữ.

Ngữ nghĩa xác định ý nghĩa và quy tắc sử dụng của các thành phần ngôn ngữ mà các định nghĩa cú pháp đã được đưa ra.

Ký hiệu ngôn ngữ- đây là những dấu hiệu cơ bản không thể phân chia mà tất cả các văn bản bằng ngôn ngữ đều được viết.

Cấu trúc cơ bản- đây là những đơn vị ngôn ngữ tối thiểu có ý nghĩa độc lập. Chúng được hình thành từ các ký hiệu cơ bản của ngôn ngữ.

Sự biểu lộ trong ngôn ngữ thuật toán, nó bao gồm các cấu trúc và ký hiệu cơ bản; nó chỉ định một quy tắc để tính một giá trị nhất định.

Nhà điều hành chỉ định mô tả đầy đủ về một số hành động cần được thực hiện. Có thể cần một nhóm câu lệnh để mô tả một hành động phức tạp.

Trong trường hợp này, các toán tử được kết hợp thành Toán tử ghép hoặc Khối. hành động, được chỉ định bởi các toán tử, được thực thi trên dữ liệu. Các câu lệnh của ngôn ngữ thuật toán cung cấp thông tin về các kiểu dữ liệu được gọi là các câu lệnh khai báo hoặc các câu lệnh không thể thực thi được. Một tập hợp các mô tả và toán tử được hợp nhất bởi một thuật toán duy nhất tạo thành một chương trình bằng ngôn ngữ thuật toán. Trong quá trình nghiên cứu ngôn ngữ thuật toán, cần phân biệt ngôn ngữ thuật toán với ngôn ngữ dùng để mô tả ngôn ngữ thuật toán đang nghiên cứu. Thông thường ngôn ngữ đang được nghiên cứu được gọi đơn giản là một ngôn ngữ và ngôn ngữ mà mô tả về ngôn ngữ đang được nghiên cứu được đưa ra - Ngôn ngữ kim loại.

Người dịch - (English Translator – phiên dịch viên) là một chương trình dịch thuật. Nó chuyển đổi một chương trình được viết bằng một trong các ngôn ngữ cấp cao thành chương trình bao gồm các lệnh máy.

Một chương trình được viết bằng bất kỳ ngôn ngữ thuật toán cấp cao nào đều không thể được thực thi trực tiếp trên máy tính. Máy tính chỉ hiểu ngôn ngữ của lệnh máy. Do đó, một chương trình bằng ngôn ngữ thuật toán phải được dịch (dịch) sang ngôn ngữ lệnh của một máy tính cụ thể. Việc dịch như vậy được thực hiện tự động bởi các chương trình dịch đặc biệt được tạo cho từng ngôn ngữ thuật toán và cho từng loại máy tính.

Có hai phương pháp phát sóng chính - biên soạn và giải nghĩa.

1. Biên dịch: Trình biên dịch(Trình biên dịch tiếng Anh - trình biên dịch, trình thu thập) đọc toàn bộ chương trình, dịch nó và tạo ra một phiên bản hoàn chỉnh của chương trình bằng ngôn ngữ máy, sau đó được thực thi.

Tại biên soạn toàn bộ chương trình gốc ngay lập tức được chuyển đổi thành một chuỗi lệnh máy. Sau đó, chương trình thu được sẽ được thực thi bởi một máy tính với dữ liệu nguồn có sẵn. Ưu điểm của phương pháp này là việc dịch được thực hiện một lần và việc thực hiện (nhiều) chương trình kết quả có thể được thực hiện ở tốc độ cao. Đồng thời, chương trình thu được có thể chiếm nhiều dung lượng trong bộ nhớ máy tính, vì một toán tử ngôn ngữ được thay thế bằng hàng trăm, thậm chí hàng nghìn lệnh trong quá trình dịch. Ngoài ra, việc gỡ lỗi và sửa đổi chương trình phát sóng là rất khó khăn.

2. Phiên dịch: Thông dịch viên(Thông dịch viên tiếng Anh - thông dịch viên, thông dịch viên) dịch và thực hiện từng dòng chương trình.

Tại sự diễn giải chương trình nguồn được lưu trữ trong bộ nhớ máy tính gần như không thay đổi. Chương trình thông dịch giải mã lần lượt các câu lệnh của chương trình nguồn và ngay lập tức đảm bảo việc thực thi chúng với dữ liệu có sẵn. Chương trình được thông dịch chiếm ít dung lượng trong bộ nhớ máy tính và dễ dàng gỡ lỗi và sửa đổi. Nhưng việc thực thi chương trình khá chậm, vì với mỗi lần thực hiện, việc giải thích tất cả các toán tử được thực hiện lại.

Các chương trình biên dịch chạy nhanh hơn, nhưng các chương trình được thông dịch thì dễ sửa và thay đổi hơn.

Mỗi ngôn ngữ cụ thể được định hướng theo hướng biên dịch hoặc giải thích - tùy thuộc vào mục đích mà nó được tạo ra. Ví dụ, Pascal thường được sử dụng để giải các bài toán khá phức tạp trong đó tốc độ chương trình là quan trọng. Do đó, ngôn ngữ này thường được triển khai bằng trình biên dịch.

Mặt khác, BASIC được tạo ra như một ngôn ngữ dành cho những người mới lập trình, những người mà việc thực thi chương trình từng dòng một có những lợi thế không thể phủ nhận.

Đôi khi có cả trình biên dịch và trình thông dịch cho cùng một ngôn ngữ. Trong trường hợp này, bạn có thể sử dụng trình thông dịch để phát triển và kiểm tra chương trình, sau đó biên dịch chương trình đã gỡ lỗi để cải thiện tốc độ thực thi của chương trình.