Giáo trình Lập trình cơ sở dữ liệu (Phần 1)

1. Giới thiệu về .NET Framework

.NET được phát triển từ đầu năm 1998, lúc đầu có tên là Next Generation

Windows Services (NGWS). Nó là hạ tầng cơ bản được chuẩn hoá, độc lập với

ngôn ngữ lập trình, cho phép ta xây dựng, tích hợp, biên dịch, triển khai, chạy các

dịch vụ Web, XML, tiện ích hay thực hiện chương trình đa cấu trúc (phát triển bằng

các ngôn ngữ lập trình hỗ trợ .NET) trên hệ điều hành có cài đặt .NET Framework.

Nó sẽ trở thành một phần của MicroSoft Windows và sẽ được xuất qua các platform

khác, có thể ngay cả Unix. Mô hình ứng dụng của .NET Framework

2. Các thành phần của MicroSoft .NET framework

Các phần chính của Microsoft.NET Framework:7

.NET Framework bao gồm 2 phần chính là Common Language Runtime (CLR),

và .NET Framework Class Library (FCL).

CLR là thành phần chính của .NET Framework, quản lý mã có thể thực thi của

chương trình, quản lý các tiến trình, quản lý tiểu trình (Threading), quản lý bộ nhớ,

cung cấp dịch vụ để biên dịch, tích hợp và tác vụ truy nhập từ xa (Remoting)

FCL bao gồm tất cả các dịch vụ giao tiếp người sử dụng, điều khiển, truy cập dữ

liệu, XML, Threading, bảo mật

3. Tìm hiểu về Metadata

Metadata là một thuật ngữ mà người lập trình sử dụng dùng để mô tả dữ liệu về

dữ liệu. Môi trường .NET sử dụng Metadata để mô tả những đối tượng, các gói

assembly, dữ liệu ADO.NET. Nét đặc trưng của môi trường .NET là những đối

tượng có thể tự mô tả. Một chương trình có thể truy vấn thông tin về một đối tượng

để xác định phương thức, thuộc tính, trường mà đối tượng sẵn sàng hỗ trợ cho

chương trình sử dụng.

.NET có một file đặc biệt gọi là assembly sử dụng metadata để mô tả thông tin về

những lớp mà ứng dụng cung cấp và những thành phần mà ứng dụng sử dụng (như

các file dữ liêụ ), XML định nghĩa metadata, metadata định nghĩa các dữ liệu khác.

Giáo trình Lập trình cơ sở dữ liệu (Phần 1) trang 1

Trang 1

Giáo trình Lập trình cơ sở dữ liệu (Phần 1) trang 2

Trang 2

Giáo trình Lập trình cơ sở dữ liệu (Phần 1) trang 3

Trang 3

Giáo trình Lập trình cơ sở dữ liệu (Phần 1) trang 4

Trang 4

Giáo trình Lập trình cơ sở dữ liệu (Phần 1) trang 5

Trang 5

Giáo trình Lập trình cơ sở dữ liệu (Phần 1) trang 6

Trang 6

Giáo trình Lập trình cơ sở dữ liệu (Phần 1) trang 7

Trang 7

Giáo trình Lập trình cơ sở dữ liệu (Phần 1) trang 8

Trang 8

Giáo trình Lập trình cơ sở dữ liệu (Phần 1) trang 9

Trang 9

Giáo trình Lập trình cơ sở dữ liệu (Phần 1) trang 10

Trang 10

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

pdf 135 trang xuanhieu 10580
Bạn đang xem 10 trang mẫu của tài liệu "Giáo trình Lập trình cơ sở dữ liệu (Phần 1)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Giáo trình Lập trình cơ sở dữ liệu (Phần 1)

Giáo trình Lập trình cơ sở dữ liệu (Phần 1)
ck button thứ ba, 
chương trình cũng generate một Click Event nhưng hiện giờ ta không dùng nó, chỉ 
hiển thị một thông điệp nhỏ để xác định là có Event Click ấy. 
 Như thế, ta thấy .NET ghép một ContextMenu vào một ToolbarButton để biến nó 
thành một DropDownMenu. Có điều sau khi người sử dụng đã chọn một Item trong 
ContextMenu/DropDownMenu, Text của Item đó không được hiển thị giống như 
trong một ComboBox. 
 111 
