Đại số quan hệ trong cơ sở dữ liệu: các phép tính, ví dụ. Cơ sở dữ liệu được tạo bằng công cụ IBExpert. Trong trường hợp này, một máy chủ từ xa có tên sqledu03 đã được sử dụng làm máy chủ cơ sở dữ liệu. Mô hình dữ liệu vật lý

^

Bài giảng số 4. Đại số quan hệ. Hoạt động đơn nhất

đại số quan hệ, như bạn có thể đoán, đây là một loại đại số đặc biệt trong đó tất cả các phép toán được thực hiện trên các mô hình dữ liệu quan hệ, tức là trên các mối quan hệ.

Trong thuật ngữ dạng bảng, mối quan hệ bao gồm hàng, cột và hàng—tiêu đề cột. Do đó, các phép toán đơn nhất tự nhiên là các thao tác chọn hàng hoặc cột nhất định, cũng như thay đổi tiêu đề cột - đổi tên thuộc tính.

^

1. Hoạt động tìm nạp đơn nhất

Toán tử một ngôi đầu tiên chúng ta sẽ xem xét là thao tác tìm nạp– hoạt động chọn các hàng từ một bảng thể hiện mối quan hệ theo đó

hoặc nguyên tắc, tức là lựa chọn các hàng

các bộ thỏa mãn một hoặc nhiều điều kiện nhất định.

^ Toán tử lấy mẫu đóng góp bởi σ <P >, điều kiện lấy mẫuP <S>, tức là toán tử σ luôn được thực hiện bởi một điều kiện nhất định trên bộ dữ liệu P, và bản thân điều kiện Pđược viết tùy thuộc vào sơ đồ quan hệ S. Bản thân tôi đã xem xét tất cả những điều này thao tác tìm nạp trên sơ đồ quan hệ S trong mối quan hệ r

σ <P >r (S) σ <P >r = {t (S) |tr & P <S >t } = {t (S) |tr & Nếu không (P <S >t , SAI };

Kết quả của thao tác này sẽ là một quan hệ mới có cùng lược đồ quan hệ S, bao gồm các bộ dữ liệu đó t (S) quan hệ ban đầu

toán hạng thỏa mãn điều kiện lấy mẫu P t. Rõ ràng là để áp dụng những gì

thì điều kiện cho bộ dữ liệu là thay thế các giá trị thuộc tính của bộ dữ liệu thay vì tên thuộc tính.

Để hiểu rõ hơn nguyên lý hoạt động này, hãy đưa ra một ví dụ. Cho sơ đồ quan hệ sau:

^S: Session (số sổ lớp, Họ, Môn học, Lớp).

Hãy lấy điều kiện lấy mẫu sau:

P <S> = (Chủ đề = ‘Khoa học máy tính’ và Lớp > 3).

Chúng ta cần từ mối quan hệ ban đầu

toán hạng, chọn những bộ dữ liệu chứa thông tin về những học sinh đã đỗ môn “Tin học” với ít nhất ba điểm.

Hãy cũng cho bộ dữ liệu sau từ mối quan hệ này:

t 0 (S) ∈ r (S

Áp dụng điều kiện lựa chọn của chúng tôi cho bộ dữ liệu t 0 , chúng tôi nhận được:

P t 0 = ('Cơ sở dữ liệu' = 'Khoa học máy tính' và 5 > 3);

Trên bộ dữ liệu cụ thể này, điều kiện lựa chọn không được thỏa mãn.

Nhìn chung, kết quả của mẫu cụ thể này

σ <Предмет = "Информатика" and Оценка >3 > Phiên

sẽ có một bảng “Phiên” trong đó các hàng thỏa mãn điều kiện lựa chọn còn lại.

^

2. Phép chiếu một ngôi

Một phép toán một ngôi tiêu chuẩn khác mà chúng ta sẽ nghiên cứu là phép chiếu. Thao tác chiếu là hoạt động chọn các cột từ một bảng thể hiện mối quan hệ theo đó

hoặc ký tên. Cụ thể, máy chọn các thuộc tính đó (nghĩa là các cột đó) của mối quan hệ ban đầu

các toán hạng đã được chỉ định trong phép chiếu.

^ Toán tử chiếu đóng góp bởi [ S"] hoặc π . Đây S"– mạch con của lược đồ quan hệ ban đầu S, tức là một số cột của nó. Điều đó có nghĩa là gì? Điều này có nghĩa là S' có ít thuộc tính hơn S, bởi vì trong S" Chỉ những cái mà điều kiện chiếu được thỏa mãn vẫn còn. Và trong bảng biểu diễn mối quan hệ r (S"), có bao nhiêu hàng như trong bảng r (S) và có ít cột hơn vì chỉ còn lại những cột tương ứng với các thuộc tính còn lại. Vì vậy toán tử chiếu π< S"> liên quan đến r (S) dẫn đến một mối quan hệ mới với một lược đồ quan hệ khác r (S"), bao gồm các hình chiếu t (S) [S"] các bộ của quan hệ ban đầu. Những phép chiếu tuple này được xác định như thế nào? Chiếu bất kỳ bộ dữ liệu nào t (S) quan hệ ban đầu r (S) trên mỗi mạch con S"được xác định bởi công thức sau:

t (S) [S' ] = {t (Một)|Mộtchắc chắn (t) ∩ S ’}, S " ⊆S .

Điều quan trọng cần lưu ý là các bộ dữ liệu trùng lặp sẽ bị loại khỏi kết quả, tức là sẽ không có hàng trùng lặp trong bảng biểu thị mối quan hệ kết quả mới.

Có tính đến tất cả những điều trên, hoạt động chiếu trong hệ thống quản lý cơ sở dữ liệu sẽ như thế này:

π <S" >r (S) ≡ π <S' >rr (S) [S ’] ≡ r [S" ] = {t (S) [S' ] | tr };

Hãy xem xét một ví dụ minh họa nguyên tắc của hoạt động lấy mẫu.

Cho mối quan hệ “Phiên” và lược đồ của mối quan hệ này:

S: Buổi học (số sổ điểm, Họ, Môn học, Lớp);

Chúng ta sẽ chỉ quan tâm đến hai thuộc tính từ sơ đồ này, đó là “số sổ lớp” và “Họ” của học sinh, vì vậy lược đồ con S" sẽ trông như thế này:

^S": (số sổ lớp, họ).

Cần có thái độ ban đầu r (S) chiếu lên mạch con S" .

t 0 (S) ∈ r (S): ((số sổ điểm: 100), (Họ: 'Ivanov'), (Chủ đề: 'Cơ sở dữ liệu'), (Điểm: 5));

Điều này có nghĩa là phép chiếu của bộ dữ liệu này lên mạch con này ^S" sẽ trông như thế này:

t 0 (S) S": ((số sổ điểm: 100), (Họ: ‘Ivanov’));

Nếu nói về thao tác chiếu dưới dạng bảng thì Phép chiếu Phiên [Số sổ điểm, Họ] của quan hệ ban đầu là Bảng Phiên, trong đó tất cả các cột đã bị xóa ngoại trừ hai cột: Số sổ điểm và Họ. Ngoài ra, tất cả các dòng trùng lặp cũng đã bị loại bỏ.

^

3. Thao tác đổi tên đơn nhất

Toán tử một ngôi cuối cùng chúng ta sẽ xem xét là thao tác đổi tên thuộc tính. Nếu chúng ta nói về một mối quan hệ như một bảng, thì thao tác đổi tên là cần thiết để thay đổi tên của tất cả hoặc một số cột.

^ Đổi tên toán tử như sau: ρ<φ >, ở đây φ – chức năng đổi tên .

Hàm này thiết lập lẫn nhau

sự tương ứng một-một giữa các tên thuộc tính lược đồ SŜ, tương ứng ở đâu S – lược đồ của quan hệ ban đầu, và Ŝ sơ đồ mối quan hệ với các thuộc tính được đổi tên. Vì vậy người vận hành ρ <φ> liên quan đến r (S) đưa ra một mối quan hệ mới với lược đồ Ŝ , bao gồm các bộ của quan hệ ban đầu chỉ có các thuộc tính được đổi tên.

Hãy viết thao tác đổi tên thuộc tính trong hệ quản trị cơ sở dữ liệu:

ρ <φ > r (S) ≡ ρ <φ >r = {ρ <φ > t (S)| tr };

Dưới đây là một ví dụ về việc sử dụng thao tác này:

Hãy xem xét mối quan hệ Session vốn đã quen thuộc với sơ đồ:

S: Buổi học (số sổ điểm, Họ, Môn học, Lớp);

Hãy giới thiệu một lược đồ quan hệ mới Ŝ, với các tên thuộc tính khác mà chúng ta muốn thấy thay vì các tên hiện có:

Ŝ : (Số ZK, Họ, Chủ đề, Điểm);

Ví dụ: khách hàng cơ sở dữ liệu muốn xem các tên khác trong mối quan hệ tạo sẵn của bạn. Để thực hiện thứ tự này các bạn cần thiết kế hàm đổi tên như sau:

φ : (số sổ lớp, họ, môn học, lớp) → (sổ lớp, họ, môn học, điểm);

Trên thực tế, chỉ có hai thuộc tính cần được đổi tên, do đó, việc viết hàm đổi tên sau đây thay vì thuộc tính hiện có là hợp pháp:

φ : (số sổ điểm, lớp) (Số ZK, Điểm);

t 0 (S) r (S): ((số sổ điểm: 100), (Họ: 'Ivanov'), (Chủ đề: 'Cơ sở dữ liệu'), (Điểm: 5));

Hãy áp dụng toán tử đổi tên cho bộ dữ liệu này:

ρ<φ>t 0 (S): ((Số ZK.: 100), (Họ: 'Ivanov'), (Chủ đề: 'Cơ sở dữ liệu'), (Điểm: 5));

Vì vậy, đây là một trong những bộ dữ liệu trong mối quan hệ của chúng ta đã được đổi tên các thuộc tính.

Trong thuật ngữ bảng, mối quan hệ

ρ < № зачетной книжки, Оценка “Số ZK, Điểm > Phiên –

đây là bảng mới thu được từ bảng Mối quan hệ phiên bằng cách đổi tên các thuộc tính đã chỉ định.

^

4. Tính chất của phép toán một ngôi

Các phép toán đơn nhất, giống như bất kỳ phép toán nào khác, có một số tính chất nhất định. Chúng ta hãy nhìn vào điều quan trọng nhất trong số họ.

Thuộc tính đầu tiên của các phép toán đơn nhất như chọn, chiếu và đổi tên là thuộc tính đặc trưng cho tỷ lệ phần tử của các quan hệ. (Hãy nhớ lại rằng số lượng phần tử là số lượng bộ dữ liệu trong một quan hệ cụ thể.) Rõ ràng là ở đây chúng ta đang xem xét, tương ứng, quan hệ ban đầu và quan hệ thu được khi áp dụng một phép toán cụ thể.

Lưu ý rằng tất cả các tính chất của các phép toán một ngôi đều tuân theo trực tiếp từ định nghĩa của chúng, vì vậy chúng có thể được giải thích dễ dàng và thậm chí, nếu muốn, có thể suy ra một cách độc lập.

1) tỷ lệ công suất:

a) đối với hoạt động lấy mẫu: | σ <P >r |≤ |r |;

b) đối với phép chiếu: | r [S" ] | ≤ |r |;

c) đối với thao tác đổi tên: | ρ <φ >r | = |r |;

Tổng cộng, chúng ta thấy rằng đối với hai toán tử là toán tử lựa chọn và toán tử chiếu, lũy thừa của các quan hệ ban đầu - toán hạng lớn hơn lũy thừa của các quan hệ thu được từ các toán tử ban đầu sử dụng các phép toán tương ứng. Điều này là do quá trình lựa chọn liên quan đến hai thao tác lựa chọn và chiếu này sẽ loại bỏ một số hàng hoặc cột không thỏa mãn các điều kiện lựa chọn. Trong trường hợp khi tất cả các hàng hoặc cột đều thỏa mãn điều kiện thì số lượng phần tử (tức là số lượng bộ dữ liệu) không giảm, do đó sự bất đẳng thức trong các công thức không nghiêm ngặt.

Trong trường hợp thao tác đổi tên, sức mạnh của mối quan hệ không thay đổi, do thực tế là khi thay đổi tên, không có bộ nào bị loại khỏi mối quan hệ;

2) tính chất bất đẳng thức:

a) đối với hoạt động lấy mẫu: σ <P > σ <P >r = σ <P >;

