WAY TO ENTERPRISE
Lesson 24
Cơ sở dữ liệu Database
Agenda
Copyright © VTI Academy All Rights Reserved
I. Cơ sở dữ liệu Database
II. SQL (Structured query language)
III. Ví dụ thực hành
Copyright © VTI Academy All Right Reserved
I. Cơ sở dữ liệu Database
Cơ sở dữ liệu (database) là một tập hợp của dữ liệu được tổ chức sao cho dễ dàng truy cập cũng như cập nhật. Một cơ sở dữ liệu được tổ chức thành các bảng, các bảng lưu trữ thông tin theo cấu trúc của nó.
Copyright © VTI Academy All Right Reserved
I. Cơ sở dữ liệu Database
Bảng cơ sơ sử liệu - Database table
Một bảng lưu trữ và hiển thị thông tin với cấu trúc gồm các cột và các hàng, rất giống với bảng tính excel
CSDL có nhiều bảng và mỗi bảng dc thiết kế để lưu trữ 1 thông tin nhất định.
Ví dụ: cần tạo bảng CSDL chứa tên và số điện thoại người dùng
Copyright © VTI Academy All Right Reserved
II. SQL (Structured Query Language)
• SQL là ngôn ngữ truy vấn có cấu trúc
• Ngôn ngữ SQL được dùng để tương tác với cơ sở dữ liệu, từ truy vấn lấy thông tin, đến cập nhật (thêm mới, cập nhật thông tin mới, xóa ...).
• VớiSQL bạn có thể:
Chèn, cập nhật, xóa các dòng dữ liệu Tạo ra cơ sở dữ liệu mới
Lấy thông tin CSDL ...
Copyright © VTI Academy All Right Reserved
II. Kiểu dữ liệu trong SQL
Copyright © VTI Academy All Right Reserved
II. Khóa chính
• Khóa chính (hay ràng buộc khóa chính) được sử dụng để định danh duy nhất mỗi record trong table của cơ sở dữ liệu.
• Ngoài ra, nó còn dùng để thiết lập quan hệ 1-n (hay ràng buộc tham chiếu) giữa hai table trong cơ sở dữ liệu.
• Dữ liệu (value) của field khóa chính phải có tính duy nhất. Và không chứa các giá trị Null.
• Mỗi table nên chỉ có một khóa chính, khóa chính có thể tạo ra từ nhiều field của table
Copyright © VTI Academy All Right Reserved
II. Khóa ngoại
Khóa ngoại của một table được xem như con trỏ trỏ tới khóa chính của table khác.
Copyright © VTI Academy All Right Reserved
II. Thiết lập khóa chính
Để tạo khóa chính ngay trong khi tạo table ta có thể sử dụng câu lệnh SQL Create Table như sau:
(
MaSV varchar (8) NOT NULL, Holot varchar(20),
Ten varchar(8), NgaySinh Date,
MaLop varchar(8) NOT NULL, Lienhe varchar(11) NOT NULL, PRIMARY KEY (MaSV)
);
Copyright © VTI Academy All Right Reserved
II. Thiết lập khóa chính
Trong trường hợp khóa chính được thành lập từ nhiều field và ta cần đặt tên cho ràng buộc khóa này thì có thể sử dụng câu lệnh Create Table như sau:
(
MaSV varchar (8) NOT NULL, Holot varchar(20),
Ten varchar(8), NgaySinh DATE,
MaLop varchar(8) NOT NULL, Lienhe varchar(11) NOT NULL,
CONSTRAINT Ma PRIMARY KEY (MaSV, MaLop) );
Copyright © VTI Academy All Right Reserved
II. Thiết lập khóa ngoại
Để tạo khóa ngoại ngay trong khi tạo table ta có thể sử dụng câu lệnh SQL Create Table như sau:
(
STT INT NOT NULL AUTO_INCREMENT, MaSV varchar(8) NOT NULL,
MonHoc varchar(6) NOT NULL, HKI, HKII, ĐTB_Nam INT,
PRIMARY KEY (STT),
FOREIGN KEY (MaSV) REFERENCES HSSV(MaSV) );
Copyright © VTI Academy All Right Reserved
II. Thiết lập khóa ngoại
Dạng khác:
(
STT INT NOT NULL AUTO_INCREMENT, MaSV varchar(8) NOT NULL,
MonHoc varchar(6) NOT NULL, HKI, HKII, ĐTB_Nam INT,
PRIMARY KEY (STT),
CONSTRAINT Ma FOREIGN KEY (MaSV) REFERENCES HSSV(MaSV) );
Copyright © VTI Academy All Right Reserved
II. Tạo bảng SQL
CREATE TABLE table_name (
column_name1 data_type(size), column_name2 data_type(size), column_name3 data_type(size), ....
columnN data_type(size) )
column_names là tên các cột muốn tạo trong bảng
data_type tham số định nghĩa kiểu dữ liệu mà cột lưu trữ, ví dụintlưu trữ số nguyên size chỉ ra chiều dài lớn nhất của dữ liệu.
Copyright © VTI Academy All Right Reserved
III. Thực hành
Tạo cơ sở dữ liệu Database của mô hình dữ liệu quan hệ sau:
NHANVIEN (MaNV, MaPB, HoTenNV, SoDT, DiaChi, SoNamLV, NgayVaoCT, NgayVaoPB) BANGCAP (MaNV, BangCap)
PHONGBAN (MaPB, TenPB, SoPB)
DUAN (MaDA, MaPB, TenDuAn, MoTaDA)
TINHTRANGDUAN (STT, MaDA, TinhTrang, Ngay) NHANVIEN-DUAN (MaNV, MaDA)
Copyright © VTI Academy All Rights Reserved