HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU SQL SERVER 2012

Slides:



Advertisements
Các bản thuyết trình tương tự
Công nghệ phần mềm Các quy trình phần mềm.
Advertisements

Thiết kế vật lý database
Teen Challenge Staff Training Course
HỌC VIỆN NÔNG NGHIỆP VIỆT NAM BỘ MÔN KẾ HOẠCH VÀ ĐẦU TƯ
Mô hình thực thể liên kết (Entity-Relationship - ER)
Các nguyên tắc làm việc với ASP
Mục tiêu nền tảng về đào tạo & huấn luyện nhân viên
PHÒNG TÀI NGUYÊN VÀ MÔI TRƯỜNG CÁC CÔNG TÁC BẢO VỆ MÔI TRƯỜNG
CHỦ ĐỀ 1 MÁY TÍNH VÀ CHƯƠNG TRÌNH MÁY TÍNH
Hệ điều hành Windows Sever 2003
ThS. Phạm Đức Thành Lập trình trên Windows ThS. Phạm Đức Thành
CHÚA NHẬT 29 MÙA THƯỜNG NIÊN
“Khi Chúa Giêsu đã chịu phép rửa và đang cầu nguyện, thì trời mở ra”.
ASP Giáo viên: TS. Trương Diệu Linh Bộ môn Truyền thông & Mạng
BIDV Czech Rep. Representative Office
Thắp đèn : bắm nút vàng vàng dưới chân đèn
CÁC HÀM CƠ BẢN TRONG EXCEL (1)
Kiểm thử và đảm bảo chất lượng phần mềm
Hùng Phương & Thanh Quảng thực hiện
Xinh đẹp! Beautiful!.
VÒNG 1 - BẢNG D Đại học Giao thông Vân tải 1 Đại học Xây dựng Hà Nội
Lê Tân Bộ môn: Lập trình máy tính
Giới thiệu môn học.
Hướng dẫn sử dụng Tôn Nữ Phương Mai Tháng 3/2013.
Hướng dẫn sử dụng hệ thống họp trực tuyến của Bộ GD&ĐT
Ôn tập struct và bộ nhớ động Linked Lists
Lương Trần Hy Hiến - LINQ to SQL Lương Trần Hy Hiến -
Con trỏ Lập trình nâng cao
Bài 3: Ngôn ngữ lập trình C#
Chương 02 CẤU TRÚC VÀ CÁC THÀNH PHẦN CHƯƠNG TRÌNH C/C++
TRƯỜNG THPT QUANG TRUNG
Chương 5 ỨNG DỤNG CSDL VÀ ADO.NET.
CHƯƠNG II: CHUẨN ETHERNET
Thiết kế hệ thống nhóm máy tính cụm trong VN-KIM
BS ĐOÀN XUÂN DUNG Phòng CT-MRI
Bài 1: giới thiệu C# và .NET framework
Trao đổi TĂNG CƯỜNG QUẢN LÝ HOẠT ĐỘNG
Chương 06 KIỂU DỮ LIỆU NGƯỜI LẬP TRÌNH ĐỊNH NGHĨA
CHÚA NHẬT 5 MÙA THƯỜNG NIÊN
Chương 7 Crystal Report.
Chương 2 Đại cương về máy tính điện tử (MTĐT)
YÊU CẦU ĐẶT RA Tôi có một số đoạn phim / hình ảnh (vừa quay / chụp được hoặc sưu tầm được,…), tôi muốn lắp ghép nó để trở thành một đoạn phim trình.
NHIỆT LIỆT CHÀO MỪNG QUÝ THẦY CÔ GIÁO
Giải pháp quản lý doanh nghiệp online
Giới thiệu & Tập huấn Phần mềm TKB 11.0
Chương 03 TỔ CHỨC DỮ LIỆU TRONG CHƯƠNG TRÌNH
Korea-Vietnam Friendship IT College
Chuyên đề : Web Design Bộ môn KTMT – Viện CNTT&TT
Cài đặt và thiết lập DNS cho Domain
Bit, Byte, Biểu diễn thông tin
Trainer: Bạch Ngọc Toàn Phát hành bởi: TEDU –
1.
SẮP XẾP, TÌM KIẾM, LỌC DỮ LIỆU
MÔN HỌC: NHẬP MÔN VỄ KỸ THUẬT CHƯƠNG 7: KỸ NĂNG GIẢI QUYẾT VẤN ĐỀ
DIỄN ĐÀN KHOA HỌC TOÀN QUỐC SINH HỌC BIỂN VÀ PHÁT TRIỂN BỀN VỮNG 2019
Nhập môn Công nghệ học Phần mềm Introduction to Software Engineering
Bài 8: kiểu số thập phân dấu chấm động
Trainer: Bạch Ngọc Toàn Phát hành bởi: TEDU –
Mục tiêu Ưu điểm của ADO.NET Kiến trúc của ADO.NET
7 Năm Mira Hansson CÁ NHÂN Nhà phát triển Full-Stack Tuyên bố sứ mệnh
CUỘC SỐNG ĐẸP THAY Âm nhạc: Ernesto Cortazar, “La Vida Es Bella”
HƯỚNG DẪN TẠO LỚP.
KIỂM TRA TÌNH TRẠNG SAO CHÉP
Nhịp & Phách (Time and Beat).
TẤM GƯƠNG ĐẠO ĐỨC HỒ CHÍ MINH VỀ TRUNG THỰC, TRÁCH NHIỆM;
Hàm Lập trình nâng cao.
Bản ghi của bản thuyết trình:

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)

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 đề : <menhde> 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 ( {<dinh_nghia_cot> | <rang_buoc_bang>} [,.. n] ) dinh_nghia_cot ::= {ten_cot <kieu_dl>} [DEFAULT giatri_hang] [IDENTITY [(hat_giong , muc_tang)]] [<rang_buoc_cot>]