Chương 5. Tạo lập cơ sở dữ liêụ 
5.1. Tạo cơ sở dữ liêụ Access 
5.1.1. Tạo cơ sở dữ liệu 
Bước 1. Khởi động MicroSoft Access 
Bước 2. Trên thanh thực đơn, Click chọn File/New hoặc nhấn tổ hợp phím Ctrl + N 
để mở hộp thoại New file 
Bước 3. Chọn Blank database Hộp thoại File New Database xuất hiện, chọn vị trí 
lưu trữ và nhập tên cơ sở dữ liệu cần tạo csdlaccess.mdb, rồi nhấn nút Create để tạo 
cơ sở dữ liệu 
 112
Cửa sổ làm việc của cơ sở dữ liệu hiện hành chứa các đối tượng của cơ sở dữ 
liệu: Tables, Queries, Forms,.. 
5.1.2. Tạo bảng 
Sau khi tạo cơ sở dữ liệu, ta tiến hành các bước sau để tạo bảng dữ liệu 
 113 
Bước 1. Trong tab Tables trên khung bên trái của cửa sổ, chọn Create table in 
Design view trong vùng làm việc để khai báo cấu trúc của bảng. Xác lập các thông 
số của mỗi trường gồm: FieldName- tên trường, DataType- kiểu dữ liệu, 
Description – mô tả trường. 
Bước 2. Chọn trường GroupID, rồi Click chuột chọn Edit/Primary key trên thanh 
thực đơn để thiết lập trường GroupID làm khoá chính của bảng 
 114
Bước 3. Nhấn Ctrl + S, nhập tên bảng (Group) trong hộp thoại Save As, rồi nhấn 
nút OK để hoàn tất việc tạo bảng 
Làm tương tự các bước trên với các bảng Project có cấu trúc gồm các trường: 
Bảng GroupProject có cấu trúc: 
 115 
5.1.3. Tạo mối quan hệ giữa các bảng 
 Sau khi tạo xong cấu trúc của 3 bảng, ta thực hiện các bước sau để tạo mối quan 
hệ giữa bảng Project với bảng GroupProject và bảng GroupProject với bảng Group, 
mối liên hệ giữa các bảng sẽ đảm bảo tính nhất quán về dữ liệu trong các bảng. 
Bước 1. Tại thanh thực đơn nhấn chọn Tools/ Relationshipsđể mở hộp thoại 
Show table 
lần lượt chọn từng bảng trong danh sách, nhấn nút Add để chọn các bảng tham gia 
vào mối liên hệ. 
Bước 2. Click chuột vào cột GroupID trong bảng Group kéo và thả vào cột 
GroupID trong bảng GroupProject để thiết lập mối liên hệ giữa hai bảng 
 116
nhấn nút Create, khi đó một mối liên hệ một- nhiều (one – many) được thiết lập gữa 
bảng Group và bảng GroupProject. 
 Làm tương tự đối với bảng Project và GroupProject 
 117 
Bước 3. Click chọn File/Save hoặc Click lên biểu tượng Save để lưu mối liên hệ 
vừa thiết lập. 
Bước 4. Click vào nút X ở góc trên bên phải của cửa sổ Relationships để đóng cửa 
sổ 
5.1.4. Tạo Queries 
Bước 1. Chọn nút Queries trong khung bên trái của cửa sổ để xuất hiện lựa chọn 
trình thiết kế Query (Create Query in Design View) 
 118
Bước 2. Nháy đúp chuột vào mục chọn Create Query in Design view, để mở hộp 
thoại Show table 
Bước 3. Chọn các bảng trong danh sách bảng (Tab Tables), hoặc các Query trong 
danh sách các Query (Tab Queries) nhấn nút Add để bổ sung nguồn dữ liệu cho các 
Query. 
Bước 4. Lựa chọn các trường kết xuất dữ liệu trong hàng Field, các bảng dữ liệu 
trong hàng Table, các tuỳ chọn sắp xếp và lọc dữ liệu trong hàng Sort và Criteria. 
 119 