b) đối với thao tác chiếu: r [S' ] [S' ] = r [S" ];

c) đối với thao tác đổi tên, trong trường hợp chung, tính chất bình thường không được áp dụng.

Thuộc tính này có nghĩa là việc áp dụng tuần tự hai lần cùng một toán tử cho bất kỳ

hoặc quan hệ tương đương với việc sử dụng một lần của nó.

Nói chung, đối với hoạt động đổi tên các thuộc tính quan hệ, thuộc tính này có thể được áp dụng nhưng luôn có các điều kiện và bảo lưu đặc biệt.

Thuộc tính bình thường thường được sử dụng để đơn giản hóa dạng biểu thức và đưa nó về dạng phù hợp, tiết kiệm hơn.

Và tính chất cuối cùng chúng ta sẽ xem xét là tính chất đơn điệu. Thật thú vị khi lưu ý rằng trong mọi điều kiện, cả ba toán tử đều đơn điệu;

3) tính chất đơn điệu:

a) đối với hoạt động lấy mẫu: r 1 r 2 ⇒ σ <P > r 1 σ <P >r 2 ;

b) đối với thao tác chiếu: r 1 r 2 r 1 [S" ] r 2 [S" ];

c) đối với hoạt động đổi tên: r 1 r 2 ρ <φ >r 1 ⊆ ρ <φ >r 2 ;

Khái niệm tính đơn điệu trong đại số quan hệ tương tự như khái niệm tương tự trong đại số thông thường, đại số tổng quát. Hãy để chúng tôi giải thích: nếu ban đầu mối quan hệ r 1 và r 2 được kết nối theo cách mà rr 2 , thì ngay cả sau khi áp dụng bất kỳ toán tử lấy mẫu, chiếu hoặc đổi tên nào, mối quan hệ này sẽ vẫn giữ nguyên.

Nơi tốt nhất để bắt đầu học SQL là những kiến ​​thức cơ bản về cơ sở dữ liệu quan hệ. Tôi sẽ giải thích cơ sở dữ liệu quan hệ là gì, mối quan hệ là gì và những thao tác nào có thể được thực hiện trên chúng.

Đi …

SQL là gì?

SQL (Ngôn ngữ truy vấn có cấu trúc)– ngôn ngữ truy vấn có cấu trúc, ngôn ngữ máy tính phổ quát được sử dụng để tạo, sửa đổi và thao tác dữ liệu trong cơ sở dữ liệu quan hệ

Cơ sở dữ liệu quan hệ là gì?

Đây là tập hợp các dữ liệu có liên quan với nhau được lưu trữ dưới dạng các mối quan hệ

Một mối quan hệ là gì?

Một mối quan hệ là một bộ thẻ nhất định

Tuple là gì?

Cartage là một tập hợp các phần tử nhất định và mỗi phần tử của tập hợp đó thuộc về một tập hợp nhất định (người ta có thể nói loại phần tử). Nói một cách đơn giản, một bộ dữ liệu là danh sách các phần tử có mối quan hệ giữa chúng hoặc như họ nói, có một thái độ. Bạn có thể biểu diễn một bộ bằng cách sử dụng biểu đồ hoặc bảng gồm một dòng.

