Bài giảng Nhập môn công nghệ phần mềm - Trần Ngọc Bảo - Architecture & Framework

Kiến trúc của 1 application

Lập trình CSDL với Visual Basic & ADODB

Mô hình 3 lớp

pdf83 trang | Chuyên mục: Công Nghệ Phần Mềm | Chia sẻ: dkS00TYs | Lượt xem: 1340 | Lượt tải: 0download
Tóm tắt nội dung Bài giảng Nhập môn công nghệ phần mềm - Trần Ngọc Bảo - Architecture & Framework, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
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)

File đính kèm:

  • pdfBài giảng Nhập môn công nghệ phần mềm - Trần Ngọc Bảo - Architecture & Framework.pdf
Tài liệu liên quan