Bài giảng Cơ sở dữ liệu - Bài: Hệ quản trị cơ sở dữ liệu SQL Server 2012

Giới thiệu hệ quản trị cơ sở dữ liệu
SQL Server 2012

HQTCSDL là phần mềm với tiện ích giúp cho việc quản trị dữ liệu một cách hiệu quả.

Có rất nhiều HQTCSDL như Microsoft là SQL Server, Oracle, IBM, MySQL,

Công cụ chính SQL Server 2012 (cài đặt ở sách chính)

Giao diện làm việc (SQL Server Management Studio)

Lưu trử dữ liệu (Database Engine)

Tổng hợp và phân tích dữ liệu (Analysis Services)

 

Bài giảng Cơ sở dữ liệu - Bài: Hệ quản trị cơ sở dữ liệu SQL Server 2012 trang 1

Trang 1

Bài giảng Cơ sở dữ liệu - Bài: Hệ quản trị cơ sở dữ liệu SQL Server 2012 trang 2

Trang 2

Bài giảng Cơ sở dữ liệu - Bài: Hệ quản trị cơ sở dữ liệu SQL Server 2012 trang 3

Trang 3

Bài giảng Cơ sở dữ liệu - Bài: Hệ quản trị cơ sở dữ liệu SQL Server 2012 trang 4

Trang 4

Bài giảng Cơ sở dữ liệu - Bài: Hệ quản trị cơ sở dữ liệu SQL Server 2012 trang 5

Trang 5

Bài giảng Cơ sở dữ liệu - Bài: Hệ quản trị cơ sở dữ liệu SQL Server 2012 trang 6

Trang 6

Bài giảng Cơ sở dữ liệu - Bài: Hệ quản trị cơ sở dữ liệu SQL Server 2012 trang 7

Trang 7

Bài giảng Cơ sở dữ liệu - Bài: Hệ quản trị cơ sở dữ liệu SQL Server 2012 trang 8

Trang 8

Bài giảng Cơ sở dữ liệu - Bài: Hệ quản trị cơ sở dữ liệu SQL Server 2012 trang 9

Trang 9

Bài giảng Cơ sở dữ liệu - Bài: Hệ quản trị cơ sở dữ liệu SQL Server 2012 trang 10

Trang 10

Tải về để xem bản đầy đủ

pptx 22 trang xuanhieu 7660
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Cơ sở dữ liệu - Bài: Hệ quản trị cơ sở dữ liệu SQL Server 2012", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Cơ sở dữ liệu - Bài: Hệ quản trị cơ sở dữ liệu SQL Server 2012

Bài giảng Cơ sở dữ liệu - Bài: Hệ quản trị cơ sở dữ liệu SQL Server 2012
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆUSQL SERVER 2012 
Giới thiệu hệ quản trị cơ sở dữ liệuSQL Server 2012 
HQTCSDL là phần mềm với tiện ích giúp cho việc quản trị dữ liệu một cách hiệu quả. 
Có rất nhiều HQTCSDL như Microsoft là SQL Server , Oracle, IBM, MySQL,  
Công cụ chính SQL Server 2012 ( cài đặt ở sách chính ) 
Giao diện làm việc (SQL Server Management Studio) 
Lưu trử dữ liệu (Database Engine) 
Tổng hợp và phân tích dữ liệu (Analysis Services) 
Tính năng chính của SQL Server 2012 
Quản trị dữ liệu 
Chia sẽ dữ liệu qua mạng và các HQTCSDL khác 
Báo cáo, tổng hợp và phân tích dữ liệu 
Tính năng chính của quản trị dữ liệu 
Tạo lập dữ liệu 
Khai thác dữ liệu (thông qua ngôn ngữ truy vấn) 
Hỗ trợ lập trình xử lý số liệu và dữ liệu 
Quản lý giao tác 
Quản lý các toàn vẹn dữ liệu 
Hỗ trợ phân quyền sử dụng dữ liệu 
Hỗ trợ việc sao lưu 
Ngôn ngữ được sử dụng để khai thác dữ liệu là T-SQL (Transact-Structured Query Language) [ đây là ngôn ngữ mở rộng trên SQL ] 
Một số quy ước 
Từ khoá 	:	 TUKHOA 
Mệnh đề 	: 	 
Tên riêng	: 	 ten_rieng 
Hoặc	: 	| 
Lặp lại nhiều lần	:	 [,..n] 
Mô tả tập hợp 
{a|b|c}: tồn tại ít nhất 1 trong 3 thành phần a,b,c. 
[a|b|c]: tồn tại ít nhất 0 trong 3 thành phần a,b,c. 
Kiểu dữ liệu 
Chuỗi: 	char; nchar; varchar; nvarchar 
	 	text; ntext 
