1ư SQL: Ngụn ngữ SQL là ngụn ngữ truy vấn chớnh cho cỏc hệ cơ sở dữ liệu quan hệ. Chuẩn hiện tại được gọi là SQLư99 hoặc SQL3
2ư Cỏc truy vấn SelectưFromưWhere: Dạng truy vấn SQL phổ biến nhất cú dạng selectưfromưwhere. Nú cho phộp ta lấy tớch của nhiều quan hệ (mệnh đề FROM), ỏp dụng một điều kiện đối với cỏc bộ của kết quả (mệnh đề WHERE) và sinh ra cỏc thành phần mong muốn (mệnh đề SELECT).
3ư Truy vấn con: Cỏc truy vấn SelectưFromưWhere cũng cú thể được sử dụng như cỏc truy vấn con bờn trong một mệnh đề WHERE hoặc mệnh đề FROM của một truy vấn khỏc. Cỏc phộp toỏn EXIST, IN, ALL, và
ANY coa thể được sử dụng để diễn đạt cỏc điều kiện cú giỏ trị Lụgic về cỏc quan hệ là kết quả của một truy vấn con trong mệnh đề WHERE. 4ư Cỏc phộp toỏn tập hợp trờn cỏc quan hệ: Chỳng ta cú thể lấy hợp, giao,
hoặc trừ của cỏc quan hệ bằng cỏch nối cỏc quan hệ hoặc nối cỏc truy vấn xỏc định cỏc quan hệ, với cỏc từ khúa UNION, INTESECT và EXCEPT tương ứng.
5ư Cỏc biểu thức nối: SQL cú cỏc phộp toỏn như NATURAL JOIN cú thể ỏp dụng cho cỏc quan hệ như cỏc truy vấn hoặc để xỏc định cỏc quan hệ trong một mệnh đề FROM.
6ư Cỏc giỏ trị Null: SQL cung cấp một giỏ trị NULL đặc biệt, nú xuất hiện trong cỏc thành phần của cỏc bộ khụng cú giỏ trị cụ thể cho chỳng. Cỏc phộp toỏn số học và logic khụng dựng được với NULL. Việc so sỏnh một giỏ trị bất kỳ với NULL, thậm chớ giỏ trị so sỏnh là NULL, sẽ cho giỏ trị UNKNOWN. Giỏ trị UNKNOWN đối xử trong cỏc biểu thức cú giỏ trị logic như là nửa đường giữa TRUE và FALSE.
7ư Nối ngoài: SQL cung cấp một phộp toỏn OUTER JOIN. Phộp toỏn này nối cỏc quan hệ và tạo ra kết quả cú chứa cỏc bộ treo từ một hoặc cả hai quan hệ tham gia phộp nối. Cỏc bộ treo được độn thờm cỏc giỏ trị NULL ở trong kết quả.
8ư Mụ hỡnh tỳi (bag) của cỏc quan hệ: SQL xem cỏc quan hệ như cỏc tỳi cỏc bộ chứ khụng phải tập hợp cỏc bộ. Chỳng ta cú thể ộp buộc việc loại bỏ cỏc bộ trựng lặp bằng từ khúa DISTINCT, trong khi đú từ khúa ALL cho phộp kết quả là một tỳi trong hoàn cảnh cỏc tỳi khụng phải là ngầm định.
9ư Phộp nhúm: Cỏc giỏ trị xuất hiện trong một cột của quan hệ cú thể được tớnh tổng (kết hợp lại) bằng cỏch sử dụng một trong cỏc từ khúa SUM, AVG, MIN, MAX hoặc COUNT. Cỏc bộ cú thể được phõn nhúm trước để kết hợp với cỏc từ khúa GROUP BY. Một số nhúm cú thể bị loại bỏ với một mệnh đề HAVING.
(xúa cỏc bộ), UPDATE(thay đổi một số bộ đó tồn tại) bằng cỏch viết cỏc lệnh SQL sử dụng cỏc từ khúa đú.
11ư Định nghĩa dữ liệu: SQL cú cỏc lệnh mụ tả cỏc phần tử của một lược đồ cơ sở dữ liệu. Lệnh CREATE TABLE cho phộp chỳng ta mụ tả lược đồ cho cỏc quan hệ được lưu giữ (gọi là cỏc bảng), chỉ ra cỏc thuộc tớnh và kiểu của chỳng và cỏc giỏ trị ngầm định.
12ư Sửa đổi cỏc lược đồ: Chỳng ta cú thể thay đổi diện mạo của một lược đồ cơ sở dữ liệu bằng một lệnh ALTER. Cỏc thay đổi này bao gồm việc thờm và loại bỏ cỏc thuộc tớnh cỏc lược đồ quan hệ và thay đổi cỏc giỏ trị ngầm định liờn kết với một thuộc tớnh hoặc một miền. Chỳng ta cũng cú thể sử dụng lệnh DROP để loại bỏ hoàn toàn cỏc quan hệ hoặc cỏc thành phần lược đồ khỏc.
13ư Cỏc chỉ số: Trong khi khụng phải là một phần của chuẩn SQL, cỏc hệ thống SQL thương mại cho phộp mụ tả cỏc chỉ số trờn cỏc thuộc tớnh; cỏc chỉ số này là tăng tốc độ một số truy vấn và cập nhật chứa đặc tả của một giỏ trị đối với thuộc tớnh được chỉ số húa.
14ư Khung nhỡn: Một khung nhỡn là một định nghĩa về việc một quan hệ (khung nhỡn) được xõy dựng từ cỏc bảng được lưu giữ trong cơ sở dữ liệu như thế nào. Cỏc khung nhỡn cú thể được truy vấn giống như chỳng là cỏc bảng được lưu giữ, và một hệ thống SQL sửa đổi cỏc truy vấn về một khung nhỡn sao cho truy vấn được thay thế thành truy vấn trờn bảng cơ sở đó được sử dụng để định nghĩa khung nhỡn.
MỘT SỐ BÀI TẬP
Giả sử chỳng ta cú cơ sở dữ liệu sau(xem ở PHỤ LỤC 2): Product(maker, model, type)
PC(model, speed, ram, hd, rd, price)
Laptop(model, speed, ram, hd, screen, price) Printer(model, color, type, price)
I. Viết cỏc truy vấn sau:
1) Tỡm số model, tốcđộ, và kớch cỡ đĩa cứng của tất cả cỏc mỏy PC cú giỏ thấp hơn $1200.
2) Làm như cõu 1) nhưng thay tờn cột speed bằng megahertz và cột hd bằng gigabyte
3) Tỡm cỏc nhà sản xuất cỏc mỏy in
4) Tỡm số model, kớch cỡ bộ nhớ và kớch cỡ màn hỡnh của cỏc mỏy xỏch tay (Laptop) cú giỏ trờn $2000
5) Đưa ra tất cả cỏc bộ trong quan hệ Printer với cỏc mỏy in màu. Chỳ ý rằng color là thuộc tớnh cú giỏ trị lụgic
6) Đưa ra số model, tốc độ và kớch cỡ của đĩa cứng đối với cỏc mỏy PC coa đĩa DVD 12X hoặc 16X và giỏ thấp hơn $2000. Bỏn cú thể xem thuộc tớnh rd như là thuộc tớnh cú giỏ trị là chuỗi ký tự.
II Viết cỏc truy vấn
1) Đưa ra nhà sản xuất và tốc độ của cỏc Laptop với đĩa cứng ớt nhất là 30 gigabyte.
2) Đưa ra số model và giỏ của tất cả cỏc sản phẩm (với mọi kiểu) do nhà sản xuất B làm ra
3) Đưa ra những nhà sản xuất bỏn cỏc Laptop nhưng khụng bỏn cỏc mỏy PC
4) Tỡm cỏc kớch cỡ đĩa cứng cú trong hai hoặc nhiều hơn PC
5) Đưa ra cỏc cặp model PC cú cựng tốc độ và bộ nhớ (ram). Một cặp chỉ được liệt kờ một lần nghĩa là liệt kờ (i,j) nhưng khụng liệt kờ (j,i).
6) Đưa ra cỏc nhà sản xuất sản xuất ớt nhất là hai loại mỏy tớnh khỏc nhau (PC hoặc Laptop) với tốc độ ớt nhất là 1000.
2) Đưa ra cỏc mỏy in cú giỏ cao nhất.
3) Đưa ra cỏc mỏy xỏch tay cú tốc độ thấp hơn tốc độ của cỏc PC 4) Đưa ra số model của cỏc mục (PC, laptop, printer) với giỏ cao nhất. 5) Đưa ra nhà sản xuất của mỏy in màu cú giỏ thấp nhất.
6) Đưa ra cỏc nhà sản xuất của cỏc PC cú bộ xử lý nhanh nhất trong số cỏc PC cú dung lượng RAM bộ nhất.
IV. Sử dụng hàm nhúm
1) Tỡm tốc độ trung bỡnh của cỏc PC.
2) Tỡm tốc độ trung bỡnh của cỏc Laptop cú giỏ trờn $2000 3) Tỡm giỏ trung bỡnh của cỏc PC do nhà sản xuất “A” làm ra
4) Tỡm giỏ trung bỡnh của cỏc PC và laptop do nhà sản xuất “D” làm ra 5) Đưa ra giỏ trung bỡnh của cỏc PC đối với mỗi tốc độ khỏc nhau. 6) Đối với mỗi nhà sản xuất, hóy đưa ra kớch cỡ trung bỡnh của màn
hỡnh của cỏc laptop.
7) Đưa ra cỏc nhà sản xuất làm ra ớt nhất là 3 model mỏy PC khỏc nhau. 8) Đưa ra kớch cỡ trung bỡnh của cỏc đĩa cứng của cỏc PC đối với cỏc
nhà sản xuất làm ra cỏc mỏy in. IV. Sửa đổi cơ sở dữ liệu.
1) Sử dụng hai lệnh INSERT để lưu trữ vào cơ sở dữ liệu sự kiện model PC 1100 được nhà sản xuất C làm ra, cú tốc độ 1800, RAM 256, đĩa cứng 80, 20x DVD và bỏn với giỏ $2499.
2) Chốn vào cỏc sự kiện kiểm tra rằng với mỗi PC cú một laptop với cựng nhà sản xuất, tốc độ, RAM và đĩa cứng, một màn hỡnh 15 inch, một số model lớn hơn 1100, và một giỏ trờn $500.
3) Loại bỏ tất cả PC với đĩa cứng nhỏ hơn 20 gigabyte.
5) Nhà sản xuất A mua nhà sản xuất B. Thay đổi tất cả cỏc sản phẩm do B sản xuất thành ra do A sản xuất.
6) Với mỗi PC, hóy làm tăng gấp đụi dung lượng của RAM và thờm đĩa vào cứng 20 gigabyte.
7) Với mỗi laptop do nhà sản xuất B làm ra hóy thờm vào kớch cỡ màn hỡnh 1 inch và giảm giỏ $100.
VI. Mụ tả cơ sở dữ liệu. Viết cỏc khai bỏo sau: 1) Một lược đồ thớch hợp cho quan hệ Product 2) Một lược đồ thớch hợp cho quan hệ PC 3) Một lược đồ thớch hợp cho quan hệ Laptop
4) Một lược đồ thớch hợp cho quan hệ Printer.
5) Một tựy chọn cho lược đồ Printer từ 4) để loại bỏ thuộc tớnh Color 6) Một tựy chọn cho lược đồ Laptop ở 3) để thờm và thuộc tớnh cd. Giả
sử giỏ trị mặc định của thuộc tớnh này là none nếu laptop khụng cú CD reader