Nền tảng Kiến thức - Hành trang tới Tương lai
Card image

Chương 2-Bài 1. Tổng quan, khái niệm về database và các thành phần trong database RDMS

Tác giả: Dương Nguyễn Phú Cường #8565
Ngày đăng: Hồi xưa đó
Lượt xem: 414

Database là gì?

Mục tiêu của database là:
  • Lưu trữ thông tin một cách tối ưu, gọn nhẹ, và có khả năng trả lời được các yêu cầu dữ liệu về nghiệp vụ trong thời gian ngắn (phục vụ cho nhu cầu Tìm kiếm / Truy vấn nhanh chóng và chính xác).
  • Có thể Truy vấn dữ liệu một cách nhanh chóng, chính xác, bất kể thời gian. Ví dụ:
    • Thống kê Sản phẩm nào bán chạy nhất trong 3 tháng gần đây?
    • Khách hàng nào là khách hàng thân thiết nhất của Shop (đã mua hàng nhiều nhất trong vòng 5 năm gần đây) ?
    • Bệnh nhân A đã từng bị tiền sử bệnh gì trong vòng 10 năm trước? Đã từng tiếp xúc những người nào trong thời gian Covid gần đây? ...
    • Nhân viên A còn bao lâu nữa đến thời hạn sẽ được Nâng lương/Nâng bậc?
    • ...

Tổng quan cách hình tượng từ file Excel về Database

Excel là phần mềm khá quen thuộc với nhiều người. Chúng ta có thể đã từng sử dụng Excel để lưu trữ thông tin dữ liệu. Tuy việc lưu trữ bằng file Excel khá tiện lợi và nhanh chóng. Tuy nhiên, khi dữ liệu trở nên quá lớn (nhiều dòng dữ liệu), nhu cầu truy vấn và tìm kiếm của file Excel tỏ ra hạn chế. Chúng ta sẽ cần đến một cách lưu trữ tối ưu hơn cho việc lưu trữ dữ liệu lớn và tăng khả năng tìm kiếm.

Hình sau đây là một cách hình tượng hóa từ file Excel quen thuộc về database:

  • Dựa theo mô hình trên thì chúng ta có cấu trúc phân rã của file Excel và database như sau:

Về cấu trúc, chúng ta sẽ đọc tiếng Việt như sau:

  • Về file Excel:
    • Trong 1 file Excel, có thể có 1 hoặc nhiều Sheets.
    • Trong 1 Sheet, có thể có 1 hoặc nhiều dòng (Rows).
    • Trong 1 dòng (Row), có thể có 1 hoặc nhiều cột (Columns)
  • Về database:
    • Trong 1 database, có thể có 1 hoặc nhiều Tables.
    • Trong 1 Table, có thể có 1 hoặc nhiều dòng (Records).
    • Trong 1 dòng (Record), có thể có 1 hoặc nhiều cột (Columns)

Ví dụ:

Chúng ta có file Excel và Database dùng để lưu trữ thông tin dữ liệu bán hàng cho shop NetaShop như sau:

Excel

Database

 