Số:	bit; tinyint; smallint; int; bigint 
	 	float; real; decimal/numeric; 
	 	money; smallmoney 
Ngày:	date; datetime; time 
 	rowversion; uniqueidentifier 
 	binary; image; XML 
Ngôn ngữ tạo lập dữ liệu 
Cú pháp tạo lập dữ liệu : 
	 CREATE DATABASE ten_database 
	USE ten_database 
Cú pháp tạo lập bảng : 
	 CREATE TABLE ten_bang 
	( 	{ | } 
	[,.. n]	) 
	dinh_nghia_cot ::= 
	{ ten_cot } [DEFAULT giatri_hang ] 
	[IDENTITY [( hat_giong , muc_tang )]] 
	[] 
Ngôn ngữ tạo lập dữ liệu 
[] ::= 
	[CONSTRAINT ten_rang_buoc ] 
	{ 
	{NULL | NOT NULL}	| 
	CHECK ( ten_cot 	 	{ =|>|<|!=|≥|≤ } gia_tri )	| 
	{PRIMARY KEY | UNIQUE}	| 
	REFERENCES ten_bang_quan_h e 
	 ( ten_cot_quan_he [,..n]) 
	 [ON {DELETE|UPDATE} CASCADE ] 
	} 
Ngôn ngữ tạo lập dữ liệu 
[] ::= 
	[CONSTRAINT ten_rang_buoc ] 
	{	CHECK ( bieu_thuc_tren_cot 
	 	{ =|>|<|!=|≥|≤ } gia_tri )	| 
	{PRIMARY KEY | UNIQUE} (ten_cot 	[,..n])	 	| 
	FOREIGN KEY (ten_cot [,..n]) 
	RREFERENCES ten_bang_quan_he 
	(ten_cot_quan_he [,..n]) 
	[ON {DELETE|UPDATE} CASCADE ] 
	} 
Ngôn ngữ tạo lập dữ liệu 
Cú pháp thay đổi cấu trúc bảng : 
ALTER TABLE ten_bang {	 
	ALTER COLUMN ten_cot { 
	DROP DEFAULT | 
	SET DEFAULT gia_tri_hang | 
	IDENTITY ( hat_giong , muc_tang ) 
	} |	 
	ADD {|} [,..n] | 
	DROP {CONSTRAINT ten_rb | COLUMN ten_cot }	 
} 
Cú pháp xoá bảng : 
	 DROP TABLE ten_bang 
Ngôn ngữ tạo lập dữ liệu (ví dụ) 
Create table lophoc ( 
	 malop nvarchar(5) primary key, tenlop nvarchar(100), tongso int, 
	 constraint tschk check (tongso < 50)) 
Create table monhoc ( 
	 mamon nvarchar(5) primary key, tenmon nvarchar(100)) 
Create table sinhvien ( 
	 masinhvien nvarchar(10) primary key, tensinhvien nvarchar(100), 
	 malop nvarchar(5) references lophoc(malop)) 
Create table diem ( 
	 masinhvien nvarchar(10) references sinhvien(masinhvien), 
	 mamon nvarchar(5) references monhoc(mamon), 
	 diem decimal, 
	 constraint kchinh primary key (masinhvien, mamon) ) 
Ngôn ngữ tạo lập dữ liệu 
Luật trên dữ liệu : 
CREATE RULE ten_luat 
AS 
	@VALUE 
	{IN | LIKE | = | > | < | != | ≥ | ≤ } 
	{ gia_tri [,..n] | tap_hop }	 
Áp dụng luật : 
EXEC sp_bindrule 	‘ ten_luat’,‘ten_bang.ten_cot’ 
	 [furtureonly] 
EXEC sp_unbindrule ‘ten_bang.ten_cot’ 
Ngôn ngữ truy vấn - Select 
SELECT [[ ALL|DISTINCT ]|[TOP [ PERCENT] n ]] 
	FROM 
	WHERE 
	ORDER BY 
	 	{ ten_cot [,.. n ] | thu_tu_cot [,.. n ]} 
------------------------------------------ 
	 ::= 
	 	{ [ ten_bang. | bi_danh. ] ten_cot | 
	 	 bieu_thuc_tinh_toan_tren_cot 
	 	} [[ AS]	 ten_cot_moi ] 
 	 [,.. n] 
Ngôn ngữ truy vấn - Select 
 ::= 
	{ [AS bi_danh ] [,..n] | } 
 ::= 	 
 ( [AS bi_danh ] 
 {INNER | RIGHT | LEFT} JOIN 
 [AS bi_danh ] 
	 ON dieu_kien ) [AS bi_danh ] 
	| 
 ( { | [AS bi_danh ]} 
	 {INNER | RIGHT | LEFT} JOIN 
	 { | [AS bi_danh ]} 
	 ON dieu_kien ) [AS bi_danh ] 
 ::= { ten_bang | (SELECT )} 