Tôi sẽ trình bày một bộ gồm hai phần tử bằng biểu đồ:

Các đỉnh của đồ thị là các phần tử của tập hợp nhất định của chúng, trong trường hợp này là phần tử a1 từ nhiều MỘT và phần tử b1 từ nhiều B. Cạnh giữa các đỉnh biểu thị sự liên quan giữa các phần tử hoặc như người ta nói phần tử a1 liên quan đến b1.

Tôi sẽ chứng minh bộ dữ liệu tương tự bằng cách sử dụng bảng:

Con số 1 Tại a1b1, được chọn ngẫu nhiên.

Vì vậy, chúng ta đã đến được viên gạch cơ bản, tức là. trước đoàn xe hộ tống, hãy bắt đầu giải mã logic của chúng ta để hiểu nó là gì cơ sở dữ liệu quan hệSQL.

Như tôi đã nói, một mối quan hệ là một tập hợp các bộ dữ liệu và bị giới hạn (nếu chúng ta rời xa lý thuyết). Các mối quan hệ có thể được biểu diễn dưới dạng ma trận, đồ thị hoặc bảng.

Hãy để tôi trình bày cách biểu diễn mối quan hệ dưới dạng biểu đồ:

Biểu đồ cho thấy có một số bộ dữ liệu và bộ nào là bộ đầu tiên, bộ nào là bộ thứ hai và bộ thứ ba không quan trọng, nó chỉ là một tập hợp các bộ dữ liệu. Trong một bộ không có khái niệm “thứ nhất”, “thứ hai” và “thứ ba”, tất cả cùng một lúc và thứ tự không quan trọng.

Hãy để tôi trình bày cách thể hiện mối quan hệ dưới dạng bảng:

Trình tự các dòng hoặc bộ dữ liệu trong bàn không quan trọng, Tôi lấy chúng từ biểu đồ theo thứ tự ngẫu nhiên.

Điều quan trọng cần lưu ý là dãy cột Như nhau không quan trọng, nếu chúng ta hoán đổi chúng, thì theo quan điểm của lý thuyết tập hợp, thái độ sẽ không thay đổi. Đây chính xác là mặt tiêu cực của một bảng như một cách để hình dung mối quan hệ, bởi vì về mặt tâm lý, chúng ta sẽ khó gọi các bảng bằng nhau nếu chúng có các cột và hàng theo các trình tự khác nhau.

Như đã nói ở phần đầu, cơ sở dữ liệu quan hệ là một tập hợp các dữ liệu có liên quan với nhau được lưu trữ dưới dạng các mối quan hệ. Nếu chúng ta biểu diễn các mối quan hệ dưới dạng bảng thì Cơ sở dữ liệu quan hệ là một tập hợp các bảng được kết nối với nhau. Hóa ra SQL là ngôn ngữ để tạo, sửa đổi và quản lý các bảng trong cơ sở dữ liệu quan hệ.

Vì vậy, chúng ta đã tìm ra chuỗi logic: SQL, cơ sở dữ liệu quan hệ, các mối quan hệ, bộ dữ liệu... Bây giờ chúng ta sẽ chạm vào ngôn ngữ SQL, tức là. chủ đề thao túng mối quan hệ là điều quan trọng để hiểu những hoạt động nào chúng ta có thể thực hiện trên các mối quan hệ?.

Không thể trình bày tất cả các thao tác, do số lượng lớn nên tôi sẽ chỉ đưa ra những thao tác cơ bản:

1. Lựa chọn (tên gọi khác của thao tác là lấy mẫu, hạn chế)

Hoạt động "sự lựa chọn" hoặc "vật mẫu" thực hiện trên một mối quan hệ, ý nghĩa của nó là theo một điều kiện nhất định, một tập hợp con các bộ dữ liệu được chọn. Kết quả của hoạt động là mối quan hệ khác với mối quan hệ ban đầu ở số lượng bộ nhỏ hơn. Ví dụ:

Giả sử có một mối quan hệ, hãy gọi nó là “bảng nguồn số 1”:

Kết quả "mẫu" từ bảng gốc số 1, với điều kiện là A=a3

Trong ngôn ngữ SQL:

cú pháp - CHỌN * TỪ tên_bảng Ở ĐÂU cột_name=value

CHỌN * TỪ bảng nguồn Ở ĐÂU А=a3

2. Phép chiếu

Hoạt động "chiếu" thực hiện trên một mối quan hệ, kết quả là một cái mới được hình thành mối quan hệ với các cột trong bảng được chỉ định.

Ví dụ: có một mối quan hệ, tạm gọi là “bảng nguồn số 2”:

Chúng ta hãy thực hiện một phép toán trên quan hệ này "chiếu" theo thuộc tính MỘTVỚI, kết quả:

Kết quả là chúng tôi nhận được hai bản đồ giống hệt nhau; điều này không thể xảy ra trong mối quan hệ, vì vậy chúng tôi sẽ giảm chúng (trong DBMS, việc giảm xảy ra tự động):

Hóa ra là trong quá trình chiếu chúng ta có thể giảm số lượng bộ dữ liệu, Điều này xảy ra, điều này không nên được coi là một lỗi.

Trong ngôn ngữ SQL:

cú pháp - CHỌN danh sách cột TỪ tên_bảng

thực hiện cho trường hợp này - CHỌN A, C TỪ nguồn_table_№2

3. Kết nối tự nhiên

Hoạt động " kết nối tự nhiên" biểu diễn trên hai quan hệ liên quan logic, kết quả là, một mối quan hệ mới được hình thành với các cột của mối quan hệ thứ nhất và thứ hai cũng như với các bộ dữ liệu thu được khi nối từng bộ dữ liệu của mối quan hệ thứ nhất và thứ hai. Sẽ rõ ràng hơn bằng một ví dụ, giả sử có hai mối quan hệ, hãy gọi chúng là bảng nguồn số 3.1 và bảng nguồn số 3.2:

Bảng nguồn số 3_1

Bảng nguồn số 3_2

Hãy thực hiện thao tác "kết nối" mối quan hệ thứ nhất và thứ hai, kết quả:

Thật thú vị khi lưu ý rằng chúng ta thu được mối quan hệ ban đầu từ phần “2. Phép chiếu", chuỗi các cột trong mối quan hệ không thành vấn đề.

Trong ngôn ngữ SQL:

triển khai cho trường hợp này - SELECT source_table_№3_1.*, bảng nguồn №3_2.В FROM source_table_№3_1, bảng nguồn №3_2 bảng nguồn WHERE №3_1.A= bảng nguồn №3_2.A

4. Hiệp hội

Hoạt động "Liên hiệp" thực hiện trên hai quan hệ có cùng tập hợp các cột và cùng kiểu dữ liệu trong các cột này, kết quả của hoạt động là mới một mối quan hệ bao gồm tất cả các bộ của mối quan hệ "thứ nhất" và "thứ hai"(những cái lặp lại được rút ngắn).

Bảng nguồn số 4_1

Bảng nguồn số 4_2

Hãy thực hiện thao tác "hiệp hội" quan hệ số 4.1 và quan hệ số 4.2, kết quả:

Trong ngôn ngữ SQL:

cú pháp - CHỌN bảng_column_list1 TỪ bảng1 UNION CHỌN bảng_column_list2 TỪ bảng2

thực hiện cho trường hợp này - CHỌN A,B TỪ source_table_№4_1 UNION CHỌN A,B TỪ source_table_№4_2

5. Nút giao

Hoạt động "ngã tư"được thực hiện, kết quả hoạt động mới một mối quan hệ bao gồm các bộ giống nhau của mối quan hệ “thứ nhất” và “thứ hai”.

Ví dụ: Giả sử có hai quan hệ:

Bảng nguồn số 5_1

Bảng nguồn số 5_2