Ngôn ngữ tạo lập dữ liệu [<rang_buoc_cot>] ::= [CONSTRAINT ten_rang_buoc] { {NULL | NOT NULL} | CHECK (ten_cot {=|>|<|!=|≥|≤} gia_tri) | {PRIMARY KEY | UNIQUE} | REFERENCES ten_bang_quan_he (ten_cot_quan_he [,..n]) [ON {DELETE|UPDATE} CASCADE ] }

Ngôn ngữ tạo lập dữ liệu [<rang_buoc_bang>] ::= [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 {<dinh_nghia_cot>|<rang_buoc_bang>} [,..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ữ tạo lập dữ liệu }

Ngôn ngữ tạo lập dữ liệu [ WHERE menh_ de_dieu_kien ] UPDATE ten_bang SET {ten_cot ={DEFAULT | NULL | giátrị | biểuthức} [,...n]} [ WHERE menh_ de_dieu_kien ]

Ngôn ngữ truy vấn - Select SELECT [[ALL|DISTINCT]|[TOP [PERCENT] n]] <danh_sach_select> FROM <danh_sach_bang> WHERE <dieu_kien> ORDER BY {ten_cot [,..n] | thu_tu_cot[,..n]} ------------------------------------------ <danh_sach_select> ::= { [ten_bang. | bi_danh.]ten_cot | bieu_thuc_tinh_toan_tren_cot } [[AS] ten_cot_moi] [,..n]

Ngôn ngữ truy vấn - Select <danh_sach_bang> ::= {<ten_bang> [AS bi_danh] [,..n] | <bang_tam>} <bang_tam> ::= ( <ten_bang> [AS bi_danh] {INNER | RIGHT | LEFT} JOIN <ten_bang> [AS bi_danh] ON dieu_kien ) [AS bi_danh] | ( {<bang_tam> | <ten_bang> [AS bi_danh]} {<bang_tam> | <ten_bang> [AS bi_danh]} <ten_bang> ::= {ten_bang | (SELECT …)}

Ngôn ngữ truy vấn – Select (điều kiện) <dieu_kien> ::= { [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 …) : Trả về true/false nếu select có kết quả EXCEPT – INTERSECT

Ngôn ngữ truy vấn - Select SELECT [ALL | DISTINCT] <danh_sach_select_nhom> FROM <danh_sach_bang> WHERE <dieu_kien> GROUP BY <danh_sach_select_gom_nhom> HAVING <dieu_kien> ------------------------------------------------------ <danh_sach_select_gom_nhom> ::= {[ten_bang.|bi_danh.] {ten_cot_gom_nhom | bieu_thuc_tren_cot} }[,..n] <danh_sach_select_nhom> ::= <danh_sach_select_gom_nhom> , [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) 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 Intersect  nv002