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,5K 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

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

Nội dung

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ác

Trang 1

al Mi Phương Lan (Chủ biên)

ø 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

Quần lý bán hàng”

Trang 2

[AA] Phuong Lan (Chi bien)

waz Hoàng Đức Hải

TIN HOC VA B01 SONG

Vistial Basic 2005 tis -msa LAP TRÌNH CƠ SỞ DỮ LIỆU VỚI

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 toá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 toà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 hoàn toà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!

MK.PUB

Trang 4

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 hoà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 Ngoà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

ME.PUB

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.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

Lo ớẶẠ.4A

Trang 6

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

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

5.11 Tao DataTable t¥ déi tugng DataView e.ccceccssesssesssscsesssseesessos 62 5.12 DataSet có thể chứa nhiêu d6i tuong DataTable trùng tên 62

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 uù 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.7 Lưu vét giao địch (Transaction Log) ececiie.o TÔ

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

3.9 Gọi câu lệnh SQL uà lấy kết quả trẻ uê ccocccecooccir 112

4 Truyền tham số với 5qlParameter co 20011 st2ntnneenoeee 113

Trang 9

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 lOÀN, cào 116

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

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

6.2 Fill - Trich rút dữ liệu — 133 6.3 pdate - Một hàm làm mọi thÚ in 135 6.4, M6t chit lidu ¥ vé Lenk Insert cece LAE

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

2.3 Đặt tên hiệu cho CỘÍ cute 1, 2.4 Cột được tính toán

3.6 Mệnh đệ WHERE nhe 168 3.6 Cách dùng SELECT' TÓP SG nà Hy 174

9.7 Truy uấn giá trị NULL

2.8 Sắp xếp kết quả bằng ORDER BY 178

3 Các hàm SQLL, Hari TTỂ 3.1 Các hàm tính gộp

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

ð.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.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

9 Dang chudin héa thet hai eeeeeeeseseeneeseerestereceesesreeneseeetsesnees 229

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

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

5 Xử lý dữ liệu với DataRow

Trang 13

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

3.5 Định dạng cho các ô trong khung lưỚi ccc.c.eeeeeerree 307

4 Tóm tắt Hee 308

Trang 14

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

Trang 15

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.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

4.7 Tụo khóa ñgOgÌ vn Hà ra gu in 373

Trang 16

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

8 Tóm tắt

Trang 17

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í

nhớ của bạn thật ra là một CSDL vô cùng tuyệt vời) Ví dụ khác, một CSDL

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 oà 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

"Trong máy tính, bạn có thể sử dụng các chương trình như Excel để xây đựng một bảng danh sách Các trang tính của Excel thực chất tương đương với một bảng (Table) dữ liệu mà bạn sẽ học sau này trong cơ sở dữ liệu quan hệ

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) Ngoà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

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à hoàn toà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

thuộc và mạnh nhất với hầu hết các lập trình viên như chúng tôi vào thập niên 90 Tập lệnh FoxPro rất phong phú FoxPro cung cấp tất cả các cú

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 hoàn toà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 hoà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 Toà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

khách (fat client) nên không thuận tiện để phát triển những ứng dụng lớn theo mô hình khách chủ (client-server)

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ư hoàn toàn giống với Visual Basic Cing nhu FoxPro, Access 1A môi trường phát triển ứng dung CSDL hoà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 hoà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

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 hoà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é

logic khi phát triển ứng dụng trong môi trường mạng nhiều người sử dụng của Access rất yếu Thường thì Access rất thích hợp để viết các chương trình quản lý văn phòng cỡ vừa và nhỏ

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 toà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

_ 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

sử dụng SQL Seruer 2000 của nhà sách Minh Khai đã xuất bả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

4 Gal System Databases:

3® [2a Database Snapshots:

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

toá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

Management Studio của SQL Server 2005

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

Như đã nêu ở đầu chương, mọi cấu trúc lưu trữ đữ liệu đều có thể xem

là CSDL Trên thực tế, còn rất nhiễu nguồn dữ liệu khác có cấu trúc đặc thù

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

$450 Server Sushes nllgercs Oeigprent Std

3 tHơosoft Veunl Sudo 60) LỀB thơnssfRvsual Sudp 2005

“HỈ lạ mo eo Pgheng

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

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

ta đã có thể bắt tay ngay vào việc À, mà khoan đã, hãy hỏi xem bạn cân dùng

Trang 27

đặ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

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 hoà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,

Tabies, Vieus Đây chính là những đổi tượng của CSDL sẽ được chúng ta sử đụng ngôn ngữ lập trình truy xuất và tương tác sau này

Trang 28

‘8 View connection oronertiog

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

‘sea Aco sciatic

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

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ứ

nhất là số thứ tự, ta đặt tên là ID và dĩ nhiên phải là kiểu số (int);

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ỉ toà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 hoà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

Mỗi dòng dữ liệu bạn vừa nhập vào gọi là Record hoặc Row, Xét ở góc

độ vật lý thì ta gọi là dòng (Row) hay hàng đữ liệu; nhưng xét ở góc độ logic thì người lập trình thường gọi là mẩu tin (Record), vì dựa vào một dòng dữ

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

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

SQL (Structure Query Language) dich ra là “ngôn ngữ truy uấn cấu trúc", nếu hiểu được ý nghĩa câu chữ này ngay lần đầu tiên thì bạn quả là

“thiên tài” Nhưng thật ra chúng tôi có thể diễn dịch đơn giản đây là “ngôn ngữ xử lý bảng dữ liệu”, tức là tập lệnh giúp bạn trích lọc, thêm, xóa, sửa nội dung dữ liệu chia trong bang Hay xem SQL lam viée nhu thé nao

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ả

tương tự như vậy

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

vào bảng đữ liệu:

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

