Hotline: 0919 365 363; Email: daotao@r2s.edu.vn

Blog

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

Cài đặt cơ sở dữ liệu là gì?
Kiến thức hữu ích

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

Cài đặt cơ sở dữ liệu là quá trình cài đặt và thiết lập một hệ thống quản lý cơ sở dữ liệu (DBMS) trên máy tính hoặc máy chủ. Quá trình này bao gồm việc cài đặt phần mềm DBMS và tạo ra các cơ sở dữ liệu và bảng trong đó các dữ liệu sẽ được lưu trữ và quản lý.

Nếu bạn cần tìm hiểu rõ hơn, hãy cùng theo dõi bài viết dưới đây của R2S nhé!

Cài đặt cơ sở dữ liệu là gì?

Việc cài đặt cơ sở dữ liệu là quá trình thiết kế CSDL ở mức vật lý, bao gồm xây dựng CSDL quan hệ bằng cách chuẩn hóa các quan hệ thành các bảng. Ngoài ra, cần thêm các ràng buộc và đảm bảo tính toàn vẹn của dữ liệu theo yêu cầu.

Cài đặt cơ sở dữ liệu là gì?
Cài đặt cơ sở dữ liệu là gì?

Thiết kế các bảng

Đây là bước đầu tiên trong quá trình thiết kế Cơ sở dữ liệu vật lý. Mỗi quan hệ đã được chuẩn hóa sẽ trở thành một bảng biểu tượng. Ví dụ, quan hệ “Khách hàng” với các thuộc tính MaKH, Họ tên, Địa chỉ, Điện thoại sẽ được biểu diễn dưới dạng một bảng như sau. 

Thiết kế các bảng
Thiết kế các bảng

Các nguyên tắc xây dựng bảng bao gồm việc mỗi thuộc tính trong quan hệ trở thành một cột trong bảng, có tên, kiểu dữ liệu và miền giá trị cụ thể, và được thiết lập ràng buộc (nếu có). 

Khóa của quan hệ sẽ trở thành khóa chính (PK) của bảng và không thể để trống. Các liên kết giữa các quan hệ sẽ 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

  • Bảng “PRODUCT” bao gồm các trường “Product Number” (khóa chính), “Product Description” và “List Unit Price”. 
  • Bảng “CUSTOMER” bao gồm các trường “Customer Number” (khóa chính), “Customer Name”, “Customer Address”, “Customer City”, “Customer State”, “Customer Zip Code” và “Customer Phone”. 
  • Bảng “INVOICE” bao gồm các trường “Invoice Number” (khóa chính), “Customer Number”, “Terms”, “Ship Via” và “Order Date”. 
  • Bảng “INVOICE LINE ITEM” bao gồm các trường “Invoice Number” (khóa chính), “Product Number” (khóa chính), “Quantity” và “Sale Unit Price”. Các bảng có các ràng buộc giữa nhau.

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

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

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

Đề bài yêu cầu quản lý cơ sở dữ liệu các đối tượng liên quan đến khách hàng mua hàng. Các đối tượng bao gồm Khách hàng, Đơn hàng và Sản phẩm. 

  • Thông tin của Khách hàng bao gồm Mã KH, Họ tên, Địa chỉ và Điện thoại. 
  • Thông tin của Đơn hàng bao gồm Số đơn hàng, Ngày đặt hàng, Tổng tiền và Người lập. 
  • Thông tin của Sản phẩm bao gồm Mã sản phẩm, Tên sản phẩm, Quy cách và Đơn vị tính. 
  • Mỗi yêu cầu đặt hàng của Khách hàng sẽ bao gồm các thông tin: Số lượng, Đơn giá và Thành tiền.

Hãy thiết kế các bảng cho CSDL trên? Xem đáp án

Các quy tắc đặt tên

  • Cách đặt tên bảng: Bảng cần phản ánh thực thể và không sử dụng các từ “table” hay “file”. Sử dụng dấu gạch dưới để phân tách các từ. 
  • Cách đặt tên cột: Tên cột cần dựa trên tên thuộc tính và phải là duy nhất trong bảng. Sử dụng dấu gạch dưới để phân tách các từ.

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

Câu lệnh

Create Database Tên_CSDL

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

Create Database QuanLyBanHang

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

Câu lệnh

Create Table Tên_Bảng (
  Tên_Cột    Kiểu_Dữ_Liệu(Kích cỡ)
  ,Tên_Cột   Kiểu_Dữ_Liệu(Kích cỡ)
  ,...
  ,primary key (Khoá chính)
  ,foreign key (Khoá ngoại) references Bảng_Tham_Chiếu(Khoá ngoại)
)

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

,foreign key (Khoá ngoại) references Bảng_Tham_Chiếu(Khoá ngoại)

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

Kiểu chuỗi

Kiểu dữ liệuGiải thích
char(độ dài chuỗi)Đây là một chuỗi có độ dài cố định, chứa các ký tự bao gồm chữ cái, số và ký tự đặc biệt. Độ dài của chuỗi được giới hạn bởi ngoặc đơn và không vượt quá 255 ký tự.
varchar(độ dài chuỗi)Đây là một chuỗi có độ dài không cố định, bao gồm các ký tự chữ cái, số và các ký tự đặc biệt. Độ dài của chuỗi được giới hạn trong ngoặc đơn và không vượt quá 255 ký tự.
textCó thể chứa chuỗi lên đến 65.535 ký tự
mediumtextCó thể chứa chuỗi có độ dài tối đa 16,777,215 ký tự
longtextCó thể chứa chuỗi có độ dài lên đến 4,294,967,295 ký tự

Kiểu số

Kiểu dữ liệuMiêu tả
Số nguyên
TINYINT(độ dài chuỗi)Kiểu số nguyên có kích thước nhỏ nhất trong MySQL. Độ dài chuỗi được quy định trong ngoặc đơn. Phạm vi giá trị từ -128 đến 127.
SMALLINT(độ dài chuỗi)Kiểu số nguyên có kích thước nhỏ hơn so với INT. Độ dài chuỗi được quy định trong ngoặc đơn. Phạm vi giá trị từ -32768 đến 32767.
MEDIUMINT(độ dài chuỗi)Kiểu số nguyên có kích thước trung bình hơn so với INT. Độ dài chuỗi được quy định trong ngoặc đơn. Phạm vi giá trị từ -8388608 đến 8388607.
INT(size)Kiểu số nguyên có kích thước lớn nhất trong MySQL. Độ dài chuỗi được quy định trong ngoặc đơn. Phạm vi giá trị phụ thuộc vào tham số size. Ví dụ: INT(10) có phạm vi từ -2147483648 đến 2147483647.
Số thực
FLOAT(size,d)Kiểu số thực với kích thước và độ chính xác được quy định bởi tham số size và d. Size xác định kích thước tổng cộng của số và phần thập phân, trong khi d xác định số chữ số sau dấu thập phân. Ví dụ, FLOAT(8,2) có kích thước 8 byte và 2 chữ số sau dấu thập phân. Phạm vi giá trị của FLOAT phụ thuộc vào kích thước của kiểu dữ liệu.

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

Kiểu chuỗi

Kiểu chuỗiMiêu tả
char(n)Cố định độ rộng chuỗi và tối đa 8000 ký tự
varchar(n)Không cố định độ rộng chuỗivà tối đa 8000 ký tự
varchar(max)Không cố định độ rộng chuỗivà tối đa 1,073,741,824 ký tự
textKhông cố định độ rộng chuỗivà 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
ntextTương tự kiểu dữ liệu text nhưng hỗ trợ Unicode

Kiểu số

