Bài giảng Phát triển ứng dụng web: Chương 7 - Lê Đình Thanh
Số trang: 41
Loại file: pdf
Dung lượng: 990.40 KB
Lượt xem: 49
Lượt tải: 0
Xem trước 5 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng Phát triển ứng dụng web: Chương 7 Thao tác cơ sở dữ liệu, cung cấp cho người đọc những kiến thức như: Tổng quan; Mô hình ba tầng; PDO; Truy vấn theo dữ liệu người dùng; Truy cập đồng thời đến CSDL; ORM;...Mời các bạn cùng tham khảo!
Nội dung trích xuất từ tài liệu:
Bài giảng Phát triển ứng dụng web: Chương 7 - Lê Đình Thanh Bài giảng PHÁT TRIỂN ỨNG DỤNG WEB Lê Đình Thanh Khoa Công nghệ Thông tin Trường Đại học Công nghệ, ĐHQGHN E-mail: thanhld@vnu.edu.vn Mobile: 0987.257.504 1 Chương 7 Thao tác CSDL 2 Lê Đình Thanh, Bài giảng Phát triển ứng dụng web. Nội dung • Tổng quan • Mô hình ba tầng • PDO • Truy vấn theo dữ liệu người dùng • Truy cập đồng thời đến CSDL • ORM Lê Đình Thanh, Bài giảng Phát triển ứng dụng web. Tổng quan • Các bước chính 1. Kết nối đến máy chủ CSDL và lựa chọn CSDL để làm việc 2. Xây dựng các truy vấn, cập nhật và thực hiện truy vấn, cập nhật 3. Xử lý dữ liệu kết quả trả về khi thực hiện các truy vấn, cập nhật 4. Đóng kết nối đến máy chủ cơ sở dữ liệu • Hệ quản trị CSDL o MySQL, PostgreSQL, Oracle, MS SQL, MongoDB … • Thư viện thao tác CSDL o PDO o ORM Lê Đình Thanh, Bài giảng Phát triển ứng dụng web. Mô hình ba tầng • Tầng khách: trình diễn và tương tác với người dùng • Tầng giữa: thực hiện các logic của ứng dụng • Tầng CSDL: bao gồm hệ quản trị CSDL, CSDL của ứng dụng Lê Đình Thanh, Bài giảng Phát triển ứng dụng web. Tầng CSDL • CSDL cho ứng dụng • Hệ quản trị CSDL quản lý CSDL của ứng dụng Nhận truy vấn từ các chương trình dịch tầng giữa, thao tác CSDL và trả kết quả cho chương trình yêu cầu Lê Đình Thanh, Bài giảng Phát triển ứng dụng web. Sử dụng PDO - từ PHP 5 trở đi - hướng đối tượng - sử dụng với mọi hệ QTCSDL - nên dùng nếu viết mã mới (Quá khứ: mysql, mysqli) Lê Đình Thanh, Bài giảng Phát triển ứng dụng web. PHP Data Objects • PDO cung cấp một giao diện chuẩn hóa, nhất quán để thao tác với CSDL sử dụng PHP Dễ chuyển đổi CSDL Viết mã hiệu quả và an toàn Lê Đình Thanh, Bài giảng Phát triển ứng dụng web. Nguyên lý hoạt động PDO sql dbms Database sql PDO DBMS PDO result Driver dbms result database Cần cài driver cho hệ QTCSDL được sử dụng Lê Đình Thanh, Bài giảng Phát triển ứng dụng web. Cài đặt và cấu hình • PDO • Cài đặt php5-mysql, • Cấu hình extension=pdo.so trong php.ini • Trình điều khiển cho MySQL • Cài đặt pdo-mysql • Cấu hình extension=pdo_mysql.so trong php.ini Lê Đình Thanh, Bài giảng Phát triển ứng dụng web. Kết nối và đóng kết nối CSDL • $db = new PDO($dsn, $username, $password, [$options]); • Tên nguồn dữ liệu (dsn - database source name) khác nhau với các hệ QTCSDL MySQL: “mysql:host=...; dbname=...;” PostgressSQL: “pgsql:host=...; dbname=...;” MS SQL: “sqlsrv:Server=...;Database=...” … • Đóng kết nối $db = null; Lê Đình Thanh, Bài giảng Phát triển ứng dụng web. Xử lý ngoại lệ try { //Sử dụng PDO } catch(PDOException $ex) { echo 'Error”.$ex->getMessage(); } Lê Đình Thanh, Bài giảng Phát triển ứng dụng web. Kết nối và đóng kết nối CSDL try { //Mở kết nối cơ sở dữ liệu $dsn = “mysql:host=112.137.129.123; dbname=thuvien;”; $db = new PDO($dsn, ”canbo”,”canbo@123”); //Các thao tác cơ sở dữ liệu: truy vấn, cập nhật // //Đóng kết nối cơ sở dữ liệu $db = null; } catch (PDOException $e) { echo 'Lỗi”.$e->getMessage(); } Lê Đình Thanh, Bài giảng Phát triển ứng dụng web. Cập nhật CSDL • Thực thi insert, update, delete $rows = $db->exec('UPDATE ...'); • Lấy id (tự tăng) của bản ghi vừa được thêm $db->lastInsertId(); Lê Đình Thanh, Bài giảng Phát triển ứng dụng web. Cập nhật CSDL try { //Cập nhật cơ sở dữ liệu $r = $db->exec(“update Sach set tieude=’Lập trình C++’ where id=’1’”); echo “$r bản ghi đã được cập nhật.”; } catch (PDOException $e) { echo 'Lỗi”.$e->getMessage(); } Lê Đình Thanh, Bài giảng Phát triển ứng dụng web. Cập nhật CSDL (tiếp) • Thực thi insert, update, delete với lệnh chuẩn bị trước $stmt = $db->prepare('DELETE FROM User WHERE id=:id and name LIKE ?'); $stmt->bindValue(':id', 123); $stmt->bindValue(2, 'Johnny'); $stmt->execute(); $affected_rows = $stmt->rowCount(); Lê Đình Thanh, Bài giảng Phát triển ứng dụng web. Cập nhật CSDL (tiếp) try { //Chuẩn bị câu lệnh cập nhật $stmt= $db->prepare(“update Sach set tieude = ? where id = :id”); //Buộc các tham số $stmt->bindValue(1, ’Lập trình C++’); $stmt->bindValue(“:id”, 1); //Thực thi $stmt->execute(); } catch (PDOException $e) { echo 'Lỗi”.$e->getMessage(); } Lê Đình Thanh, Bài giảng Phát triển ứng dụng web. Truy vấn CSDL • Thực hiện truy vấn $stmt = $db->query('SELECT * FROM ...'); Duyệt các bản ghi while ($r ...
Nội dung trích xuất từ tài liệu:
Bài giảng Phát triển ứng dụng web: Chương 7 - Lê Đình Thanh Bài giảng PHÁT TRIỂN ỨNG DỤNG WEB Lê Đình Thanh Khoa Công nghệ Thông tin Trường Đại học Công nghệ, ĐHQGHN E-mail: thanhld@vnu.edu.vn Mobile: 0987.257.504 1 Chương 7 Thao tác CSDL 2 Lê Đình Thanh, Bài giảng Phát triển ứng dụng web. Nội dung • Tổng quan • Mô hình ba tầng • PDO • Truy vấn theo dữ liệu người dùng • Truy cập đồng thời đến CSDL • ORM Lê Đình Thanh, Bài giảng Phát triển ứng dụng web. Tổng quan • Các bước chính 1. Kết nối đến máy chủ CSDL và lựa chọn CSDL để làm việc 2. Xây dựng các truy vấn, cập nhật và thực hiện truy vấn, cập nhật 3. Xử lý dữ liệu kết quả trả về khi thực hiện các truy vấn, cập nhật 4. Đóng kết nối đến máy chủ cơ sở dữ liệu • Hệ quản trị CSDL o MySQL, PostgreSQL, Oracle, MS SQL, MongoDB … • Thư viện thao tác CSDL o PDO o ORM Lê Đình Thanh, Bài giảng Phát triển ứng dụng web. Mô hình ba tầng • Tầng khách: trình diễn và tương tác với người dùng • Tầng giữa: thực hiện các logic của ứng dụng • Tầng CSDL: bao gồm hệ quản trị CSDL, CSDL của ứng dụng Lê Đình Thanh, Bài giảng Phát triển ứng dụng web. Tầng CSDL • CSDL cho ứng dụng • Hệ quản trị CSDL quản lý CSDL của ứng dụng Nhận truy vấn từ các chương trình dịch tầng giữa, thao tác CSDL và trả kết quả cho chương trình yêu cầu Lê Đình Thanh, Bài giảng Phát triển ứng dụng web. Sử dụng PDO - từ PHP 5 trở đi - hướng đối tượng - sử dụng với mọi hệ QTCSDL - nên dùng nếu viết mã mới (Quá khứ: mysql, mysqli) Lê Đình Thanh, Bài giảng Phát triển ứng dụng web. PHP Data Objects • PDO cung cấp một giao diện chuẩn hóa, nhất quán để thao tác với CSDL sử dụng PHP Dễ chuyển đổi CSDL Viết mã hiệu quả và an toàn Lê Đình Thanh, Bài giảng Phát triển ứng dụng web. Nguyên lý hoạt động PDO sql dbms Database sql PDO DBMS PDO result Driver dbms result database Cần cài driver cho hệ QTCSDL được sử dụng Lê Đình Thanh, Bài giảng Phát triển ứng dụng web. Cài đặt và cấu hình • PDO • Cài đặt php5-mysql, • Cấu hình extension=pdo.so trong php.ini • Trình điều khiển cho MySQL • Cài đặt pdo-mysql • Cấu hình extension=pdo_mysql.so trong php.ini Lê Đình Thanh, Bài giảng Phát triển ứng dụng web. Kết nối và đóng kết nối CSDL • $db = new PDO($dsn, $username, $password, [$options]); • Tên nguồn dữ liệu (dsn - database source name) khác nhau với các hệ QTCSDL MySQL: “mysql:host=...; dbname=...;” PostgressSQL: “pgsql:host=...; dbname=...;” MS SQL: “sqlsrv:Server=...;Database=...” … • Đóng kết nối $db = null; Lê Đình Thanh, Bài giảng Phát triển ứng dụng web. Xử lý ngoại lệ try { //Sử dụng PDO } catch(PDOException $ex) { echo 'Error”.$ex->getMessage(); } Lê Đình Thanh, Bài giảng Phát triển ứng dụng web. Kết nối và đóng kết nối CSDL try { //Mở kết nối cơ sở dữ liệu $dsn = “mysql:host=112.137.129.123; dbname=thuvien;”; $db = new PDO($dsn, ”canbo”,”canbo@123”); //Các thao tác cơ sở dữ liệu: truy vấn, cập nhật // //Đóng kết nối cơ sở dữ liệu $db = null; } catch (PDOException $e) { echo 'Lỗi”.$e->getMessage(); } Lê Đình Thanh, Bài giảng Phát triển ứng dụng web. Cập nhật CSDL • Thực thi insert, update, delete $rows = $db->exec('UPDATE ...'); • Lấy id (tự tăng) của bản ghi vừa được thêm $db->lastInsertId(); Lê Đình Thanh, Bài giảng Phát triển ứng dụng web. Cập nhật CSDL try { //Cập nhật cơ sở dữ liệu $r = $db->exec(“update Sach set tieude=’Lập trình C++’ where id=’1’”); echo “$r bản ghi đã được cập nhật.”; } catch (PDOException $e) { echo 'Lỗi”.$e->getMessage(); } Lê Đình Thanh, Bài giảng Phát triển ứng dụng web. Cập nhật CSDL (tiếp) • Thực thi insert, update, delete với lệnh chuẩn bị trước $stmt = $db->prepare('DELETE FROM User WHERE id=:id and name LIKE ?'); $stmt->bindValue(':id', 123); $stmt->bindValue(2, 'Johnny'); $stmt->execute(); $affected_rows = $stmt->rowCount(); Lê Đình Thanh, Bài giảng Phát triển ứng dụng web. Cập nhật CSDL (tiếp) try { //Chuẩn bị câu lệnh cập nhật $stmt= $db->prepare(“update Sach set tieude = ? where id = :id”); //Buộc các tham số $stmt->bindValue(1, ’Lập trình C++’); $stmt->bindValue(“:id”, 1); //Thực thi $stmt->execute(); } catch (PDOException $e) { echo 'Lỗi”.$e->getMessage(); } Lê Đình Thanh, Bài giảng Phát triển ứng dụng web. Truy vấn CSDL • Thực hiện truy vấn $stmt = $db->query('SELECT * FROM ...'); Duyệt các bản ghi while ($r ...
Tìm kiếm theo từ khóa liên quan:
Bài giảng Phát triển ứng dụng web Phát triển ứng dụng web Thao tác cơ sở dữ liệu Truy vấn theo dữ liệu người dùng Mô hình ba tầng Quản trị cơ sở dữ liệuTài liệu có liên quan:
-
Đề cương chi tiết học phần Quản trị cơ sở dữ liệu (Database Management Systems - DBMS)
14 trang 254 0 0 -
Tiểu Luận Chương Trình Quản Lí Học Phí Trường THPT
18 trang 102 0 0 -
Giáo trình: Hệ quản trị cơ sở dữ liệu - Nguyễn Trần Quốc Vinh
217 trang 89 0 0 -
Giáo trình Phát triển ứng dụng web: Phần 2 - Lê Đình Thanh, Nguyễn Việt Anh
126 trang 86 0 0 -
Phát triển thuật toán sinh code cho ứng dụng web chuẩn đoán bệnh thủy sản với ATL
10 trang 83 0 0 -
8 trang 72 0 0
-
Bài giảng Phát triển ứng dụng web 1: HTML From - ĐH Sài Gòn
34 trang 68 0 0 -
183 trang 56 0 0
-
Đề thi Thực hành Cơ sở dữ liệu - Đề số 10
1 trang 53 1 0 -
22 trang 50 0 0