1. Trang chủ
  2. » Nông - Lâm - Ngư

Hệ Quản trị Cơ sở dữ liệu 2 SQL Server

146 30 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 146
Dung lượng 3,53 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

CREATE PROCEDURE [dbo].[usp_DmDtPrint] AS BEGIN SET NOCOUNT ON; DECLARE @_Ma_Dt NVARCHAR40, @_Ten_Dt NVARCHAR20s DECLARE DmDtCursor CURSOR FOR SELECT Ma_Dt, Ten_Dt FROM DmDt OPEN DmDtCur[r]

Trang 1

TRƯ NG Đ I H C PH M VĂN Đ NG KHOA CÔNG NGH THÔNG TIN

BÀI GI NG:

H QU N TR CƠ S D LI U 2

SQL SERVER (Dùng cho b c Cao ñ ng)

Gi ng viên: Th.S Nguy n Trí Nhân

Qu ng Ngãi, Spring-2014

Trang 2

Gi ng viên: Th.S Nguy n Trí Nhân 1 Khoa Công ngh Thông tin

M C L C

L I NÓI Đ U 5

Chương 1 T NG QUAN V SQL SERVER 2000 7

1.1 GI I THI U SQL SERVER 7

1.1.1 Gi i thi u chung v h qu n tr cơ s d li u 7

1.1.2 Gi i thi u v phiên b n SQL Server 7

1.2 Các thành ph n trong SQL Server 8

1.3 CÀI Đ T SQL SERVER 9

1.4 CÁC CSDL H TH NG TRONG SQL SERVER 17

1.5 CÁC CÔNG C TRONG SQL SERVER 19

1.5.1 Ti n ích Book Online 20

1.5.2 Ti n ích Client NetWork Utility 20

1.5.3 Ti n ích Enterprise Manager 21

1.5.4 Ti n ích Import and Export Data 22

1.5.5 Ti n ích Profiler 22

1.5.6 Ti n ích Query Analyzer 23

1.5.7 Ti n ích Server Network Utility 25

1.5.8 Ti n ích Service Manager 25

Chương 2 GI I THI U NGÔN NG TRANSACT – SQL 27

2.1 GI I THI U 27

2.2 KI U D LI U 27

2.3 TRUY XU T D LI U (DATA QUERY LANGUAGE) 28

2.3.1 Truy v n d li u ñơn gi n v i SELECT 28

2.3.2 Tìm hi u các trư ng tính toán 31

2.3.3 L c d li u v i m nh ñ WHERE 33

2.3.4 S p x p d li u v i ORDER BY 38

2.3.5 Nhóm d li u v i m nh ñ GROUP BY 40

2.3.6 Query con 44

2.3.7 Các phép n i 46

2.3.8 K t h p các query 52

2.4 C P NH T D LI U (DATA MANIPULATION LANGUAGE) 53

Trang 3

Gi ng viên: Th.S Nguy n Trí Nhân 2 Khoa Công ngh Thông tin

2.4.1 Chèn d li u 53

2.4.2 C p nh t, xóa d li u 55

2.5 BÀI T P TH C HÀNH 56

Chương 3 T O CƠ S D LI U TRÊN SQL SERVER 57

3.1 CÁC LO I FILE LƯU TR CƠ S D LI U 57

3.1.1 Các t p tin v t lý lưu tr cơ s d li u 57

3.1.2 T p tin d li u chính (Primary Data File) 57

3.1.3 T p tin d li u th y u (Secondary Data Files) 58

3.1.4 T p tin lưu v t (Log Files) 58

3.2 T O CƠ S D LI U 58

3.2.1 S d ng ti n ích Enterprise Manager: 58

3.2.2 S d ng câu l nh Transaction - SQL: 61

3.3 XÓA, S A, Đ I TÊN, XEM THÔNG TIN CƠ S D LI U 62

3.3.1 Xóa cơ s d li u 62

3.3.2 Đ i tên Database (Rename) 64

Chương 4 T O VÀ QU N LÝ B NG (TABLE) 65

4.1 T O B NG (TABLE) 65

4.1.1 Khái ni m v b ng 65

4.1.2 T o c u trúc b ng d li u 65

4.2 THAY Đ I C U TRÚC B NG (TABLE) 69

4.2.1 Thêm m t c t m i trong b ng: 69

4.2.2 H y b c t hi n có bên trong b ng: 70

4.2.3 S a ñ i ki u d li u c a c t: 70

4.2.4 T t b quy t c ki m tra toàn v!n d li u: 71

4.2.5 B t l i quy t c ki m tra toàn v!n d li u: 71

4.2.6 Đ i tên c t, tên b ng d li u: 72

4.3 XÓA B NG (TABLE) 73

4.4 QU N LÝ B NG 73

4.4.1 Tính toàn v!n d li u trong cơ s d li u 73

4.5 T O M!T DATABASE DIAGRAM 88

4.5.1 Khái ni m v mô hình quan h d li u: 88

Trang 4

Gi ng viên: Th.S Nguy n Trí Nhân 3 Khoa Công ngh Thông tin

4.5.2 T o m i mô hình quan h d li u: 88

4.6 BÀI T P TH C HÀNH 92

Chương 5 T O VIEW (B NG O) 97

5.1 KHÁI NI M VIEW 97

5.2 S D NG T – SQL 97

5.3 S D NG ENTERPRISE MANAGER 102

5.4 BÀI T P TH C HÀNH 105

Chương 6 STORE PROCEDURE 106

6.1 KHÁI NI M STORE PROCEDURE 106

6.1.1 Th t c n i là gì ? 106

6.1.2 Các Procdure Store h th ng: 106

6.1.3 Các l i ích khi s d ng Procdure Store: 107

6.2 T O STORE PROCEDURE B"NG L NH CREATE 107

6.3 THI HÀNH STORE PROCEDURE 110

6.4 CÁC PHÁT BI U ĐI U KHI N 110

6.4.1 Bi u th c Case 110

6.4.2 C u trúc r" nhánh IF ELSE 114

6.4.3 C u trúc l#p WHILE 117

6.5 S A, XÓA, Đ I TÊN TH# T C (STORE PROCEDURE) 121

6.5.1 H y b Procdure Store: 121

6.5.2 Thay ñ i n i dung c a Procdure Store: 121

6.6 X LÝ L$I TRONG STORE PROCEDURE (SP) 123

6.6.1 Mã tr v 123

6.6.2 Câu l nh RAISERROR 124

6.7 BÀI T P TH C HÀNH 125

Chương 7 CHUY N TÁC, B%Y L$I VÀ KI U CON TR& TRONG SQL SERVER 126

7.1 CHUY N TÁC (TRANSACTION) 126

7.1.1 Khái ni m 126

7.1.2 Cách t o và ng d ng 126

7.2 B%Y L$I (TRIGGER) 133

Trang 5

Gi ng viên: Th.S Nguy n Trí Nhân 4 Khoa Công ngh Thông tin

7.2.1 Khái ni m 133

7.2.2 Cách t o và ng d ng 133

7.3 KI U CON TR& (SQL CURSOR) 134

7.3.1 Khái ni m 134

7.3.2 Cách t o và ng d ng 134

7.4 BÀI T P TH C HÀNH 136

Chương 8 QU N LÝ B O M T VÀ NGƯ I DÙNG TRONG SQL SERVER 137

8.1 KHÁI NI M 137

8.2 T O VÀ QU N LÝ NGƯ I DÙNG ĐĂNG NH P 137

8.2.1 S d ng Enterprise Manager 137

8.2.2 S d ng Query Analyzer: 139

8.3 C P PHÁT QUY N CHO NGƯ I DÙNG 139

8.3.1 S d ng Enterprise Manager 139

8.3.2 S d ng Query Analyzer 140

8.4 THU H I QUY N ĐÃ C P PHÁT CHO NGƯ I DÙNG 142

8.4.1 Xóa quy n truy xu t CSDL hi n hành: 142

8.4.2 Xóa b quy n th$c thi ñã c p ho#c t% ch i trên CSDL: 142

8.4.3 Xóa b quy n t o ñ i tư ng ñã c p ho#c t% ch i trên CSDL: 143

TÀI LI&U THAM KH O 144

Trang 6

Gi ng viên: Th.S Nguy n Trí Nhân 5 Khoa Công ngh Thông tin

LLLLỜ Ờ ỜI NÓI Đ I NÓI Đ I NÓI ĐẦ ẦẦ ẦU U U Ngôn ng h i có c u trúc (SQL), có ti n thân là SEQUEL, là m t ngôn ng ñư c IBM phát tri n và s d ng trong h cơ s d li u th nghi m có tên là System/R vào năm

