đơn giản dễ hiểu vơi SQL sever
3/18/2009 1 NGÔN NG NGÔN NG SQL SQL Trn Phc Tun tranphuoctuan.khoatoan.dhsp@gmail.com 3/18/2009 3/18/2009 CSDL CSDL - - Tr Tr n Ph n Ph c Tu c Tu n n 2 2 I H I H C SP. TPHCM, KHOA TO C SP. TPHCM, KHOA TO Á Á N N – – TIN H TIN H C C KNOWLEDGE FOR SHARE i dung 1. Gii thiu v SQL 2. Kiu d liu 3. nh ngha d liu 4. Truy vn d liu 5. Cp nht d liu 6. Mt s n khác 3/18/2009 2 3/18/2009 3/18/2009 CSDL CSDL - - Tr Tr n Ph n Ph c Tu c Tu n n 3 3 I H I H C SP. TPHCM, KHOA TO C SP. TPHCM, KHOA TO Á Á N N – – TIN H TIN H C C KNOWLEDGE FOR SHARE 1. Gii thiu Ngôn ngSQH – Cách thc truy vn d liu – Khó khn cho ngi s ng SQL (Structured Query Language) – Ngôn ng p cao – Ngi s ng ch n a ra ni dung cn truy vn – c phát trin bi IBM (1970s) – c gi là SEQUEL – c ANSI công nhn và phát trin thành chun • SQL-86 • SQL-92 • SQL-99 3/18/2009 3/18/2009 CSDL CSDL - - Tr Tr n Ph n Ph c Tu c Tu n n 4 4 I H I H C SP. TPHCM, KHOA TO C SP. TPHCM, KHOA TO Á Á N N – – TIN H TIN H C C KNOWLEDGE FOR SHARE 1. Gii thiu SQL gm – nh ngha d liu (DDL) – Thao tác d liu (DML) – nh ngha khung nhìn – Ràng buc toàn vn – Phân quyn và bo mt – u khin giao tác SQL s ng thut ng – ng ~ quan h – t ~ thuc tính – Dòng ~ b Lý thuy Lý thuy t t Chu Chu n SQL n SQL - - 92, 92, SQL Server 2000 SQL Server 2000 Minh h Minh h a a SQL Server 2000 SQL Server 2000 3/18/2009 3 3/18/2009 3/18/2009 CSDL CSDL - - Tr Tr n Ph n Ph c Tu c Tu n n 5 5 I H I H C SP. TPHCM, KHOA TO C SP. TPHCM, KHOA TO Á Á N N – – TIN H TIN H C C KNOWLEDGE FOR SHARE 1. Gii thiu v SQL Ngôn ngnh ngha d liu DDL - Data Definition Language Các lnh dùng nh ngha CSDL: to lp (create), thay i (alter) và hy b (drop) các i tng d liu, thit lp các ràng buc. Ngôn ng thao tác d liu DML - Data Manipulation Language Các lnh dùng o trì và truy vn CSDL: thêm (insert), sa (update), xóa (delete) d liu ca bng, truy vn (select). Ngôn ng Ngôn ng i i u khi u khi n d n d li li u u DCL - Data Control Language Các lnh dùng iu khin CSDL: qun tr các quyn (grant, revoke). 3/18/2009 3/18/2009 CSDL CSDL - - Tr Tr n Ph n Ph c Tu c Tu n n 6 6 I H I H C SP. TPHCM, KHOA TO C SP. TPHCM, KHOA TO Á Á N N – – TIN H TIN H C C KNOWLEDGE FOR SHARE 1. Gii thiu v SQL 3/18/2009 4 3/18/2009 3/18/2009 CSDL CSDL - - Tr Tr n Ph n Ph c Tu c Tu n n 7 7 I H I H C SP. TPHCM, KHOA TO C SP. TPHCM, KHOA TO Á Á N N – – TIN H TIN H C C KNOWLEDGE FOR SHARE 2. Kiu d liu Ki Ki u d u d li li u trong SQL Server u trong SQL Server 3/18/2009 3/18/2009 CSDL CSDL - - Tr Tr n Ph n Ph c Tu c Tu n n 8 8 I H I H C SP. TPHCM, KHOA TO C SP. TPHCM, KHOA TO Á Á N N – – TIN H TIN H C C KNOWLEDGE FOR SHARE 2. Kiu d liu Ki Ki u d u d li li u trong SQL Server u trong SQL Server 3/18/2009 5 3/18/2009 3/18/2009 CSDL CSDL - - Tr Tr n Ph n Ph c Tu c Tu n n 9 9 I H I H C SP. TPHCM, KHOA TO C SP. TPHCM, KHOA TO Á Á N N – – TIN H TIN H C C KNOWLEDGE FOR SHARE 2. Kiu d liu Ki Ki u d u d li li u trong SQL Server u trong SQL Server 3/18/2009 3/18/2009 CSDL CSDL - - Tr Tr n Ph n Ph c Tu c Tu n n 10 10 I H I H C SP. TPHCM, KHOA TO C SP. TPHCM, KHOA TO Á Á N N – – TIN H TIN H C C KNOWLEDGE FOR SHARE 3.nh ngha d liu Là ngôn ng mô t – c cho mi quan h – Min giá tr tng ng ca tng thuc tính – Ràng buc toàn vn – Ch c trên mi quan h Các lnh thông dng – CREATE TABLE (to bng) – ALTER TABLE (sa bng) – DROP TABLE (xóa bng) – CREATE DOMAIN (to min giá tr) – CREATE DATABASE – … 3/18/2009 6 3/18/2009 3/18/2009 CSDL CSDL - - Tr Tr n Ph n Ph c Tu c Tu n n 11 11 I H I H C SP. TPHCM, KHOA TO C SP. TPHCM, KHOA TO Á Á N N – – TIN H TIN H C C KNOWLEDGE FOR SHARE 3.nh ngha d liu nh ngha mt bng – Tên bng – Các thuc tính • Tên thuc tính • Kiu d liu • Các RBTV trên thuc tính Cú pháp CREATE TABLE <Tên_bng> ( <Tên_ct> <Kiu_d_liu> [<RBTV>], <Tên_ct> <Kiu_d_liu> [<RBTV>], … [<RBTV>] ) T T o b o b ng ng 3/18/2009 3/18/2009 CSDL CSDL - - Tr Tr n Ph n Ph c Tu c Tu n n 12 12 I H I H C SP. TPHCM, KHOA TO C SP. TPHCM, KHOA TO Á Á N N – – TIN H TIN H C C KNOWLEDGE FOR SHARE 3.nh ngha d liu CREATE TABLE NHANVIEN ( MANV CHAR(9), HONV NVARCHAR(10), TENLOT NVARCHAR(20), TENNV NVARCHAR(10), NGSINH DATETIME, DCHI NVARCHAR(50), PHAI CHAR(3), LUONG INT, MA_NQL CHAR(9), PHG INT ) T T o b o b ng ng 3/18/2009 7 3/18/2009 3/18/2009 CSDL CSDL - - Tr Tr n Ph n Ph c Tu c Tu n n 13 13 I H I H C SP. TPHCM, KHOA TO C SP. TPHCM, KHOA TO Á Á N N – – TIN H TIN H C C KNOWLEDGE FOR SHARE 3.nh ngha d liu <RBTV> NOT NULL NULL UNIQUE DEFAULT PRIMARY KEY FOREIGN KEY / REFERENCES CHECK t tên cho RBTV CONSTRAINT <Ten_RBTV> <RBTV> T T o b o b ng ng 3/18/2009 3/18/2009 CSDL CSDL - - Tr Tr n Ph n Ph c Tu c Tu n n 14 14 I H I H C SP. TPHCM, KHOA TO C SP. TPHCM, KHOA TO Á Á N N – – TIN H TIN H C C KNOWLEDGE FOR SHARE 3.nh ngha d liu CREATE TABLE NHANVIEN ( HONV NVARCHAR(10) NOT NULL, TENLOT NVARCHAR(20) NOT NULL, TENNV NVARCHAR(10) NOT NULL, MANV CHAR(9) PRIMARY KEY, NGSINH DATETIME, DCHI NVARCHAR(50), PHAI NCHAR(3) CHECK (PHAI IN (N‘Nam’, N‘N’)), LUONG INT DEFAULT (10000), MA_NQL CHAR(9), PHG INT ) T T o b o b ng ng 3/18/2009 8 3/18/2009 3/18/2009 CSDL CSDL - - Tr Tr n Ph n Ph c Tu c Tu n n 15 15 I H I H C SP. TPHCM, KHOA TO C SP. TPHCM, KHOA TO Á Á N N – – TIN H TIN H C C KNOWLEDGE FOR SHARE 3.nh ngha d liu CREATE TABLE PHONGBAN ( TENPB NVARCHAR(20) UNIQUE, MAPHG INT NOT NULL, TRPHG CHAR(9), NG_NHANCHUC DATETIME DEFAULT (GETDATE()) ) CREATE TABLE PHANCONG ( MANV CHAR(9) FOREIGN KEY (MANV) REFERENCES NHANVIEN(MANV), MADA INT REFERENCES DEAN(MADA), THOIGIAN DECIMAL(3,1), PRIMARY KEY(MANV,MADA) ) T T o b o b ng ng 3/18/2009 3/18/2009 CSDL CSDL - - Tr Tr n Ph n Ph c Tu c Tu n n 16 16 I H I H C SP. TPHCM, KHOA TO C SP. TPHCM, KHOA TO Á Á N N – – TIN H TIN H C C KNOWLEDGE FOR SHARE 3.nh ngha d liu CREATE TABLE NHANVIEN ( HONV NVARCHAR(10) CONSTRAINT NV_HONV_NN NOT NULL, TENLOT NVARCHAR(20) NOT NULL, TENNV NVARCHAR(10) NOT NULL, MANV CHAR(9) CONSTRAINT NV_MANV_PK PRIMARY KEY, NGSINH DATETIME, DCHI NVARCHAR(50), PHAI NCHAR(3) CONSTRAINT NV_PHAI_CHK CHECK (PHAI IN (N‘Nam’,N ‘N’)), LUONG INT CONSTRAINT NV_LUONG_DF DEFAULT (10000), MA_NQL CHAR(9), PHG INT ) T T o b o b ng ng 3/18/2009 9 3/18/2009 3/18/2009 CSDL CSDL - - Tr Tr n Ph n Ph c Tu c Tu n n 17 17 I H I H C SP. TPHCM, KHOA TO C SP. TPHCM, KHOA TO Á Á N N – – TIN H TIN H C C KNOWLEDGE FOR SHARE 3.nh ngha d liu CREATE TABLE PHANCONG ( MANV CHAR(9), MADA INT, THOIGIAN DECIMAL(3,1), CONSTRAINT PC_MANV_MADA_PK PRIMARY KEY (MANV, MADA), CONSTRAINT PC_MANV_FK FOREIGN KEY (MANV) REFERENCES NHANVIEN(MANV), CONSTRAINT PC_MADA_FK FOREIGN KEY (MADA) REFERENCES DEAN(MADA) ) T T o b o b ng ng 3/18/2009 3/18/2009 CSDL CSDL - - Tr Tr n Ph n Ph c Tu c Tu n n 18 18 I H I H C SP. TPHCM, KHOA TO C SP. TPHCM, KHOA TO Á Á N N – – TIN H TIN H C C KNOWLEDGE FOR SHARE Thay i cu trúc bng – Thêm ct – Xóa ct – ng ct Thay i ràng buc toàn vn (RBTV) – Thêm RBTV – Xóa RBTV 3.nh ngha d liu S S a b a b ng ng 3/18/2009 10 3/18/2009 3/18/2009 CSDL CSDL - - Tr Tr n Ph n Ph c Tu c Tu n n 19 19 I H I H C SP. TPHCM, KHOA TO C SP. TPHCM, KHOA TO Á Á N N – – TIN H TIN H C C KNOWLEDGE FOR SHARE 3.nh ngha d liu S S a b a b ng ng ALTER TABLE <Tên_bng> ADD COLUMN <Tên_ct> <Kiu_d_liu> [<RBTV>] ALTER TABLE <Tên_bng> DROP COLUMN <Tên_ct> ALTER TABLE <Tên_bng> ALTER COLUMN <Tên_ct> <Kiu_d_liu_mi> ALTER TABLE <Tên_bng> ADD CONSTRAINT <Ten_RBTV> <RBTV>, CONSTRAINT <Ten_RBTV> <RBTV>, … ALTER TABLE <Tên_bng> DROP <Tên_RBTV> 3/18/2009 3/18/2009 CSDL CSDL - - Tr Tr n Ph n Ph c Tu c Tu n n 20 20 I H I H C SP. TPHCM, KHOA TO C SP. TPHCM, KHOA TO Á Á N N – – TIN H TIN H C C KNOWLEDGE FOR SHARE 3.nh ngha d liu S S a b a b ng ng ALTER TABLE NHANVIEN ADD NGHENGHIEP CHAR(20) ALTER TABLE NHANVIEN DROP COLUMN NGHENGHIEP ALTER TABLE NHANVIEN ALTER COLUMN NGHENGHIEP CHAR(50) . 638 NVC Q5 Nam 40000 5 HungNguyen 09/ 15/ 1962 Ba Ria VT Nam 38000 5 3334 455 55 987987987 MANV MA_NQL 8886 655 55 3334 455 55 TENLOT Thanh Manh 3/18/2009 3/18/2009. BETWEEN ‘1 955 -12-08’ AND ‘1966-07-19’ YYYY-MM-DD MM/DD/YYYY ‘1 955 -12-08’ ’12/08/1 955 ’ ‘December 8, 1 955 ’ HH:MI:SS ’17:30:00’ ’ 05: 30 PM’ ‘1 955 -12-08 17:30:00’