Biết được kiến trúc một ứngdụng
ế ậ ì ử
G NGHỆ P G NGHỆ P
TATION TATION
•Biết được lập trình CSDL sửdụng
Visual Basic và ADODB
MÔN CÔN
EMENT EMENT
Visual Basic và ADODB
•Biếtđược cách tổchứcmôhình3lớp
83 trang |
Chia sẻ: Mr Hưng | Lượt xem: 816 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Nhập môn công nghệ phần mềm - Architecture và Framework, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
hình Tra cứu GV Màn hình In DSGV
M
Ô
N
C
Ô
N
M
Ô
N
C
Ô
N
E
M
E
N
T
E
M
E
N
T
Giao diện Giao diện
Giao diện
N
G
N
H
Ậ
P
N
G
N
H
Ậ
P
I
M
P
L
E
I
M
P
L
E
Xử lý Xử lý Xử lý
Truy xuất dữ liệu (Select/Insert/Delete/Update)
B
À
I
G
I
Ả
B
À
I
G
I
Ả
TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (62)
CSDL
SQL Server Object – Stored Procedure
P
H
Ầ
N
M
Ề
M
P
H
Ầ
N
M
Ề
M Khái niệm
Stored Procedure là các thủ tục được xây dựng để thực hiện các xử lý liên quan
đến việc dữ liệu
G
N
G
H
Ệ
P
G
N
G
H
Ệ
P
T
A
T
I
O
N
T
A
T
I
O
N
.
Stored Procedure được lưu trữ và thi hành ngay trong Server khi có yêu cầu.
Các thao tác liên quan đến Stored Procedure
M
Ô
N
C
Ô
N
M
Ô
N
C
Ô
N
E
M
E
N
T
E
M
E
N
T
Tạo Stored Procedure
Mở DB cần tạo table bằng cách click vào dấu + bên trái tên của
DB để hiển thị các mục con trong DB. Ví dụ: Diagrams, Tables,
N
G
N
H
Ậ
P
N
G
N
H
Ậ
P
I
M
P
L
E
I
M
P
L
E
Views, Stored procedure,
Click phải chuột vào mục Stored procedures
Chọn chức năng New Stored procedure trong menu sổ
B
À
I
G
I
Ả
B
À
I
G
I
Ả xuống, xuất hiện dialog soạn thảo nội dung của stored
TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (63)
SQL Server Object – Stored Procedure
P
H
Ầ
N
M
Ề
M
P
H
Ầ
N
M
Ề
M
G
N
G
H
Ệ
P
G
N
G
H
Ệ
P
T
A
T
I
O
N
T
A
T
I
O
N
M
Ô
N
C
Ô
N
M
Ô
N
C
Ô
N
E
M
E
N
T
E
M
E
N
T
N
G
N
H
Ậ
P
N
G
N
H
Ậ
P
I
M
P
L
E
I
M
P
L
E
B
À
I
G
I
Ả
B
À
I
G
I
Ả
TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (64)
SQL Server Object – Stored Procedure
T St d P d
P
H
Ầ
N
M
Ề
M
P
H
Ầ
N
M
Ề
M
ạo ore roce ure
Đặt tên Stored trong [PROCEDURE NAME]
Viết nội dung stored
Sau khi viết xong nội dung xử lý trong stored
Nhấn Check Syntax: để kiểm tra cú pháp của các câu lệnh trong stored
G
N
G
H
Ệ
P
G
N
G
H
Ệ
P
T
A
T
I
O
N
T
A
T
I
O
N
Nhấn OK: Lưu stored
Nhấn Cancel: hủy bỏ thao tác tạo
Sửa Stored Procedure
Click vào mục Stored procedures để hiển thị danh sách Stored procedure tương ứng
M
Ô
N
C
Ô
N
M
Ô
N
C
Ô
N
E
M
E
N
T
E
M
E
N
T (bên phải)
Chọn Stored procedure trong danh sách Stored procedures
Click phải chuột vào mục Stored procedure cần sửa, vd: MyStoredPro
Chọn mục Properties trong menu context
Xuất hiện màn hình tương tự như màn hình Stored procedure
N
G
N
H
Ậ
P
N
G
N
H
Ậ
P
I
M
P
L
E
I
M
P
L
E
Thực hiện các thao tác tương tự như phần tạo
Xóa Stored Procedure
Click vào mục Stored procedures để hiển thị danh sách Stored procedure tương ứng
(bên phải)
Ch St d d t d h á h St d d
B
À
I
G
I
Ả
B
À
I
G
I
Ả
ọn ore proce ure rong an s c ore proce ure
Click phải chuột vào mục Stored procedure cần xóa, vd: MyStoredPro
Chọn mục Delete trong menu context
TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (65)
SQL Server Object – Stored Procedure
CREATE PROCEDURE StoredName
P
H
Ầ
N
M
Ề
M
P
H
Ầ
N
M
Ề
M
@Parameter1 DataType [=DefaultValue,]
@Parameter2 DataType OUTPUT,
@P t 3 D t T OUTPUT
G
N
G
H
Ệ
P
G
N
G
H
Ệ
P
T
A
T
I
O
N
T
A
T
I
O
N
arame er a a ype
AS
BEGIN
BEGIN TRANSACTION
M
Ô
N
C
Ô
N
M
Ô
N
C
Ô
N
E
M
E
N
T
E
M
E
N
T
{T-SQL Statement1}
If @Error 0
Goto Err_Handle
N
G
N
H
Ậ
P
N
G
N
H
Ậ
P
I
M
P
L
E
I
M
P
L
E
{T-SQL Statement2}
If @Error 0
Goto Err_Handle
COMMIT TRANSACTION
B
À
I
G
I
Ả
B
À
I
G
I
Ả
Return(0)
Err_Handle:
ROLLBACK TRANSACTION
TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (66)
Return(@Error)
END
SQL Server Object – Stored Procedure
Cấu trúc của một Stored Procedure bao gồm các phần chính sau đây
P
H
Ầ
N
M
Ề
M
P
H
Ầ
N
M
Ề
M
Phần Tên
Cú pháp
CREATE PROCEDURE StoredName
Ý nghĩa
Định nghĩa thủ tục nội với tên là StoredName
G
N
G
H
Ệ
P
G
N
G
H
Ệ
P
T
A
T
I
O
N
T
A
T
I
O
N
Ví dụ
CREATE PROCEDURE DemNhanVien
AS
SELECT Count(*)
FROM NhanVien
M
Ô
N
C
Ô
N
M
Ô
N
C
Ô
N
E
M
E
N
T
E
M
E
N
T
Phần tham số
Tương tự như bất kỳ một thủ tục nào trong một ngôn ngữ lập trình, phần tham số của một Stored
được khai báo ngay sau phần tên của nó.
Tham số nhập
N
G
N
H
Ậ
P
N
G
N
H
Ậ
P
I
M
P
L
E
I
M
P
L
E
Cú pháp:
@Parameter1 DataType [=DefaultValue]
@Parameter1: Tên của biến số
DataType: Kiểu dữ liệu của biến
DefaultValue: Giá trị mặc định của biến
B
À
I
G
I
Ả
B
À
I
G
I
Ả
TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (67)
SQL Server Object – Stored Procedure
CREATE PROCEDURE TruyenThamSo
P
H
Ầ
N
M
Ề
M
P
H
Ầ
N
M
Ề
M
@param0 int=NULL, -- Giá trị mặc định là NULL
@param1 int=1, -- Giá trị mặc định là 1
@param2 int=2 -- Giá trị mặc định là 2
AS
SELECT @ 0 @ 1 @ 2
G
N
G
H
Ệ
P
G
N
G
H
Ệ
P
T
A
T
I
O
N
T
A
T
I
O
N
param , param , param
Với câu lệnh thực thi thủ tục TruyenThamSo
EXEC TruyenThamSo
Kết quả
(Null) 1 2
M
Ô
N
C
Ô
N
M
Ô
N
C
Ô
N
E
M
E
N
T
E
M
E
N
T EXEC TruyenThamSo 10,20,30
Kết quả
10 20 30
EXEC TruyenThamSo @param2=200, @param1=NULL
Kết quả
N
G
N
H
Ậ
P
N
G
N
H
Ậ
P
I
M
P
L
E
I
M
P
L
E
Null Null 200
EXEC TruyenThamSo 0, DEFAULT, 20
Kết quả
0 1 200
B
À
I
G
I
Ả
B
À
I
G
I
Ả
TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (68)
SQL Server Object – Stored Procedure
ố ấ
P
H
Ầ
N
M
Ề
M
P
H
Ầ
N
M
Ề
M Tham s xu t
Cú pháp:
@Parameter1 DataType OUTPUT
@Parameter1: Tên của biến số
DataType: Kiểu dữ liệu của biến
G
N
G
H
Ệ
P
G
N
G
H
Ệ
P
T
A
T
I
O
N
T
A
T
I
O
N
DefaultValue: Giá trị mặc định của biến
Ví dụ:
--Khai báo thủ tục
CREATE PROCEDURE count_tables @authorcount int OUTPUT,
M
Ô
N
C
Ô
N
M
Ô
N
C
Ô
N
E
M
E
N
T
E
M
E
N
T @titlecount int OUTPUT
AS
SELECT * FROM authors
SET @authorcount=@@ROWCOUNT
SELECT * FROM titles
N
G
N
H
Ậ
P
N
G
N
H
Ậ
P
I
M
P
L
E
I
M
P
L
E
SET @titlecount=@@ROWCOUNT
RETURN(0)
--Thực thi thủ tục
DECLARE @a_count int, @t_count int
EXEC t t bl @ t OUTPUT @t t OUTPUT
B
À
I
G
I
Ả
B
À
I
G
I
Ả
coun _ a es a_coun , _coun
TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (69)
KHAI BÁO BIẾN
P
H
Ầ
N
M
Ề
M
P
H
Ầ
N
M
Ề
M
G
N
G
H
Ệ
P
G
N
G
H
Ệ
P
T
A
T
I
O
N
T
A
T
I
O
N
M
Ô
N
C
Ô
N
M
Ô
N
C
Ô
N
E
M
E
N
T
E
M
E
N
T
N
G
N
H
Ậ
P
N
G
N
H
Ậ
P
I
M
P
L
E
I
M
P
L
E
B
À
I
G
I
Ả
B
À
I
G
I
Ả
TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (70)
Kh i bá biế
KHAI BÁO BIẾN
P
H
Ầ
N
M
Ề
M
P
H
Ầ
N
M
Ề
M a o n
Cú pháp
DECLARE @Name DataType
@Name: là tên của biến phải được bắt đầu với ký tự@
G
N
G
H
Ệ
P
G
N
G
H
Ệ
P
T
A
T
I
O
N
T
A
T
I
O
N
,
DataType: kiểu dữ liệu của biến, bao gồm tất cả các kiểu dữ liệu của hệ
thống trừ các kiểu sau: text, ntext, image.
Ví dụ
Kh i bá biế l t ữ ố R d t ột T bl à đó
M
Ô
N
C
Ô
N
M
Ô
N
C
Ô
N
E
M
E
N
T
E
M
E
N
T -- a o n ưu r s ecor rong m a e n o
DECLARE @nNumRecord int
--Khai báo biến lưu trữ số tổng số tiền
DECLARE @SumMoney decimal(18,2)
N
G
N
H
Ậ
P
N
G
N
H
Ậ
P
I
M
P
L
E
I
M
P
L
E
--Khai báo biến lưu trữ tên
DECLARE @sName char(30)
B
À
I
G
I
Ả
B
À
I
G
I
Ả
TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (71)
KHAI BÁO BIẾN
Cú pháp 1: Ví dụ
P
H
Ầ
N
M
Ề
M
P
H
Ầ
N
M
Ề
M
SET @Name = Value
@Name: Tên biến
Value: Giá trị cần gán cho biến
Cú pháp 2:
Cú pháp 1:
DECLARE @HoTen char(20)
SET @HoTen = ‘Nguyễn Công Phú’
Cú pháp 2:
DECLARE @HoTen char(20)
G
N
G
H
Ệ
P
G
N
G
H
Ệ
P
T
A
T
I
O
N
T
A
T
I
O
N
SELECT @Name = Value
@Name: Tên biến
Value: Giá trị cần gán cho biến
Hoặc
SELECT @Name = coloum
SELECT @HoTen = ‘Nguyễn Công Phú’
hoặc
--Tìm lương lớn nhất của tất cả các nhân viên
DECLARE @MaxSalary decimal(18,2)
M
Ô
N
C
Ô
N
M
Ô
N
C
Ô
N
E
M
E
N
T
E
M
E
N
T
FROM TableName
@Name: Tên biến
Column: Tên cột trong Table cần gán cho
biến
SELECT @MaxSalary = MAX(Salary)
FROM Employee
N
G
N
H
Ậ
P
N
G
N
H
Ậ
P
I
M
P
L
E
I
M
P
L
E
B
À
I
G
I
Ả
B
À
I
G
I
Ả
TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (72)
SQL Server Object – Local Variables
Cá biế đ ử d t ấ t ấ h là á th ố
P
H
Ầ
N
M
Ề
M
P
H
Ầ
N
M
Ề
M
c n ược s ụng rong c u ruy v n n ư c c am s .
-Cho lược đồ CSDL và dữ liệu tương ứng như sau:
HocSinh DiemThi
G
N
G
H
Ệ
P
G
N
G
H
Ệ
P
T
A
T
I
O
N
T
A
T
I
O
N
MaHS TenHS NgaySinh DiaChi MaHS HocKy NH Diem
01 Bao 10/10/1977 123 01 01 2001 10
M
Ô
N
C
Ô
N
M
Ô
N
C
Ô
N
E
M
E
N
T
E
M
E
N
T
02 Phu 11/10/1079 124 03 01 2002 8
-Ví dụ 1: Liệt kê danh sách học Ví dụ 3: Liệt kê danh sách các học sinh có
N
G
N
H
Ậ
P
N
G
N
H
Ậ
P
I
M
P
L
E
I
M
P
L
E
sinh có ngày sinh vào ngày
‘10/10/1977’
DECLARE @NgaySinh datetime
địa chỉ là ‘123’ và điểm thi lớn hơn 10
DECLARE @DiaChi varchar(50), @Diem
Decimal
B
À
I
G
I
Ả
B
À
I
G
I
Ả SET @NgaySinh=’10/10/1977’
SELECT *
FROM HocSinh
WHERE NgaySinh = @NgaySinh
SELECT @DiaChi=’123’, @Diem=10
SELECT *
FROM HocSinh JOIN DiemThi ON
HocSinh.MaHS = DiemThi.MaHS
TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (73)
WHERE DiaChi = @DiaChi AND DiemThi
>= @Diem
NỘI DUNG TRÌNH BÀY
P
H
Ầ
N
M
Ề
M
P
H
Ầ
N
M
Ề
M
• Kiến trúc của 1 application
G
N
G
H
Ệ
P
G
N
G
H
Ệ
P
T
A
T
I
O
N
T
A
T
I
O
N
• Lập trình CSDL với Visual Basic &
M
Ô
N
C
Ô
N
M
Ô
N
C
Ô
N
E
M
E
N
T
E
M
E
N
T ADODB
N
G
N
H
Ậ
P
N
G
N
H
Ậ
P
I
M
P
L
E
I
M
P
L
E
• Mô hình 3 lớp ( 3-tier)
B
À
I
G
I
Ả
B
À
I
G
I
Ả
TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (74)
Mô hình 3 tier
P
H
Ầ
N
M
Ề
M
P
H
Ầ
N
M
Ề
M
G
N
G
H
Ệ
P
G
N
G
H
Ệ
P
T
A
T
I
O
N
T
A
T
I
O
N
M
Ô
N
C
Ô
N
M
Ô
N
C
Ô
N
E
M
E
N
T
E
M
E
N
T
N
G
N
H
Ậ
P
N
G
N
H
Ậ
P
I
M
P
L
E
I
M
P
L
E
B
À
I
G
I
Ả
B
À
I
G
I
Ả
TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (75)
Mô hình 3 tier
P
H
Ầ
N
M
Ề
M
P
H
Ầ
N
M
Ề
M
G
N
G
H
Ệ
P
G
N
G
H
Ệ
P
T
A
T
I
O
N
T
A
T
I
O
N
M
Ô
N
C
Ô
N
M
Ô
N
C
Ô
N
E
M
E
N
T
E
M
E
N
T
N
G
N
H
Ậ
P
N
G
N
H
Ậ
P
I
M
P
L
E
I
M
P
L
E
B
À
I
G
I
Ả
B
À
I
G
I
Ả
TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (76)
Mô hình 3 tier
P
H
Ầ
N
M
Ề
M
P
H
Ầ
N
M
Ề
M Du lieu
G
N
G
H
Ệ
P
G
N
G
H
Ệ
P
T
A
T
I
O
N
T
A
T
I
O
N
Model Controller
Provier
M
Ô
N
C
Ô
N
M
Ô
N
C
Ô
N
E
M
E
N
T
E
M
E
N
T
M d l Controller Provider
N
G
N
H
Ậ
P
N
G
N
H
Ậ
P
I
M
P
L
E
I
M
P
L
E o e
B
À
I
G
I
Ả
B
À
I
G
I
Ả
TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (77)
D li
Mô hình 3 tier
P
H
Ầ
N
M
Ề
M
P
H
Ầ
N
M
Ề
M
u eu
Model Controller
Provier
G
N
G
H
Ệ
P
G
N
G
H
Ệ
P
T
A
T
I
O
N
T
A
T
I
O
N
M
Ô
N
C
Ô
N
M
Ô
N
C
Ô
N
E
M
E
N
T
E
M
E
N
T
Model Controller Provider
N
G
N
H
Ậ
P
N
G
N
H
Ậ
P
I
M
P
L
E
I
M
P
L
E
B
À
I
G
I
Ả
B
À
I
G
I
Ả
Port_1 Port_2 Port_3
ADO
ADO.NET ODP.NET
TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (78)
Mô hình 3 tier
P
H
Ầ
N
M
Ề
M
P
H
Ầ
N
M
Ề
M
G
N
G
H
Ệ
P
G
N
G
H
Ệ
P
T
A
T
I
O
N
T
A
T
I
O
N
M
Ô
N
C
Ô
N
M
Ô
N
C
Ô
N
E
M
E
N
T
E
M
E
N
T
N
G
N
H
Ậ
P
N
G
N
H
Ậ
P
I
M
P
L
E
I
M
P
L
E
B
À
I
G
I
Ả
B
À
I
G
I
Ả
TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (79)
Mô hình 3 tier
P
H
Ầ
N
M
Ề
M
P
H
Ầ
N
M
Ề
M
G
N
G
H
Ệ
P
G
N
G
H
Ệ
P
T
A
T
I
O
N
T
A
T
I
O
N
M
Ô
N
C
Ô
N
M
Ô
N
C
Ô
N
E
M
E
N
T
E
M
E
N
T
N
G
N
H
Ậ
P
N
G
N
H
Ậ
P
I
M
P
L
E
I
M
P
L
E
B
À
I
G
I
Ả
B
À
I
G
I
Ả
TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (80)
VSS- Quản lý và chia sẻ source code
P
H
Ầ
N
M
Ề
M
P
H
Ầ
N
M
Ề
M
G
N
G
H
Ệ
P
G
N
G
H
Ệ
P
T
A
T
I
O
N
T
A
T
I
O
N
M
Ô
N
C
Ô
N
M
Ô
N
C
Ô
N
E
M
E
N
T
E
M
E
N
T
N
G
N
H
Ậ
P
N
G
N
H
Ậ
P
I
M
P
L
E
I
M
P
L
E
B
À
I
G
I
Ả
B
À
I
G
I
Ả
TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (81)
PH
Ầ
N
M
Ề
M
P
H
Ầ
N
M
Ề
M
G
N
G
H
Ệ
P
G
N
G
H
Ệ
P
T
A
T
I
O
N
T
A
T
I
O
N
M
Ô
N
C
Ô
N
M
Ô
N
C
Ô
N
E
M
E
N
T
E
M
E
N
T
N
G
N
H
Ậ
P
N
G
N
H
Ậ
P
I
M
P
L
E
I
M
P
L
E
B
À
I
G
I
Ả
B
À
I
G
I
Ả
TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (82) 82
Hệ hố ó hiề à hì h ù ấ
Nhược điểm mô hình 1 tier
P
H
Ầ
N
M
Ề
M
P
H
Ầ
N
M
Ề
M t ng c n u m n n c ng truy xu t
đến 1 thành phần dữ liệu (vd: Table Giáo viên,
sinh viên ) Æ các đoạn code truy xuất dữ liệu
G
N
G
H
Ệ
P
G
N
G
H
Ệ
P
T
A
T
I
O
N
T
A
T
I
O
N
,
lặp lại nhiều lần, dễ xảy ra sai soát nếu có thay
đổi
M
Ô
N
C
Ô
N
M
Ô
N
C
Ô
N
E
M
E
N
T
E
M
E
N
T
Giao diện, xử lý và giao diện
N
G
N
H
Ậ
P
N
G
N
H
Ậ
P
I
M
P
L
E
I
M
P
L
E
B
À
I
G
I
Ả
B
À
I
G
I
Ả
TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (83)
Các file đính kèm theo tài liệu này:
- se_11_5954.pdf