Hãy thực hiện thao tác "ngã tư" với những mối quan hệ này, kết quả là:

Những thứ kia. vào mối quan hệ kết quả, có lặp lại bộ dữ liệu từ "Đầu tiên""thứ hai" mối quan hệ.

Trong ngôn ngữ SQL:

cú pháp - CHỌN one_of_table.column1, one_of_table.column2, ... TỪ bảng1, bảng2 WHERE table1.column1=table2.column1 AND table1.column2= table2.column2 AND ...

thực hiện cho trường hợp này –

CHỌN nguồn_bảng_No.5_1.A, source_table_No.5_1.B TỪ source_table_No.5_1, source_table_No.5_2 Ở ĐÂU source_table_No.5_1.A = source_table_No.5_2.A VÀ source_table_No.5_1.B = source_table_No.5_2.B

6. Phép trừ (vi phân)

Hoạt động "trừ" thực hiện trên hai quan hệ có cùng tập hợp các cột và cùng kiểu dữ liệu trong các cột này, kết quả của hoạt động là mới một mối quan hệ bao gồm các bộ của quan hệ “thứ nhất” khác với các bộ của quan hệ “thứ hai”, Tôi nghĩ nó nên rõ ràng hơn bằng một ví dụ.

Ví dụ: Giả sử có hai quan hệ:

Bảng nguồn số 6_1

Bảng nguồn số 6_2

Hãy thực hiện thao tác "sự khác biệt", I E. từ bảng gốc số 6_1 ta trừ bảng gốc số 6_2, kết quả:

Những thứ kia. mối quan hệ kết quả là mối quan hệ "thứ nhất" không có các bộ lặp lại của mối quan hệ "thứ hai".

Trong ngôn ngữ SQL:

triển khai cho trường hợp này – SELECT source_table_№6_1.А, source_table_№6_1.В FROM source_table_№6_1 WHERE NOT EXISTS (CHỌN source_table_№6_2.А, source_table_№6_2.В FROM source_table_№6_2
Ở ĐÂU source_table_No.6_2.A= source_table_No.6_1.A VÀ source_table_No.6_2.B= source_table_No.6_1.B)

7. Sản phẩm Descartes

Tích Descartes được thực hiện trên hai quan hệ tùy ý, kết quả của phép toán là một quan hệ mới có số cột bằng tổng số cột của quan hệ “thứ nhất” và “thứ hai”, và số hàng bằng nhau với tích của số hàng của quan hệ “thứ nhất” và “thứ hai”. Nói một cách đơn giản, các bộ của một quan hệ kết quả có được bằng cách kết hợp từng bộ của quan hệ “thứ nhất” với các bộ của quan hệ “thứ hai”.

Ví dụ: Cho hai quan hệ tùy ý:

Bảng nguồn số 7_1

Bảng nguồn số 7_2

Chúng tôi sẽ sản xuất "Sản phẩm Descartes" cho hai quan hệ, kết quả là:

Trong ngôn ngữ SQL:

triển khai cho trường hợp này – SELECT source_table_No.7_1.A, source_table_No.7_1.B, source_table_No.7_2.A, source_table_No.7_2.B FROM source_table_No.7_1, source_table_No.7_2

Chúng ta đã xử lý các thao tác cơ bản về các mối quan hệ và ở cuối phần lý thuyết của bài viết, chúng ta sẽ tìm hiểu khóa là gì.

Chìa khóa là gì?

Chìa khóa là một hoặc nhiều cột trong bảng, xác định duy nhất một bản ghi (chuỗi). Ví dụ: giả sử có một mối quan hệ được trình bày dưới dạng bảng:

Chìa khóa mối quan hệ này có thể là cột A. Bởi vì chỉ có giá trị cho cột này về, Ví dụ: a3 xác định một bản ghi "a3 b1 d3", a2 sẽ xác định kỷ lục "a2 b2 d3", a1 xác định một bản ghi "a1 b2 d1". Các cột khác không thể cung cấp chức năng này.

Nếu khóa bao gồm một cột, thì nó được gọi là đơn giản, nếu từ một số anh ấy được gọi hỗn hợp. Trong bảng này, ngoài khóa đơn giản, còn có một khóa nữa - tổ hợp gồm cột B và D. Giá trị của các cột này sẽ xác định duy nhất bản ghi (hàng), ví dụ: b1 và d3 xác định duy nhất bản ghi "a3 b1 d3", b2 và d3 xác định duy nhất mục nhập "a2 b2 d3", b2 và d1 xác định duy nhất bản ghi "a1 b2 d1".

Trong thực tế nó thường được chọn một chìa khóa, và đơn giản nhất, trong trường hợp này đây là cột A. Chìa khóa này còn được gọi là " khóa chính».

Bạn có thể quan tâm:

Hoạt động cơ sở dữ liệu

Cách tiêu chuẩn để truy cập dữ liệu cơ sở dữ liệu là nhập theo địa chỉ liên kết (mẫu), được thực hiện bằng thao tác “tìm kiếm mẫu”. Đối số cho hoạt động tìm kiếm mẫu là một cấu trúc có bản chất có thể thay đổi trong một phạm vi khá rộng tùy thuộc vào các chức năng được cơ sở dữ liệu thực hiện. Kết quả của thao tác này là một tập hợp (có thể trống - kết quả âm) của tất cả các tham chiếu của mẫu đối số, tức là. các đoạn cơ sở dữ liệu, mỗi đoạn thể hiện một phản hồi cho một truy vấn được chỉ định dưới dạng mẫu này.

Một số loại mẫu có thể được phân biệt.

Mẫu đơn giản là một đoạn của cấu trúc cùng loại với khung. Trong các đỉnh mẫu đơn giản, các thành phần có thể được chỉ định một phần, ví dụ, chỉ tên hoặc chỉ loại. Bản chất của quy trình được thực hiện bởi thao tác “tìm kiếm mẫu” có thể có hai loại:

Khớp chính xác - các tham chiếu có tính đẳng cấu với mẫu cho đến các phần tử còn thiếu trong mẫu;

Việc che phủ - có thể được thực hiện trong trường hợp thứ tự một phần được chỉ định trên các ký hiệu đóng vai trò là thành phần mẫu. Các tham chiếu trong trường hợp này là các mảnh của khung được bao phủ bởi mẫu, theo nghĩa là đồ thị của mẫu và tham chiếu là đẳng hình và các phần tử của mẫu trùng với ký hiệu tương ứng của tham chiếu hoặc nằm ở trên nó trong hệ thống phân cấp.

Mẫu nổ -đây là tập hợp các mẫu đơn giản được kết nối bằng loại cung đặc biệt không có trong khung. Trong trường hợp này, đồ thị của mẫu và đối tượng không đẳng cấu, vì đối tượng sau không có các cung đặc biệt. Chúng ta có thể nói rằng với một mẫu không liên tục, việc tìm kiếm không diễn ra trên chính khung mà diễn ra trên sự đóng chuyển tiếp của nó dọc theo một hoặc nhiều loại quan hệ. B. Mẫu có ngữ cảnh phủ định đại diện cho một cặp

< положительный образец, отрицательный образец >,

trong đó mỗi mẫu là đơn giản hoặc không liên tục. Thủ tục tìm kiếm một mẫu như vậy được xác định như sau. Việc tìm kiếm được thực hiện dựa trên mẫu tích cực được tìm thấy bởi người giới thiệu R tên của các đỉnh chung cho các mẫu dương tính và âm tính được xác định. Những tên này được thay thế vào các vị trí tương ứng trong mẫu phủ định, mẫu này sẽ được tìm kiếm lại. Nếu tập tham chiếu trong trường hợp này trống thì Rđược lấy làm tham chiếu của tìm kiếm mẫu với bối cảnh phủ định. Nếu không, tìm kiếm sẽ không trả lại bất kỳ kết quả nào.

