1.khái niệm hệ quản trị: là một phần mềm hay một hệ thống được thiết kế để quản lí một cơ sở dữ liệu hỗ trợ khả năng lưu trữ, sửa chữa, xóa và tìm kiếm thông tin trong cơ sở dữ liệu
2.các chức năng chính: + cung cấp môi trường tạo lập CSDL; + cung cấp môi trường cập nhật và khai thác dữ liệu; + cung cấp công cụ kiểm soát, điều khiển và truy cập vào CSDL
3.kiến trúc chung: giao diện lập trình; bộ phận an toàn và bảo mật; xử lý truy xuất đồng thời; khôi phục sau sự cố; tối ưu hóa câu truy vấn; tổ chức lưu trữ dữ liệu
4.ưu điểm: + quản lý được dữ liệu dư thừa; + đảm bảo tính nhất quán cho dữ liệu; + tạo khả năng chia sẻ dữ liệu nhiều hơn; + cải tiến tính toàn vẹn cho dữ liệu
5.nhược điểm: + HQT tốt thì khá phức tạp và tốn dung lượng bộ nhớ.
6.SQL server là một HQTCSDL quan hệ sử dụng câu lệnh SQL để trao đổi dữ liệu giữa client và SQL server.
7.các đặc điểm của SQL server: + cho phép quản trị một hệ lớn lên đến vài tega byte, có tốc độ xử lý đáp ứng về thời gian; + cho phép các người dùng có thể truy vấn và quản trị trong cùng 1 thời điểm lên đến vài chục nghìn user; + có hệ thông phân quyền bảo mật tốt; + cho phép lập trình kết nối với nhiều ngôn ngữ lập trình.
chú ý: các cơ sở dữ liệu hệ thống của SQL server: master; tempdb; model; msdb
8.cấu trúc lưu trữ vật lí của SQL server: các file nhị phân: + primary data file; + secondary file; +log file
9.SQL là: là công cụ tổ chức, quản lý truy xuất dữ liệu trong hệ quản trị. để thực hiện chức năng SQL dùng ngôn ngữ T-SQL. chia làm 3 nhóm.
9.1 nhóm định nghĩa dữ liệu câu lệnh: create (tạo đối tượng dữ liệu); alter (sửa các đối tượng); drop (xóa đối tượng)
9.2 nhóm thao tác dữ liệu câu lệnh: thay đổi dữ liệu bảng (insert; delete; update) và không thay đổi (select)
9.3 nhóm điều khiển dữ liêu: cấp phát quyền (grant) và thu hồi quyền (revoke)
10.khởi tạo 1 database cú pháp: create database <tên>
11.sử dụng database cú pháp: use <tên>
12.đổi tên database cú pháp: alter database <tên cũ> modify name = <tên mới>
13.xóa database cú pháp: drop database <tên>
14.tạo bảng cú pháp: create table <tên>
(tên cột KDL ràng buộc (có hoặc không),
...
)
14.1 xóa bảng cú pháp: drop table <tên>
15.sửa cấu trúc bảng cú pháp: alter table <tên bảng> (mỗi cú pháp sửa được viết liền sau)
15.1 thêm cột cú pháp: add tên cột KDL ràng buộc (có hoặc không)
15.2 xóa cột cú pháp: drop column tên cột chú ý: muốn xóa cột phải xóa ràng buộc trước
15.3 sửa kiểu dữ liệu cột cú pháp: alter column tên cột KDL mới
đến đây không cần thêm alter table <tên bảng> phía trước
15.4 đổi tên cột cú pháp: SP_RENAME 'tên bảng.tên cột cũ', 'tên cột mới', 'COLUMN'
15.5 đổi tên bảng mới cú pháp: SP_RENAMe tên bảng cũ, tên bảng mới
15.6 xem dữ liệu các bản ghi trong bảng cú pháp: SELECT * FROM tên bảng
chú ý: cột là các trường thuộc tính; dòng là các bản ghi
16. chèn dữ liệu vào bảng cú pháp: INSERT INTO tên bảng (cot1, cot2, ...)
VALUES (gt1, gt2, ...)
chú ý: với các gt có KDL text đặt trong ''; nvachar(KDL giới hạn kí tự) đặt trong N''; date đặt 'năm-tháng-ngày'
17. cập nhật dữ liệu trên bảng cú pháp: UPDATE tên bảng set cot = gt, ...
WHERE cot = gtri(tại vị trí thay đổi)
18. xóa bản ghi trong bảng (sẽ trả về NULL) cú pháp: DELETE FROM tên bảng
WHERE cot=gtri (điều kiên để xác định bản ghi bị xóa)
19. ràng buộc toàn vẹn là các quy tắc trong một cơ sở dữ liệu nhằm kiểm tra tính đúng đắn và hợp lệ của dữ liệu trước khi lưu trữ.
19.1 có 2 loại ràng buộc là ràng buộc mức cột-chỉ áp dụng cho cột và ràng buộc mức bảng-có thể áp dụng cho nhiều cột
19.2 cú pháp tạo ràng buộc mức cột: ở bên trên trong phần tạo bảng
19.3 cú pháp tạo ràng buộc mức bảng: constraint tên ràng buộc loại ràng buộc (danhsachsot). thêm vào ngay sau khi tạo các cột trong bảng trước dấu )
19.4 cú pháp khai báo tên cho ràng buộc: tên cột KDL constraint tên ràng buộc loại ràng buộc
19.5 cú pháp thêm ràng buộc: alter table tên bảng add constraint tên ràng buộc loại ràng buộc (danhsachcot)
19.6 ràng buộc default: khi nhập dữ liệu cột đó không được cung cấp giá trị thì giá trị mặc định được dùng. cú pháp:
19.7 ràng buộc check: là ràng buộc kiểm tra, yêu cầu phải thảo mãn một biểu thức logic. cú pháp:
19.8 ràng buộc NOT NULL: là khi nhập dữ kiệu giá trị của cột đấy không được bỏ trống. cú pháp:
19.9 ràng buộc UNIQUE: yêu cầu các giá trị trong cột hoặc tập hợp cột phải khác nhau, có thể có giá trị NULL nhưng chỉ có một lần. cú pháp:
19.10 ràng buộc primary key: là cột hoặc các cột thỏa mãn các giá trị phải khác nhau và không cón giá trị not null. mỗi bảng chỉ cho phép tối đa một khóa chính và mỗi bảng cần có 1 khóa chính. cú pháp:
19.11 ràng buộc khóa ngoại: được sử dụng để nối các bảng với nhau (còn được gọi là khóa tham chiếu). Ràng buộc khóa ngoại đảm bảo rằng giá trị trong một cột của bảng con phải tương ứng với giá trị trong cột của bảng cha. điều kiện để tạo khóa ngoại: cột bên bảng cha cũng phải có tại bảng con và tại bảng cha thì cột đó là primary key. cú pháp:
chú ý: không để xóa dữ liệu hay bwangr nếu còn tồn tại khóa ngoại vì nó đã nối 2 bẳng với nhau.
19.12 xóa ràng buộc cú pháp: chú ý: không thể xóa dàng buộc không có tên
19.13 thuộc tính identity:
20. truy vấn (select) đơn giản(trên một bảng)
20.1 truy vấn 1 cột trong bảng cú pháp:
chú ý nếu là select * from: sẽ là truy vấn hết các cột nếu chỉ truy vấn 1 số cột thì gõ tên cột thay vì dấu *
20.2 liên kết các cột dữ liệu trong truy vấn kết quả cú pháp:
20.3 lấy n hàng đầu trong bảng dữ liệu cú pháp:
20.4 lấy n% đầu tiên trong bảng cú pháp:
20.5 loại bỏ dữ liệu trùng lắp cú pháp:
20.6 sử dụng mệnh đề where cú pháp: select * from tên bảng where điều kiện. ví dụ:
20.7 các toán tử so sánh, logic:
20.8 lấy một khoảng cú pháp: select * from tên bảng where tên cột between giá trị một and giá trị 2. ví dụ:
20.9 tìm kiếm gần đúng với cú pháp: select * from tên bảng where tên cột like dữ liệu mẫu. chú ý dữ liệu mẫu ví dụ:
20.10 mệnh đề ORDER BY để sắp xếp dữ liệu theo thứ tự (ASC tăng/ DESC giảm) trên một hoặc nhiều cột. cú pháp: select * from tên bảng ORDER BY tên cột ASC/DESC. ví dụ:
20.11 mệnh đề group by: được sử dụng kết hợp với select để sắp xếp dữ liệu đồng nhất vào 1 nhóm. ví dụ:
20.11.1 having được thêm vào vì đối với một số hàm where không thể học được. cú pháp: giống nhau và khác nhau của where và having
21.truy vấn dữ liệu nâng cao(trên nhiều bảng)
21.1 kết nối sử dụng mệnh đề WHERE. cú pháp:
ví dụ:
Chú ý: sự khác biệt khác Where và Join là: Where là chỉ lọc ra dữ liệu từ điều kiện còn Join là kết hợp dữ liệu từ hai hoặc nhiều bảng dựa trên cột giống nhau.
21.2.1 INNER JOIN cú pháp: Ví dụ:
21.2.2 LEFT JOIN cú pháp: ví dụ:
21.2.3 RIGHT JOIN cú pháp: ví dụ:
21.2.4 FULL JOIN cú pháp: ví dụ:
21.3.1 một số quy tắc truy vấn con cần lưu ý: câu truy vấn con phải nằm trong ngoặc đơn và đặt bên tay phải.
CHÚ Ý: Phép toán "=" được sử dụng để so sánh giá trị của một cột với một giá trị cụ thể. Phép toán "IN" được sử dụng để so sánh giá trị của một cột với một danh sách các giá trị có thể.
21.3.2 truy vấn con nằm trong select; truy vấn con nằm trong from; truy vấn con nằm trong where.
21.4 các phép toán tập hợp (hợp-union; trừ-except; giao-intersect)
21.4.1 phép UNION: là kết hợp 2 câu lệnh select với nhau (những điều phần giống nhau chỉ viết 1 lần nếu là union all thì có thể trùng nhau), điều kiện: số cột của 2 select phải bằng nhau và có cùng kiểu dữ liệu. cú pháp:
21.4.2 phép EXCEPT: lấy dòng thứ nhất là loại bỏ những thứ trùng lắp. cú pháp:
21.4.3 phép INTERSECT: lấy phần chung của nó. cú pháp:
22.View được như một bảng ảo trong CSDL, được đặt tên, định nghĩa khi select và có thể tác động đến. cú pháp:
ví dụ:
chú ý trước khi chạy select * view thì từ bước tạo view phải nhét vào go. ví du:
tại sao phải có view vì ví dụ: khi kết hợp bảng bằng join thì nó vẫn dữ được tên bảng gốc khi gọi tên cột
22.1 đổi tên view cú pháp:
22.2 xóa view cú pháp:
22.3 ưu điểm của view: đơn giản hóa các thao tác truy vấn; bảo mật dữ liệu; độc lập dữ liệu. nhược điểm: bị phụ thuộc vào table gốc; dữ liệu trong view chỉ là đọc
22.4 with check option trong view: mục đích đảm bảo rằng tất cả UPDATE; INSERT thỏa mãn các điều kiện trong view, nếu không thỏa mãn sẽ trả về lỗi. ví dụ:
23. trong SQL tổ chức theo từng khối lệnh, một khối lệnh có thể lồng bởi một khối lệnh khác. cú pháp:
24. biến trong T-SQL là một đối tượng trong CSDL dùng để lưu dữ liệu tạm thời.
24.1 biến hệ thống: cung cấp các thông tin hệ thống
24.2 biến do người dùng tự định nghĩa cú pháp:
ví dụ:
chú ý: CAST (expression AS data_type); expression là giá trị hoặc biểu thức mà bạn muốn chuyển đổi kiểu dữ liệu; data_type là kiểu dữ liệu mà bạn muốn chuyển đổi expression thành.
24.3 cấu trúc if-else cú pháp:
24.4 câu lệnh case cú pháp: ví dụ:
24.5 câu lệnh while cú pháp:
25. thủ tục lưu trữ: là một đối tượng trong CSDL chứa khối lệnh có các khả năng: thực hiện một công việc nào đó có thể sử dụng nhiều lần. cú pháp:
ví dụ:
lời gọi hàm thủ tục:
ví dụ:
25.1 sửa xóa thủ tục cú pháp:
26. hàm: giống với thủ tục nhưng khác nhau là hàm trả về giá trị qua tên hàm còn thủ tục thì khác. cú pháp: ví dụ:
chú ý: cách gọi hàm: vì hàm trả về là giá trị nên cần phải đọc ra. cú pháp: select.dbo tên hàm (đối số)
27. hàm trả về bảng
27.1 hàm nội tuyến cú pháp:
ví dụ:
27.2 hàm nhiều câu lệnh bên trong cú pháp:
ví dụ:
27.3 sửa và xóa hàm cú pháp:
28.1 trigger là một thủ tục lưu trữ, sẽ tự động thực hiện sau khi sự kiện nào đó xảy ra không cần gọi như thủ tục và không có tham số. các sự kiện có thể là sự kiện của DML (data manipulation language): insert, update, delete hoặc có thể là sự kiện của DDL (data defination language): create, alter, drop.
28.2 cú pháp trigger:
chú ý: sau khi tạo trigger, bảng deleted,... sẽ được tạo tự động sau khi biên dịch và để lưu trữ những giá trị thay đổi, xóa, thêm. xem ví dụ để hiểu thêm