1974, chính th c ñư c ANSI/ISO công nh n là m t chu'n ngôn ng s d ng trong cơ s

d li u quan h vào năm 1986 Cho ñ n hi n nay, SQL ñã ñư c s d ng ph bi n trong các h qu n tr cơ s d li u thương m i và có vai trò quan tr ng trong nh ng h th ng này

Đư c s$ ñ ng viên c a các ñ ng nghi p trong Khoa Công ngh Thông tin, Trưòng

Đ i h c Ph m Văn Đ ng, chúng tôi m nh d n vi t và gi i thi u Bài gi ng H qu n tr cơ

s d li u 2 SQL Server cho sinh viên b c Cao ñ ng ngành Công ngh thông tin ñ n b n

ñ c Trong bài gi ng này, chúng tôi không có tham v ng ñ c p ñ n m i khía c nh c a SQL mà ch( mong mu n r)ng ñây s" là tài li u tham kh o tương ñ i ñ*y ñ v các câu l nh thư ng ñư c s d ng trong SQL Bài gi ng ñư c chia thành tám chương v i n i dung như sau:

- Chương 1 T+NG QUAN V, SQL SERVER 2000

- Chương 2 GI-I THI&U NGÔN NG TRANSACT – SQL

- Chương 3 T/O CƠ S1 D LI&U TRÊN SQL SERVER

- Chương 4 T/O VÀ QU N LÝ B NG (TABLE)

- Chương 5 T/O VIEW (B NG O)

- Chương 6 STORE PROCEDURE

- Chương 7 CHUY2N TÁC, B3Y L4I VÀ KI2U CON TR5 TRONG SQL SERVER

- Chương 8 QU N LÝ B O M6T VÀ NGƯ8I DÙNG TRONG SQL SERVER

So v i chu'n SQL do ANSI/ISO ñ xu t, b n thân các h qu n tr cơ s d li u quan

h thương m i l i có th có m t s thay ñ i nào ñó; Đi u này ñôi khi d9n ñ n s$ khác bi t, m#c dù không ñáng k , gi a SQL chu'n và SQL ñư c s d ng trong các h qu n tr cơ s

d li u c th Trong bài gi ng này, chúng tôi ch n h qu n tr cơ s d li u SQL Server

2000 c a hãng Microsoft ñ s d ng cho các ví d minh ho cũng như l i gi i c a các bài

t p

Chúng tôi hi v ng r)ng bài gi ng này s" th$c s$ có ích ñ i v i b n ñ c Chúng tôi

r t mong nh n ñư c s$ c vũ và nh ng ý ki n ñóng góp th ng th n c a các b n Cu i cùng, xin g i l i c m ơn ñ n các th*y cô, ñ ng nghi p và các b n sinh viên ñã ñ ng viên và giúp ñ; chúng tôi hoàn thành bài gi ng này

Trang 7

Gi ng viên: Th.S Nguy n Trí Nhân 6 Khoa Công ngh Thông tin

Qu ng Ngãi, 2014 Nguy n Trí Nhân

Trang 8

Gi ng viên: Th.S Nguy n Trí Nhân 7 Khoa Công ngh Thông tin

Chương 1

Chương 1 TTTTỔ Ổ ỔNG QUAN V NG QUAN V NG QUAN VỀỀỀỀ SQL SERVER 2000 SQL SERVER 2000 SQL SERVER 2000

1.1

1.1 GIGIGIỚỚỚI THII THII THIỆỆỆỆU SQL SERVERU SQL SERVERU SQL SERVER

1.1.1 Giới thiệu chung về hệ quản trị cơ sở dữ liệu

H qu n tr cơ s d li u (ti ng Anh: Database Management System - DBMS), là ph*n m m hay h th ng ñư c thi t k ñ qu n tr m t cơ s d li u C th , các chương trình thu c lo i này h< tr kh năng lưu tr , s a ch a, xóa và tìm ki m thông tin trong m t

cơ s d li u (CSDL) Có r t nhi u lo i h qu n tr CSDL khác nhau: t% ph*n m m nh

ch y trên máy tính cá nhân cho ñ n nh ng h qu n tr ph c t p ch y trên m t ho#c nhi u siêu máy tính

Tuy nhiên, ña s h qu n tr CSDL trên th trư ng ñ u có m t ñ#c ñi m chung là s

d ng ngôn ng truy v n theo c u trúc mà ti ng Anh g i là Structured Query Language (SQL) Các h qu n tr CSDL ph bi n ñư c nhi u ngư i bi t ñ n là MySQL, Oracle, PostgreSQL, SQL Server, DB2, Infomix, v.v Ph*n l n các h qu n tr CSDL k trên ho t

ñ ng t t trên nhi u h ñi u hành khác nhau như Linux, Unix và MacOS ngo i tr% SQL Server c a Microsoft ch( ch y trên h ñi u hành Windows

- Ưu ñi'm c(a HQTCSDL:

+ 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

- Như)c ñi'm:

+ HQTCSDL t t thì khá ph c t p

+ HQTCSDL t t thư ng r t l n chi m nhi u dung lư ng b nh

+ Giá c khác nhau tùy theo môi trư ng và ch c năng

+ HQTCSDL ñư c vi t t ng quát cho nhi u ngư i dùng thì thư ng ch m 1.1.2 Giới thiệu về phiên bản SQL Server

Microsoft SQL Server là m t h qu n tr cơ s d li u quan h (relational database management system – RDBMS) do Microsoft phát tri n

SQL Server là m t h qu n tr cơ s d li u quan h m ng máy tính ho t ñ ng theo

mô hình khách ch cho phép ñ ng th i cùng lúc có nhi u ngư i dùng truy xu t ñ n d li u,

qu n lý vi c truy nh p h p l và các quy n h n c a t%ng ngư i dùng trên m ng

Ngôn ng truy v n quan tr ng c a Microsoft SQL server là Transact-SQL

L*n lư t các phiên b n c a Microsoft SQL Server ñã ra ñ i sau s$ ki n này, t% 4.2 sau ñó ñư c nâng c p thành 4.21, 6.0, 6.5, 7.0 và hi n gi là Microsoft SQL Server 2000,

2005 và m i nh t là Microsoft SQL Server 2008, Microsoft SQL Server 2012, Microsoft SQL Server 2013

- SQL Server 2005: SQL Server 2005, ñư c phát hành vào tháng 11 năm 2005, là phiên b n ti p theo c a SQL Server 2000 S d ng trên n n Net Framework 2.0

Trang 9

Gi ng viên: Th.S Nguy n Trí Nhân 8 Khoa Cơng ngh Thơng tin

- SQL Server 2008: Đây là phiên b n m i nh t c a SQl Server Ngày 27/02/2008, s

d ng trên n n Net Framework 3.0

- SQL Server 2012: Ngày 6/3/2012, t p đồn Microsoft tuyên b phiên b n m i nh t Microsoft SQL Server 2012, n n t ng d li u đư c s d ng nhi u nh t trên th gi i, s>n SQL Server 2012 giúp gi i quy t các thách th c liên quan đ n s$ gia tăng kh i lư ng d

li u b)ng cách chuy n các d li u này thành các t*m nhìn mang tính quy t đ nh nhanh chĩng, giúp khách hàng qu n lý b t kì d li u nào, v i b t kì kích thư c nào, t i c cơ s

và trên đi n tốn đám mây SQL Server 2012 đưa đ n m t n n t ng v i các cơng c quen thu c đ qu n lý d li u dù đ nh d ng nào, kích thư c l n t i đâu

1.2

1.2 Các thành phCác thành phCác thành phầầầần trong SQL Server n trong SQL Server n trong SQL Server