Xem thử kết quả bằng cách nhấn vào biểu tượng Run (!) 
Bước 5. Nhấn Ctrl + S hoặc biểu tượng Save, xuất hiện hộp thoại Save As, đặt tên 
Query trong ô Query Name, nhấn OK để lưu Query vừa tạo. 
Bước 6. Click vào nút X ở góc trên bên phải của cửa sổ để đóng cửa sổ thiết 
kế Queries 
5.2. Tạo cơ sở dữ liêụ sử duṇg MicroSoft SQL Server Managemant 
Studio 
5.2.1. Tạo cơ sở dữ liêụ 
Bước 1. Tạo kết nối đến một thể hiện SQL Server dùng hộp thoại Connect to 
Server: 
 120
chọn Database Engine trong hộp danh sách Server type, trong hôp̣ danh sách 
Server name chọn (hoăc̣ nhâp̣ vào) dấu . hoăc̣ nhâp̣ chữ local hoăc̣ nhâp̣ tên máy 
tính. Chọn phương pháp xác thực trong hộp danh sách Authentication, nếu choṇ 
Windows Authentication thì nhấn nút Connect để thực hiện kết nối, nếu choṇ SQL 
Server Authentication thì phải cung cấp tên đăng nhâp̣ và mâṭ khẩu rồi nhấn nút 
Connect để kết nối. 
Bước 2. Ngay sau khi kết nối thành công tới môṭ thể hiêṇ cuc̣ bô ̣của SQL Server 
2005, cửa sổ SQL Server Management Studio đươc̣ hiển thi ̣
 121 
Trong cửa sổ Object Explorer, nhấn chuôṭ phải lên nút Databases của môṭ thể hiêṇ 
SQL Server và choṇ New Database . Hôp̣ thoaị New Database xuất hiêṇ 
 122
Xác lập các thông tin trên trang General cho cơ sở dữ liêụ mới trong hôp̣ thoaị New 
Database: 
Database name: Nhâp̣ tên cơ sở dữ liêụ, chẳng haṇ qlsach 
Owner: Chọn chủ sở hữu cơ sở dữ liêụ 
Database file: Liêṭ kê các tâp̣ tin cơ sở dữ liêụ 
Sau khi xác lâp̣ các thông tin trên, nhấn nút OK để taọ cơ sở dữ liêụ 
5.2.2. Tạo bảng 
Bước 1. Mở rôṇg cơ sở dữ liêụ qlsach, chúng ta sẽ thấy các đối tượng trong cơ sở 
dữ liêụ như: Tables, View,.. 
 123 
Bước 2. Nhấn phải chuôṭ lên nút Tables và choṇ New Table, xuất hiêṇ hôp̣ thoaị 
Table Designer, nhâp̣ tên và kiểu dữ liêụ cho các côṭ thông qua các hôp̣ 
Column name: Nhâp̣ tên côṭ 
Data type: Nhâp̣ kiểu dữ liêụ cho côṭ 
Allow Nulls: Nếu đươc̣ choṇ thì côṭ này có thể nhâṇ giá tri ̣ NULL 
Ví dụ tạo bảng sach 
Column name Data type Allow Nulls 
Mas nvarchar(5) không 
Tens nvarchar(20) không 
Tacgia nvarchar(30) không 
Nhaxb nvarchar(20) không 
Namxb int không 
 124
Bước 3. Nhấn phải chuôṭ lên dòng Mas rồi choṇ Set Primary Key để chỉ ra rằng côṭ 
này là khóa chính. 
 125 
Bước 4. Nhấn tổ hơp̣ phím Ctrl + S hoăc̣ nút Save để lưu cấu trúc bảng vừa taọ vào 
cơ sở dữ liêụ. Hôp̣ thoaị Choose Name xuất hiêṇ chờ nhâp̣ tên cho bảng, ta nhâp̣ 
Sach rồi nhấn OK 
Tương tư,̣ ta taọ các bảng 
Docgia(Madg nvarchar(5), tendg nvarchar(30), namsinh int, donvi nvarchar(20)) 
Muontra(Mas nvarchar(5), Madg nvarchar(5), ngaymuon nvarchar(10), ngaytra 
nvarchar(10)) 
5.2.3. Tạo Query 
Bước 1. Nhấn nút New Query để mở cửa sổ Query mới 
 126
