1. Trang chủ
  2. » Giáo án - Bài giảng

Visual basic 2005 - Tin học và đời sống. Tập 3 - Quyển 1. Lập trình cơ sở dữ liệu với ADO.NET 2.0

409 3,4K 2
Tài liệu được quét OCR, nội dung có thể không chính xác

Đ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 409
Dung lượng 10,08 MB

Nội dung

Trang 1

al Mi Phương Lan (Chủ biên) [aam3 LẬP TRÌNH CƠ SỞ D ADO.NET É ms ị +

ø Học lập trình CSDL từ A-Z với ADO.NET 2.0 s Tìm hiểu DataTable, DataView, DataRow, DataCol

DataTableReader, BindingSource

e NET Framework 9.0 xử lý dữ liệu tự động hĩa cao độ

Tận dụng sức mạnh NET “Inside” của SQL Server 2005 vc | Khai thác các hệ quản tri Oracle, Open Source Database

Trang 2

[AA] Phuong Lan (Chi bien)

waz Hồng Đức Hải

TIN HOC VA B01 SONG

Trang 3

LOI NOI DAU

-NET Framework la mét san phdém déc déo nhét mà hang Microsoft sáng tạo và lặng cho các nhà phát triển phần mềm Qua hai tập hướng dẫn lap trinh Visual Basic 2005 trước, chúng tơi đã hướng dẫn bạn từng bước cụ

thể về ngơn ngữ Visual Basic thế hệ mới, cách thiết kế giao diện đồ họa,

viết thuật tốn, xử lý file, đổng bộ hĩa tiến trình, tạo lập ứng dụng Web

Forms và Windows Forms trong NET Tất cả những kỹ thuật vừa nêu đĩng vai trị rất quan trọng để bạn chuẩn bị bước đi xa hơn nữa trong tập

3 của bộ giáo trình này, “Lập trình cơ sở dữ liệu uới ADO.NET 2.0

Hầu hết 80% các chương trình mà bạn viết là thiên về xứ lý đữ liệu Một chương trình cĩ thể nĩi ngắn gọn bằng thuật giải cộng với dữ liệu Ngày nay, xử lý dữ liệu rất cần đến những cơng cu mạnh để cĩ thé phân tích, cập nhật lượng thơng tin khổng lồ đang bùng nổ trên khắp thế giới Cơng nghệ ADO.NET 2.0 mà nền tảng NET Framework đem lại sĩ thể giúp bạn

đơn giản hĩa cơng việc lập trình cực nhọc (điều mà các thế hệ ngơn ngữ lập

trình đi trước chưa giải quyết triệt để và hiệu quả) Hướng vào tính thực tiễn, giáo trình này sẽ cung cấp kỹ thuật và hướng dẫn bạn:

» _ Tự học xây dựng ứng dụng quản lý CSDL tồn diện với ADO.NET 2.0

© Khai thác các hàm thư viện xử lý dữ liệu đơn giản và dễ dàng của NET Framework phién ban mdi nhét

* Tận dụng sức mạnh của SQL Server 2005 với khả năng NET

“Inside”

® Làm quen với những khái niệm xử lý dữ liệu hồn tồn mới * Rang buéc dữ liệu với các thành phần giaa điện Windows Forms

© Thiét ké wmg dung “Quan lý Bán hàng” trực quan và thực tế

Với tầm quan trọng của cơ sở dữ liệu, chúng tơi hi vọng tập 3, quyển 1

này sẽ đem đến cho bạn một cảm giác mới về cơng nghệ xử lý dữ liệu của ADO.NET 2.0 khác hẳn cơng nghệ của các bậc đàn anh đi trước nĩ Và nào

chúng ta hãy bắt đầu!

Trang 4

4 THU NGO

THU NGO

Kính thưa quệ Ban doc gén xa!

Trước hết, Ban xuất bản xin bày tơ lịng biết ơn và niềm vinh hạnh

được đơng đảo Bạn đọc nhiệt tình ủng hộ tủ sách MK.PUB

Trong thời gian qua chúng tơi rất vui và cảm ơn các Bạn đã gửi e-mail đĩng gĩp nhiều ý kiến quý báu cho tủ sách

Mục tiêu và phương châm phục vụ của chúng tơi là: e Lao động khoa học nghiêm túc

e Chất lượng uị ngày cùng chất lượng hơn « Tốt cả uì Bạn đọc

Một lân nữa, Ban xuất bản MK.PUB xin bính mời qu Bạn đọc tiếp tục tham gia cùng chúng tơi đề nâng cao chất lượng sách Cụ thể: Trong quá trình sử dụng sách, nếu quý Bạn phát hiện thấy bất kỳ sai

sĩt nào (đù nhỏ) xin đánh đấu, ghi chú nhận xét ý kiến của Bạn ra bên cạnh rồi gửi cuốn sách này cho chúng tơi theo địa chỉ:

Nhà sách Minh Khai

249 Nguyễn Thị Minh Khai, Q.1, Tp Hồ Chí Minh

E-mail: mk.book@minhkhai.com.un hoặc mÈ,pubGminhkhai.com.0n

Chúng tơi xin hồn lại cước phí bưu điện và gửi trả lại Bạn cuốn sách

cùng tên Ngồi ra chúng tơi cịn gửi tặng Bạn một cuốn sách khác trong tủ sách ME.PUB Bạn cĩ thể chọn cuốn sách này theo đanh mục thích hợp sẽ

gửi tới Bạn

Với mục đích ngày càng nâng cao chất lượng tủ sách ME.PUB, chúng

tơi rất mong nhận được sự hợp tác nhiệt tình của quý Bạn đọc gần xa “MK.PUB cing Bạn đọc đồng bành” để nâng cao chất lượng sách Một lần nữa chúng tơi xin chân thành cảm ơn

Trang 5

MUC LUC

LỜI NĨI ĐẦU s xecsere %

THƯ NGỎ s<<<.sec "_ ¬ Ơ 5 CHUONG 1: LAM QUEN VỚI CƠ SỞ DỮ LIỆU "M ,,

1, Cơ sở dữ liệu là gì c L HH HH0 6011112111211 crsee 17 II 19 V2 MS ACCESS n ẽốốốốốốẽốốố ốố.ẽốằốắố 21 1.3 SQL Seruer 2000 LA, SQL Seruer 200B HH c1 re 23 1.ỗ ƠrQCÏ, HH1 02211 24 DG DB .4dqdẦqÃd 24 lì 1 — 24

1.8 Các nguồn dit ligu XML, Web Services, Internet va Mail

2 Một thodng vé SQL Server 2005 sscsssssessssesssseescsseeccsseesssseeesseeessee 25

2.1 Khoi ding SQL Management Studio cescccsssccsessseesessareereee 25 2.2 Tao CSDL dd tién ctl BQN veccccccceccsscscsssscsccsstesesrssssssssssesesseesese 26

8.8 Tạo danh sách hay bằng đữ liệu Hee, 29

2.4 Xem uà nhập dữ liệu cho bảng

3.5 Xử lý dữ liệu của bảng tới lệnh SQL cuc 32 3.6 Các CSDL chuẩÌn xxeeeeu 36

Trang 6

MUC LUC CHƯƠNG 2: ADO.NET - BUGC TIEN DAI VE TRUY CẬP DỮ LIỆU 1 ODBC 2, OLEDB 4.1 Kiến trúc ADO.NET

4.9 Truy xuất dữ liệu uới SQL Seruer Prouider cv 48 4.3 Truy xuất dữ liệu uới Oracle Prouider cuc co nneeoee 50

4.4 Truy xuất dữ liệu uới OLEDB Prouider cv ð

4.5 Truy xuất dữ liệu uới ODBC Provider 4.6 Tụ làm khĩ mình 5 Giới thiệu ADO.NET 2.0 ð.1 Lớp DbProviderFactory - Viết các ứng dụng độc lập Prouider 65 5.2 Xứ lý bất đồng bộ (Asynchronou) ecccvecirrrrrrecv 56 5.3 Sao chép tập dữ liệu lớn (Bulh Copy) 5.4, Multiple Active Result Sets (MANS) ve ĐƠ 5.5, Liệt kê danh sách SerUeT HH H211 60 5.6 Doc vd théng hé thong tin Rt 16: ecceccccsccsssesssssessrssessseessiccseeane 60

5.7 Xử lý theo lơ (Batch Updiate) ccccccccssssssssssecsssssssessesvsssecsesssccreayes 61

5.8 Nâng cấp các thao tác dữ liệu từ đối tượng DataSet

5.9 Serialize déi tuong DataSet

5.10 DataTable dée lap udi di tugng DataSet .cccecccccsscccsseesseseeace 61

Trang 7

5.13 Khả năng nạp dữ liệu của đối tượng DatuTobie 62

5.14 Bổ sung chúc năng cho đối tượng DatafiOU) c c cu, 62