Việc thiếu kết nối giữa các mẫu dương tính và âm tính là trường hợp đặc biệt của quy trình được mô tả ở trên, trong đó việc tìm kiếm cả hai mẫu được thực hiện độc lập và kết quả tổng thể được xác định theo cùng một cách.

Mẫu phức tạp -đại diện cho sự kết hợp của các loại mẫu được liệt kê ở trên. Kết quả của việc tìm kiếm mẫu phức tạp là sự kết hợp của các thủ tục tìm kiếm cho từng mẫu trong tổng thể.

Chúng tôi sẽ chia hoạt động “tìm kiếm mẫu” thành hai loại chính: biến thể đơn và đa biến thể tìm kiếm.

Trong trường hợp tìm kiếm một biến thể, một tham chiếu duy nhất (khớp đầu tiên) được tìm thấy trong cơ sở dữ liệu, trong khi ở tìm kiếm đa biến, quá trình tiếp tục cho đến khi tìm thấy tất cả các đoạn có thể có của cơ sở dữ liệu có thể là tham chiếu cho một mẫu nhất định.

Một trong những yếu tố quan trọng quyết định kết quả của thao tác tìm kiếm mẫu trong tìm kiếm một biến thể là thứ tự quét khung có cố định hay không khi thực hiện thao tác tìm kiếm mẫu. Ví dụ, với khung chuỗi, nó có thể được xem từ trái sang phải hoặc phải sang trái, với khung cây - từ gốc đến lá hoặc theo hướng ngược lại. Trong trường hợp thứ tự xem là đặc tính bên ngoài của cơ sở dữ liệu, nó có thể được cố định (tích hợp sẵn) hoặc có thể thay đổi khi chạy (có thể tùy chỉnh).

Một thao tác cơ sở dữ liệu khác đang được thêm vào. Ý nghĩa của thao tác này là đính kèm dữ liệu mới vào dữ liệu trong cơ sở dữ liệu. Đối số của thao tác này bao gồm hai phần: phần thứ nhất là đoạn được gắn vào cơ sở dữ liệu và có cùng một tổ chức, tức là. bao gồm một khung và một tập hợp các thành phần được liên kết với các đỉnh của nó; nói chung, phần thứ hai là một địa chỉ liên kết cho biết đoạn mới sẽ được gắn vào các đỉnh nào của khung.

Thêm vào - tạo một bản ghi trong cơ sở dữ liệu và tùy thuộc vào chế độ bao gồm, đưa nó vào mối quan hệ nhóm, nơi nó được khai báo phụ thuộc hoặc không đưa nó vào bất kỳ mối quan hệ nhóm nào.
Bao gồm trong mối quan hệ nhóm - liên kết một bản ghi phụ hiện có với bản ghi chủ sở hữu.
Công tắc - liên kết một bản ghi phụ hiện có với một bản ghi chủ sở hữu khác trong cùng mối quan hệ nhóm.
Cập nhật - thay đổi giá trị của các phần tử của bản ghi được trích xuất trước đó.
Trích xuất - trích xuất các bản ghi một cách tuần tự theo giá trị khóa, cũng như sử dụng các mối quan hệ nhóm - từ chủ sở hữu, bạn có thể chuyển đến các bản ghi thành viên và từ bản ghi phụ đến chủ sở hữu của tập hợp.
Xóa bỏ - xóa một bản ghi khỏi cơ sở dữ liệu. Nếu bản ghi này là chủ sở hữu của một mối quan hệ nhóm thì lớp thành viên của các bản ghi cấp dưới sẽ được phân tích. Các thành viên bắt buộc trước tiên phải bị loại khỏi mối quan hệ nhóm, các thành viên cố định phải bị xóa cùng với chủ sở hữu, các thành viên tùy chọn sẽ vẫn còn trong cơ sở dữ liệu.
Loại trừ khỏi mối quan hệ nhóm - phá vỡ kết nối giữa hồ sơ chủ sở hữu và hồ sơ thành viên.

Mô hình cơ sở dữ liệu quan hệ

Trước hết, tất cả dữ liệu trong mô hình chỉ được trình bày dưới dạng bảng và mối quan hệ giữa chúng. Mô hình quan hệ là mô hình duy nhất đảm bảo tính đồng nhất của việc trình bày dữ liệu.

Yếu tố thứ hai mô hình là một ngôn ngữ hoàn chỉnh về mặt quan hệ. Tính đầy đủ ngôn ngữ khi áp dụng cho mô hình quan hệ có nghĩa là nó phải thực hiện bất kỳ phép toán đại số quan hệ. Hơn nữa, ngôn ngữ phải mô tả bất kỳ lời yêu cầu dưới dạng các thao tác trên bảng, thay vì trên các hàng của chúng. Một trong những ngôn ngữ này là SQL.

Yếu tố thứ ba mô hình quan hệ yêu cầu mô hình quan hệ phải duy trì một số Ràng buộc hoàn toàn. Mỗi hàng trong bảng phải có một số duy nhất định danh, gọi là khóa chính. Hạn chế thứ hai được áp dụng đối với chính trực liên kết giữa các bảng.

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

Trong cơ sở dữ liệu hướng đối tượng, không giống như cơ sở dữ liệu quan hệ, không phải bản ghi được lưu trữ mà là các đối tượng (thông tin văn bản, âm thanh và video, tài liệu và các đối tượng khác). Điều quan trọng nữa là nhiệm vụ lưu trạng thái của các đối tượng giữa các lần chạy lặp lại của chương trình ứng dụng. Tuy nhiên, một bộ máy toán học phát triển mà trên đó tổng thể mô hình dữ liệu hướng đối tượng, không tồn tại.

Hầu hết các OODBMS là một thư viện có các thủ tục quản lý dữ liệu được đưa vào chương trình ứng dụng. Bất chấp những ưu điểm của hệ thống hướng đối tượng - việc triển khai kiểu dữ liệu phức tạp, sự liên quan với các ngôn ngữ lập trình, v.v. - trong tương lai gần, tính ưu việt của quan hệ cơ sở dữ liệuđược đảm bảo.

DBMS quan hệ đối tượng

Sự khác biệt giữa quan hệ đối tượng và dựa trên đối tượng cơ sở dữ liệu: cái trước là cấu trúc thượng tầng trên lược đồ quan hệ, trong khi cái sau ban đầu hướng đối tượng. Tính năng chính và sự khác biệt giữa đối tượng-quan hệ (cũng như đối tượng) cơ sở dữ liệu từ quan hệ là HOẶC cơ sở dữ liệuđược tích hợp với ngôn ngữ lập trình Hướng đối tượng (OO), nội bộ hoặc bên ngoài như C++, Java.

Đối tượng-quan hệ cơ sở dữ liệu ví dụ như là những người nổi tiếng Cơ sở dữ liệu Oracle,Microsoft Máy chủ SQL, PostgreSQL, Microsoft Access.

Cách tiếp cận quan hệ để xây dựng một mô hình miền.

· vùng chủ đề được mô hình hóa bởi một tập hợp các đối tượng thông tin riêng lẻ (thực thể), mỗi đối tượng được mô tả bằng bảng hai chiều của chính nó;

· có sự kết nối giữa các bảng;

· mỗi phần tử bảng là một phần tử dữ liệu;

· tất cả các cột trong bảng đều đồng nhất, tức là tất cả các phần tử trong một cột có cùng loại (số, ký tự, v.v.) và cùng độ dài;

Mỗi cột mô tả một thuộc tính của thực thể;

Mỗi cột có một tên duy nhất;

· dòng chứa các giá trị thuộc tính cho một thể hiện thực thể;

· không có hàng giống hệt nhau trong bảng (có khóa chính);

· Thứ tự hàng và cột có thể tùy ý.