Bước 2. Nhâp̣ câu lêṇh SQL 
Bước 3. Nhấn phím F5 hoăc̣ Execute để xem kết quả 
 127 
5.2.4. Điṇh nghiã quan hê ̣
 Viêc̣ taọ quan hê ̣giữa các bảng giúp cho cơ sở dữ liêụ đảm bảo tính nhất quán , 
tránh việc nhập trùng thông tin . Để thiết lâp̣ quan hê ̣giữa bảng Sach và bảng 
Muontra ta tiến hành các bước sau: 
Bước 1. Mở nút Tables trong cơ sở dữ liêụ Qlsach 
Bước 2. Nhấn phải chuôṭ lên bảng Muontra, chọn Modify 
Bước 3. Nhấn phải chuôṭ lên dòng bất kỳ trong bảng Muontra và chọn 
Relationships. Hôp̣ thoaị Foreign Key Relationships xuất hiêṇ 
 128
Bước 4. Nhấn nút Add để taọ quan hê ̣khóa ngoaị mới , bên phải của hôp̣ thoaị nhấn 
nút () của dong Table And Columns Specification để mở hiêṇ hôp̣ thoaị Tables 
And Columns. 
Bước 5. Trong hôp̣ văn bản Primary key table choṇ bảng Sach , rồi choṇ khóa chính 
của bảng là cột Mas, trong hôp̣ Foreign key table choṇ bảng Muontra , rồi chọn khóa 
ngoại là Mas, nhấn OK để đóng hôp̣ thoaị. 
 129 
Bước 6. Nhấn nút Close để đóng hôp̣ thoaị Foreign Key Relationships 
Bước 7. Nhấn Ctrl + S hoăc̣ Save để lưu những thay đổi của bảng Sach laị 
5.2.5. Thêm ràng buôc̣ cho bảng 
 SQL Server 2005 cho phép baṇ ràng buôc̣ giá tri ̣ trong môṭ côṭ xác điṇh để dữ 
liêụ không thích hơp̣ se ̃không đươc̣ thêm vào bảng . Kiểu dữ liêụ của cột cũng được 
phép ràng buộc giá trị trong cột, nhưng nó không đươc̣ xem là ràng buôc̣. 
 SQL Server 2005 hỗ trơ ̣5 kiểu ràng buôc̣: 
NOT NULL: Khi ràng buôc̣ này đươc̣ chỉ ra , côṭ bắt buôc̣ phải có giá tri ̣ khi ta 
thêm dữ liêụ vào bảng 
CHECK: Ràng buộc này chỉ ra miền giá trị được phép . 
UNIQUE: Ràng buộc này chỉ ra rằng giá trị nhập vào cột này phải là duy nhất 
PRIMARY KEY: Ràng buộc này chỉ ra giá trị trên cột này không được phép trùng 
lăp̣ 
FOREIGN KEY: Ràng buộc này tham chiếu đến một nhận dạng duy nhất trong 
môṭ bảng khác của cơ sở dữ liêụ. 
5.2.6. Thêm dữ liêụ vào bảng 
 Sau khi taọ xong bảng , ta có thể thêm dữ liêụ vào bảng ngay bằng công cụ 
MicroSoft SQL Server Manager Studio. Các bước thực hiện như sau: 
 130
Bước 1. Mở nút Databases->Tables trong cơ sở dữ liêụ hiêṇ hành 
Bước 2. Nhấn phải chuôṭ lên nút Tables, chọn Open Table 
Bước 3. Nhâp̣ dữ liêụ cho các côṭ 
5.2.7. Tạo views 
 View là môṭ daṇg bảng nhưng chỉ dùng để nhâṇ dữ liêụ. Nó không cập nhật dữ 
liêụ. Sử duṇg view cho phép baṇ: 
- Liên kết dữ liêụ để người dùng có thể làm việc dễ dàng 
- Gôp̣ dữ liêụ để người dùng có thể làm việc dễ dàng 
- Giấu tên côṭ đối với người dùng , giới haṇ lươṇg côṭ và dòng mà người dùng se ̃
làm việc 
- Dê ̃dàng bảo mâṭ dữ liêụ 
 Để taọ view, ta thưc̣ hiêṇ các bước sau: 