5.15 Chuyén déi uị trí cột trong đối tượng DataTuble 63 ð.16 Định biểu thúc (Expression) cho DataColumn 68

6 Chọn lựa Provider c2 1111211 63

7, Tĩm tắt

CHƯƠNG 3: CÁC ĐỐI TƯỢNG TRONG CƠ SỞ DỮ LIỆU sees BB

1 Phân loại cơ sở dữ liệu SH 10 reererod 65

1.1 Lưu trữ theo cấu trúc bằng

1.3 CSDL, File-Seruer ú Clienf-SeTUET in 67

1.8 CSDL quan hệ (Relationdl DafGÙq§6) cv on 68

1.4 CSDL phân cấp (Hiarachy Databgse)

1.5 CSDL đối tượng (Object Databg8e) keo Ổ

1.6 CSDL OLTP uà OLAP ào ĐỘ

1.7 Lưu vét giao địch (Transaction Log) ececiie.o TƠ Nn Bang (Table) 9.1, Mu tin, trường 0ù giá FrỆ «căn HH uy 72 PB, ng NNẽ ðẽ nh sa 2.3, Gid tri Null 2.4, Thue tinh cle Ct cecccecseseccieecessssnssessesesenarsnssseenereseseesssssenens 73

2.5, KAGE VG Quant ÌỆ ch HH Hư ke uy 74

2.8 Chỉ mục uà rùng buộc

3.7 Giá trị mặc định o.ccccccccLeeiinierrriee

Trang 8

MỤC LỤC

5 DDL và DML St HH HH Hưng ườn 82

6 Thủ tục Stored Procedure sen HH Hư 82

6.1 Tạo uà thực thị Stored ProcedHT© eenkieeenkeo 5)

6.2 Thủ tục Stored Procedure của hệ thống ccecc-vercc.ee 44 7 Trigger và thơng báo sự kiện

8 Giao dịch (Transaction) HH H011 ke 86 9 Bảo mật và quyển sở hữu HH neHheeeriried 87 10 Replication ào Han rerecooreo Ộ) 11, Tĩm tẮT ào nh Hrererrrerrriraro.ĐŨ CHƯƠNG 4: SỬ DỤNG CÁC ĐỐI TƯỢNG ADO.NET 2.0 Ø1 1 Giới thiệu các đối tượng ADO.NET te 92 3 Kết nối cơ sở dữ liệu với SqlConnection co 92 9.1 Đối tượng kết nổi v HH 1H12 1112k ktec 93 3.2 Chuỗi kết nối

8 Thực thi lệnh SQL với SqlOommand -.-7- sec 104 3.1 Thực thi lệnh SQL như thế nào? eeHhieeere 104 3.2 Các kiểu lệnh SQL (CommandlTp6) khoe 105 3.3 Thời gian cho phép thực thì (CommandTiimeoul) 105

lv 1.1.6 6ố 106

3.5 Thige thi SQL UPDATE 0 8.< 108

3.6 Thite thi SQL DELETE oi 109

3,7 Thực thi SQL SELECT ĐH H141 11801111 rrkritưc 110 3.8 Thuc thi Stored Procedure

Trang 9

a

®

Sử dụng ODBC và OLEDB - Giải pháp nhìn về quá khứ

4.1 Thực thi câu lệnh SQL uới dữ liệu động 113

48 Nối chuỗi SQL - Giải pháp nguy hiểm 114

4.3 Sử dụng tham số - Giải pháp gh lỒN, cào 116

4.4 Tham số nhộn giá trị trả uễ

Đọc dữ liệu với DataReađer sát rrrerTererrrree 120 5.1 Sử dụng phương thúc Read(Q uà GetVaÌuel) 120

5.9 Lấy tên cột dữ liệu uới phương thúc GeiName0

5.3 Xác định biểu dữ liệu uới GetDataTypeName() 125

5.4 Doc todn b6 méu tin vdi Get Values) cesses 126

128

5.6 Xử lý nhiều tp két qua vdi phuong thite NextResult

5.6 Lấy uề cấu trúc bảng dữ liệu uới GetSchemadToble 130

Tương tác dữ liệu với SqlDataAdapter si 132

6.1 Các thành phần của SglDataAdQpfer co 189

Trang 10

10 MUC LUC

8.6 DbDalalleGđler chua ae, 152 9 Sử dụng Provider truy xuất Oracle - ch Hee 153

10 Provider của những hệ CSDL mã nguồn mở

11 Tham khảo các chuỗi kết nối cv te 155

so a 160

CHƯƠNG 5: SU DUNG SQL

1, T-SQL là ngơn ngữ lập trình hay truy vấn? c con 161

2 Đọc và truy vấn đữ Hiệu nh nnnhH11211211 1x te, 162 3.1 Chọn cột hiển thị

3.2 Sử dụng tên giản đơ (Sehema) cciic.vi 184

Trang 11

4.1 Sử dụng mệnh đề GROUP BỲ SE 200 4.9 Sử dụng mệnh để HAVING à co cSeiiree 209 4.8 Sử dụng phát biểu WITH ROLLUP 4.4 Sử dụng phát biểu WITH CUBE ccaeee 205 46 Sử dụng hàm GROUPINGQ ào ii 206 4.6 Si dung ménh dé COMPUTE va COMPUTE BY

5 Lién két va quan hé gitta cdc DAN nhe 209 8.1, Liên kết bảng trong mệnh đè WHERE ccevoo 210) ð.9 Liên kết bằng trong mệnh đề FROM

ð.3 Cách dùng INNER JỌN Hee 211

5.4 Cách dùng OUTER JỌN ảnh ướu 212 5.6 Liên kết nhiỀU CỘT cà SH ưàu 213

5.6 Liên kết khơng ngang DAN ocean dd

6 Các hoạt động làm thay đổi dữ liệu ccie 215

6.1, Thêm dữ liệu uào bằng ả c coi Tố

6.3 Cập nhật dữ liệu

6.3 Xĩa đữ TiỆU à ch HH Hư HH HH gi 219

7 Chuẩn hĩa đữ liệu 219

7.1 Tại sao phải chuẩn hĩa đữ liệu

220 7.9 Nội dụng chuẩn hĩa

7.3 Những khái niệm chính oề chuẩn hĩa 22 7

226

8 Dạng chuẩn hĩa thứ nhất son

8.1 Định nghĩa hình thúc chuẩn hĩa thứ nhất, 227

8.3 Xác định khĩa CHINA cece ch HH Hy 228

Trang 12

MỤC LỤC

10 Dạng chuẩn hĩa thứ ba Ặ Q0 cSseerrersreie 281

11 Dạng chuẩn hĩa boyee-eodd occeeeerceeeori 23 12 Dạng phi chuẩn hĩa ttecerserer.282 18 Các cơng cụ chuẩn héa trong SQL server 235

14 Tĩm tắt

CHƯƠNG 6: DATASET, DATATABLE, DATATABLEREADER, DATAROW, DATACOLUMN VA BINDINGSOURCE 239

1 Co sé dit liéu Offline - DataSet 100 240

11 Khdi niém vd cdich tao DataSet occccccceccssessesssseesssvssrcsecseeseeseer 240 1.3 Sử dụng DaiGS6E HH 1e xe 241

1.3 DataSet định kiểu (Typed) uà phí định kiểu (Unbyped) 245

Bang DataTable - Linh hồn của CSDL 246 3.1 Định nghĩa bảng 246 2.2 Tao COE CRO BENE veececcsseccssssssssnsseestesssssesessesvssesstececersasserscssenneareD4?, 2.3 Tao dịng dữ liệu HH0 1111k 247 3.4 Duyệt qua dịng Uồ CỘI LH 1 1121111xe+ 248 2.5 Tham chiéu dén DataSet 248 2.6 Sử dụng bảng DatgaTQble cty 249 2.7 Tạo DataTableltedder H216 264 2.8 DataTable uà Dal@et c1 264

2.9 FiHQ dữ liệu uới các bằng trong DataSet eo 265

3.10 Xĩa dữ liệu trước khi truy uấn