Bình thường hóa quan hệ- một bộ máy chính thức hạn chế việc hình thành các mối quan hệ (bảng), giúp loại bỏ sự trùng lặp, đảm bảo tính nhất quán của những dữ liệu được lưu trữ trong cơ sở dữ liệu và giảm chi phí lao động để duy trì (nhập, điều chỉnh) cơ sở dữ liệu.

Dạng bình thường đầu tiên

Mối quan hệ (bảng) được gọi là chuẩn hóa hoặc rút gọn thành dạng chuẩn đầu tiên, nếu tất cả các thuộc tính của nó là đơn giản (sau đây gọi là không thể chia được).

Chuyển đổi mối quan hệ thành mối quan hệ đầu tiên dạng bình thường có thể dẫn đến sự gia tăng số lượng chi tiết (trường) của mối quan hệ và thay đổi khóa.

Cái bàn ở trong dạng chuẩn thứ hai, nếu đáp ứng được yêu cầu đầu tiên hình dạng bình thường và tất cả các trường của nó không có trong khóa chính được kết nối bằng sự phụ thuộc chức năng đầy đủ với khóa chính, nghĩa là bất kỳ trường nào trường khóađược xác định duy nhất bởi một bộ hoàn chỉnh các trường khóa.

· bảng phải chứa dữ liệu về một loại đối tượng;

· mỗi bảng phải chứa một trường hoặc nhiều trường tạo thành một mã định danh duy nhất (hoặc khóa chính) cho mỗi hàng;

· tất cả các trường không có khóa phải được xác định bằng mã định danh duy nhất đầy đủ của bảng này.

Dạng bình thường thứ ba

Yêu cầu dạng chuẩn thứ ba nhằm đảm bảo rằng tất cả các trường không có khóa chỉ phụ thuộc vào khóa chính và không phụ thuộc lẫn nhau. Nói cách khác, bạn cần có khả năng thay đổi giá trị của bất kỳ trường không khóa nào mà không thay đổi giá trị của bất kỳ trường nào khác trong cơ sở dữ liệu.

Các loại kết nối. Thuộc tính của các mối quan hệ

· Mối quan hệ một-một(1:1) có nghĩa là mỗi bản ghi trong một bảng khớp với nhiều nhất một bản ghi trong bảng khác.

· Mối quan hệ một-nhiều(1:M) có nghĩa là với mỗi bản ghi trong một bảng thì có 0 hoặc 1 bản ghi tương ứng hoặc nhiều hơn trong một bảng khác.

· Mối quan hệ nhiều-một(M:1) tương tự như loại một-nhiều đã thảo luận trước đó. Kiểu quan hệ giữa các đối tượng phụ thuộc vào quan điểm.

· Mối quan hệ nhiều-nhiều(MM). xảy ra giữa hai bảng khi mỗi bản ghi trong một bảng tương ứng với 0 hoặc nhiều bản ghi trong bảng kia và ngược lại.

Phím đơn giản và phím ghép

Khóa chính có thể bao gồm một trường bảng duy nhất có giá trị duy nhất cho mỗi bản ghi. Như là khóa chínhđược gọi là khóa đơn giản.

Nếu như bàn không có một trường duy nhất, khóa chính có thể bao gồm một số trường, tổng giá trị của chúng đảm bảo tính duy nhất.

Như là khóa chính gọi điện phím ghép

Tất cả các loại mối quan hệ được triển khai bằng cách sử dụng khóa chính và liên kết đến giá trị của chúng trong các bảng khác. Những liên kết như vậy là bản sao của khóa chính của các bảng khác, được gọi là khóa ngoại.

Ví dụ về mạng và phân cấp được coi là Cơ sở dữ liệu, chứa thông tin về các bộ phận của doanh nghiệp và nhân viên làm việc trong đó, liên quan đến mô hình quan hệ sẽ có dạng:

VỚI chữ ghép"nhiều nhiều" được triển khai thông qua một bảng bổ sung, với sự trợ giúp của bảng này sự liên quan sẽ giảm xuống còn hai kết nối như " một-nhiều".

Thông thường, các hệ thống cơ sở dữ liệu được trang bị ngôn ngữ truy vấn có thể giúp người dùng truy vấn các phiên bản. Có hai loại như vậy - đại số quan hệ và phép tính quan hệ. Đầu tiên là thủ tục lấy các thể hiện quan hệ làm thể hiện quan hệ đầu vào và đầu ra làm đầu ra. Sử dụng phép tính đơn phân hoặc nhị phân cho việc này. Đại số quan hệ được thực hiện đệ quy và được coi là quan hệ.

Sản phẩm Descartes (Χ)

Kết hợp thông tin từ hai mối quan hệ khác nhau thành một.

Chỉ định - r Χ s,

trong đó r và s là tỷ lệ và đầu ra của chúng sẽ được xác định là

r Χ s = (qt | q ∈ r và t ∈ s).

Phần kết luận. Thiết lập mối quan hệ hiển thị tất cả sách và bài viết được viết bằng sách giáo khoa.

Đổi tên hoạt động (ρ).

Quan hệ đại số quan hệ là kết quả nhưng không có tên. Thao tác đổi tên cho phép bạn thay đổi giá trị đầu ra, được biểu thị bằng một chữ cái Hy Lạp nhỏ ρ .

Chỉ định - ρ x(E),

trong đó kết quả của biểu thức E được lưu trữ với tên x.

Các hoạt động bổ sung:

  • đặt nút giao;
  • phân công;
  • kết nối tự nhiên.

phép tính quan hệ

Ngôn ngữ truy vấn không mang tính thủ tục, nghĩa là nó cho bạn biết phải làm gì nhưng không giải thích cách triển khai nó. Phép tính quan hệ có hai dạng:

  • phép tính tương quan tuple;
  • lọc phạm vi biến.

Ký hiệu - T/Điều kiện: Trả về tất cả các bộ của T thỏa mãn một điều kiện. Kết quả. Trả về các bộ dữ liệu có tên. TRC có thể được định lượng. Chúng ta có thể sử dụng các bộ định lượng hiện sinh (∃) và định lượng phổ quát (∀). Phần kết luận. Truy vấn trên sẽ cho kết quả tương tự như truy vấn trước.

Miền tính toán quan hệ DRC

Biến bộ lọc sử dụng miền thuộc tính thay vì các giá trị bộ số nguyên (như được thực hiện trong TRC đã đề cập ở trên).

Ký hiệu - (a 1, a 2, a 3, ..., a n | P (a 1, a 2, a 3, ..., a n)),

trong đó a1, a2 là các thuộc tính và P biểu thị các công thức được xây dựng bởi các giá trị bên trong.

Phần kết luận. Đặt bài viết, trang và chủ đề từ mối quan hệ TutorialsPoint, trong đó chủ đề là cơ sở dữ liệu.

Giống như TRC, DRC cũng có thể được viết bằng cách sử dụng các bộ định lượng phổ quát và hiện sinh. DRC cũng bao gồm các toán tử đại số quan hệ. Khả năng biểu đạt phép tính, phép tính và mối tương quan giữa các điểm là tương đương nhau.

Các biến thể và sơ đồ của phép tính quan hệ và đại số

Mô hình ER, khi được khái niệm hóa dưới dạng sơ đồ, sẽ cung cấp một cái nhìn tổng quan tốt về các mối quan hệ thiết yếu để dễ hiểu hơn. Các biểu diễn sơ đồ có thể được ánh xạ tới một sơ đồ quan hệ, nghĩa là chúng có thể được tạo kết hợp với nhau. Không thể nhập tất cả các ràng buộc ER vào mô hình quan hệ nhưng có thể tạo ra cấu trúc gần đúng. Có một số quy trình và thuật toán có sẵn để chuyển đổi biểu đồ sang hệ thống này. Một số trong số chúng được tự động hóa, trong khi một số khác được tạo thủ công. Sơ đồ ER chủ yếu bao gồm các tiêu chí sau:

  • bản chất và các thuộc tính của nó;
  • kết nối, đó là sự liên kết giữa các giá trị trên.