Bước 1. Mở cửa sổ MicroSoft SQL Server Manager Studio đa ̃đươc̣ kết nối đến cơ 
sở dữ liêụ 
 131 
nhấn phải chuôṭ vào nút View và chọn New View, hôp̣ thoaị Add table xuất hiêṇ 
Bước 2. Chọn bảng muốn tạo View trong danh sách , rồi nhấn nút Add (Ta choṇ 
bảng Sach và bảng Muontra) 
Bước 3. Trong cửa sổ View nếu chưa xuất hiêṇ liên kết giữa các bảng thì kéo các 
côṭ là khóa chính và thả vào cột cùng tên đóng vai trò là khóa ngoại trong bảng khác 
để tạo liên kết. 
 132
Bước 3. Thiết lâp̣ các lưạ choṇ để thành lâp̣ câu lêṇh SQL cho view , để xem thử kết 
quả dữ liêụ trả về nhấn nút Execute. 
Bước 4. Nhấn nút Save để lưu View 
5.2.8. Thủ tục lưu trữ (Stored Procedure) 
5.2.8.1. Tạo và thi hành một thủ tục lưu trữ 
 Các phát biểu SQL cũng là những thủ tục lưu trữ. SQL cũng là một ngôn ngữ lập 
trình, nó không chỉ bao gồm các phát biểu hướng dữ liệu (như Select) mà còn bao 
gồm các phát biểu điều kiện như If .. then, vòng lặp, khai báo thủ tục, trả về dữ 
liệu,Như vậy, chúng ta hoàn toàn có thể viết các thủ tục bằng SQL và lưu chúng 
vào server CSDL. 
 Các thủ tục lưu trữ có thể có tham số hoặc không có tham số. Nó có thể trả về giá 
trị hoặc không trả về giá trị thông qua tham số đầu ra, thậm chí nó có thể trả về toàn 
bộ nội dung bảng ảo (giống như view) 
 133 
 SQL Server phân tích cú pháp thủ tục lưu trữ và lưu nó ở dạng tối ưu. Thủ tục 
lưu trữ được tạo bằng phát biểu: 
 Create procedure Tên_thủ_tục danh_sách_tham_số As Phát_biểu_SQL 
Ví dụ: Create procedure GetEmployee @EmployID int 
 As Select * from HumanResource.Employee where 
EmployeeID=@EmployeeID 
 Kết quả của phát biểu trên là một thủ tục có tên là GetEmployee được lưu trong 
thư mục Programmability\Stored Procedure của CSDL, thủ tục này nhận tham số là 
EmployeeID (mã nhân viên) và trả về bảng dữ liệu thông qua câu lệnh Select * 
from HumanResource.Employee where EmployeeID=@EmployeeID 
 Để thi hành một thủ tục lưu trữ ta gọi thủ tục như sau: 
 Execute dbo.Tên_thủ_tục Danh_sách_tham_số 
 Ví dụ: Execute bdo.GetEmployee 12 
5.2.8.2. Thủ tục lưu trữ của hệ thống 
 Ngoài những thủ tục lưu trữ do người dùng tạo ra, còn có những thủ tục lưu trữ 
thực hiện những tác vụ chung, được tối ưu bởi nhà sản xuất. Đó chính là thủ tục lưu 
trữ của hệ thống dùng để thực hiện các hoạt động như: 
 - Liệt kê tất cả người dùng đăng nhập vào server 
 - Liệt kê tất cả các bảng, view và các đối tượng khác trong CSDL 
 - Thêm các đối tượng như Operator hoặc Subcriber vào server 
 - Cấu hình server 
 - Xóa các tác vụ tự động hóa (Job) không cần dùng nữa 
 - Gửi email trực tiếp từ CSDL 
 - Quản lý bảo mật cho các đối tượng 
 Các thủ tục lưu trữ của hệ thống được lưu trữ trong thư mục 
Programmability\Stored Procedure\System Stored Procedures 
5.2.9. Trigger và thông báo sự kiện 
 Trigger là một thủ tục lưu trữ đặc biệt. Thay vì được thực thi bởi người dùng, 