Chương trình học


  1. Giới thiệu, cài đặt môi trường thực hành 1
    1. Database Online dành cho học tập và thực hành các ví dụ #8691
  2. Tổng quan, khái niệm về database 2
    1. Tổng quan, khái niệm về database và các thành phần trong database RDMS #8565
    2. Các kiểu dữ liệu trong MySQL #8575
  3. Các lệnh tạo cấu trúc (schema database) 7
    1. Mô hình thực thể ER của cơ sở dữ liệu (database) NetaShop #2448
    2. Tạo cơ sở dữ liệu (database) NetaShop - Sử dụng HeidiSQL #8587
    3. Tạo bảng (table) Danh mục phẳng - Sử dụng HeidiSQL #8582
    4. Tạo bảng (table) Danh mục có liên kết khóa ngoại (có quan hệ) - Sử dụng HeidiSQL #8597
    5. Tạo bảng (table) theo quan hệ Nhiều - Nhiều (N-N) - Sử dụng HeidiSQL #8619
    6. Tạo bảng (table) có Quan hệ Tự thân (self foreign key) - Sử dụng HeidiSQL #8664
    7. Cơ sở dữ liệu mẫu salomon #11820
  4. Các lệnh cập nhật dữ liệu (Insert - Update - Delete) 3
    1. Câu lệnh Thêm dữ liệu (INSERT) #2663
    2. Câu lệnh Cập nhật dữ liệu (UPDATE) #2665
    3. Câu lệnh Xóa dữ liệu (DELETE) #2664
  5. Các lệnh truy vấn dữ liệu (query data) 6
    1. Câu lệnh Truy vấn dữ liệu SELECT Đơn giản #2666
    2. Câu lệnh Truy vấn dữ liệu SELECT với bộ lọc dữ liệu WHERE #2668
    3. Câu lệnh Truy vấn dữ liệu SELECT với sắp xếp dữ liệu ORDER BY #2669
    4. Câu lệnh Truy vấn dữ liệu SELECT với mệnh đề giới hạn dữ liệu LIMIT OFFSET #8693
    5. Tìm hiểu cơ chế phân trang (Pagination) và cách viết câu lệnh truy vấn dữ liệu SELECT áp dụng cơ chế phân trang (Pagination) với LIMIT OFFSET #12249
    6. Bài tập Truy vấn CSDL #2457
  6. Các lệnh truy vấn dữ liệu (query data) - Nâng cao 5
    1. Các loại Kết nối LEFT JOIN, FULL JOIN, RIGHT JOIN #2670
    2. Kết nối các bảng dữ liệu INNER JOIN #2667
    3. Kết nối các bảng dữ liệu LEFT JOIN #11753
    4. Kết nối các bảng dữ liệu RIGHT JOIN #11752
    5. Kết nối các bảng dữ liệu FULL OUTER JOIN #11754
  7. Bài tập Tổng hợp 1
    1. Truy vấn dữ liệu cho Nghiệp vụ Bán hàng #2671
  8. Phân tích, thiết kế Hệ thống 8
    1. Các mối quan hệ giữa các Thực thể (Entity) #8596
    2. Bài tập thiết kế Cơ sơ dữ liệu quản lý Nhân viên và Phòng ban #8600
    3. Bài tập thiết kế Cơ sở dữ liệu Quản lý Giảng viên và Sinh viên #8601
    4. Bài tập thiết kế Cơ sở dữ liệu Quản lý Chấm công Tiền lương #8620
    5. Bài tập thiết kế Cơ sở dữ liệu Quản lý Nhân sự #8629
    6. Bài tập thiết kế Cơ sở dữ liệu Quản lý Bán hàng Thương mại điện tử (Có quản lý Nhập, Xuất, Kho hàng) #9352
    7. Kho sách, nguồn tài liệu tham khảo Cơ sở dữ liệu MySQL #9001
    8. Plugin tự động sinh tài liệu mô tả cấu trúc của các bảng cho MySQL Workbench #9356
  9. Quản trị người dùng và cấp quyền trong MySQL 1
    1. Tìm hiểu về các loại quyền có trong MySQL #10455
  10. Tham khảo 1
    1. Thiết kế Cơ sở dữ liệu Bán hàng TMĐT có quản lý Kho hàng, Nhập xuất, Tồn kho, Phân quyền, Khuyến mãi, Tin tức #12053
Các bài học

Chương trình học

Bao gồm Module, Chương, Bài học, Bài tập, Kiểm tra...

Chương trình học


  1. Giới thiệu, cài đặt môi trường thực hành 1
    1. Database Online dành cho học tập và thực hành các ví dụ #8691
  2. Tổng quan, khái niệm về database 2
    1. Tổng quan, khái niệm về database và các thành phần trong database RDMS #8565
    2. Các kiểu dữ liệu trong MySQL #8575
  3. Các lệnh tạo cấu trúc (schema database) 7
    1. Mô hình thực thể ER của cơ sở dữ liệu (database) NetaShop #2448
    2. Tạo cơ sở dữ liệu (database) NetaShop - Sử dụng HeidiSQL #8587
    3. Tạo bảng (table) Danh mục phẳng - Sử dụng HeidiSQL #8582
    4. Tạo bảng (table) Danh mục có liên kết khóa ngoại (có quan hệ) - Sử dụng HeidiSQL #8597
    5. Tạo bảng (table) theo quan hệ Nhiều - Nhiều (N-N) - Sử dụng HeidiSQL #8619
    6. Tạo bảng (table) có Quan hệ Tự thân (self foreign key) - Sử dụng HeidiSQL #8664
    7. Cơ sở dữ liệu mẫu salomon #11820
  4. Các lệnh cập nhật dữ liệu (Insert - Update - Delete) 3
    1. Câu lệnh Thêm dữ liệu (INSERT) #2663
    2. Câu lệnh Cập nhật dữ liệu (UPDATE) #2665
    3. Câu lệnh Xóa dữ liệu (DELETE) #2664
  5. Các lệnh truy vấn dữ liệu (query data) 6
    1. Câu lệnh Truy vấn dữ liệu SELECT Đơn giản #2666
    2. Câu lệnh Truy vấn dữ liệu SELECT với bộ lọc dữ liệu WHERE #2668
    3. Câu lệnh Truy vấn dữ liệu SELECT với sắp xếp dữ liệu ORDER BY #2669
    4. Câu lệnh Truy vấn dữ liệu SELECT với mệnh đề giới hạn dữ liệu LIMIT OFFSET #8693
    5. Tìm hiểu cơ chế phân trang (Pagination) và cách viết câu lệnh truy vấn dữ liệu SELECT áp dụng cơ chế phân trang (Pagination) với LIMIT OFFSET #12249
    6. Bài tập Truy vấn CSDL #2457
  6. Các lệnh truy vấn dữ liệu (query data) - Nâng cao 5
    1. Các loại Kết nối LEFT JOIN, FULL JOIN, RIGHT JOIN #2670
    2. Kết nối các bảng dữ liệu INNER JOIN #2667
    3. Kết nối các bảng dữ liệu LEFT JOIN #11753
    4. Kết nối các bảng dữ liệu RIGHT JOIN #11752
    5. Kết nối các bảng dữ liệu FULL OUTER JOIN #11754
  7. Bài tập Tổng hợp 1
    1. Truy vấn dữ liệu cho Nghiệp vụ Bán hàng #2671
  8. Phân tích, thiết kế Hệ thống 8
    1. Các mối quan hệ giữa các Thực thể (Entity) #8596
    2. Bài tập thiết kế Cơ sơ dữ liệu quản lý Nhân viên và Phòng ban #8600
    3. Bài tập thiết kế Cơ sở dữ liệu Quản lý Giảng viên và Sinh viên #8601
    4. Bài tập thiết kế Cơ sở dữ liệu Quản lý Chấm công Tiền lương #8620
    5. Bài tập thiết kế Cơ sở dữ liệu Quản lý Nhân sự #8629
    6. Bài tập thiết kế Cơ sở dữ liệu Quản lý Bán hàng Thương mại điện tử (Có quản lý Nhập, Xuất, Kho hàng) #9352
    7. Kho sách, nguồn tài liệu tham khảo Cơ sở dữ liệu MySQL #9001
    8. Plugin tự động sinh tài liệu mô tả cấu trúc của các bảng cho MySQL Workbench #9356
  9. Quản trị người dùng và cấp quyền trong MySQL 1
    1. Tìm hiểu về các loại quyền có trong MySQL #10455
  10. Tham khảo 1
    1. Thiết kế Cơ sở dữ liệu Bán hàng TMĐT có quản lý Kho hàng, Nhập xuất, Tồn kho, Phân quyền, Khuyến mãi, Tin tức #12053

Bài học trước Bài học tiếp theo