8 Di chuyển trên đữ liệu với BìindingSouree ceecucccrc 267

4, XAy dung bang với đối tượng DataColumn 0 nha 270

Trang 13

6, Thiét 14p quan hé vdi DataRelation ccccccccscsccscscsesssnssecesseeeseeeee B77 6.1 Sử dụng DatgflelqiQr cac 6.2 Xác định quan hệ giữa các dịng .> — 280

CHUONG 7: DATAVIEW, DATAROWVIEW, DATAGRIDVIEW 281

1 DataView - Một gĩc nhìn của DataTable c 281 1.1 Tao va st dung DataView 281

1.2 Duyệt dữ liệu trong DotơVietu uới DatalRtotoVieu 284

1.8 Lọc dữ liệu uới RouiFiET eo 285 1.4 Sắp xếp dữ liệu uới thuộc tính Sort

1.8 Cho phép xĩa, hiệu chỉnh uà thêm mới dữ liệu

1.6 Tham chiếu đến bảng dữ liệu cover 290

1.7 Quản lý dữ liệu của DataVieu

9, Trình diễn dữ liệu với DataGridVieW ác nen 393 3.1 Gán nguơn dữ liệu cho DdfGSGUTC6 che 292

3.2 Xử lý các sự kiện trên khung lướt

3 Tùy biến điều khiển nhập liệu trên DataGridView 298 3.1 Thêm cột điêu khiển TextBox uào DataGridVieu 298

3.2 Thém điều khiển ComboBox véo DataGridView

3.3 Thêm điều khiển Button uào DataGridVieu 303

3.4 Thêm điều khiển CheckBox uào DotaGridVieu 305

Trang 14

MUC LUC CHUONG 8: DATATABLEADAPTER VA RANG BUOC DU LIEU (BINDING)

1 Làm việc với BindingSouree và BindingNavigator

1.1 Sử dụng BindingNauigator để duyệt dữ liệu 309

1.2 Tùy biấn BindingNGUI[QÍQP Lá cuc xe 313 2 Ràng buộc dữ liệu với các thành phần Windows Form

3.1 Ràng buộc dữ liệu uới LabeÏ cv 314 3.2 Rịng buộc dữ liệu uới TextBOX ào 3.8 Ràng buộc dữ liệu uới ComboBox

3.4 Ràng buộc uới các thành phân điều khiển khúce 319 3 Sd dung DataTableAdapter «0.0 cccscsssessstessesseessesssessvesseaneersressusene 320

3.1 Sinh mã hiển thị dữ liệu bằng danh sách

3.2 Sinh mã cho Form nhập LIỆU HH reo 324

BB Tim ids mG tie sire oes uc reo 326 4 Tĩm tẮẲ LH 1111.111 1e reerrree 320 1 Mỡ rộng Stored Procedure 2 Đối tượng ƠLR của NET, 20 v11 332 3.1 Lập trình trên tập hỢp cu e 08 3.3 Lập trình thủ tục 2.3 Sử dụng các đối tượng CUĂ e 384 3.4 Tạo các đối tượng CHẴ ca Hàn soe 334

2:B Các Ngmespdces mới co oooonnrec

Trang 15

32.7 Bảo một 3.8 Debugging (Gỡ lỗu 2.9 Assembly uà các đối tượng CLR Tablel FuncHon .341 2.10 Trigger Lẻ na 342 2.12 Cập nhật cột đữ LIỆU cuc eoo 04/Ỡ7 3.13 EuentDota uà các Trigger dạng DDL cc.cccc , 344 2.14 Vi du mẫu 2.15 Stored ProcediUre cover.) 2.16 Function (HỒ) vn HH Hàn 350 3.17 Kiểu do người dùng định nghĩa 3.18 Tạo các bảng kết quả tHỦ CƠng ì cu nen ve 359 3.19 SqÏOT1f@X căn HH HH H111 1tr 360 3.20 Đối tượng bết nối ngữ cảnh 3 Kiến trúc SQL, CLLR cSHnHHH.012112111 1.111 re 362

3.1 Đặt lơgic nghiệp uụ

8.2 Khi nào thì sử dụng T-S@L uè cúc đối tượng CLR 363

4 Các đối tượng SQL Server Management ccsec 364 4.1 Thiết kế LỔng QUÁÍ, HH 1y 364 4.2 Tham chiếu đối tượng thơng qua URN 368

4.3 Tạo đối tượng

4.4 Tạo cơ sử dữ ÏiỆU co HH ra 367

4.5, Tao bang, cOt dif lid vd ChE MUC ả cuc 369 4.6 Tao User

Trang 16

16 MUC LUC

4.8 Tao bén sao liu (Backup)

4.8 Viết kịch bản (Scripting) dới SMO B77

ð Xử lý XML Web Services trong Cơ sở đữ liệu .- « 379

5Š = ` 380

CHƯƠNG 10: XÂY DỰNG ỨNG DỰNG QUẦN LÝ BÁN HÀNG 381 1, Giới thiệu về ứng dụng cneiereere.381)

2 Thiết kế cơ sở dữ liệu cà, H21 1rreae 382

3.1 Bằng phân loại Ca‡6gOTÌG8 HH 11c, 382 3.2 Bảng danh mục sản phẩm Producta a ,08 2.3 Bảng nhà cung cấp Suppliers 3.4 Bảng khách hịng Customers

3.5 Bảng đơn hàng Orders uà chỉ tiết OrderDetdils 389

3 Tạo lược 46 (Schema) cho tmg dung 4 Xây dựng Form chương trình chính

ð Xây đựng Form cho dit liu Master

ð.1 Trình diễn dữ liệu dạng List uà Record cuc 398 6.2 Hiển thị các da liệu tham chiếu (LooEup) ccccocccc, 401

6 Xay dung Form Master/Details .cc.ccsccccsccssesssssessessesacssessesseceseene 404 7 Xây dựng Eorm báo cáo tổng hợp dữ liệu

Trang 17

Chương 1: MAID YD LÀM QUEN VỚI CƠ SỞ DỮ LIỆU 1 CO S6 DU LIEU LA GÌ

Cơ sở dữ liệu - Dịch từ nguyên bản tiếng Anh bởi gốc từ “Database”,

cĩ lề do “Data” là đ# liệu, cịn “Base” là cơ sở và thế là suy ra ta cĩ

DATA-BASE, hiểu nơm na là “Cơ sở dữ liệu” Ở đây chúng tơi khơng bàn về thuật ngữ nhưng chỉ muốn nhấn mạnh với bạn đề tài lập trình thật sự quan trọng mà chúng ta sắp tìm hiểu trong bộ giáo trình phát triển ứng dụng với Visual Basie 2005 và nên tảng NET tiếp theo này Bạn cĩ thể nghe quen thuật ngit Database hay Co sd di ligu (viét tắt là CSDL), chúng đều cĩ ý nghĩa như nhau Chúng tơi vẫn thích bạn sử dụng gốc từ Database hơn là OSDL vì nĩ xuất hiện rất nhiễu trong tài liệu, ví dụ: mã nguồn, Internet Hãy gõ chuỗi “CSDL” trên Web site tìm kiếm của Google, bạn chỉ nhận

được 2 triệu kết quả, trong khi với chuỗi “Database” bạn cĩ được hơn 1 tỉ

thơng tin trên khắp thế giới Mặc dù vậy, trong khuơn khổ của giáo trình này, để tránh nhầm lẫn giữa mã nguên và nội dung điễn giải, chúng tơi sẽ

sử dụng cả 2 thuật ngữ này và thật ra thì chúng là một

Database hay OSDL là từ khá “nặng ký” trong ngành cơng nghệ

thơng tin và lập trình, thậm chí là ngay cả trong cuộc sống của bạn (cĩ thể

bạn chưa nhận ra điều này) Hãy mở trang Web Google và gõ vào chữ “Love” - cĩ nghĩa là tình yêu, bạn sẽ thu về 1.3 tỉ kết quả, trong khi “Database” cĩ

hơn 1.1 tỉ thơng tin (nay mắn thay tình yêu vẫn chiếm vị trí quan trọng) Nhưng nếu bạn gõ vào từ “sex” thì chỉ cĩ 6 triệu kết quả, vậy Sex < Database < Eoue Một ví dụ vui trên đây để chúng ta bắt đâu vào dé tài chủ đạo trong

giáo trình này

Cơ sở đữ liệu cĩ mặt ở khắp nơi trong cuộc sống của bạn, đĩ chính là sự biểu diễn cách lưu trữ thơng tin mà bạn cần nhớ lại ở dạng này hay dạng khác Mật quyển sách mà bạn đang đọc cũng chính là CSDL vì sách lưu lại thơng tin và tri thức con người ở dạng chữ viết và trang giấy Chẳng hạn, thầy giáo cĩ thể hơi bạn hằng đẳng thức (a+b)” khai triển như thé nào, bạn cĩ thể lục ngay sách giáo khoa cấp hai, mở ra trang x chương y và trả lời kết quả

(a+b) =a?+2ab+b? (nếu bạn nhớ thuộc long trong đầu thì xin chúc mừng, trí

Trang 18

Chương 1: Làm quen với cơ sở dữ liệu

bạn thường dễ hình dung nhất đĩ chính là danh bạ các số điện thoại trên

chiếc máy mobile di động của bạn Số điện thoại “Anh Ba”, “Chị Tám”, “Cơ Út”,

“Má Bảy” là số mấy nhỉ? Ban chỉ cần gõ tên vào và thế là chiếc máy đi động cho bạn biết ngày số điện thoại tương ứng của những nhân vật như thế Cịn nếu khơng biết số điện thoại 0903456789 là của ai, đơn giân chỉ cần tra bang

danh bạ ở cột số điện thoại là cĩ ngay tên chủ nhân: Tên Số điện thoại Ma Bay 0903456789 Chi Tam | 0902376522 Cơ Út 0917888999 Anh Ba 0973222213

C6 rat nhiều loại cơ sở dữ liệu do thơng tin được lưu trữ theo nhiều cấu

trúc khác nhau Cấu trúc thư mục trên đĩa cứng của bạn cũng là một hệ cơ sở dữ liệu nhưng nĩ được gọi là CSDL phân cấp (Hierachy Database), tức là

tổ chức lưu trữ và truy xuất thơng tin theo hình cây Quyển sách mà bạn

đang đọc cũng được xem là cơ sở đữ liệu nhưng nĩ được gọi là CSDL chỉ mục

(Index), tức là thơng tin sắp xếp, tìm kiếm theo mục lục, chương hồi, số

trang Trong giáo trình này chúng ta sẽ tập trung vào một loại CSDL gọi là CSDL quan hệ (Relational Database) CSDL quan hệ lưu thơng tin dưới

dạng cấu trúc bảng bao gồm các dịng và cột như ví dụ về danh bạ điện thoại chúng ta vừa xem qua Phần hai của giáo trình sẽ hướng dẫn bạn cách xử lý và truy xuất với những nguồn CSDL, khác nhau bằng ÁDO.NET

Chúng tơi cố gắng hướng dẫn bạn cách uiố! ứng dụng ồ kỹ thuật xử lý đỡ liệu ở mức dễ hiểu nhất thơng qua những uí dụ đơn giản nhưng cực bỳ

mạnh mẽ Bạn khơng phải bận tâm uê những thuật ngữ quá to lớn uà hàn lêm uiện của lĩnh uực nghiên cứu uễ cơ sở dữ liệu Đây là giáo trình để bạn tự học,

do uậy cần phải dễ hiểu uà giúp bạn ứng dụng được trong thực tế Đĩ cơng lị mục tiêu của giáo trình này Nếu bạn cân một lý thuyết uề CSDL ving chắc, chúng ta sé gdp lei dé tài này (cụ thể vd tap trung hơn) ở chương 3

Với mơ hình cơ sở dữ liệu quan hệ, bạn cĩ thể nghĩ và hình dung đơn

giản chúng là một tập hợp các danh sách thơng tin như danh sách khách hàng, danh mục hay danh sách sinh viên, danh sách hàng hĩa Nội dung

danh sách cĩ thể biểu diễn trong thực tế là vơ hạn Hãy quan tâm đến danh sách bạn sẽ thấy nĩ xuất hiện ở khắp nơi

Trang 19

(hình 1-1) Mặc dù vậy, để lưu danh sách thành dạng bảng dữ liệu cĩ khả năng

liên kết và truy xuất mạnh mẽ hơn, bạn cần phải dùng đến các chương trình

- những chương trình này gọi là các hệ théng DBMS (Database Management System) hay cdn gọi với một tên khác nghe “oai” hơn là “Hệ thống quản trị cơ sở dữ liệu” Các chương trình như FoxPro, MS Access, MySQL, SQL Server, Oracle, DB2 là những hệ thống quản trị cơ sở đữ liệu

Các hệ DBMS cho phép ban tao danh sách dữ liệu và gọi đĩ là “bảng”

(Table) Ngồi việc tạo bảng lưu danh sách dữ liệu, hầu như tất cả các hệ

DBMS đều cho phép bạn sử dụng tập lénh SQL (Structure Query Language) để chèn đữ liệu vào bảng danh sách, đọc lại, cập nhật và xĩa đữ liệu ne 3` yRðffceOnine š Sieg Ba cameras, Delete a Wab sé of ¢ nho page outibors on worksheets” $kalelslelei> lo] Hư Hình 1-1