Kiểu dữ liệuMiêu tả
Số nguyên
tinyintChứa các số từ 0 đến 255.
smallintChứa các số từ -32,768 đến 32,767.
intChứa các số từ -2,147,483,648 đến 2,147,483,647.
Số thực
floatChứ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ệuMiê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ậpSử dụngLưu trữ
1,234,567.89number1234567.89
1,234,567.89number(7)1234568
1,234,567.89number(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

Create Table PHONGBAN (
   TenPhong varchar2(30)
   ,SDT varchar2(15)
   ,primary key(TenPhong)
)

Tạo bảng NHANVIEN

Create Table NHANVIEN (
  MaNv varchar2(15)
  ,TenNv varchar2(50)
  ,GioiTinh varchar2(3)
  ,TenPhong varchar2(30)
  ,primary key(MaNv)
  ,foreign key(TenPhong) references PHONGBAN(TenPhong)
)

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

Insert Into Tên_Bảng Values (Dữ liệu cho cột thứ nhất, Dữ liệu cho cột thứ hai, …)

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 banSố điện thoại
Phòng IT(08)12345678
Phòng nhân sự(08)12345679

Câu lệnh

Insert Into PHONGBAN Values ('Phòng IT', '(08)12345678');
Insert Into PHONGBAN Values ('Phòng nhân sự', '(08)12345679');

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

Mã nhân viênTên nhân viênGiới tínhTên phòng ban
nv01Nguyễn Tiến LênNamPhòng IT
nv02Trần BìnhNữPhòng IT
nv03Huỳnh Tiến TínNamPhòng nhân sự

Câu lệnh

Insert Into NHANVIEN Values ('nv01','Nguyễn Tiến Lên','Nam','Phòng IT');
Insert Into NHANVIEN Values ('nv02','Trần Bình','Nữ','Phòng IT');
Insert Into NHANVIEN Values ('nv03','Huỳnh Tiến Tín','Nam','Phòng nhân sự');

Cập nhật dữ liệu

Cập nhật dữ liệu 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

Update Tên_Bảng Set Tên_Cột = Dữ_Liệu_Thay_Đổi Where Điều_Kiện_Thay_Đổi

Ví dụ bạn hãy 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

Update NHANVIEN Set TenPhong = 'Phòng nhân sự' Where MaNv = 'nv02'

Lưu ý là 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

Delete From Tên_Bảng Where Điều_Kiện_Xoá_Dữ_Liệu

Delete From Tên_Bảng Where Điều_Kiện_Xoá_Dữ_Liệu

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

Delete From NHANVIEN Where TenPhong = 'Phòng nhân sự'

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

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

Bài thực hành số 1: Cài đặt cơ sở dữ liệu QuanLyDuAn gồm các bảng sau và thêm dữ liệu cho tất cả các bảng, mỗi bảng ít nhất 5 dòng.

DONVI
Tên cộtKiểu dữ liệuGhi chú
TenDvChuỗiKhoá chính
SDTChuỗi
DONVI_DIADIEM
Tên cộtKiểu dữ liệuGhi chú
TenDvChuỗiKhoá chính gồm TenDv và DiaDiem
DiaDiemChuỗi
NHANVIEN
Tên cộtKiểu dữ liệuGhi chú
MaNvChuỗiKhoá chính
TenNvChuỗi
GioiTinhChuỗi
NgaySinhChuỗi
NoiSinhChuỗi
SDTChuỗi
TenDvChuỗiKhoá ngoại
DUAN
Tên cộtKiểu dữ liệuGhi chú
TenDaChuỗiKhoá chính
TenDvChuỗiKhoá ngoại
THAMGIA
Tên cộtKiểu dữ liệuGhi chú
MaNvChuỗiKhoá chính gồm MaNv và TenDa
TenDaChuỗi
NgayBDChuỗi
NgayKTChuỗi

Bài thực hành số 2: Ứng dụng quản lý tài khoản ngân hàng liên quan đến việc quản lý các đối tượng khách hàng và quản lý các tài khoản của khách hàng. Xây dựng CSDL quản lý tài khoản ngân hàng chính là việc xác định các thông tin về các đối tượng khách hàng và các thông tin về mỗi tài khoản. Sau đây là yêu cầu chi tiết

Thông tin về khách hàng gồm có mã, họ tên, địa chỉsố điện thoạivà trong mã khách hàng là duy nhất.

Mỗi khách hàng được cung cấp một tài khoản gồm số tài khoản, kiểu tài khoản, ngày mở tài khoản số tiền.

Một tài khoản có 1 hoặc nhiều giao dịch và mỗi giao dịch gồm mã giao dịch, thời gian giao dịch, số tiền giao dịch, số dư tài khoản mô tả giao dịch.

Yêu cầu: Cài đặt cơ sở dữ liệu bao gồm các bảng, tạo liên kết giữa các bảng và thêm dữ liệu tối thiểu là 5 dòng cho tất các bảng.

Kết luận

Như vậy, bạn có thể thấy nô hình thực thể kết hợp để biểu diễn mối liên kết giữa các thực thể trong thiết kế mô hình mức khái niệm. Hãy hiểu và ứng dụng mô hình thực thể liên kết là thực thể, thuộc tính và mối kết hợp thật phù hợp nhé!

Bài viết gốc được đăng tại: giasutinhoc.vn

Alert: You are not allowed to copy content or view source !!