SQL Server đư c c u thành b i nhi u thành ph*n khác nhau, các thành ph*n cĩ m i quan h trong m t h th ng, ph i h p v i nhau đ t o thành m t gi i pháp hồn ch(nh, nâng cao hi u qu qu n tr , phân tích, lưu tr d li u:

- SQL Server Database: Là c< máy cơ s d li u bao g m Database Engine, lõi d ch

v cho vi c lưu tr , x lý và b o m t d li u, sao lưu và đ ng b (Replication), tìm ki m tồn văn (Full-Text Search) và các cơng c cho vi c qu n tr d li u quan h và XML

- Analysis services: Bao g m các cơng c cho vi c t o và qu n lý ti n trình phân tích

tr$c tuy n (online analytical processing – OLAP) và các ng d ng khai thác d li u

- Reporting Services: Bao g m các thành ph*n server và client cho vi c t o, qu n lý

và tri n khai các báo cáo Reporting Services cũng là n n t ng cho vi c phát tri n và xây d$ng các ng d ng báo cáo

- Notification Services: Là n n t ng cho s$ phát tri n và tri n khai các ng d ng t o

và g i thơng báo Notification Services cĩ th g i thơng báo theo đ ch th i đ n hàng ngàn ngư i đăng ký s d ng nhi u lo i thi t b

- Integration Services: Là m t t p h p các cơng c đ h a và các đ i tư ng l p trình

cho vi c di chuy n, sao chép và chuy n đ i d li u

- Connectivity Components: Là các thành ph*n cho vi c truy n thơng gi a client và

server, và các thư vi n m ng như DB-Library, ODBC và OLEDB

- SQL Server Management Studio (SSMS): Là mơi trư ng đư c tích h p cho vi c

truy xu t, c u hành, qu n tr và phát tri n t t c các thành ph*n c a SQL Server SSMS k t

h p t t c các tính năng c a Enterprise Manager, Query Analyzer và Analysis Manager,

đư c bao hàm trong các phiên b n trư c c a SQL Server, thành m t mơi trư ng đơn mà cung c p truy xu t SQL Server đ phát tri n và qu n tr t t c các m c k? năng trên

- Server SQL Configuration Manager: Cung c p các qu n tr c u hình cơ s cho các

d ch v SQL Server (SQL Server services), các giao th c server (server protocols), các giao th c client (client protocols) và các bí danh client (client aliases)

- SQL Server Profiler: Cung c p giao di n ngư i dùng đ h a cho vi c giám sát th

hi n c a Database Engine ho#c th hi n c a Analysis Services

- Database Engine Tuning Advisor: giúp t o các t p t i ưu ch( s (indexes),

indexed views và các phân vùng (partitions)

Trang 10

Gi ng viên: Th.S Nguy n Trí Nhân 9 Khoa Công ngh Thông tin

1.3

1.3 CÀI ĐCÀI ĐCÀI ĐẶẶẶẶT SQL SERVERT SQL SERVERT SQL SERVER

Khác v i m t s ph*n m m khác như Microsoft Office, Visual Studio, Delphi, vi c cài ñ#t Microsoft SQL Server không ñơn gi n Do ñó, s" hư ng d9n b n các bư c ñ t$ cài ñ#t cơ s d li u Microsoft SQL Server Personal

Đây là phiên b n làm vi c trong môi trư ng Windows Me, Windows 98, Windows

NT Workstation 4.0 ho#c Windows 2000 Professional B n có th cài ñ#t và s d ng Microsoft SQL Server trên máy tính ñơn (Stand-Alone) mà không c*n ph i cài ñ#t Windows NT Server ho#c không c*n trang b m t h th ng m ng máy tính

* C u hình máy t i thi u ñ cài ñ t SQL Server 2000:

- CPU: Pentium 166 Mhz ho#c Pentium Pro

- RAM: 64MB cho Windows 2000 Professional (128MB thì t t hơn)

- Dung lư)ng ñĩa tr+ng: 95MB – 270MB v i phiên b n ñ*y ñ (Full); 50MB v i

phiên b n t i thi u (Minimun); 130MB v i phiên b n thư ng dùng (Typical)

- H, ñi-u hành: Windows Me, Windows 98, Windows NT Workstation 4.0,

Windows 2000 Professional

- Màn hình: VGA v i ñ phân gi i 800 x 600 ho#c cao hơn

- Internet Browser: Microsoft Internet Explorer 5.0 tr lên

* Các bư.c th/c hi,n vi,c cài ñ0t:

Bư c 1: Đưa ñĩa Microsoft SQL Server Personal vào ñĩa CDROM N u ñĩa không

t$ ñ ng ch y, b n double click chu t vào t p tin autorun.exe ñ kh i ñ ng chương trình

cài ñ#t

Bư c 2: Trong màn hình kh i ñ ng cài ñ#t Microsoft SQL Server Personal, b n ch n

m c SQL Server 2000 Components ñ b t ñ*u vi c cài ñ#t

Hình 1.1 Màn hình kh i ñ ng cài ñ#t SQL

Bư c 3: B n ch n ch c năng Install Database Server ñ cài ñ#t cơ s d li u Microsoft

SQL Server Personal

Trang 11

Gi ng viên: Th.S Nguy n Trí Nhân 10 Khoa Công ngh Thông tin

Hình 1.2 Màn hình ch n thành ph*n cài ñ#t SQL

Đ i v i hai thành ph*n còn l i, ñư c dùng ñ cài ñ#t các thành ph*n liên quan ñ n

vi c x lý phân tích d li u tr$c tuy n (OLAP – Online Analytical Processing) và x lý

truy v n d li u b)ng ngôn ng ti ng Anh Hai thành ph*n này không nh t thi t ph i ñư c

cài ñ#t chung v i cơ s d li u Microsoft SQL Server Personal

Hình 1.3 Trình cài ñ#t ti n hành sao chép m t s file c*n thi t

Hình 1.4 Ch n Next ñ ti p t c cài ñ#t

Bư c 4: Trong màn hình Welcome, nh n nút Next ñ ti p t c vi c cài ñ#t Ch n Local

Computer ñ cài ñ#t cơ s d li u ngay trên máy tính hi n hành, nh n Next ñ ti p t c

Trang 12

Gi ng viên: Th.S Nguy n Trí Nhân 11 Khoa Công ngh Thông tin

Hình 1.5 Màn hình ch n cách th c cài ñ#t SQL

Trong trư ng h p b n mu n th$c hi n vi c cài ñ#t cơ s d li u cho m t máy ch t%

xa bên trong m t h th ng m ng c c b , b n ch n ch c năng Remote Computer Khi ñó,

b n s" cung c p thêm tài kho n ngư i dùng, m t kh'u và domain c a ngư i dùng thu c

nhóm ngư i qu n tr ñ chương trình cài ñ#t có th truy xu t vào máy ch trong quá trình cài ñ#t

Bư c 5: Trong màn hình l$a ch n cài ñ#t (Installation Selection), b n ch n ch c năng

Create a new instance of SQL Server ñ ñơn gi n trong quá trình cài ñ#t, nh n nút Next

ñ t p t c

Hình 1.6 Màn hình l$a ch n cài ñ#t SQL

Bư c 6: Trong màn hình thông tin ngư i dùng (User Information), b n nh p vào tên c a

mình và tên cơ quan Có th b tr ng tên cơ quan Nh n nút Next ñ ti p t c

Trang 13

Gi ng viên: Th.S Nguy n Trí Nhân 12 Khoa Công ngh Thông tin

Hình 1.7 Màn hình nh p thông tin ngư i dùng

Bư c 7: Trong màn hình th a ư c b n quy n ph*n m m (Software License Agreement),

Microsoft ñưa ra m t s th a ư c cho ngư i dùng khi s d ng ph*n m m Nh n Yes ñ

ñ ng ý các th a ư c này và ti p t c quá trình cài ñ#t

Hình 1.8 Màn hình th a ư c b n quy n ph*n m m

Trang 14

Gi ng viên: Th.S Nguy n Trí Nhân 13 Khoa Công ngh Thông tin

Hình 1.9 Màn hình nh p s CDKey ph*n m m

Ch n Next ñ ti p t c cài ñ#t

Bư c 8: Trong màn hình ñ nh nghĩa lo i cài ñ#t (Installation Definition), ch n Server

and Client Tools ñ ch( ñ nh vi c cài ñ#t cơ s d li u và các ti n ích khác Nh n nút Next

ñ ti p t c

Hình 1.10 Màn hình ñ nh nghĩa lo i cài ñ#t SQL

Bư c 9: Trong màn hình ñ nh nghĩa tên th hi n (Instance Name), ch n ô ki m tra Default

n u mu n tên th hi n c a Microsoft SQL Server Personal trùng v i tên c a máy tính

b n ñang cài ñ#t Nh n nút Next ñ ti p t c

Trang 15

Gi ng viên: Th.S Nguy n Trí Nhân 14 Khoa Công ngh Thông tin

Hình 1.11 Màn hình nh p tên th hi n

Trong trư ng h p b n mu n ñ#t tên khác thì b ch n ô ki m tra Default, nh p vào tên th hi n t i m c Instance Name

Bư c 10: Trong màn hình ch n lo i cài ñ#t (Setup Type) b n nên ch n lo i thư ng dùng

là Typical n u dung lư ng ñĩa c ng còn tr ng l n hơn 130MB, ngư c l i n u dung lư ng ñĩa c ng còn tr ng l n hơn 50MB thì nên ch n lo i t i thi u (Minimum) Nh n nút Next

ñ ti p t c cài ñ#t

Hình 1.12 Màn hình ch n lo i cài ñ#t SQL

M#c ñ nh thư m c C:\Programs\Microsoft SQL Server s" ch a các t p tin sau khi

cài ñ#t, bao g m các t p tin chương trình và t p tin d li u B n nên ch n m t thư m c khác ñ lưu tr các t p tin cơ s d li u v i m c ñích an toàn hơn B n có th nh n nút

Browser ñ thay ñ i các thư m c khác n u mu n

Trang 16

Gi ng viên: Th.S Nguy n Trí Nhân 15 Khoa Công ngh Thông tin

Bư c 11: Trong màn hình ch n tài kho n ngư i dùng kh i ñ ng d ch v (Services

Accounts), cho phép b n ch( ñ nh tên tài kho n ngư i dùng ñ có th kh i ñ ng hai d ch

v chính y u c a Micorsoft SQL Server khi ho t ñ ng là: SQL Server và SQL Server Agent trong trư ng h p Microsoft SQL Server ch y trong môi trư ng Windows NT

Nh n nút Next ñ ti p t c

Hình 1.13 Màn hình ch n tài kho n ngư i dùng

N u h ñi u hành máy tính b n cài ñ#t là Windows 98 thì màn hình này s" không xu t hi n

B n nên ch n s d ng tài kho n ngư i dùng h th ng c c b (Use the Local System Account) ñ kh i ñ ng cùng lúc c 2 d ch v (Use the same Account for each service)

ñ i v i phiên b n Microsoft SQL Server Personal

Bư c 12: Trong màn hình ch( ñ nh cơ ch xác th$c ñăng nh p (Authentication Mode),

b n ch n Mixed Mode ñ ch( ñ nh vi c ñăng nh p (Login) vào Microsoft SQL Server Personal b)ng 2 cách: tài kho n ngư i dùng c a Windows ho#c tài kho n ngư i dùng trong Microsoft SQL Server B n nh p tài kho n SA cho tài kho n ngư i dùng SA trong Microsoft SQL Server Nh n nút Next ñ ti p t c

Hình 1.14 Màn hình cơ ch xác th$c ñăng nh p

Trang 17

Gi ng viên: Th.S Nguy n Trí Nhân 16 Khoa Công ngh Thông tin

M#c ñ nh luôn luôn có m t tài kho n ngư i dùng có tên là sa (system administrator), ngư i qu n tr cơ s d li u trong Microsoft SQL Server ñư c t o sau khi k t thúc quá trình cài ñ#t cơ s d li u Microsoft SQL Server

Hình 1.15 Màn hình chu'n b sao chép các t p tin

Bư c 13: Trong màn hình b t ñ*u sao chép t p tin (Start Copying Files), h th ng thông

báo cho bi t các thông tin cài ñ#t ñã ñư c cung c p ñ*y ñ Nh n nút Next ñ b t ñ*u quá trình sao chép t p tin t% CDRom vào ñĩa c ng máy tính

Hình 1.16 Chu'n b ti n trình sao chép các t p tin

Trang 18

Gi ng viên: Th.S Nguy n Trí Nhân 17 Khoa Công ngh Thông tin

Hình 1.17 Ti n hành sao chép các t p tin

Bư c 14: B n ph i ch trong m t th i gian ñ quá trình cài ñ#t th$c hi n Cu i cùng khi

xu t hi n màn hình hoàn thành cài ñ#t (Setup Complete), b n nh n nút Finish ñ k t thúc quá trình cài ñ#t cơ s d li u Microsoft SQL Server Personal

Hình 1.18 Màn hình hoàn thành cài ñ#t SQL

1.4

1.4 CÁC CSDL HCÁC CSDL HCÁC CSDL HỆỆỆỆ THTHTHỐỐỐNG TRONG SQL SERVERNG TRONG SQL SERVERNG TRONG SQL SERVER

Các CSDL ch a các d li u c a ngư i dùng ñư c g i là CSDL c a ngư i dùng (user database) Ngoài ra, các ho t ñ ng c a SQL Server tùy thu c vào b n CSDL h th ng (system Database): master, model, Tempdb, và msdb Các CSDL này t n t i trong m<i th

hi n c a SQL Server

Trang 19

Gi ng viên: Th.S Nguy n Trí Nhân 18 Khoa Công ngh Thông tin

CSDL h, th+ng và CSDL ngư1i dùng:

CSDL Master: ñu c dùng ñ ñi u khi n các thao tác và thông tin m c h th ng c a

SQL Server Lưu tr thông tin h th ng trong 16 b ng h th ng, g i là system catalog System catalog lưu tr các thông tin tài kho n ngư i dùng, bao g m các m c như là b o

m t, ID, m t kh'u, các CSDL lưu trên server, các bi n môi trư ng, các thông ñi p l<i h

th ng, và các th t c h th ng

CSDL Model: ñư c dùng như là m t CSDL m9u cho t t c các CSDL m i ñư c t o

ra trong h th ng CSDL Model có th ñư c tùy bi n ñ t o m t c u trúc CSDL m#c ñ nh

m i cho CSDL m i Ví d , n u m t b ng c*n ph i t n t i trong CSDL m i sau này thì các

b ng ñó nên ñư c t o trong CSDL model Các CSDL m i v%a ñư c t o s" có kích c; ít

nh t b)ng kích c; CSDL model

CSDL Tempdb: ñư c dùng như là vùng lưu ch a t m th i ñ i v i các b ng và các

th t c t m SQL Server 2008 h< tr hai lo i b ng t m: b ng t m toàn c c (global temporary table) và b ng t m c c b (local temporary table) Tên c a b ng t m toàn c c

ñư c b t ñ*u ##, có th ñư c truy xu t ñ i v i t t c các client, trong khi tên b ng t m c c

b b t ñ*u #, ch( có th truy xu t ñ i v i nh ng client mà t o chúng Làm vi c trong Tempdb r t nhanh vì các ho t ñ ng không ñư c ghi nh n l i Tuy nhiên, khi client k t thúc

k t n i ñ n Server thì toàn b các b ng và th t c trong TempDB s" b xóa

CSDL Msdb: SQL Server Agent dùng CSDL msdb cho các tác v khác nhau, như

l p bi u, c nh báo và ghi nh n các thao tác D li u ñư c lưu trong các b ng h th ng trong CSDL msdb Các b ng h th ng ñư c dùng b i SQL Server Agent là sysalerts, syscategories, sysdownloadlist, sysjobhistory, sysjobs, sysjobschedules, sysjobservers, sysjobsteps, sysnotifications, sysoperators, systargetservergroupmembers, systargetservergroups, systargetservers và systaskids Ngoài ra, CSDL msdb có 7 b ng dùng cho thao tác d$ phòng và ph c h i d li u: backupfile, backupmediafamily, backupmediaset, backupset, restorefile, restorefilegroup, và restorehistory SQL Server có

th t$ ñ ng tăng ho#c gi m kích c; c a CSDL khi các dòng ñư c thêm vào ho#c xóa ñi

CSDL Pubs, Northwind: là hai CSDL ví d ñư c dùng trong các tài li u c a SQL

Trang 20

Gi ng viên: Th.S Nguy n Trí Nhân 19 Khoa Công ngh Thông tin

D li u trong m t RDBMS như SQL Server 2000 ñư c s p x p trong m t s ñ i

tư ng, dA th y nh t là b ng (table) D li u ñư c lưu trong các Table theo dòng và c t

D li u liên quan ñ n các m c th$c t như các nhân viên, các s n ph'm, vi c g i hàng, ngư i tham gia… ñư c lưu trong các table riêng bi t Ví d , h th ng qu n lý nhân viên c a m t công ty có th có m t b ng g i là nhân viên, b ng này dùng ñ lưu chi ti t t t

c c a các nhân viên trong công ty Chi ti t c a nhân viên bao g m H nhân viên, Tên nhân viên, Đ a ch(, S ch ng minh nhân dân… Th(nh tho ng c*n 'n các thông tin riêng tư t% ngư i dùng b)ng cách dùng m t truy v n Các truy v n là các câu l nh SQL lưu trong CSDL và có th ñư c tham chi u ñ n các câu l nh SQL theo cách như các table SQL Server cũng s d ng các ki u d li u, m<i c t có th có các ki u khác nhau

T t c các ki u khác nhau này c a các ñ i tư ng, gi ng như b ng, truy v n và ki u

d li u ñư c lưu trong m t CSDL Trong môi trư ng SQL Server, m t lư c ñ CSDL (database schema) là t p h p các ñ i tư ng CSDL có liên quan ñ n vi c s d ng m t tên duy nh t và nó thu c v m t ngư i dùng ñơn l=

1.5

1.5 CÁC CÔNG CCÁC CÔNG CCÁC CÔNG CỤỤỤ TRONG SQL SERVER TRONG SQL SERVER TRONG SQL SERVER

Sau khi cài ñ#t xong Microsoft SQL Server công vi c k ti p mà chúng ta s" làm là tìm hi u v các ti n ích bên trong Microsoft SQL Server nh)m ñ s d ng m t cách ñúng

ñ n và có hi u qu cao Các ti n ích này ñã ñư c cài ñ#t chung v i Microsoft SQL Server

Đ kích ho t các ti n ích này, chúng ta s" ch n nh ng bi u tư ng n)m trong ñư ng d9n như sau:

Start → Programs → Microsoft SQL Server

Hình 1.20 Các ti n ích bên trong Microsoft SQL Server

Trang 21

Gi ng viên: Th.S Nguy n Trí Nhân 20 Khoa Công ngh Thông tin

1.5.1 Tiện ích Book Online

Bng d ng này cho phép chúng ta có th tra c3u tr/c tuy4n t t c các thông tin liên

quan ñ n Microsoft SQL Server m t cách ñ*y ñ v i các tính năng tìm ki m dA dàng và

m t giao di n dA s d ng

N i dung ñư c trình bày theo t%ng ph*n dA dàng xem trong trang Contents Ngoài

ra còn các trang Index và Search cho phép các b n tra c u nhanh theo ch( m c ñã ñư c s p

x p trư c ñó ho#c gõ vào các t% khóa c*n tìm

Khi c*n tham kh o cú pháp các l nh, hàm, bi n h th ng m t cách ñ*y ñ nh t thì chúng ta vào ñây xem là hoàn toàn chính xác Tuy nhiên n i dung trình bày hoàn toàn là b)ng ti ng Anh

Hình 1.21 Ti n ích Book Online

1.5.2 Tiện ích Client NetWork Utility

Ti n ích này cho phép chúng ta thay ñ i, t o m i và lưu l i các nghi th3c n+i k4t m5ng (network protocol) m#c ñ nh c a máy tr m khi th$c hi n n i k t vào Microsoft SQL Server t i các máy ch

Trang 22

Gi ng viên: Th.S Nguy n Trí Nhân 21 Khoa Công ngh Thông tin

Hình 1.22 Ti n ích Client NetWork Utility

1.5.3 Tiện ích Enterprise Manager

Ti n ích này cho phép chúng ta kh i ñ ng ho#c t m ngưng các d ch v c a Microsoft SQL Server Trong ph*n cài ñ#t bư c 9 chúng tôi ñã gi i thi u các d ch v c a Microsoft SQL Server ph i ñư c kh i ñ ng trư c thì các b n m i có th làm vi c ñư c v i Microsoft SQL Server

Hình 1.23 Ti n ích Enterprise Manager

Ngoài ra ti n ích này còn giúp chúng ta qu n tr6 m t ho#c nhi u Microsoft SQL

Server khác nhau, v i giao di n ñ h a thân thi n (user friendly) ti n ích này s" giúp cho các b n có th t o l p cơ s d li u và các thành ph*n bên trong Microsoft SQL Server m t cách dA dàng hơn

Trang 23

Gi ng viên: Th.S Nguy n Trí Nhân 22 Khoa Công ngh Thông tin

Tuy nhiên mu n qu n tr Microsoft SQL Server thì chúng ta ph i ñăng ký (register)

máy ch vào ti n ích này, vi c ñăng ký như th nào chúng tôi s" trình bày trong nh ng ph*n ti p theo

1.5.4 Tiện ích Import and Export Data

Ti n ích này cho phép chúng ta th$c hi n các tính năng trong vi c nh p (import),

xu t (export) và chuy'n ñ8i d9 li,u qua l i gi a Microsoft SQL Server và nh ng lo i cơ

s d li u khác thư ng dùng như: Microsoft Access, Visual FoxPro, Microsoft Excel, t p tin văn b n ASCII

Hình 1.24 Ti n ích Import and Export Data

Trong ph*n bài gi ng này chúng tôi ch( trình bày cách s d ng Microsoft SQL Server nên không gi i thi u nhi u v ti n ích này, tuy nhiên n u các b n mu n tr thành ngư i qu n tr Microsoft SQL Server thì ch c r)ng công c này là r t c*n thi t cho ngư i

qu n tr

1.5.5 Tiện ích Profiler

Ti n ích này cho phép chúng ta phát hi n ra nh ng bi4n c+ ñã x y ra c a Microsoft

SQL Server khi ñang th$c hi n m t x lý nào ñó trên máy ch Các bi n c này có th

ñư c ghi l i trong m t t p tin lưu v t (trace file) ñ sau này s d ng l i cho vi c phân tích nh)m phát hi n ra nh ng v n ñ khi th$c hi n các câu l nh truy v n trong x lý ñó

Trang 24

Gi ng viên: Th.S Nguy n Trí Nhân 23 Khoa Công ngh Thông tin

Hình 1.25 Ti n ích Profiler

Ho t ñ ng c a ti n ích này có ph*n g*n gi ng công c tìm l<i trong các ngôn ng

l p trình, có nghĩa là các b n s" cho th$c hi n tu*n t$ các câu l nh trong m t x lý lô (batch) ñ có th phát hi n ra l<i c a m t câu l nh nào ñó (n u có)

1.5.6 Tiện ích Query Analyzer

Ti n ích này cho phép chúng ta so5n th o các t p tin k ch b n (script file) – là t p

tin văn b n ASCII ch a các câu l nh SQL giao tác trên cơ s d li u Microsoft SQL Server

ho#c có th th/c hi,n các truy v:n tr$c ti p trên cơ s d li u Microsoft SQL Server và

nh n ñư c k t qu tr$c ti p ngay sau khi th$c hi n truy v n ñó

Trang 25

Gi ng viên: Th.S Nguy n Trí Nhân 24 Khoa Công ngh Thông tin

Hình 1.26 Ti n ích Query Analyzer

Tuy nhiên trư c khi vào ñư c màn hình 1-19 h th ng Microsoft SQL Server s" yêu c*u các b n ñăng nh p (login) vào h th ng v i tên tài kho n ngư i dùng và m t kh'u h p

l b i vì Microsoft SQL Server là m t h qu n tr cơ s d li u m ng máy tính

Trong ñó tên tài kho n ngư i dùng và m t kh'u này s" do ngư i qu n tr Microsoft SQL Server t o ra trư c ñó, trong trư ng h p làm vi c trên Microsoft SQL Server Desktop thì chúng ta có th nh p vào v i tên là SA (System Administrator – ngư i qu n tr h th ng

cơ s d li u Microsoft SQL Server) và m t kh'u ñ tr ng

Hình 1.27 Đăng nh p ñ n Server

Câu l nh truy v n gõ t i ñây

Nút th$c hi n truy v n

Trang 26

Gi ng viên: Th.S Nguy n Trí Nhân 25 Khoa Công ngh Thông tin

Trong các chương còn l i chúng ta ch y u làm vi c v i ti n ích này ñ t o ra các

ñ i tư ng lưu tr d li u bên trong Microsoft SQL Server

1.5.7 Tiện ích Server Network Utility

Ti n ích này cho phép chúng ta qu n lý các thư vi,n nghi th3c n+i k4t m5ng c a

máy ch dùng ñ l ng nghe các yêu c*u t% các máy tr m – có nghĩa các nghi th c n i k t

m ng gi a máy ch và máy tr m ph i ăn kh p nhau ñ chúng có th giao ti p qua l i

Hình 1.28 Ti n ích Server Network Utility

1.5.8 Tiện ích Service Manager

Ti n ích này cho phép chúng ta qu n lý các d6ch v; liên quan ñ n Microsoft SQL

Server Có th th$c hi n vi c: kh i ñ ng (start), t m d%ng (pause) và ngưng l i (stop) các

d ch v ñó Các d ch v (services) này ñư c xem như là các ng d ng ch y ng*m ñ nh bên

dư i h th ng trong môi trư ng Windows

Trang 27

Gi ng viên: Th.S Nguy n Trí Nhân 26 Khoa Công ngh Thông tin

Hình 1.29 Ti n ích Service Manager

Đ i v i d ch v MSSQLSever b t bu c ph i ñư c kh i ñ ng ñ ngư i dùng m i có

th làm vi c v i cơ s d li u trong Microsoft SQL Server Do ñó sau khi cài ñ#t hoàn thành Microsoft SQL Server các b n ph i t$ kh i ñ ng d ch v này ñ chúng ta có th làm

vi c v i Microsoft SQL Server

Tuy nhiên k t% các l*n b t máy tính sau ñó các d ch v này s" ñư c t$ kh i ñ ng

n u chúng ta ñã ch n vào ô ki m tra Auto-start như hình phía trên

Thông thư ng ti n ích Service Manager s" xu t hi n bên dư i thanh tác v (task tray) c a Windows Đ kích ho t ti n ích này, chúng ta có nh n ñúp vào bi u tư ng Service Manager

Hình 1.30 Ti n ích Service Manager xu t hi n trên thanh công c

Trang 28

Gi ng viên: Th.S Nguy n Trí Nhân 27 Khoa Công ngh Thông tin

Chương 2

Chương 2 GI GI GIỚ Ớ ỚI THI I THI I THIỆỆỆỆU U U NGÔN NG NGÔN NG NGÔN NGỮ Ữ Ữ TRANSACT TRANSACT TRANSACT –––– SQL SQL SQL

2.1 GI

2.1 GIỚỚỚI THII THII THIỆỆỆỆU U U

- Structured Query Language (SQL) là ngôn ng do IBM phát tri n t% năm 1970, dùng ñ giao ti p v i cơ s d li u Các h th ng cơ s d li u có cách vi t và thi hành câu

l nh SQL riêng như: ANSI SQL (SQL chu'n), T-SQL (SQL Server, Sybase), PL/SQL (Oracle), Access SQL

- Transact-SQL là ngôn ng SQL m r ng d$a trên SQL chu'n c a ISO (International Organization for Standardization) và ANSI (American National Standards Institute) ñư c

s d ng trong SQL Server khác v i P-SQL (Procedural-SQL) dùng trong Oracle

Các l nh T-SQL ñư c chia làm 3 nhóm:

+ Data Definition Language (DDL): Ðây là nh ng l nh dùng ñ qu n lý các thu c

tính c a m t Database như ñ nh nghĩa các hàng ho#c c t c a m t table, hay v trí data file

c a m t database như Create, Alter, Drop

+ Data Control Language (DCL): Ðây là nh ng l nh qu n lý các quy n truy c p

lên t%ng object (table, view, stored procedure ) như Grant, Revoke, Deny

+ Data Manipulation Language (DML): Ðây là nh ng l nh ph bi n dùng ñ x lý

data như Select, Update, Insert, Delete

Trong ph*n này chúng ta ch y u nghiên c u nhóm l nh Data Manipulation Language (DML)

Bit Nh n giá tr 0 (False), 1 (True) ho#c

NULL Tinyint T% 0 ñ n 255 1 byte

Smallint T% -215 (-32,768) ñ n 215-1 (32,767) 2 bytes

Int T% -231 (-2,147,483,648) ñ n 231-1

(2,147,483,647)

4 bytes Bigint T% -263 (-9,223,372,036,854,775,808)

ñ n 263-1 (9,223,372,036,854,775,807) 8 bytes

Trang 29

Gi ng viên: Th.S Nguy n Trí Nhân 28 Khoa Công ngh Thông tin

1.18E - 38 ñ n 3.40E + 38

4 bytes

Float T% -1.79E+308 ñ n -2.23E-308, 0 và t%

2.23E-308 to 1.79E+308 T i ña 8 bytes Smallmoney T% -214.748,3648 ñ n 214.748,3647 4 bytes

Char Cú pháp: char(n), n t% 0 ñ n 8.000 n bytes

Varchar Cú pháp: varchar(n), n t% 0 ñ n 8.000 T i ña n bytes

Text Lưu tr t i ña 2.147.483.647 kí t$ T i ña 2,147,483,647

bytes nChar Cú pháp: nchar(n), n t% 0 ñ n 4.000 2*n bytes

nVarchar Cú pháp: nvarchar(n), n t% 0 ñ n 4.000 2*n bytes

nText Lưu tr t i ña 1,073,741,823 ký t$ T i ña 2,147,483,647

bytes 2.3 TRUY XU

2.3 TRUY XUẤẤẤẤT DT DT DỮỮỮ LILILIỆỆỆỆU (DATA QUERY LANGUAGE)U (DATA QUERY LANGUAGE)U (DATA QUERY LANGUAGE)

2.3.1 Truy vấn dữ liệu đơn giản với SELECT

Trong th$c t chúng ta thư ng xuyên ph i th$c hi n các công vi c như l p danh sách sinh viên trong l p hay l p danh sách các nhà cung c p hàng hóa cho công ty… Đ th$c

Trang 30

Gi ng viên: Th.S Nguy n Trí Nhân 29 Khoa Công ngh Thông tin

- So_Ban_Ghi: S b n ghi tr v trong k t qu truy v n

L ưu ý: N u danh sách k t qu không ñư c s p x p, k t qu s" hi n th theo th t$

d li u ñư c thêm vào b ng

- Danh_Sach_Truong: Trư ng hi n th trong danh sách k t qu truy v n, danh sách trư ng

có th là tên các trư ng ho#c các bi u th c ñư c ngăn cách v i nhau b)ng d u ph'y dư i

“,” S lư ng t i ña các trư ng, bi u th c trong danh sách này là 4096

L ưu ý: S d ng ký t$ “*” khi c*n l y t t c các trư ng trong b ng g c vào danh

sách k t qu truy v n

- Ten_Bang: Tên b ng c*n truy v n d li u

Ví d :

Cho các b ng cơ s d li u sau:

- B ng danh sách nhà cung c:p, khách hàng (DMDT) bao g m các trư ng: Id, Ma_Dt,

Ten_Dt, Dia_Chi, So_Dt, Fax, Email, Ghi_Chu

4 N003 Cty liên doanh Vi t Pháp H i Phòng 033 6534 391

5 N004 Cty TNHH m t thành viên c p nư c Yên Bái Yên Bái 02183 543 443

6 N005 Cty C ph*n L c H ng B c Ninh 0240 362 552

7 N006 Cty XNK Á Châu H i Dương 0320 3111 411

Trang 31

Gi ng viên: Th.S Nguy n Trí Nhân 30 Khoa Công ngh Thông tin

6 TP003 Bánh kem bơ Gói Gói 150 gram

7 TP004 Bánh Socola Vinasun H p H p 6 cái

8 VT004 Socola nguyên li u Kg

9 VT005 S a Ông Th Thùng

- B ng ch3ng t< (CT) bao g m các trư ng: Id, Ma_Ct, Nhom_Ct, So_Ct, Ngay_Ct,

Ma_Dt, Ong_Ba, Dia_Chi, Dien_Giai

Stt_Ct Ma_Ct Nhom_Ct So_Ct Ngay_Ct Ma_Dt Ong_Ba Dia_Chi Dien_Giai

- B ng chi ti4t ch3ng t< (CTCT) bao g m các trư ng: Id, Id_Ct, Ma_Vt, Ma_Kho,

Trang 32

Gi ng viên: Th.S Nguy n Trí Nhân 31 Khoa Công ngh Thông tin

- L p danh sách 5 v t tư xu t hi n ñ*u tiên trong b ng DMVT

SELECT TOP 5 Id, Ma_Vt, Ten_Vt, Quy_Cach, Ghi_Chu

FROM DmVt

- L p b ng kê ch ng t% nh p xu t bao g m các thông tin Ngày ch ng t%, s ch ng t%, DiAn gi i, mã ñ i tư ng, ngư i nh p xu t (h c viên t$ vi t)

2.3.2 Tìm hiểu các trường tính toán

Các trư ng tính toán không t n t i trong cơ s d li u ñã ñư c chu'n hóa, nó ch(

ñư c xác ñ nh trong quá trình x lý, tính toán Ví d trong b ng DMDT (như gi i thi u ph*n trư c) b n mu n l y danh sách nhà cung c p v i tên nhà cung c p kèm theo s ñi n tho i ñ ti n liên l c như minh h a dư i ñây:

Trang 33

Gi ng viên: Th.S Nguy n Trí Nhân 32 Khoa Công ngh Thông tin

Mã v t tư Mã kho S+ lư)ng Đơn giá Thành ti-n

TP001 KTP 120.000 120,00 14.400.000 TP002 KTP 23.500 45,00 1.075.500

- Mô hình quan h gi a các b ng trong h th ng

Trong ví d này c t “Thành ti n” ñư c t o ra t% phép nhân gi a hai trư ng Don_Gia

Có th vi t l i hai câu truy v n trên như sau:

SELECT Ma_Dt, Ten_Dt + ‘ (’ + So_Dt + ‘)’ AS Ten_Dt_Moi, Dia_Chi

FROM DmDt

SELECT Ma_Vt, Ma_Kho, So_Luong,

Trang 34

Gi ng viên: Th.S Nguy n Trí Nhân 33 Khoa Công ngh Thông tin

Don_Gia, Don_Gia * So_Luong AS Thanh_Tien

FROM DmDt

Trong hai câu l nh m i tên trư ng “Thanh_Tien” và “Ten_Dt_Moi” g i là tên bí danh

- Các toán t trong bi u th c trư ng tính toán: Có th s d ng các toán t +, -, *, / trong

GetDate() L y th i gian hi n th i t i Client

GetUtcDate() L y th i gian hi n th i t i Server

Day() Tr v giá tr ngày c a ñ i s

Month() Tr v giá tr tháng c a ñ i s

Year() Tr v giá tr năm c a ñ i s

ABS() Tr v giá tr tuy t ñ i c a ñ i s

LEFT() L y các ký t$ bên trái c a ñ i s

vi t thư ng

2.3.3 Lọc dữ liệu với mệnh đề WHERE

Trong th$c t b ng thư ng ch a m t lư ng l n d li u và ít khi chúng ta l y toàn b các b n ghi trong b ng d li u ñó Chúng ta thư ng truy xu t m t t p con d li u c a b ng

ng v i các ho t ñ ng c th Vi c truy v n như v y ñòi h i ph i ch( ñ nh m t vùng ñi u

ki n tìm ki m hay còn g i là ñi u ki n l c Ví d l y danh sách các nhà cung c p t i Hà

N i ho#c l y b ng kê các m#t hàng nh p xu t trong năm 2013,…

Cú pháp:

SELECT [DISTINCT] [TOP So_Ban_Ghi]

<Danh_Sach_Truong>

Trang 35

Gi ng viên: Th.S Nguy n Trí Nhân 34 Khoa Công ngh Thông tin

Trang 36

Gi ng viên: Th.S Nguy n Trí Nhân 35 Khoa Công ngh Thông tin

Tìm hi'u m>t s+ toán t? cao c:p:

- Toán t AND và OR: S d ng các toán t này ñ k t h p nhi u ñi u ki n l c + L p danh sách ch ng t% xu t hàng cho công ty Cty TNHH m t thành viên c p

nư c Yên Bái vào ngày 01/06/2013

SELECT Ngay_Ct, So_Ct, Dien_Giai, Ong_Ba

FROM Ct

WHERE Ma_Dt = ‘N004‘ AND Ngay_Ct = ‘01/06/2013‘

K t qu :

01/06/2013 PX003 Xu t bán hàng hóa Phan Th Anh

Lưu ý: Cty TNHH m t thành viên c p nư c Yên Bái có mã là “N004”

+ L p b ng kê xu t hàng chi ti t m#t hàng “Bánh tr ng Custas (TP001)” ho#c “Bánh kem bơ (TP003)”

SELECT Ma_Vt, So_Luong, Don_Gia,

So_Luong * Don_Gia AS Thanh_Tien

SELECT Ngay_Ct, So_Ct, Dien_Giai, Ma_Dt

Trang 37

Gi ng viên: Th.S Nguy n Trí Nhân 36 Khoa Công ngh Thông tin

- Toán t IN: S d ng toán t này ñ ch( ñ nh m t dãy ñi u ki n v i b t kỳ giá tr nào trong dãy th a mãn IN s d ng m t danh sách các giá tr ñư c tách b i d u ph'y dư i

“,”, t t c ñư c ñ#t trong d u ngo#c ñơn

Ví d :

L p b ng kê xu t hàng chi ti t m#t hàng “Bánh tr ng Custas (TP001)” ho#c “Bánh kem bơ (TP003)” s d ng t% khóa IN

SELECT Ma_Vt, So_Luong, Don_Gia,

So_Luong * Don_Gia AS Thanh_Tien

FROM CtCt

WHERE Ma_Vt IN(‘TP001‘, ‘TP003’)

- Toán t NOT: Ph ñ nh bi u th c ñ ng ngay sau nó

Ví d :

+ L p b ng kê ch ng t% xu t hàng cho Cty TNHH ABC (N001) ho#c các ch ng t% không ph i cho công ty này nhưng ñư c th$c hi n vào ngày 05/06/2013 s d ng t% khóa NOT

SELECT Ngay_Ct, So_Ct, Dien_Giai, Ma_Dt

FROM CT

WHERE Ma_Dt = ‘N001’

OR (NOT(Ma_Dt = ‘N001’) AND Ngay_Ct = ‘05/06/2013’)

- Toán t LIKE và các ký t ñ i di n: S d ng toán t này ñ tìm d li u g*n ñúng

v i giá tr tìm ki m b)ng cách k t h p v i các ký t$ ñ i di n Ch( có th áp d ng toán t LIKE và các ký t$ ñ i di n cho d li u ki u chu<i

+ Ví d v ký t$ ñ i di n “%”: Ký t$ ñ i di n này ñ i di n cho ph*n còn l i c a chu<i

L p danh sách các khách hàng là lo i hình doanh nghi p “C ph*n” trên ñ a bàn Hà

N i

SELECT RTRIM(Ten_Dt) + ' (' + RTRIM(Ma_Dt) + ')' AS Ten_Dt, So_Dt, Email

FROM DmDt

Trang 38

Gi ng viên: Th.S Nguy n Trí Nhân 37 Khoa Công ngh Thông tin

gram TP003 Bánh kem bơ Gói Gói 150

gram TP004 Bánh Socola Vinasun H p H p 6 cái + Ví d v ký t$ ñ i di n “[ ]”: S d ng ñ ch( ñ nh m t t p h p các ký t$, m t ký t$ trong t p h p ph i th a mãn m t ký t$ t i m t v trí xác ñ nh trư c (v trí c a ký t$ ñ i

di n)

L p danh sách các công ty “TNHH” ho#c “C ph*n” ñóng trên ñ a bàn “Hà N i” SELECT RTRIM(Ten_Dt) + ' (' + RTRIM(Ma_Dt) + ')' AS Ten_Dt, So_Dt, Email

Lưu ý: Không th ph nh n kh năng linh ho t khi tìm ki m v i các ký t$ ñ i di n,

tuy nhiên vi c tìm ki m v i chúng m t nhi u th i gian hơn c so v i nh ng cách tìm ki m

ñã gi i thi u sau ñây là m t s th thu t c*n ghi nh khi s d ng tìm ki m b)ng các ký t$

ñ i di n:

Trang 39

Gi ng viên: Th.S Nguy n Trí Nhân 38 Khoa Công ngh Thông tin

ñư c k t qu như mong mu n

2.3.4 Sắp xếp dữ liệu với ORDER BY

Trong nh ng ví d các ph*n ñã h c k t qu truy v n chưa ñư c s p x p, chúng thư ng ñư c hi n th theo th t$ trong b ng, ñây có th là tr t t$ d li u ñư c thêm vào

b ng ban ñ*u Tuy nhiên tr t t$ này có th thay ñ i n u như b ng thư ng xuyên ñư c c p

nh t ho#c xóa, chúng ta có th s d ng câu truy v n v i ORDER BY ñ s p x p l i d li u

TP003 Bánh kem bơ Gói Gói 150 gram TP002 Bánh kem x p Gói Gói 200 gram TP004 Bánh Socola Vinasun H p H p 6 cái TP001 Bánh tr ng Custas H p H p 20 cái Xem l i k t qu khi không s d ng ORDER BY

Trang 40

Gi ng viên: Th.S Nguy n Trí Nhân 39 Khoa Công ngh Thông tin

TP001 Bánh tr ng Custas H p H p 20 cái TP002 Bánh kem x p Gói Gói 200 gram TP003 Bánh kem bơ Gói Gói 150 gram TP004 Bánh Socola Vinasun H p H p 6 cái

- L p b ng kê ch ng t% nh p xu t trong tháng 06 năm 2013, s p x p theo Ma_Dt và Ngay_Ct tăng d*n

SELECT Ngay_Ct, So_Ct, Ma_Dt, Dien_Giai

FROM Ct

WHERE MONTH(Ngay_Ct) = 6 AND YEAR(Ngay_Ct) = 2013

ORDER BY Ma_Dt, Ngay_Ct

K t qu :

01/06/2013 PX002 N001 Xu t hàng hóa bán ñ i lý 01/06/2013 PN001 N002 Nh p v t tư ph c v s n xu t 01/06/2013 PX003 N004 Xu t bán hàng hóa

05/06/2013 PX004 N004 Xu t bán hàng hóa 02/06/2013 PN002 N005 Nh p nguyên li u

- L p b ng kê ch ng t% xu t bán thành ph'm, s p x p theo Ma_Vt và So_Luong

gi m d*n

SELECT Ma_Vt, So_Luong, Don_Gia,

So_Luong * Don_Gia AS Thanh_Tien

FROM CtCt

WHERE Ma_Vt LIKE 'TP%'

ORDER BY Ma_Vt, So_Luong DESC

K t qu :

Ma_Vt So_Luong Don_Gia Thanh_Tien

TP001 120 120.000 14.400.000 TP001 78 13.000 1.014.000 TP001 75 110.000 8.250.000 TP001 35 11.500 402.500 TP002 45 23.500 1.057.500

Ngày đăng: 16/01/2021, 11:11

HÌNH ẢNH LIÊN QUAN

* Cu hình máy ti thi uđ cài đt SQL Server 2000: - Hệ Quản trị Cơ sở dữ liệu 2 SQL Server
u hình máy ti thi uđ cài đt SQL Server 2000: (Trang 10)
Hình 1.3. Trình cài đ#t tin hành sao ché pm ts file c*n th it - Hệ Quản trị Cơ sở dữ liệu 2 SQL Server
Hình 1.3. Trình cài đ#t tin hành sao ché pm ts file c*n th it (Trang 11)
Hình 1.7. Màn hình nh p thơng tin ngư i dùng - Hệ Quản trị Cơ sở dữ liệu 2 SQL Server
Hình 1.7. Màn hình nh p thơng tin ngư i dùng (Trang 13)
Bư c 7: Trong màn hình tha ưc bn qu yn ph*n mm (Software License Agreement), - Hệ Quản trị Cơ sở dữ liệu 2 SQL Server
c 7: Trong màn hình tha ưc bn qu yn ph*n mm (Software License Agreement), (Trang 13)
Hình 1.9. Màn hình nh ps CDKey ph*n mm - Hệ Quản trị Cơ sở dữ liệu 2 SQL Server
Hình 1.9. Màn hình nh ps CDKey ph*n mm (Trang 14)
Hình 1.11. Màn hình nh p tên th h in - Hệ Quản trị Cơ sở dữ liệu 2 SQL Server
Hình 1.11. Màn hình nh p tên th h in (Trang 15)
Bư c 10: Trong màn hình ch nl oi cài đ#t (Setup Type) bn nên ch nl oi thư ng dùng là Typical n u dung lư ng đĩa c ng cịn tr ng l n hơn 130MB, ngưc l i n u dung lưng  đĩa c ng cịn tr ng l n hơn 50MB thì nên ch n lo i t i thi u (Minimum) - Hệ Quản trị Cơ sở dữ liệu 2 SQL Server
c 10: Trong màn hình ch nl oi cài đ#t (Setup Type) bn nên ch nl oi thư ng dùng là Typical n u dung lư ng đĩa c ng cịn tr ng l n hơn 130MB, ngưc l i n u dung lưng đĩa c ng cịn tr ng l n hơn 50MB thì nên ch n lo i t i thi u (Minimum) (Trang 15)
Hình 1.13. Màn hình c hn tài kh on ngư i dùng - Hệ Quản trị Cơ sở dữ liệu 2 SQL Server
Hình 1.13. Màn hình c hn tài kh on ngư i dùng (Trang 16)
Hình 1.15. Màn hình chu' nb sao chép các tp tin - Hệ Quản trị Cơ sở dữ liệu 2 SQL Server
Hình 1.15. Màn hình chu' nb sao chép các tp tin (Trang 17)
Hình 1.18. Màn hình hồn thành cài đ#t SQL 1.4. - Hệ Quản trị Cơ sở dữ liệu 2 SQL Server
Hình 1.18. Màn hình hồn thành cài đ#t SQL 1.4 (Trang 18)
Hình 1.20. Các tin ích bên trong Microsoft SQL Server. - Hệ Quản trị Cơ sở dữ liệu 2 SQL Server
Hình 1.20. Các tin ích bên trong Microsoft SQL Server (Trang 20)
Hình 1.22. Tin ích Client NetWork Utility. - Hệ Quản trị Cơ sở dữ liệu 2 SQL Server
Hình 1.22. Tin ích Client NetWork Utility (Trang 22)
Hình 1.24. Tin ích Import and Export Data. - Hệ Quản trị Cơ sở dữ liệu 2 SQL Server
Hình 1.24. Tin ích Import and Export Data (Trang 23)
Hình 1.25. Tin ích Profiler. - Hệ Quản trị Cơ sở dữ liệu 2 SQL Server
Hình 1.25. Tin ích Profiler (Trang 24)
2.3.7.3. Sử dụng bí danh của bảng - Hệ Quản trị Cơ sở dữ liệu 2 SQL Server
2.3.7.3. Sử dụng bí danh của bảng (Trang 50)
2.4.1.3. Sao chép dữ liệu từ bảng khác - Hệ Quản trị Cơ sở dữ liệu 2 SQL Server
2.4.1.3. Sao chép dữ liệu từ bảng khác (Trang 55)
Hình 3.2. Ch c năng New Database Xu t hi n h p h i tho i:  - Hệ Quản trị Cơ sở dữ liệu 2 SQL Server
Hình 3.2. Ch c năng New Database Xu t hi n h p h i tho i: (Trang 59)
Hình 3.3. Các th uc tính cơ sd li u- tab General - Hệ Quản trị Cơ sở dữ liệu 2 SQL Server
Hình 3.3. Các th uc tính cơ sd li u- tab General (Trang 60)
Hình 3.5. Các th uc tính cơ sd li u- tab Transaction Log - Hệ Quản trị Cơ sở dữ liệu 2 SQL Server
Hình 3.5. Các th uc tính cơ sd li u- tab Transaction Log (Trang 61)
Hình 3.6. To cơ sd l iu QLBanHang b)ng tin ích Query Analyzer - Hệ Quản trị Cơ sở dữ liệu 2 SQL Server
Hình 3.6. To cơ sd l iu QLBanHang b)ng tin ích Query Analyzer (Trang 63)
Hình 3.7. Xĩa cơ sd l iu QLBanHang b)ng tin ích Enterprise Manager - Hệ Quản trị Cơ sở dữ liệu 2 SQL Server
Hình 3.7. Xĩa cơ sd l iu QLBanHang b)ng tin ích Enterprise Manager (Trang 64)
Hình 3.8. Xác nh nđ ng ýh yb cơ sd l iu - Hệ Quản trị Cơ sở dữ liệu 2 SQL Server
Hình 3.8. Xác nh nđ ng ýh yb cơ sd l iu (Trang 64)
Hình 3.9. Hp th oi SQL Query Analyer - Hệ Quản trị Cơ sở dữ liệu 2 SQL Server
Hình 3.9. Hp th oi SQL Query Analyer (Trang 65)
Hình 4.1. Ch nch c năng New Table đ to m ib ng - Hệ Quản trị Cơ sở dữ liệu 2 SQL Server
Hình 4.1. Ch nch c năng New Table đ to m ib ng (Trang 67)
Hình 4.6. To mi mơ hình qua nh dl iu • Bư.c 2:  - Hệ Quản trị Cơ sở dữ liệu 2 SQL Server
Hình 4.6. To mi mơ hình qua nh dl iu • Bư.c 2: (Trang 90)
Trong màn hình c hn các b ng (Select Tables), l*n lư tc hn các b ng trong danh sách b ng đang cĩ trong cơ s  d  li u (Available tables)) mà b n mu n  đưa chúng vào  mơ hình quan h  d  li u, sau đĩ nh n Add - Hệ Quản trị Cơ sở dữ liệu 2 SQL Server
rong màn hình c hn các b ng (Select Tables), l*n lư tc hn các b ng trong danh sách b ng đang cĩ trong cơ s d li u (Available tables)) mà b n mu n đưa chúng vào mơ hình quan h d li u, sau đĩ nh n Add (Trang 91)
Hình 5.1. Kt qu th$c thi xem câ ul nh SELECT - Hệ Quản trị Cơ sở dữ liệu 2 SQL Server
Hình 5.1. Kt qu th$c thi xem câ ul nh SELECT (Trang 100)
Hình 5.2. Tom ib ngo trong Enterprise Manager Bư.c 2:  - Hệ Quản trị Cơ sở dữ liệu 2 SQL Server
Hình 5.2. Tom ib ngo trong Enterprise Manager Bư.c 2: (Trang 103)
Hình 5.3. Thi tk dli ub ngo - Hệ Quản trị Cơ sở dữ liệu 2 SQL Server
Hình 5.3. Thi tk dli ub ngo (Trang 104)
(Hình 8.1) (Hình 8.2) - Hệ Quản trị Cơ sở dữ liệu 2 SQL Server
Hình 8.1 (Hình 8.2) (Trang 138)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w