Khi học lập trình về cơ sở dữ liệu hầu như chúng ta chỉ xoay quanh 4 thao tác chính là đọc (SELECT), cập nhật (UPDA'TE), tạo mới (TNSERT) và xĩa (DELETE) dữ liệu trong danh sách (hay bảng) mà các hệ cơ sở dữ

liệu quản lý Khái niệm và cách sử đụng các hệ cơ sở dữ liệu đều giống nhau,

cho nên bạn chỉ cần nắm rõ một hệ cơ sở dữ liệu là hồn tồn cĩ khả năng

tiếp cận với những hệ quản trị cơ sở dữ liệu khác

Để bạn dễ hình dung về các hệ CSDL khác, phần tiếp theo chúng tơi sẽ giới thiệu sơ qua những hệ CSDL kinh điển phổ biến trên thế giới thường được dân lập trình Việt Nam sử đụng (trước khi chúng ta chọn một trong số

đĩ để học lập trình NET là hệ SQL Server phiên bản 2005 của Microsoft) 1.1 FoxPro

EoxPro cĩ thể được xem là hệ quản trị cơ sở dữ liệu quan hệ thân

Trang 20

Chương 1: Lam quen với cơ sở đữ liệu

pháp SQL chuẩn cùng cú pháp 8QL mở rộng đặc thù riêng của ngơn ngữ

FoxPro Rất nhiều ứng dụng quản lý của đoanh nghiệp, ngân hàng được xây

dung dya trén FoxPro FoxPro cung cấp bên trong nĩ một Engine (lõi) xứ lý và quần trị dữ liệu mạnh cùng với cơng cụ xây dựng giao diện form, báo biểu

Với FoxPro bạn khơng cần thêm bất kỳ hỗ trợ nào từ phía nhà cung cấp thứ 3, ban than FoxPro a4 là mơi trường tiện dụng để xây đựng hầu như tất cả các ứng dụng liên quan đến CSDL Ngày nay, bạn vẫn cĩ thể thấy trong các ngân hàng hay đâu đĩ ở các cơ quan doanh nghiệp vẫn tổn tại những

chương trình FoxPro hoạt động tốt Mặc dù với sự phát triển và ra đời của

hàng loạt cơng cụ mới, hiện đại hơn nhưng FoxPro vẫn phần nào được các lập trình viên năm xưa yêu thích Mierosoft chịu trách nhiệm phát triển các phiên bản Visual FoxPro sau khi mua lại quyển phát triển FoxPro Version

mới nhất của hệ quần trị cơ sở dữ liệu này là phiên bản Visual FoxPro 9.0

đã được tích hợp với NET, cĩ nghĩa là bạn hồn tồn cĩ thể sử dụng tập hàm lệnh, thư viện của NET ngay trong mơi trường FoxPro truyền thống

Hình 1-2

Hình 1-2 là mơi trường phát triển FoxPro với bảng danh sách dữ liệu

PhoneList và cửa sổ lệnh Command, cho phép bạn nhập vào các câu lệnh tương tác SQL Bạn cĩ thể tự thiết kế Screen (man hinh), Report (báo biểu),

viết mã (Program), tạo bang dữ liệu (Table) và quản trị một dự án hồn chỉnh bằng Visual FoxPro File CSDL của FoxPro cĩ thể truy cập từ các ngơn ngữ ứng dụng khác (như Visual Basic hay C#) thơng qua ODBC hay

đriver cung cấp riêng bởi ứng đụng Tồn bộ mã nguồn, đữ liệu, thiết kế ứng dụng, báo biểu đều được FoxPro lưu trong một file duy nhất Thường ứng

dụng FoxPro chạy trên mơ hình tập trung xử lý phía máy desktop hay máy

Trang 21

1.2 MS Access

Microsoft Access (MS Access) 1a sản phẩm chủ lực của Mierosoft trong bộ phần mềm ứng dụng Office nhằm thay thế FoxPro Aceess sử dụng ngơn

ngữ lập trình VBA - là họ ngơn ngữ gần như hồn tồn giống với Visual Basic Cing nhu FoxPro, Access 1A mơi trường phát triển ứng dung CSDL hồn chỉnh với khả năng thiết kế màn hình, báo biểu, bảng dữ liệu, View, Macro Ưu điểm của Access là khả năng tích hợp với bộ ứng dụng văn phịng Office

tạo thành một giải pháp hồn chỉnh, giúp các nhà phát triển dễ dàng xây dựng được các phân mềm phục vụ cho máy để bàn (Desktop) vơ cùng mạnh

mẽ,

LoD irr dace od

# Query1 : Select — |71iX

Beech FROM Pel

TG create table by using weard

El creat able by entarng data ake Hinh 1-3

Hình 1-3 là mơi trường phát triển Access với bảng danh sách dữ liệu

PhoneList và cửa sổ thiết kế câu lệnh SQL (cịn gọi là Query) Bạn cũng cĩ thể tự thiết kế Form (màn hình), Report (báo biểu), viết mã (Maero/Modules), tạo

bảng đữ liệu (Tables) và quần trị một dự án hồn chỉnh Eile CSDL mdb của Access cé thé truy cập từ các ngơn ngữ ứng dụng khác nhau (như Visual Basic hay C#, Excel) théng qua ODBC, ADO, OLE DB va ADO.NET

Tuong tu nhu FoxPro, hé CSDL Access chi ding dé phat triển những ứng dụng dữ liệu tẩm trung và ít người sử dụng Cơ chế bảo mật và chia sé

Trang 22

22 Chương 1: Làm quen với cơ sở dữ liệu

1.3 SQL Server 2000

SQL Server la mét hệ quản trị cơ sở đữ liệu chuyên nghiệp mà

Microsoft phát triển hướng đến việc quản lý khối lượng lớn dữ liệu, độ bảo mật cao, khả năng chịu tải lớn Với sự bùng nổ về thơng tin, nhu cầu lưu trữ

dữ liệu ngày càng lớn, các hệ quản trị CSDL cĩ thể phải lưu và xử lý các

bảng danh sách lên đến hàng triệu, thậm chí hàng tỉ dịng Yêu cầu này địi

hỏi phải cĩ những hệ thống DBMS vững mạnh và ổn định, đảm bảo an tồn

dữ liệu, SQL Server 2000 là phiên bản khá ổn định được rất nhiều lập trình viên trên thế giới sử dụng CSDL SQL Server khơng cung cấp cơng cụ lập trinh nhu FoxPro hay Access, bạn khơng thể tạo Form, báo biéu bing SQL

Server Thay vào đĩ, bạn phải sử dụng những cơng cu lập trình như Visual

Basic, Delphi, Power Builder dé truy xuất đữ liệu do SQL Server lưu trữ Hệ CSDL SQL Server thích hợp cho mơ hình ứng dụng khách-chủ (cHent-server) đa người dùng Ví dụ hình 1-4 (1) là bảng dữ liệu Employees

lưu danh sách nhân viên trong CSDL Northwind của SQL Server 2000, cịn hình 1-4 (2) là cửa sổ Query Analyzer cho phép bạn gõ các lệnh 8QL tương tác với dữ liệu Ser aan jt Cle Bat airy Tae ireow Be j cự RE 2 al 9812080500000 (96306011010 E1 19520219 00 00.0000 19206140010 ti Ạ _195308-29 000000000 ten2.0409 onan: Manam ‘9.691900 ence 19.0509 coon _ 355) Hinh 1-4

Bạn cĩ thể lập trình bằng ngơn ngữ T-SQL ngay trong mơi trường CSDL SQL Seruer 2000 Hãy tham khảo thêm các giáo trình uễ hướng dẫn

Trang 23

Các phiên bản NET trước Visual Studio 2005 hỗ trợ thư viện

System.Data.Sg1C1ient cho phép bạn truy xuất trực tiếp đến đữ liệu

của SQL Server 2000 Trong giáo trình này bạn cũng sẽ cĩ cơ hội học cách truy xuất và xứ lý dữ liệu cha SQL Server 2000, nhưng cùng với sự ra đời của VS 2005, Microsoft đã đưa ra phiên bản mới của SQL Server cĩ khả năng

tích hợp rất mạnh mẽ với NET đĩ là ban SQL Server 2005 Đây cũng chính là cơng cụ CSDL mà chúng ta sẽ dành phần lớn thời gian tiếp cận trong giáo trình này thay cho phiên bản SQL Server 2000

1.4 SQL Server 2005

Cĩ thể nĩi phiên bản SQL Server 2005 rất đáng “đơng tiễn bát gạo” Mierosoft đã nỗ lực rất lớn để khiến tồn bộ kiến trúc của hệ quần trị CSDL

này cĩ khả năng tích hợp mạnh mẽ với nên NET B icrosoft SQL Server Management Studio

4 Gal System Databases: 3® [2a Database Snapshots: xươ ‘a [System TaÐhg Tl đg£fongLit 4 Ca Colne ca Keys + Dã Cawrants 4 2a Tra ie fa dees Hinh 1-5

Với giao diện và lõi Engine mạnh hơn, giờ đây ban cĩ thể viết

ma NET (nhu C# hay Visual Basic) ngay trong CSDL Bạn cũng cĩ thể viết

các hàm thư viện từ Visual Studio và tích hợp nĩ vào SQL, Server 2005 Khả năng này đã mở ra một cánh cửa rất lớn cho lập trình viên Giờ đây, hầu

như bạn cĩ thể viết được mọi loại ứng dụng và giải quyết được rất nhiều bài

tốn tích hợp mà trước đây cịn “chổi” nhau giữa mơi trường phát triển ứng dụng và hệ thống quản trị CSDL Hình 1-5 là mơi trường quần trị SQL

Trang 24

24 Chương 1: Làm quen với cơ sở dữ liệu

1.5 Oracle

Là tín đồ của ngành cơng nghệ thơng tin, khơng sớm thì muộn bạn cũng

sẽ nghe nĩi đến tên Oracle Đây là hệ quản trị CSDL mạnh mẽ và tết nhất, trên thế giới hiện nay Oracle được đánh giá là tốt hon SQL Server (va di nhiên cũng sẽ đắt hơn) Phiên bản Oracle mới nhất khi chúng tơi viết giáo

trình này là Oracle 10G Thật ra cả hai sản phẩm SQL Server 2005 va Oracle

10G đều là những “bảo bối” trong thiên hạ, bạn khĩ phân biệt ai mạnh hơn hay yếu hơn Hiếm khi nào bạn sử dụng và khai thác hết chức năng của chúng

"Tương tự SQL Server, Oracle là một hệ tập trưng chuyên nghiệp vào quản lý

CSDL Muốn truy cập dữ liệu và thiết kế ứng dụng riêng, bạn phải đùng các

ngơn ngữ lập trình khác và thơng qua cdc driver nhu ODBC, OLEDB hay

ADO, ADO.NET do Oracle cung cap

Khơng cĩ lợi thế như Microsoft là tích hợp Visual Studio véi SQL

Server 2005 nên tốc độ bạn sử dụng NET với Oraele sẽ khơng tối ưu bằng khi

bạn sử dụng ngơn ngữ lập trình NET với SQL Server 2005 Tuy nhiên, Oracle cung cấp cho bạn một mơi trường phát triển khác đĩ là Oracle Developer, mơi

trường này cũng tương tự như Visual Studio nhưng thế mạnh là dùng cho ngơn ngữ lập trình Java và sử dụng ngơn ngữ riêng PIL/SQL của Oracle Trong giáo trình này chúng tơi sẽ hướng dẫn bạn cách truy xuất và sử dụng CSDL của Oracle bing NET

1.6 DB2

DB2 là hệ quản trị CSDL lớn dành cho máy chủ IBM Dịng sản phẩm

DB2 này khơng thơng dụng lắm ở Việt Nam, tuy nhiên nĩ được sử dụng tuong tu nhu Oracle va SQL Server IBM cũng cung cấp các trình điều khiển cho phép bạn truy xuất CSDL DB2 bằng NET

1.7 MySQL

MySQL 1a mét hé quan tri CSDL cĩ mã nguẫn mở, bạn cĩ thể sử dụng

hệ CSDL này trên máy chủ Windows hoặc Linux Tuy khơng nhiêu cơng cụ bằng các hệ như Oracle hay SQL Server, nhưng MySQL miễn phí và chạy khá ổn định nên rất được nhiều lập trình viên trên thế giới ưa thích sử dụng Giáo trình này cũng sẽ hướng dẫn bạn cách kết nối và truy xuất dữ liệu của

MySQL bằng NET

1.8 Các nguồn dữ liệu XML, Web Services, Internet

và Mail

Trang 25

như nguồn XML, dữ liệu Mail, các file tài liệu Word, PDEF, trang Web, các nguồn dữ liệu Web Services (hay chính Internet cũng là một CSDL của các trang Web, mà Google chính là Web site cho phép bạn tìm kiếm các thơng tin trong CSDL Internet hiệu quả nhất) Những dữ liệu này đều cĩ trình điều khiển truy xuất riêng, chúng cũng sẽ được chúng ta tìm hiểu trong quá

trình học về ADO.NET,

2, MOT THOANG VE SQL SERVER 2005

Chương này tuy chỉ là mở đầu để bạn hình dung CSDL là gì, nhưng

chúng tơi cũng sẽ giúp bạn tiếp cận ngay với hệ quản trị SQL Server 2005 đủ để chúng ta làm bước đệm cho các chương lập trình với ngơn ngữ Visual Basic 2005 tiếp theo Các hệ quản trị CSDL là trung tâm của tất cả ứng dụng xử lý CSDL nên bạn buộc phải sử dụng thơng thạo SQL Server ở mức độ cơ bản trước khi cĩ thể dùng ngơn ngữ lập trình truy xuất chúng

2.1 Khởi động SQL Management Studio

Khi cai dat Visual Studio 2005, phién ban SQL Server 2005 Express Edition (Mierosoft miễn phí khơng tính tiền) sẽ được cài đặt chung Bản

Express này cĩ đầy đủ các tính năng cơ bản của hệ thống SQL Server, ban cĩ thể sử dụng nĩ trong giáo trình này như một tùy chọn

(Bồ Mazomoda

(Bồ Mosof NET Framework SOK ¥2.0

i) Microsoft ASP.NET Atlas:

saa] Ch Meros0R Owveloper Ngieork 1 Merosak OTe HL Be Mcrosoh sce Server Administrator TT ¬¬ 8h Configraton Tools @ Documentation and Tutoriabe i Performance Tools

Trang 26

26 Chương 1: Lam quen với cơ sở dữ liệu

Tuy nhiên để cĩ thể sử dụng và khai thác tối đa sức mạnh của cơng cụ

lập trình ADO.NET, bạn nên cài đặt phiên bản đây đú của SQL Server

2005 (dĩ nhiên bạn phải trả một ít tiền cho Microsoft)

Sau khi cai dat SQL Server 2005, ban chon Start | All Programs | Microsoft SQL Server 2005 | SQL Server Management Studio nhu hinh 1-6 Mục chọn này sẽ khởi động trình quản lý SQL Server, một hộp thoại

xuất hiện như hình 1-6 yêu cầu bạn cung cấp thơng tin đăng nhập (nếu bạn

chưa quen và chưa bao giờ str dung SQL Server ở các phiên bản trước đĩ thì

cĩ thể xem phần phụ lục chúng tơi hướng dẫn bạn cách cài đặt và cấu hình SQL Server 2005) i : a Databases = SE Ebrhbesi, 8 1 ReparServer Hinh 1-7

Nhập tài khoản (thường tài khoản quản trị cao nhất là sa, cịn mật

khẩu là do bạn chỉ định lúc cài đặt) và nhấn Connec¿ Nếu quá trình kết nối thành cơng, mơi trường Management Studio sẽ hiển thị như hình 1-7 Mơi

trường Management Studio cũng chính là cơng cụ thay thế cho Enterprise Manager của phiên bản SQL Server 2000 trở về trước Xin chic mừng bạn

nếu kết nối thành cơng, như vậy là bạn đã sấn sàng làm việc với hệ cơ sở dữ liệu mạnh mẽ và hiện đại nhất của Microsoft tính từ thời điểm này Đây là nơi lưu trữ đữ liệu mà các mã lệnh Visual Basic và cơng nghệ ADO.NET chúng ta sắp học trong phần tiếp theo tương tác nhiều nhất

2.2 Tạo CSDL đầu tiên của bạn

Cịn bây giờ, nếu nĩng lịng muốn xem CSDL hình thù Ta sao thì chúng

Trang 27

cơ sở dữ liệu để làm gì nhỉ? Phải lưu trữ và quản lý cái gì đĩ chứ, chẳng lẽ tạo CSDL chơi khơng như vậy? Hãy bắt đầu bằng một giả định đơn giản nhất,

bạn muốn thành lập một cơng ty cho riêng mình mà một cơng ty thì cĩ hàng trăm thứ để quản lý Tên CSDL của chúng ta sẽ là MyCompany (bạn cĩ thể

đặt tên gì đĩ để nghe cĩ vẻ “thương hiệu” hơn một chút)

Thường thì các lập trình uiên chọn đặt tên cho CSDL theo tên cơng ty,

tên dụ án hay tên theo chủ đề của ứng dụng mà họ sắp uiết *+ Microsoft SQL Server Management Studio

Le" SH Vaw linh evi Semmes bop ~ batabaves wae ed Srapabots Ƒ Jlisesee | | Ú ReyorServerTemcpe Hình 1-8

1 Từ cửa số Management Studio, bạn chọn mục Database trong khung

bên trái và nhấn phím phải chuột (hình 1-8)

2 Chon New Database tit menu popup

3 Hộp thoại New Database xuất hiện Trong ơ Database Name, bạn

gõ vào tên CSDL mình cần tạo là MyCompany (hình 1-9)

4 Nhấn OK và thế là mọi chuyện hồn tất Management Studio sẽ tạo

mới một CSDL, cho bạn mang tên MyCompany

5 Quay trở về cửa sổ Management Studio, bạn sẽ thấy mục MyCompany xuất hiện bên dưới nút Database (hình 1-10) Đĩ chính là CSDL của bạn Kích vào đấu [+] để bung rộng nhánh MyCompany,

bạn sẽ thấy một danh sách các nút con như Dœfœbase Diagroimys,

Trang 28

New Database Sgyac SERVER Connection: “

‘8 View connection oronertiog

Chương 1: Làm quen với cơ sở dữ liệu

‘sea Aco sciatic

co By? MB, untesticted gromth

Nottgpicabe “7 By 10 pcer, renticted gow

Trang 29

2.3 Tạo danh sách hay bảng dữ liệu

Như đã nêu ở đầu chương và cũng giúp bạn dễ hình dung, chúng tơi

minh họa CSDL thật ra cũng khơng cĩ gì to tát lắm, đơn giản chúng chỉ là

những bảng danh sách thơi mà Vậy chúng ta hãy thử tạo một bảng danh sách trong CSDL MyCompany xem sao

Đối với cơng ty, điều đầu tiên cần phải cĩ là quan hệ với khách hàng, vậy trước mắt chúng ta hãy thử xây dựng một danh sách để lưu lại danh bạ hay số điện thoại khách hàng như bạn đã thấy ở đâu chương Cĩ thể trong tương lai, khi cơng ty làm ăn “khấm khá” thì danh bạ này sẽ là một danh sách dài ra

[bl] dbo.Tablo_2 :

13 (B SERVER (60 Serer 90.1990 - a Databases 4 L _ pHa 1 aca m== ;

dã Dã System Databases a a Dung tae 3 G@ Databaso Snapshots ) _ BIJ ReporServer 3 " le cội 22/|| D8tEae8am ay B |đ ReportServerTempoa : 8 GF Mycompany ig (a Database Clagranns ' | H sữa | TH BOB Views sẽ mm sta Progalrafesh @ 0 Serve wore Hình 1-11

1 Bung rộng nút CSDL mang tên MyCompany và chọn đối tượng Tables Nhấn phím phải chuột và chọn New Table từ menu popup (hình 1-11)

2 Khung cửa sổ phải của Management Studio sẽ xuất hiện các thành

phần cửa sổ như Properties, Table, Column Properties để bạn

chuẩn bị thiết kế cấu trúc bảng danh sách dữ liệu

3 Thật ra cấu trúc bảng đơn thuần chỉ là bạn muốn cĩ bao nhiêu cột, trong danh sách và mỗi cột lưu đữ liệu kiểu gì (số, chuỗi, ngày

tháng), thế thơi Hình dung danh sách của ta chỉ cĩ 3 cột: cột thứ

Trang 30

Chương 1: Lam quen với cơ sở dữ liệu

cột thứ hai là tên khách hàng, ta đặt tên là Name và cĩ kiểu chuỗi (NVARCHAR); cột thứ ba là số điện thoại, ta chọn kiểu chuỗi

(NVARCHAR)

That ra uới số điện thoại, bạn cĩ thể chọn kiểu số hay chuỗi đều hợp lý cả, trừ trường hợp bạn bảo đảm rằng dữ liệu nhập chỉ tồn ký số;

cịn uới những mã điện thoại như +(84)08 8666888 thì kiều chuỗi phù hợp hơn

-4 Bạn nhập vào tên các cột và kiểu dữ liệu, sau đĩ chọn thuộc tính Identity Column 1a ID (hinh 1-12) Khi bạn chỉ định một cột là

Identity, né sé tự động đánh số tăng dần Khi lập trình sau này bạn sẽ thấy vai trị quan trọng của cột Identity,

15 1b SERVER GS Serr 901390 0ˆ Ch Docbanee

Trang 31

5 Khi hồn tất, nhấn vào nút Close (x) trên gĩc phải của khung cửa

số bạn đang nhập tên các cột dữ liệu (hình 1-13) SQL Server hiéu rằng bạn đã kết thúc quá trình định nghĩa bảng danh sách dữ liệu, hộp thoại Choose Name sẽ hiển thị để bạn đặt tên cho bảng danh

sách Tên gì là tùy bạn, tên cĩ thể cĩ khoảng trắng phân cách Trong ví dụ này, ta đặt tén cho bang di liéu la Customers Click OK

6 Trở về cửa sổ Management Studio, bạn sẽ thấy bang danh sách với

tên Customers chúng ta vừa tạo

Vay là bạn đã cĩ được một nơi để lưu thơng tin về tên và số điện thoại khách hàng Từ đây về sau ta gọi danh sách này là bảng dữ liệu (Table)

Bạn cĩ thể tự hỏi, uậy sơo khơng lưu trong Excel hay Word cĩ tiện

dụng hơn khơng, bạn uẫn thường làm như uậy chứ? Điều này cĩ thể đúng

bì như chúng tơi đã nêu Excel, Word hay bất cứ nơi đâu bạn lưu được thơng

tin đều cĩ thể xem là CSDL, Tuy nhiên, khi bạn lưu thơng tin theo cấu trúc trong CSDL quan hệ, bạn sẽ dễ dàng truy cập, thay đổi, «ul ly chúng bằng những cơng cụ lập trình, Hơn thế nữa, khi số lượng dữ liệu của bạn oượt lên

hàng ngàn, hàng triệu, thậm chí hàng tỉ dịng thơng tin thì chỉ cĩ các hệ

CSDL là nơi lưu trữ uà quận lý thơng tin thích hợp nhất

2.4 Xem và nhập dữ liệu cho bảng

Bây giờ bạn cĩ thể nhập dữ liệu cho bảng theo các bước sau:

1 Chọn bảng dữ liệu Customers trong danh sách Tables bên khung

cửa sổ phải Nhấn phím phải chuột và chọn Open Table như hình

1-14 (1)

2 Khung cửa sổ phải của Management Studio sé hiển thị bảng danh

sách dữ liệu trống với các cột mà bạn định nghĩa trước đĩ Lưu ý, cột ID trước đây được bạn chỉ định là Identity sẽ tự động tăng mỗi khi cĩ đữ liệu nhập vào Cột này mặc định là ReadOnly bạn khơng

thể nhập giá trị vào được Hãy nhập danh sách tên và số điện

thoại khách hàng thân thiết của bạn như hình 1-14 (2)

Cúc số điện thoại uị tên khách hàng trong 0í dụ mẫu chỉ mang tính chất tham khảo

Trang 32

Chương 1: Làm quen với cơ sở đữ liệu

liệu bạn cĩ thể trích rút ra một “mẩu” nhỏ thơng tin nào đĩ liên quan đến bằng đữ liệu Bạn cĩ thể thấy một tên gọi khác là bản ghỉ cũng là thuật ngữ

dành cho Record Trong giáo trình này ta thống nhất dùng thuật ngữ mẩu tin Hình 1-14

Mãi cột dữ liệu như ID, Name, Phone gọi là Coluran nếu xét ở gĩc độ vật lý và được gọi là trường (Field) nếu xét ở gĩc độ Logic Đây là những

thuật ngữ bạn cần nhớ khi chúng ta bắt tay vào lập trình bằng ngơn ngữ NET trong chương sau

Xét uễ lý thuyết cơ sở dữ liệu thì một bảng dữ liệu cịn được gọi là tập

hop (set), trong đĩ chúa các thục thể (entiiy) chính là các dịng dữ liệu, các cột dữ liệu như 1D, Name, Phone được xem là thuộc tính (Property) của thực thể

Nếu bạn thấy “rối” thì đơn giản chỉ cân nhớ: dịng dữ liệu gọi là Row (hay Record), cột dữ liệu goi 1A Column (hay Field) Mau tin 1a mét tén goi khác thuân Việt để chỉ dịng dữ liệu, Chương 3 sẽ là nơi bạn hiểu rõ hơn các

khái niệm và thuật ngữ về CSDL

2.5 Xử lý dữ liệu của bảng với lệnh SQL

Trang 33

2.5.1 Xem dữ liệu uới lệnh SELECT

Với dữ liệu như chúng ta vừa nhập vào làm thế nào để xem chúng mà khơng phải mở lại bảng dữ liệu SQL cung cấp cho bạn lệnh SELECT để xem đữ liệu Khi bạn gửi đến SQL Server lệnh SELECT, nĩ sẽ trả về một,

tập đữ liệu theo yêu câu của bạn

1 Kích chuột vào nút New Query

2 Trang SQLQuery1.sgÌ xuất hiện, bạn gõ vào câu lệnh như hình

1-1ð và nhấn Fõ để thực thi

SELECT * FROM Customers

3 Kết quả danh sách đữ liệu bạn vừa nhập vào sẽ xuất hiện

4 Tiếp theo, bạn sẽ thấy sức mạnh của lệnh SELECT, muốn biết số điện thoại của ai cĩ 3 số cuối là 284, bạn nhập vào câu lệnh:

SELECT * FROM Customers WHERE Phone LIKE “%234!

Kết quả bạn sẽ nhận được là danh sách các khách hàng cần tìm

Hình 1-15

Trong chương sau, bạn sẽ thấy chúng ta sử dụng câu lệnh SELECT

này từ ứng dụng Visual Basic bằng các đối tượng ADO.NET (như SqlCommand, SqlDataAdapter, SqlDataReader) va ciing sẽ lấy về kết quả

Trang 34

34 Chương 1: Làm quen với cơ sở dữ liệu

9.5.2 Cập nhật dữ liệu uới lệnh UPDATE

Muốn sửa những thơng tin về khách hàng thì sao? Cĩ hai cách, cách thứ nhất là bạn cĩ thể mở trực tiếp bảng dữ liệu bằng Management Studio

như lúc chúng ta thêm mới và sửa trực tiếp dữ liệu Cách thứ hai là dùng lệnh UPDATTE của SQL Ít khi nào dữ liệu được sửa đổi theo cách thứ nhất vì người dùng bình thường khơng được phép tiếp cận với máy chủ nơi chứa

CSDL Các chương trình thường thơng qua lệnh UPDATE để cập nhật thơng tin đữ liệu mà người đùng yêu cầu sửa đổi Ví dụ, nếu Chứ Thiện trong danh sách khách hàng nêu trên thay đổi số điện thoại, bạn cĩ thể cập

nhật lại số mới bằng lệnh UPDATE như sau (hình 1-16) UPDATE Customers SET Phone=” 0909000001“

WHERE Name=‘ Chu Thién’

Để xem lại dữ liệu đã cập nhật hay chưa, bạn cĩ thể nhập lại lệnh

SELECT ma chiing ta vita hoc:

SELECT * FROM Customers

Két quả bạn sẽ thấy đữ liệu trong đanh sách cập nhật như hình 1-16 (2) 2.5.3 Chén di? ligu mới uới lệnh INSERT

Bạn cĩ thể dùng lệnh INSERT của SQL để chèn rnột dịng mới vào bảng dữ liệu Gõ lệnh sau để chèn thêm khách hàng với số điện thoại mới

Trang 35

INSERT INTO Customers (Name, Phone)

VALUES (‘Anh Khoa’, 85122007)

Dùng lệnh SELECT để xem lại danh sách, bạn sẽ thấy dữ liệu mới được chèn vào với mã ID là 7 (hình 1-17)

Hình 1-17

2.5.4 Xĩa dữ liệu uới lệnh DELETE

Cuối cùng, xĩa dữ liệu là việc phải làm nếu bạn khơng cịn muốn lưu

trữ nĩ nữa Lệnh DELETE sẽ cho phép bạn chọn dịng đữ liệu để xĩa Gõ lệnh sau để xĩa khách hàng tên “Nhân” khỏi đanh sách Customers:

DELETE Customers WHERE Name LIKE ‘%Nhan‘

Dùng lệnh SELECT để xem lại danh sách, ban sẽ thấy dịng dữ liệu đầu

tiên cĩ mã ID bằng 1 tương ứng khách hàng tên “Nhân' đã bị xĩa (hình 1-18) Mu 2 Hinh 1-18

Trang 36

Chương 1: Làm quen với cơ sở đữ liệu trình NBT ở các chương sau Nếu bạn chưa rành về ngơn ngữ SQL, sẽ cĩ

một chương hướng dẫn bạn chỉ tiết cách viết và sử dụng ngơn ngữ truy vấn

mạnh mẽ này Cịn bây giờ, trước khi sang chương mới, hãy xem qua một số

CSDL mẫu của SQL Server 2005 mà ta cĩ thể dùng hoặc truy xuất trong các

ví dụ mẫu ở chương sau

3.6 Các CSDL chuẩn

SQL Server cung cấp một số cơ sở đữ liệu hệ thống và cơ sở dữ liệu

mau Mé nhénh System Database (hình 1-19) bạn sẽ thấy 4 cơ sở dữ liệu hệ

thống với ý nghĩa như sau: icrosoft SQL Server Management Studio [eo lẽ đà HA, to VER (SQL Server 9.0,1399 18 Ui ReportServer @ {ẩ ReportServerTampDB @ Gi Security @ Gil Server Objects @ Gt Replication f@ G& Management @ Gai Notification Services

EB SOL Server Agent (Agent xPs disabled)

Hinh 1-19

* Master: Day là OSDL hệ thống bạn khơng nên “đụng chạm” đến Master được xem là trái tìm của SQL Server Nơi đây quân lý hầu như mọi thơng tin của những CSDL khác Nếu CSDL, Master bị hư thì coi

như tồn bộ hệ thống cũng bị “tê liệt” theo

© Msdb: CSDL này chứa các thơng tin về dịch vụ quản lý giao dịch của

SQLServerAgent CSDL này cũng quan trọng như Master, bạn khơng

Trang 37

* Model: Đây là CSDL mẫu, mỗi khi bạn tạo mới một CSDL, SQL Server

sẽ sao chép tồn bộ nội dung mẫu này thành CSDL mới của bạn Nếu bạn phải thường xuyên tạo những hệ CSDL cho khách hàng với các

bảng (Tables), các Views chuẩn thì cĩ thể thêm nĩ vào đây Khi bạn tạo

méi CSDL, tat cả những gì cĩ trong Model sẽ được chép sang CSDL mới

« Tempdb: CSDL nay la ving tam dé SQL Server chita céc thong tin Log, Transaction, cde cu truy van hay bang tam do lénh SQL yêu cầu

Thường thì bạn cũng khơng cần phải quan tâm gì đến CSDL, Tempdb

Đĩ là cơng việc của hệ thống

Như vậy với bốn CSDL mẫu trên đây, chỉ cĩ Model là CSDL mà bạn cĩ thể tùy biến theo ý mình Ngồi ra, Microsoft cũng cung cấp một số CSDL với thiết kế gần như hồn chính tất cả các nghiệp vụ kinh doanh, bao gồm danh sách khách hàng, sản phẩm, đơn hàng, nhà cung cấp rất tiện lợi giúp bạn nghiên cứu, thực tập và làm ví dụ mẫu để viết ứng dụng Ở phiên bán SQL

server 2000, Northwind chính là CSDL mẫu này Với phiên bản SQL Server 2005, CSDL, mẫu mang tên AdventureWorks; tuy khơng kèm theo khi bạn cài

đặt SQL, nhưng bạn cĩ thể tự tạo mẫu Database này bằng cách lấy về từ Web

site của Microsoft tại địa chỉ www.mierosoft.com hoặc trên đĩa CD kèm theo giáo trình (AdventureWorksDB.msi) Trong những ví dụ ở các chương sau,

chúng ta sẽ sử đụng một phần CSDL AdventureWorks để minh họa or 9.0.1399 - aa) 4 Ga Syetom Databases Đà Databsea Snapsrots 4 @ Mycompary a UY Reportserver a & NT 4Â] Adưenrewode

tw 3ã Datahase DiaqT arns

ti Tables & (i System Tables

Trang 38

Chương 1: Làm quen với cơ sở đữ liệu

3 TĨM TẮT

Chương này là bước khởi đầu để bạn làm quen với khái niệm cơ sở dit

liệu (CSDL) hay Database Bạn đã xem qua các loại CSDL và học cách sử dụng trình quần trị CSDL SQL Server 200B Chương này chủ yếu khởi đầu

dành cho các bạn khơng chuyên chưa cĩ khái niệm gì về CSDL Nếu bạn đã

từng sử dụng qua các hệ CSDL và viết chương trình ứng dụng với SQL thì

cĩ thể xem tiếp chương 2 Trong chương tiếp theo, chúng ta sẽ học cách kết

Trang 39

Chương 9: ADO.NET — Bước tiến dài về truy cập đữ liệu a9 B® Chuong 2:

ADO.NET - BUGC TIEN DAI VE

TRUY CAP DU LIEU

Nếu bạn đã từng làm việc hay lập trình với CSDL, thì khi tiếp cận với mỗi hệ OSDL để viết ứng dụng sẽ thấy that khơng đơn giản chút nào Một

chương trình viết ra trước tiên sẽ được hỏi: sử dụng CSDL nào? SQL Server,

Oracle hay Access Cé quá nhiều loại CSDL mà mỗi người lập trình địi hồi phải thơng thạo khi tiếp cận với chúng FoxPro Access Microsoft SQL Server Oracle DB2 MySQL Postgress SQL InterBase Pocket Database XML Database

Trang 40

Chương 2: ADO.NET - Bước tiến dài về truy cập đữ liệu Tuy nhién, vấn đề sẽ phát sinh khi bạn dùng một ngơn ngữ lập trình khơng liên quan gì đến CSDI, để đọc và xử lý dữ liệu từ các hệ CSDL trên Khơng cĩ cách nào mà một ngơn ngữ lập trình như Visual Basie, C++ hay

sau này là C#, VB.NET truy cập trực tiếp vào từng hệ ƠSDL Mỗi hệ CSDL đều cĩ cách tổ chức, sắp xếp và cấu trúc dữ liệu đặc thù Lập trình viên phải dùng những thư viện mà hệ CSDL cung cấp để tiếp cận việc truy xuất CSDL (cịn gọi là Native Library) May mắn thay, vấn để cũng đần dẫn được giải quyết khá ổn thỏa Bạn sẽ thấy chặng đường để cĩ được cơng nghệ truy xuất,

di ligu ADO.NET mà chúng ta sắp học là quãng đường của lịch sử với rất

nhiều kinh nghiệm mà nhà sắn xuất phần mễm Microsoft tích lũy được

1 ODBC

Từ phiên bản Windows 8.1, cách đây hơn 20 năm, Mierosoft đã nhận

thấy sự “lộn xộn" và khơng nhất quán trong lập trình truy xuất các hệ CSDL “Dai gia” này quyết định đưa ra một giao diện lập trình thống nhất là ODBC (Open Database Conectivity) Application l ODBC Lee Hinh 2-2

ODBC là một giao diện, tương tự như khái niém Interface trong NET

Ngày đăng: 13/04/2015, 16:14

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN