Cài đặt cơ sở dữ liệu
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.
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.
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:
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ệu | Giả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ự. |
text | Có thể chứa chuỗi lên đến 65.535 ký tự |
mediumtext | Có thể chứa chuỗi có độ dài tối đa 16,777,215 ký tự |
longtext | Có thể chứa chuỗi có độ dài lên đến 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) | 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ỗi | Miê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ự |
text | Khô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 |
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
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 ban | Số đ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ê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
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
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ên có mã 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ột | Kiểu dữ liệu | Ghi chú |
TenDv | Chuỗi | Khoá chính |
SDT | Chuỗi |
DONVI_DIADIEM | ||
Tên cột | Kiểu dữ liệu | Ghi chú |
TenDv | Chuỗi | Khoá chính gồm TenDv và DiaDiem |
DiaDiem | Chuỗi |
NHANVIEN | ||
Tên cột | Kiểu dữ liệu | Ghi chú |
MaNv | Chuỗi | Khoá chính |
TenNv | Chuỗi | |
GioiTinh | Chuỗi | |
NgaySinh | Chuỗi | |
NoiSinh | Chuỗi | |
SDT | Chuỗi | |
TenDv | Chuỗi | Khoá ngoại |
DUAN | ||
Tên cột | Kiểu dữ liệu | Ghi chú |
TenDa | Chuỗi | Khoá chính |
TenDv | Chuỗi | Khoá ngoại |
THAMGIA | ||
Tên cột | Kiểu dữ liệu | Ghi chú |
MaNv | Chuỗi | Khoá chính gồm MaNv và TenDa |
TenDa | Chuỗi | |
NgayBD | Chuỗi | |
NgayKT | Chuỗ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ỉ và 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 và 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 và 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