Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 123 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
123
Dung lượng
2,05 MB
Nội dung
Lập trình SQL Server TS LẠI HIỀN PHƯƠNG EMAIL: LHPHUONG@TLU.EDU.VN LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL Nội dung Các kiểu liệu SQL Server Cơ sở liệu SQL Server Bảng SQL Server Các hàm SQL Server Câu lệnh điều khiển Thủ tục hàm người dùng LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL Các kiểu liệu SQL Server LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL Giới thiệu chung Kiểu liệu (Data type) quy định cấu trúc, miền giá trị liệu nhập vào tập phép tốn/tốn tử tác động lên miền giá trị Trong SQL, kiểu liệu định dạng liệu Cột (thuộc tính liệu) kích thước sử dụng vùng nhớ thuộc tính Cần xác định kiểu liệu thích hợp cho thuộc tính liệu để đảm bảo tối ưu nhớ q trình sử dụng Ví dụ: thuộc tính « Ngày Sinh » cần kiểu liệu ngày tháng Thuộc tính « Họ Tên » cần kiểu liệu dạng xâu ký tự Thuộc tính « Lương » cần kiểu liệu số LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL Danh sách kiểu liệu SQL Server Kiểu liệu Kích thước Miền giá trị liệu lưu trữ > Các kiểu liệu dạng số nguyên Int bytes từ-2,147,483,648đến +2,147,483,647 SmallInt bytes từ -32768 đến +32767 TinyInt byte từ đến 255 Bit byte Nhận giá trị 0, Null > Các kiểu liệu dạng số thập phân Decimal, Numeric 17bytes từ -10^38 đến +10^38 > Các kiểu liệu dạng số thực Float bytes từ -1.79E+308 đến +1.79E+308 Real bytes từ -3.40E+38 đến +3.40E+38 LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL Danh sách kiểu liệu SQL Server (tiếp) > Các kiểu liệu dạng chuỗi có độ dài cố định Char(N) N bytes Kiểu ký tự, cấp phát tĩnh N ô nhớ Từ đến 8000 ký tự, ký tự byte > Các kiểu liệu dạng chuỗi có độ dài biến đổi VarChar(N) N bytes Text Kiểu ký tự, cấp phát động không vượt N ô nhớ Từ đến 8000 ký tự, ký tự byte Kiểu văn bản, chuỗi ký tự, cấp phát động theo đô dài chuỗi ký tự nhập vào > Các kiểu liệu dạng chuỗi dùng font chữ Unicode Nchar(N) 2*N bytes Kiểu ký tự, cấp phát tĩnh N ký tự Từ đến 4000 ký tự, ký tự bytes NVarChar(N) 2*N bytes Kiểu ký tự, cấp phát động không vượt N ký tự Từ đến 4000 ký tự, ký tự bytes NText Kiểu văn bản, chuỗi ký tự, cấp phát động theo đô dài chuỗi ký tự nhập vào LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL Danh sách kiểu liệu SQL Server (tiếp) > Các kiểu liệu dạng tiền tệ Money bytes từ -922,337,203,685,477.5808 +922,337,203,685,477.5807 SmallMoney bytes từ -214,748.3648 đến + 214,748.3647 đến > Các kiểu liệu dạng ngày DateTime bytes từ01/01/1753đến31/12/9999 SmallDateTime bytes từ01/01/1900đến06/06/2079 > Các kiểu liệu dạng chuỗi nhị phân (Binary String) Binary N bytes từ đến 8000 bytes VarBinary N bytes từ đến 8000 bytes Image N bytes từ đến 2,147,483,647 bytes LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL Cơ sở liệu SQL Server LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL Giới thiệu chung SQL Server quản lý trực tiếp CSDL, CSDL SQL Server quản lý cấu trúc vật lý Mỗi Server quản lý danh sách CSDL, tên CSDL nhất, không trùng Đặc điểm việc quản trị CSDL: Để khai thác CSDL, client phải kết nối đến Server quản trị CSDL Chỉ khai thác CSDL có server Khơng có phương thức mở CSDL trực tiếp từ tệp tin Client thực khai thác theo quy định định sẵn CSDL LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL Cấu trúc CSDL SQL Server Về mặt lôgic, CSDL gồm table, view đối tượng Về mặt vật lý, CSDL lưu trữ hay nhiều tệp tin LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL 10 Tai lieu Luan van Luan an Do an Ràng buộc Khóa – UNIQUE Ràng buộc khóa (UNIQUE) sử dụng để đảm bảo giá trị nhập vào cột tập hợp cột Cách thêm ràng buộc khóa tạo bảng CREATE TABLE Tên_Bảng( Tên_cột1 Kiểu_dữ_liệu [Tùy_chọn], Tên_cột2 Kiểu_dữ_liệu [Tùy_chọn] UNIQUE, … ); LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn 109 Tai lieu Luan van Luan an Do an Ràng buộc Khóa – UNIQUE (tiếp) Cách thêm ràng buộc khóa tạo bảng CREATE TABLE Tên_Bảng( … UNIQUE (tên_cột_unique_1, tên_cột_unique_2,…) ); CREATE TABLE Tên_Bảng( … CONSTRAINT Tên_ràng_buộc UNIQUE (tên_cột_unique_1, tên_cột_unique_2,…) ); LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn 110 Tai lieu Luan van Luan an Do an Ràng buộc Khóa – UNIQUE (tiếp) Cách thêm ràng buộc khóa sửa bảng ALTER TABLE Tên_Bảng ADD UNIQUE (tên_cột_unique_1, tên_cột_unique_2,…); ALTER TABLE Tên_Bảng ADD CONSTRAINT Tên_ràng_buộc UNIQUE (tên_cột_unique_1, tên_cột_unique_2,…); LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn 111 Tai lieu Luan van Luan an Do an Ràng buộc Khóa – UNIQUE (tiếp) Ví dụ: thêm ràng buộc cho cột MaSV MaMon bảng KETQUA LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn 112 Tai lieu Luan van Luan an Do an Ràng buộc Khóa ngoại – FOREIGN KEY Một khóa ngoại bảng cột, đến khóa bảng khác Cách thêm ràng buộc khóa ngoại tạo bảng CREATE TABLE Tên_Bảng( … FOREIGN KEY (Tên_cột_khóa_ngoại) REFERENCES Tên_bảng_tham_chiếu(tên_khóa_chính_bảng_tham_chiếu) ); CREATE TABLE Tên_Bảng( … CONSTRAINT Tên_ràng_buộc FOREIGN KEY (Tên_cột_khóa_ngoại) REFERENCES Tên_bảng_tham_chiếu(tên_khóa_chính_bảng_tham_chiếu) ); LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn 113 Tai lieu Luan van Luan an Do an Ràng buộc Khóa ngoại – FOREIGN KEY (tiếp) Cách thêm ràng buộc khóa ngoại sửa bảng ALTER TABLE Tên_Bảng ADD FOREIGN KEY (Tên_cột_khóa_ngoại) REFERENCES Tên_bảng_tham_chiếu(tên_khóa_chính_bảng_tham_chiếu); CREATE TABLE Tên_Bảng ADD CONSTRAINT Tên_ràng_buộc FOREIGN KEY (Tên_cột_khóa_ngoại) REFERENCES Tên_bảng_tham_chiếu(tên_khóa_chính_bảng_tham_chiếu); LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn 114 Tai lieu Luan van Luan an Do an Ràng buộc Khóa – Primary Key (tiếp) Ví dụ: Giả sử bảng KETQUA tạo, thêm khóa ngoại lệnh ALTER TABLE cho tham chiếu trường MaSV đến trường khóa MaSV bảng SinhVien LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn 115 Tai lieu Luan van Luan an Do an Ràng buộc Kiểm tra – CHECK Ràng buộc kiểm tra CHECK kiểm tra giới hạn giá trị nhập vào cột Cách thêm ràng buộc CHECK CREATE TABLE Tên_Bảng( … Tên_cột_kiểm_tra Kiểu_dữ_liệu CHECK (Điều_kiện)); ALTER TABLE Tên_Bảng ADD CONSTRAINT Tên_ràng_buộc CHECK (Điều_kiện)); LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn 116 Tai lieu Luan van Luan an Do an Ràng buộc Kiểm tra – CHECK (tiếp) Ví dụ: thêm ràng buộc kiểm tra cho bảng SinhVien cho GioiTinh nhận giá trị ‘Nam’ ‘Nữ’ LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn 117 Tai lieu Luan van Luan an Do an Xóa ràng buộc Để xóa ràng buộc bảng, ta dùng cú pháp sau Cách thêm ràng buộc CHECK ALTER TABLE Tên_Bảng DROP CONSTRAINT Tên_ràng_buộc; LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn 118 Tai lieu Luan van Luan an Do an Làm việc với ghi SQL Server LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn 119 Tai lieu Luan van Luan an Do an Sử dụng SQL Server Management Studio Chọn bảng liệu Nhấn chuột phải, chọn Open Table – Return all rows Nhập liệu theo quy cách kiểu liệu, ràng buộc có Sửa, xóa liệu muốn LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn 120 Tai lieu Luan van Luan an Do an T-SQL: Nhập liệu vào bảng Cú pháp INSERT INTO Tên_Bảng(Thuộc_tính_1, Thuộc_tính_2,…) VALUES(giá_trị_thuộc_tính_1, giá_trị_thuộc_tính_2,…); Ví dụ: thêm vào bảng SinhVien ghi sinh viên với thông tin họ tên ‘Nguyễn Văn A’, sinh ngày 14/9/1996, địa 175 Tây Sơn (Chú ý: chữ N dùng để nhập tiếng Việt) LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn 121 Tai lieu Luan van Luan an Do an T-SQL: Cập nhật liệu bảng Cú pháp UPDATE Tên_Bảng SET Tên_cột = biểu thức [,…, Tên_cột_k = biểu_thức_k] [FROM danh_sách_bảng] [WHERE điều_kiện] Ví dụ: sửa ngày sinh sinh viên ‘Nguyễn Văn A’ thành 15/9/1995 LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn 122 Tai lieu Luan van Luan an Do an Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn