Cài đặt cơ sở dữ liệu

Cài đặt cơ sở dữ liệu là bước thiết kế CSDL ở mức vật lý. Là xây dựng CSDL quan hệ gồm các bảng từ các quan hệ đã được chuẩn hóa. Ngoài ra, cần phải thêm các ràng buộc và đảm bảo các yêu cầu về toàn vẹn dữ liệu.

Cài đặt cơ sở dữ liệu – Thiết kế các bảng

Là bước đầu tiên trong thiết kế CSDL vật lý. Mỗi bảng biểu diễn một quan hệ đã được chuẩn hóa. Ví dụ Quan hệ KhachHang: MaKH, Hoten, Diachi, Dienthoai được biểu diễn dưới dạng bảng như sau

cài đặt cơ sở dữ liệu

Các nguyên tắc xây dựng bảng bao gồm mỗi quan hệ đã chuẩn hóa trở thành một bảng. Mỗi thuộc tính trong quan hệ trở thành một cột trong bảng. Mỗi thuộc tính có tên, kiểu dữ liệu và miền giá trị và thiết lập ràng buộc cho các thuộc tính (nếu có). Ngoài ra, khóa của quan hệ trở thành khóa chính (PK) của bảng và có giá trị NOT NULL. Các liên kết giữa các quan hệ trở thành ràng buộc tham chiếu (ràng buộc khóa ngoại)

Ví dụ cho CSDL gồm 4 quan hệ như sau

  • PRODUCT: Product Number (PK), Product Description, List Unit Price
  • CUSTOMER: Customer Number (PK),  Customer Name, Customer Address,  Customer City, Customer State, Customer Zip  Code,  Customer Phone
  • INVOICE:  Invoice Number (PK),  Customer Number, Terms, Ship Via,  Order Date
  • INVOICE  LINE  ITEM:   Invoice Number (PK), Product Number (PK), Quantity, Sale Unit Price

4 bảng tương ứng với 4 quan hệ và ràng buộc giữa các bảng như sau:

cai-dat-co-so-du-lieu-2

Cài đặt cơ sở dữ liệu – Bài tập ví dụ

Bài toán quản lý CSDL các đối tượng khách hàng mua hàng. CSDL gồm các đối tượng KhachHang, DonHang, SanPham như sau:

  • KHACHHANG: MaKH , HotenKH, DiaChi, DienThoai
  • DONHANG: SoDH, NgayDatHang, TongTien, NguoiLap
  • SANPHAM: MaSP, TenSP, QuyCach, DonViTinh
  • Mỗi Yêu cầu đặt hàng của KhachHang gồm các thông tin: SoLuong, DonGia, ThanhTien

Cài đặt cơ sở dữ liệu – Các quy tắc đặt tên

Đặt tên bảng: Tên bảng phải phản ánh thực thể. Dùng các kí tự “_” để phân tách các từ và không có các từ “table” hay “file” trong tên bảng;

Đặt tên cột: Tên cột phải dựa trên tên của thuộc tính. Dùng các kí tự “_” để phân tách các từ và tên cột là duy nhất trong bảng.

Cài đặt cơ sở dữ liệu – Tạo cơ sở dữ liệu

Câu lệnh

Ví dụ tạo cơ sở dữ liệu QuanLyBanHang

Cài đặt cơ sở dữ liệu – Tạo bảng

Câu lệnh

Trong đó

Bảng tham chiếu phải tồn tại trước và có khoá chính tham gia làm khoá ngoại trong bảng đang được tạo.

Nếu tạo bảng không có khoá ngoại thì loại bỏ dòng

Cài đặt cơ sở dữ liệu – Kiểu dữ liệu trong MySQL

Kiểu chuỗi

Kiểu dữ liệu Miêu tả
char(độ dài chuỗi) Chứa chuỗi có chiều dài cố định.
Có thể chứa các chữ cái, số hoặc ký tự đặc biệt.
Độ dài chuỗi được quy định trong ngoặc đơn.
Có thể lưu trữ lên đến 255 ký tự.
varchar(độ dài chuỗi) Chứa chuỗi có độ dài không cố định.
Có thể chứa các chữ cái, số hoặc ký tự đặc biệt.
Độ dài chuỗi được quy định trong ngoặc đơn.
Có thể lưu trữ lên đến 255 ký tự.
 text Chứa chuỗi có độ dài tối đa 65,535 ký tự
mediumtext Chứa chuỗi có độ dài tối đa 16,777,215 ký tự
longtext Chứa chuỗi có độ dài tối đa 4,294,967,295 ký tự

Kiểu số

Kiểu dữ liệu Miêu tả
Số nguyên
TINYINT(độ dài chuỗi) Chứa các số từ -128 đến 127.
Số lượng tối đa các chữ số được quy định trong ngoặc.
SMALLINT(độ dài chuỗi) Chứa các số từ -32768 đến 32767.
Số lượng tối đa các chữ số được quy định trong ngoặc.
MEDIUMINT(độ dài chuỗi) Chứa các số từ -8388608 đến 8388607.
Số lượng tối đa các chữ số cđược quy định trong ngoặc.
INT(size) Chứa các số từ -2147483648 đến 2147483647.
Số lượng tối đa các chữ số có thể được quy định trong ngoặc.
Số thực
FLOAT(size,d) Số lượng tối đa các chữ số có thể được chỉ định trong tham số size.
Số lượng tối đa các chữ số bên phải dấu thập phân được quy định bởi tham số d

Cài đặt cơ sở dữ liệu – Kiểu dữ liệu trong SQL Server

Kiểu chuỗi

Kiểu dữ liệu Miêu tả
char(n) Cố định độ rộng chuỗi. Tối đa 8000 ký tự
varchar(n) Không cố định độ rộng chuỗi. Tối đa 8000 ký tự
varchar(max) Không cố định độ rộng chuỗi. Tối đa 1,073,741,824 ký tự
text Không cố định độ rộng chuỗi. Tối đa 2GB dữ liệu văn bản
nchar(n) Tương tự kiểu dữ liệu char nhưng hỗ trợ Unicode
nvarchar(n) Tương tự kiểu dữ liệu varchar nhưng hỗ trợ Unicode
nvarchar(max) Tương tự kiểu dữ liệu varchar(max) nhưng hỗ trợ Unicode
ntext Tương tự kiểu dữ liệu text nhưng hỗ trợ Unicode

Kiểu số

Kiểu dữ liệu Miêu tả
Số nguyên
tinyint Chứa các số từ 0 đến 255.
smallint Chứa các số từ -32,768 đến 32,767.
int Chứa các số từ -2,147,483,648 đến 2,147,483,647.
Số thực
float Chứa các số từ -1.79E + 308 đến 1.79E + 308.

Cài đặt cơ sở dữ liệu – Kiểu dữ liệu trong Oracle

Kiểu dữ liệu Miêu tả
 char(độ dài chuỗi) Chứa chuỗi với chiều cố định.
Độ dài chuỗi được quy định trong cặp dấu ngoặc đơn từ 1 đến 2000 ký tự.
 varchar2(độ dài chuỗi) Chứa chuỗi có độ dài không cố định.
Độ dài chuỗi được quy định trong ngoặc đơn.
Có thể lưu trữ lên đến 4000 ký tự.
number(p,s) Chứa số bao gồm số nguyên hoặc số thực. p là tổng số chữ số, s là số chữ số bên phải dấu thập phân

Ví dụ về sử dụng kiểu number

Nhập Sử dụng Lưu trữ
1,234,567.89 number 1234567.89
1,234,567.89 number(7) 1234568
1,234,567.89 number(7,1) 1234567.9

Cài đặt cơ sở dữ liệu – Ví dụ tạo 2 bảng

PHONGBAN gồm có tên phòng ban (khoá chính), số điện thoại

NHANVIEN gồm mã nhân viên (khoá chính), tên nhân viên, giới tính và tên phòng ban (khoá ngoại)

Câu lệnh tạo bảng trong Oracle

Tạo bảng PHONGBAN

Tạo bảng NHANVIEN

Cài đặt cơ sở dữ liệu – Thêm dữ liệu

Thêm dữ liệu cho các bảng với lưu ý dữ liệu cho khoá chính không được trùng và dữ liệu cho cột khoá ngoại phải tồn tại ở bảng tham chiếu.

Câu lệnh

Lưu ý

  • Dữ liệu kiểu chuỗi phải đặt trong dấu nháy đơn
  • Số lượng cột và số lượng dữ liệu cho các cột phải giống nhau

Ví dụ thêm dữ liệu cho 2 bảng PHONGBAN và NHANVIEN

Thêm dữ liệu cho bảng PHONGBAN

Tên phòng ban Số điện thoại
Phòng IT (08)12345678
Phòng nhân sự (08)12345679

Câu lệnh

Thêm dữ liệu cho bảng NHANVIEN

Mã nhân viên Tên nhân viên Giới tính Tên phòng ban
nv01 Nguyễn Tiến Lên Nam Phòng IT
nv02 Trần Bình Nữ Phòng IT
nv03 Huỳnh Tiến Tín Nam Phòng nhân sự

Câu lệnh

Cài đặt cơ sở dữ liệu – Cập nhật dữ liệu

Thay đổi dữ liệu hiện có theo tiêu chí đặt ra và thông thường dữ liệu cho cột khoá chính không được thay đổi

Câu lệnh

Ví dụ thay đổi tên phòng ban cho nhân viênmã số nv02 thành Phòng nhân sự. Câu lệnh cập nhật như sau

Lưu ý trong trường hợp có nhiều điều kiện có thể sử dụng toán tử And (và), toán tử Or (hoặc) để lập điều kiện cho mệnh đề Where. Ví dụ những nhân viên ở phòng IT và giới tính Nam; những nhân viên ở phòng IT hoặc phòng nhân sự.

Cài đặt cơ sở dữ liệu – Xoá dữ liệu

Xoá dữ liệu đã tồn tại trong các bảng, khi xoá dữ liệu lưu ý ràng buộc khoá ngoại.

Câu lệnh

Ví dụ xoá dữ liệu cho những nhân viên thuộc phòng nhân sự, câu lệnh như sau

Trong trường hợp không có mệnh đề Where, đồng nghĩa với việc xoá tất cả dữ liệu của bảng

Cài đặt cơ sở dữ liệu – Tổng kết bài học

  • Câu lệnh tạo cơ sở dữ liệu
  • Câu lệnh tạo bảng và kiểu dữ liệu
  • Câu lệnh thêm dữ liệu
  • Câu lệnh cập nhật dữ liệu
  • Câu lệnh xoá dữ liệu

Nhận xét