trigger được thi thi bởi Server khi một hoạt động xác định được thực hiện trên bảng 
dữ liệu như: 
 134
 Insert Trigger được thực thi bất cứ khi nào một bản ghi mới được thêm vào bảng 
 Delete Trigger được thực thi bất cứ khi nào một bản ghi bị xóa khỏi bảng 
 Update Trigger được thực thi bất cứ khi nào một bản ghi tồn tại trong bảng bị 
thay đổi 
 SQL Server 2005 ngoài các Trigger trên còn có các Trigger theo dõi sự thay đổi 
lược đồ CSDL và các hoạt động khác như: Tạo bảng, xóa bảng, xóa cột (Create, 
Alter, Drop) 
 Trigger hữu dụng khi bạn muốn CSDL tự động phản ứng với các tác động của 
người dùng, ngoài ra nó còn được sử dụng như một ràng buộc về dữ liệu để hạn chế 
thông tin thêm vào bảng. 
Thông báo sự kiện (Notification) tương tự như Trigger nhưng nó không thực hiện 
lệnh mà ghi vào dịch vụ SQL Server Service Broker (SSB) sự kiện được phát sinh 
và được đặt trên hàng đợi, thông báo sẽ được đọc và được xử lý bởi các chương 
trình ứng dụng khác. 
5.2.10. Giao dịch (Transaction) 
 Giao dịch là một đơn vị, bao gồm một dãy các tác vụ thực hiện thay đổi trên dữ 
liệu. Mỗi giao dịch phải hoặc được thực hiện hoàn toàn hoặc bị hủy hoàn toàn. Các 
giao dịch được hỗ trợ thông qua cơ chế gọi là xác nhận thay đổi (commit) hoặc khôi 
phục (rollback). Trước hết, ta cho server biết điểm bắt đầu giao dịch, sau đó thực 
hiện các hoạt động của giao dịch. Nếu xảy ra lỗi trong bất kỳ hoạt động nào thì 
server sẽ khôi phục lại toàn bộ giao dịch. Nếu toàn bộ hoạt động được thực hiện 
thành công, ta thông báo cho server thực hiện xác nhận giao dịch. Server sau đó sẽ 
lưu toàn bộ những thay đổi được thực hiện bởi từng hoạt động riêng biệt. 
2.5.11. Bảo mật và quyền sở hữu 
 SQL Server cung cấp mô hình bảo mật cho phép ta bảo vệ giữ liệu của mình. Mô 
hình bảo mật phụ thuộc vào tương tác giữa các thực thể: 
 - Logins (đăng nhập) 
 - Users (người dùng) 
 - Rolers (nhóm người dùng) 
 - Owners (chủ sở hữu) 
 135 
 - Permisions (quyền) 
 Logins là những tài khoản mà thông qua đó người dùng đăng nhập vào SQL 
Server. SQL Server cung cấp hai cách để xác thực người dùng. Phương thức cũ là 
thông qua tên người dùng và mật khẩu được lưu trong server CSDL. Cách thứ hai là 
sử dụng tài khoản đăng nhập vào windows làm tài khoản đăng nhập vào SQL 
Server. 
 User là tài khoản để đăng nhập vào từng CSDL xác định 
 Rolers cho phép ta tập hợp các người dùng thành nhóm để dễ quản lý. SQL 
Server cũng cung cấp một số nhóm được xây dựng sẵn cho tác vụ quản trị 
 Mỗi đối tượng trong CSDL như (Table, view, Stored procedure,) có một chủ 
sở hữu (Owner). Sở hữu mặc định của đối tượng là người tạo ra đối tượng và chỉ có 
một người dùng có thể sử dụng chúng. Các chủ sở hữu có thể cấp quyền 
(permision) cho ngơ]ì dùng khác. Quyền trên đối tượng kiểm soát người dùng có 
thể làm được những gì trên đối tượng đó. 
 Để tham chiếu đến đối tượng ta sử dụng cú pháp: 
 Server.database.owner.object 
 Ví dụ: MK.AdventureWorks.bdo.HumanResources.Employee 

File đính kèm:

  • pdfgiao_trinh_lap_trinh_co_so_du_lieu_phan_1.pdf