Ngôn ngữ truy vấn – Select (điều kiện) 
 ::= 
{ 
[NOT] 
	{ gia_tri | ten_cot | bieu_thuc } 
	{ = | > | < | != | ≥ | ≤ } 
	{ gia_tri | ten_cot | bieu_thuc }	| 
[NOT] IN ({ gia_tri [,..n]|SELECT 1_cot })	| 
[NOT] BETWEEN 
	{ gia_tri | ten_cot | bieu_thuc } AND 	{ gia_tri | ten_cot | bieu_thuc } 	| 
[NOT] LIKE chuoi_co_ky_tu_dai_dien 
}	 
Ngôn ngữ truy vấn – Select (điều kiện) 
Chuổi ký tự đại diện : 
	%	 : Bất cứ ký tự gì của hơn 0 ký tự 
	_	 : Bất cứ ký tự gì của 1 ký tự 
	[]	 : Một giá trị đơn trong đoạn giá trị hay tập giá trị. 
	 	 Ví dụ : [a-b] hay [abef] 
	[^]	 : Một giá trị đơn không thuộc vào trong đoạn giá trị hay tập giá trị. 
	 Ví dụ : [^a-b] hay [^abef] 
SOME | ANY | ALL 
EXISTS (SELECT ) 	: T rả về true/false nếu select có kết quả 
EXCEPT – INTERSECT 
Ngôn ngữ truy vấn - Select 
SELECT [ALL | DISTINCT ] 
	FROM 	 
	WHERE 
	GROUP BY 
	HAVING 
------------------------------------------------------ 
 ::= 
 {[ ten_bang. | bi_danh. ] 
	 	{ ten_cot_gom_nhom | bieu_thuc_tren_cot } 
 }[,..n] 
 ::= 
	 	 , 
	 	[ tinh_toan_tong_hop_tren_cot [,..n]] 
Ví dụ 
Liệt kê danh sách sinh viên không hề có điểm 
Select sv.* from sinhvien sv 
Where sv.masinhvien not in 
	 	( Select masinhvien from diem ) 
Liệt kê danh sách sinh viên có ít nhất 1 môn điểm 10 
Select distinct sv.masinhvien, sv.tensinhvien 
From sinhvien sv inner join diem d 
	on d.masinhvien = sv.masinhvien 
Where d.diem = 10 
Ví dụ 
Liệt kê danh sách sinh viên mà mọi môn học đều có điểm >= 5 
Select sv.* from sinhvien sv 
Where sv.masinhvien not in 
	(Select masinhvien from diem where diem < 5) 
Select sv.masinhvien, sv.tensinhvien 
from sinhvien sv inner join diem d 
	 	on d.masv = sv.masv 
Group by sv.masinhvien, sv.tensinhvien 
Having min(d.diem) >= 5 
Ví dụ 
Liệt kê danh sách sinh viên đã học nhiều môn nhất 
Select sv.masinhvien, sv.tensinhvien, 
	 	count(distinct d.mamon) as tong into #b1 
From sinhvien sv inner join diem d 
	 	on d.masv = sv.masv 
Group by sv.masinhvien, sv.tensinhvien 
Select masv, tensv from #b1 
where tong = (select max(tong) from #b1) 
Ví dụ ( EXCEPT – INTERSECT) 
create table congviec 
	 ( macv char(5) primary key,tencv char(20)) 
create table phancong ( manv char(5), macv char(5), constraint pk_phancong primary key (manv,macv)) 
create table nhanvien 
	( manv char(5) primary key, tennv char(20)) 
Ví dụ dữ liệu 
manv 	macv	manv	macv 
nv001	cv001	nv002	cv001 
nv001	cv002	nv002	cv002 
	nv002	cv003 
Ví dụ ( EXCEPT – INTERSECT) 
EXCEPT 
Lấy ra manv mà chỉ có làm công việc cv001 mà không làm công việc cv003. 
Select manv from phancong where macv = ‘cv001’ 
Except 
Select manv from phancong where macv = ‘cv003’ 
Nv001 
INTERSECT : 
Lấy ra manv mà làm cả 2 công việc cv001 và cv003 
Select manv from phancong where macv = ‘cv001’ 
Intersect 
Select manv from phancong where macv = ‘cv003’ 
 nv002 

File đính kèm:

  • pptxbai_giang_he_quan_tri_co_so_du_lieu_sql_server_2012_moi.pptx