Việc so sánh các đối tượng và các mối quan hệ xảy ra theo những cách và kiểu mẫu khác nhau. Ví dụ: một thực thể là một đối tượng trong thế giới thực với một số thuộc tính. Quá trình so khớp, thuật toán như sau:

  • tạo bảng cho từng đối tượng;
  • các thuộc tính sẽ trở thành các trường bảng với các kiểu dữ liệu tương ứng;
  • khai báo khóa chính.

Mối quan hệ là sự kết hợp giữa các thực thể. Quá trình biên soạn như sau:

  • tạo một bảng cho các mối quan hệ;
  • thêm khóa chính của tất cả các thực thể tham gia dưới dạng trường bảng với các kiểu dữ liệu thích hợp;
  • nếu mối quan hệ có bất kỳ thuộc tính nào, hãy đặt từng thuộc tính làm trường bảng;
  • kết hợp khóa chính tạo thành tất cả các khóa khác cho các đối tượng tham gia;
  • chỉ định tất cả các ràng buộc khóa ngoại.

Việc hiển thị các tập yếu và các đối tượng phân cấp diễn ra theo một hệ thống nhất định. Trước hết, cần phải hiểu các nguyên tắc và ý nghĩa thiết yếu. Một tập hợp các đối tượng yếu là một tập hợp không có bất kỳ khóa chính nào được liên kết với nó. Quá trình lập bản đồ như sau:

  • tạo bảng cho một tập hợp đối tượng yếu;
  • thêm tất cả các thuộc tính vào lược đồ dưới dạng một trường;
  • chỉ định khóa chính để nhận dạng;
  • đặt tất cả các ràng buộc khóa ngoại.

Việc ánh xạ các đối tượng phân cấp dựa trên sự chuyên môn hóa hoặc khái quát hóa của ngôn ngữ đại số quan hệ và xảy ra dưới dạng các thực thể tuần tự. Thuật toán như sau:

  • tạo bảng cho tất cả các đối tượng ở cấp độ thấp hơn;
  • thêm khóa chính;
  • ở mức độ thấp, thực hiện tất cả các thuộc tính khác của các đối tượng ở mức độ thấp hơn;
  • khai báo khóa chính của bảng;
  • thiết lập các ràng buộc khóa ngoại.

Các tùy chọn hiện có để mô tả, lưu trữ, thay đổi thông tin

SQL là ngôn ngữ lập trình cho cơ sở dữ liệu quan hệ. Nó được phát triển dựa trên đại số và phép tính tương quan của các bộ dữ liệu. SQL được cung cấp dưới dạng gói với tất cả các bản phân phối hệ thống quản lý cơ sở dữ liệu chính. Chứa cả dữ liệu và ngôn ngữ để thao tác chúng. Bằng cách sử dụng các thuộc tính định nghĩa dữ liệu SQL của đại số quan hệ, bạn có thể thiết kế và sửa đổi lược đồ cơ sở dữ liệu, trong khi các thuộc tính điều khiển và điều chỉnh cũng như sửa đổi dữ liệu cho phép bạn lưu trữ và truy xuất thông tin được cài đặt trong hệ thống. Sử dụng bộ lệnh sau để xác định cấu trúc và hệ thống:

  • tạo các bảng và dạng xem mới từ DBMS.
  • ném ra các lệnh.
  • thay đổi lược đồ cơ sở dữ liệu.
  • lệnh này thêm một thuộc tính vào một đối tượng kiểu chuỗi.

SQL được trang bị Ngôn ngữ thao tác dữ liệu (DML). Nó sửa đổi phiên bản cơ sở dữ liệu bằng cách chèn, cập nhật và xóa thông tin. DML chịu trách nhiệm thay đổi tất cả dữ liệu. SQL chứa tập lệnh sau trong phần DML:

  1. SELECT là một trong những lệnh truy vấn cơ bản. Nó tương tự như phép chiếu của đại số quan hệ. Nó chọn các thuộc tính dựa trên điều kiện được mô tả trong mệnh đề WHERE.
  2. TỪ - Phần này lấy tên làm đối số từ đó các thuộc tính sẽ được chọn/chiếu. Nếu có nhiều hơn một tên được đưa ra thì hạng mục này tương ứng với tích Descartes.
  3. WHERE - Phần này chỉ định vị từ hoặc điều kiện phải được đáp ứng để đủ điều kiện cho thuộc tính dự kiến.

Ngoài ra còn có các lệnh:

  • chèn;
  • thay đổi giá trị;
  • xóa.

Tạo truy vấn đại số quan hệ

Khi xây dựng một tìm kiếm, nhiệm vụ là tìm ra một cấu trúc các thao tác sẽ dẫn đến kết luận chính xác. Các phép toán cơ bản của đại số quan hệ là các phép toán đơn giản với một hoặc hai quan hệ làm toán hạng. Các hiệu ứng kết hợp của trình tự xác định kết quả cuối cùng. Do hệ thống đại số quan hệ trong cơ sở dữ liệu khá đơn giản nên có thể thu được nhiều kết quả trung gian trước khi đưa ra kết quả cuối cùng, những kết quả này cũng được sử dụng làm toán hạng tạo ra dữ liệu đầu ra mới.

Đối với hầu hết các toán tử, thứ tự truy vấn và việc thực hiện chúng không quan trọng, nghĩa là có thể đạt được cùng một kết quả bằng cách xây dựng và kết hợp dữ liệu trung gian theo nhiều cách khác nhau. Trong thực tế, việc tìm kiếm cơ sở dữ liệu khá dễ dàng. Hệ thống thực hiện các thao tác và kết quả trung gian được xác định bởi trình tối ưu hóa truy vấn. Khi hình thành các câu hỏi và yêu cầu, bạn cần
trước tiên hãy chọn những mối quan hệ cần thiết để đạt được câu trả lời, sau đó chỉ định các phép toán và kết quả trung gian. Cấu trúc của một truy vấn đại số quan hệ trong cơ sở dữ liệu với các kết quả có thể được biểu diễn dưới dạng sơ đồ. Trình tối ưu hóa yêu cầu cố gắng đạt được sự thực thi hiệu quả nhất có thể. Trong thực tế, điều này thường có nghĩa là họ cố gắng giảm thiểu các kết quả trung gian càng nhanh càng tốt. Các ví dụ phổ biến về đại số quan hệ sẽ giúp giải quyết vấn đề này.

Thông tin về các mẫu xe đời 1996 có những thiếu sót được phát hiện trong quá trình kiểm tra năm 1999.

Đầu tiên, thông tin về máy được hiển thị để hiểu ý nghĩa của tất cả các thuộc tính của mối quan hệ. Thông tin kiểm tra được lưu trữ trong bảng Kiểm tra và nếu tìm thấy lỗi, chúng sẽ được ghi vào bảng Sự cố. Vì vậy, ba bảng này là cần thiết để có được thông tin cần thiết.

Chỉ có những chiếc xe từ năm 1996 mới thú vị. Phạm vi mẫu xe được biểu thị dưới dạng giá trị của thuộc tính đã đặt trong một hàng của bảng thông tin xe. Kết quả trung gian đầu tiên bao gồm các bộ dữ liệu đại diện cho các biến thể năm 1996.

Vì vậy, chỉ cần những hàng bao gồm khoảng thời gian này. Bạn phải sử dụng lựa chọn để trích xuất chúng. Bây giờ có những chiếc xe và việc kiểm tra được yêu cầu. Các hàng sau đó được nối bằng cách sử dụng phép toán hợp. Một số thanh ghi chung phải được kết nối với chúng, vì đây là cột chung duy nhất nên phép nối tự nhiên được sử dụng.