Trên đây là bốn lệnh cơ bản nhất của SQL dùng tương tác với CSDL

mà chúng ta sẽ học xuyên suốt trong quá trình tiếp cận với ngôn ngữ lập

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:

@ 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ư toà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

nên thay đổi hay tác động đến nó

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 toà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 Ngoài ra, Microsoft cũng cung cấp một số CSDL với thiết kế gần như hoà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

tw 3ã Datahase DiaqT arns

ti Tables & (i System Tables

& & cho.aweuikiversion

@ GF Humenacources Shit

Hinh 1-20

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

nối và truy cập dữ liệu từ môi trường NET và Visual Basic 2005

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

Hầu như mỗi hệ CSDL đều cung cấp cách lưu trữ và lập trình ngay bên trong hệ thống của chính nó Như chương 1 bạn đã xem qua, ta có thể viết hẳn một chương trình bên trong FoxPro hay Access

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)

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

Microsoft chỉ đưa ra những đặc tả chung nhất cho ODBC như:

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

HÌNH ẢNH LIÊN QUAN

Hình  2-10  Dưới  đây  bạn  có  thể  tham  khảo  nhanh  qua  các  tính  năng  mới  này - 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
nh 2-10 Dưới đây bạn có thể tham khảo nhanh qua các tính năng mới này (Trang 55)
Hình  ð-1  minh  họa  kết  quả  nhận  được  sau  khi  thực  thi  phát  biểu  trên. - 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
nh ð-1 minh họa kết quả nhận được sau khi thực thi phát biểu trên (Trang 163)
Hình  5-7  là  kết  quả  hiển  thị  của  câu  truy  vấn. - 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
nh 5-7 là kết quả hiển thị của câu truy vấn (Trang 167)
Hình  5-9  Hình  5-9  là  kết  quả,  bạn  có  thể  kết  hợp  để  truy  tìm  theo  cận  trên  của  giá  như  điều  kiện  sau: - 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
nh 5-9 Hình 5-9 là kết quả, bạn có thể kết hợp để truy tìm theo cận trên của giá như điều kiện sau: (Trang 169)
Hình  ð-12  Bạn  đều  nhận  được  kết  quả  như  nhau  từ  hai  phát  biểu  trên.  Tuy  nhiên - 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
nh ð-12 Bạn đều nhận được kết quả như nhau từ hai phát biểu trên. Tuy nhiên (Trang 172)
Hình  5-44  Phát  biểu  trên  lấy  dữ  liệu  của  cột  AccountNumber  từ  bảng  Customer - 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
nh 5-44 Phát biểu trên lấy dữ liệu của cột AccountNumber từ bảng Customer (Trang 210)
Bảng  VATNUOI  ở  hình  thức  chuẩn  hóa  thứ  ba. - 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
ng VATNUOI ở hình thức chuẩn hóa thứ ba (Trang 232)
Bảng  VATNUOI  ở  hình  thức  chuẩn  hóa  BCNF. - 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
ng VATNUOI ở hình thức chuẩn hóa BCNF (Trang 233)
Hình  6-3  Nói  ngắn  gọn,  khi  bạn  làm  một  điều  gì  đó  (xóa,  cập  nhật,  thêm  mới)  thì  các  dòng  dữ  liệu  sẽ  bật  cờ  đánh  dấu  thay  đổi  sang  trạng  thái  tương  ứ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
nh 6-3 Nói ngắn gọn, khi bạn làm một điều gì đó (xóa, cập nhật, thêm mới) thì các dòng dữ liệu sẽ bật cờ đánh dấu thay đổi sang trạng thái tương ứng (Trang 254)
Hình  6-4  2.6.8.  Hủy  bỏ  các  thay  đổi  dữ  liệu - 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
nh 6-4 2.6.8. Hủy bỏ các thay đổi dữ liệu (Trang 255)
Hình  7-12  Chạy  lại  chương  trình,  bạn  sẽ  thấy  cột  MyColumn  do  ching  ta  ty  tao  giờ  đây  hiển  thị  dữ  liệu  của  cột  ProductID  (hình  7-13). - 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
nh 7-12 Chạy lại chương trình, bạn sẽ thấy cột MyColumn do ching ta ty tao giờ đây hiển thị dữ liệu của cột ProductID (hình 7-13) (Trang 300)
Hình  7-14  Trong  mã  chương  trình,  bạn  truy  vấn  đữ  liệu  tir  bang  Product  va  ProductSubCategory  như  sau: - 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
nh 7-14 Trong mã chương trình, bạn truy vấn đữ liệu tir bang Product va ProductSubCategory như sau: (Trang 302)
Hình  7-19  Chương  trình  ví  dụ  sẽ  cài  đặt  nút  nhấn  trên  thanh  ToolStrip,  khi  bạn  kích  chon  nuit  Delete  Selected  Rows,  mA  sẽ  duyệt  qua  các  dòng  và  xem  dòng  nào  được  đánh  dấu  chọn  (có  giá  trị  TrueValue=Yes) - 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
nh 7-19 Chương trình ví dụ sẽ cài đặt nút nhấn trên thanh ToolStrip, khi bạn kích chon nuit Delete Selected Rows, mA sẽ duyệt qua các dòng và xem dòng nào được đánh dấu chọn (có giá trị TrueValue=Yes) (Trang 306)
Hình  8-4  'Xử  lý  sự  kiện  khi  người  dùng  nhấn  Enter  trén  6  Textbox - 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
nh 8-4 'Xử lý sự kiện khi người dùng nhấn Enter trén 6 Textbox (Trang 313)
Hình  10-9  Trong  cấu  trúc  bằng  Orders: - 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
nh 10-9 Trong cấu trúc bằng Orders: (Trang 390)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w