Professional Documents
Culture Documents
❖ Cơ sở dữ liệu (CSDL): là một phương tiện lưu trữ thông tin theo
cách mà thông tin có thể được truy xuất.
❖ Cơ sở dữ liệu quan hệ: Là tập hợp các quan hệ và các ràng buộc
giữa chúng, mà có liên quan đến một hệ thống thông tin
❖ Quan hệ (relation) là một bảng hai chiều:
▪ Các cột gọi là các thuộc tính (attribute)
▪ Các hàng gọi là các bản ghi (record) hay bộ (tuple)
❖ Khóa chính của quan hệ: là một hoặc một tập tối thiểu các thuộc
tính cho phép xác định duy nhất một bản ghi trong quan hệ
❖ Khóa ngoại: Một thuộc tính của quan hệ R1 được gọi là một khoá
ngoại nếu nó không phải là khoá chính của quan hệ R1 nhưng
các giá trị của nó là các giá trị của khoá chính trong một quan hệ
R2 nào đó
❖ Hệ quản trị cơ sở dữ liệu (DBMS -Database Management
System): là một hệ thống phần mềm cho phép tạo lập CSDL và
điều khiển mọi truy nhập đối với CSDL đó
Student * Mark *
studentID studentID
first_name subjectID
last_name semesterCode
gender mark
DoB
classID
Subject *
subjectID
subjectName
Class *
classID credits
className
classSize
Note
❖Các lệnh SQL được chia thành nhiều loại, hai loại
chính là:
▪ DML (Data Manipulation Language)
▪ DDL (Data Definition Language)
❖Các lệnh DML phổ biến:
▪ SELECT
▪ INSERT
▪ DELETE
▪ UPDATE
❖Các lệnh DDL phổ biến:
▪ CREATE TABLE
▪ DROP TABLE
▪ ALTER TABLE
❖ INSERT
❖UPDATE
❖DELETE
❖ SELECT
Các lớp và giao diện JDBC cho phép các chương trình
Java kết nối với cơ sở dữ liệu, gửi câu lệnh SQL và xử
lý kết quả
5/17/2023 Lập trình nâng cao 13
03 Các bước làm việc
với CSDL
https://www3.ntu.edu.sg/home/ehchua/programming/java/JDBC_Basic.html
❖ Cần được thực hiện trước khi giao tiếp với CSDL
❖ Các giải pháp đăng ký JDBC driver:
▪ Sử dụng Class.forName (String drivername)
▪ Sử dụng thuộc tính hệ thống System.setProperty
❖ Ví dụ
Class.forName("oracle.jdbc.driver.OracleDriver");
Class.forName("com.mysql.jdbc.Driver");
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver”);
hoặc:
System.setProperty(“com.mysql.jdbc.Driver”);
Lưu ý: Để sử dụng các driver, phải thêm các tệp jar của
chúng trong classpath
❖ URLs:
▪ <protocol>: <subprotocol>: <subname>
• Protocol: Giao thức được sử dụng để truy CSDL
• Subprotocol: Xác định driver cho CSDL
• Subname: Tên của tài nguyên
statement.executeUpdate(sqlString);
5/17/2023 Lập trình nâng cao 21
Bước 4: Thực thi câu lệnh
statement.executeUpdate(sqlString);
ResultSet rs = statement.executeQuery(sqlString);
❖ResultSet chứa các kết quả truy vấn CSDL được trả về
❖Cho phép chương trình duyệt qua từng hàng và đọc tất cả
các cột dữ liệu
❖ResultSet cung cấp các phương thức truy cập khác nhau
lấy chỉ mục (index) cột hoặc tên cột và trả về dữ liệu
❖Khi phương thức executeQuery trả về ResultSet, Cursor
(con trỏ) được đặt trước hàng đầu tiên của dữ liệu.
▪ Cursor trỏ đến tập hợp các hàng được trả về bởi lệnh truy vấn
▪ Sử dụng phương thức next() để di chuyển con trỏ
• Trả về true: Nếu hàng tiếp theo có dữ liệu
• Trả về false: Nếu hàng tiếp theo không có dữ liệu, và khi đó con
trỏ di chuyển ra ngoài phần cuối của ResultSet
❖Cột đầu tiên có chỉ mục là 1
Kết quả
▪ Ba dấu ? là chỗ dành sẵn cho các tham số đại diện cho các
giá trị của subjectID, subjectName, credits được chèn vào
bảng Student