Để tìm hiểu xem lỗi có được tìm thấy trong quá trình kiểm tra hay không, bạn cần liên kết các dòng vấn đề với kiểm tra. Sau khi kết nối các hàng điều khiển với các ô tô, bạn có thể kết nối kết quả này với bảng lỗi. Việc tham gia phải dựa trên số đăng ký chung và ngày được xác minh. Đây là những cột chung duy nhất trong các bảng, do đó, phép nối tự nhiên được sử dụng.

Tùy chọn tính toán không có kết quả trung gian

Thông tin bắt buộc: Tên tài xế của xe đời 1995 trở lên chưa đăng kiểm đời 2000. Tên nằm trong bảng Driver. Các cơ quan thực thi pháp luật được mô tả trong bảng Thanh tra và Xe căng tin. Vì vậy, ba bảng này là cần thiết. Đầu tiên, bạn cần nhận biết những chiếc xe chưa được kiểm định năm 2000. Không thể giải quyết vấn đề này chỉ bằng cách sử dụng các cuộc kiểm tra được liệt kê trong bảng vì nó chứa dữ liệu về những cuộc kiểm tra đã được thực hiện chứ không phải những cuộc kiểm tra không được thực hiện. Vấn đề này được giải quyết bằng cách tìm ra những phương tiện bổ sung đã được thử nghiệm trước năm 2000. Trên thực tế, chỉ cần số đăng ký của họ.

Có những ví dụ khác ngoài những ví dụ trên cho thấy cách thay đổi hoặc tìm thấy thông tin. Các biến thể truy vấn có thể được tối ưu hóa bằng các thao tác đặc biệt. Về cơ bản, để làm cho việc tìm kiếm dữ liệu trở nên dễ dàng và đơn giản nhất có thể, có một mô hình tính toán quan hệ.

Thông tin được bảo mật và bảo vệ ở đâu?

Đại số được lưu trữ ở định dạng tệp có chứa các bản ghi. Ở cấp độ vật lý, thông tin thực tế được cố định ở định dạng điện từ trên thiết bị. Các thiết bị lưu trữ này có thể được chia thành ba loại:

  1. Sơ đẳng. Danh mục này bao gồm bộ nhớ có thể truy cập trực tiếp vào CPU. Các thanh ghi, bộ nhớ nhanh (bộ đệm) và bộ nhớ chính (RAM) có thể truy cập trực tiếp vào bộ nhớ trung tâm vì chúng đều nằm trên bo mạch chủ hoặc chipset. Dung lượng lưu trữ này thường rất nhỏ, cực nhanh và không ổn định. Để duy trì trạng thái, cần có nguồn điện liên tục. Trong trường hợp thất bại, tất cả dữ liệu của nó sẽ bị mất.
  2. Sơ trung. Được sử dụng để lưu trữ thông tin để sử dụng hoặc sao lưu trong tương lai. Bao gồm các thiết bị bộ nhớ không phải là một phần của chipset bộ xử lý hoặc bo mạch chủ, chẳng hạn như đĩa từ, đĩa quang (DVD, CD, v.v.), ổ cứng, ổ flash và băng từ.
  3. Đại học. Dùng để lưu trữ một lượng lớn dữ liệu. Vì các thiết bị lưu trữ như vậy nằm bên ngoài hệ thống máy tính nên chúng có tốc độ chậm nhất. Những tiện ích lưu trữ này chủ yếu được sử dụng để sao lưu toàn bộ hệ thống. Đĩa quang và băng từ được sử dụng rộng rãi để lưu trữ thứ ba.

Các phép toán đặc biệt của đại số quan hệ rất quan trọng đối với hiệu quả truy vấn.

Cấu trúc lưu trữ

Một hệ thống máy tính có hệ thống phân cấp bộ nhớ được xác định rõ ràng. CPU có quyền truy cập trực tiếp vào hệ thống chính cũng như các thanh ghi trên chip. Thời gian truy cập bộ nhớ chính rõ ràng là ít hơn tốc độ CPU. Để giảm thiểu sự khác biệt này, bộ đệm được giới thiệu. Bộ nhớ đệm cung cấp thời gian truy cập nhanh nhất và chứa dữ liệu được CPU truy cập thường xuyên nhất.

Bộ nhớ có tốc độ truy cập nhanh nhất là đắt nhất. Các thiết bị lưu trữ lớn cung cấp tốc độ thấp và rẻ hơn, nhưng chúng có thể lưu trữ lượng dữ liệu khổng lồ so với thanh ghi bộ xử lý hoặc bộ nhớ đệm.

Đĩa từ và đĩa cứng là thiết bị lưu trữ thứ cấp phổ biến nhất trong các hệ thống máy tính hiện đại. Chúng được gọi là từ tính và bao gồm một đế kim loại. Các đĩa này được đặt thẳng đứng trên trục chính. Đầu đọc/ghi di chuyển giữa chúng và được sử dụng để từ hóa hoặc loại bỏ điểm đó bên dưới. Nó có thể được nhận dạng là 0 (không) hoặc 1 (một).

Ổ cứng được định dạng theo thứ tự xác định rõ ràng để lưu trữ dữ liệu hiệu quả. Nó có nhiều vòng tròn đồng tâm gọi là đường ray. Mỗi rãnh được chia thành các khu vực, thường lưu trữ 512 byte dữ liệu.

Thao tác với tệp

Các phép toán trên hệ thống ngôn ngữ đại số quan hệ và cơ sở dữ liệu của nó có thể được phân loại thành hai loại:

  • cập nhật;
  • tìm kiếm.

Danh mục đầu tiên sửa đổi giá trị dữ liệu bằng cách chèn, xóa hoặc cập nhật. Mặt khác, các hoạt động tìm kiếm không chỉnh sửa thông tin mà lấy nó sau khi lọc có điều kiện tùy chọn. Trong cả hai loại hoạt động, việc lựa chọn đóng một vai trò quan trọng. Ngoài việc tạo và xóa tệp, có một số thao tác có thể được thực hiện trong đó:

  1. Mở - tồn tại ở một trong hai chế độ đọc hoặc ghi. Trong trường hợp đầu tiên, hệ điều hành không cho phép bất kỳ ai thay đổi dữ liệu. Nói cách khác, dữ liệu chỉ được đọc. Các tập tin được mở ở chế độ Đọc có thể được chia sẻ bởi nhiều đối tượng. Chế độ ghi cho phép bạn thay đổi dữ liệu. Các tập tin có thể được đọc nhưng không thể chia sẻ.
  2. Đóng là thao tác quan trọng nhất theo quan điểm của hệ điều hành, vì nó loại bỏ tất cả các khóa (nếu ở chế độ chia sẻ), lưu dữ liệu (nếu được sửa đổi) vào phương tiện phụ và giải phóng tất cả bộ đệm và trình xử lý được liên kết với tệp.
  3. Lập chỉ mục là một kỹ thuật cấu trúc thông tin để truy xuất hiệu quả các bản ghi từ các tệp của hệ thống dựa trên một số thuộc tính nơi hệ thống được thực thi. Xác định dựa trên thuộc tính.

Lập chỉ mục có thể thuộc loại sau:

  1. Chính được xác định trong tệp dữ liệu được sắp xếp. Tệp thông tin được tổ chức trong một trường khóa.
  2. Chỉ mục phụ được tạo từ trường là khóa ứng viên và có giá trị duy nhất trong mỗi bản ghi hoặc không phải là khóa có giá trị trùng lặp.
  3. Phân cụm được xác định trong một tệp dữ liệu có thứ tự, trong trường không có khóa.

Hệ thống quản lý cơ sở dữ liệu hay DBMS đề cập đến công nghệ lưu trữ và truy xuất thông tin người dùng với hiệu quả tối đa cùng với các biện pháp bảo mật phù hợp. Việc xem xét chi tiết vấn đề này sẽ dẫn đến kết luận rằng đại số quan hệ là ngôn ngữ của các toán tử lấy các quan hệ làm đối số và trả về kết quả là chúng.