Cơ sở dữ liệu là gì? Cơ sở dữ liệu quan hệ là gì? – iViettech

Cơ sở dữ liệu là môn học cơ sở của chuyên ngành CNTT, bất kể sinh viên CNTT nào cũng cần nắm vững và sử dụng thành thạo Cơ sở dữ liệu để sử dụng cho việc làm sau này. Tuy nhiên, đây cũng là môn học khó hiểu với nhiều sinh viên, nhất là quá trình phong cách thiết kế Cơ sở dữ liệu. Do vậy tôi viết chuỗi bài viết này với kỳ vọng sẽ giúp những bạn thuận tiện hơn trong việc tiếp cận môn học này .

Lý do cần có cơ sở dữ liệu

Chúng ta khởi đầu câu truyện của một quán tạp hóa của dì Ba đầu ngõ, mỗi ngày bán được 3-5 bao xà phòng, 4 chai nước mắm, 6 gói Bim Bim … Để biết được lời, lỗ và bảo vệ không bị sót, mất mát, dì Ba lấy một cuốn tập làm sổ ghi chép số tiền mua hàng, số tiền bán hàng mỗi ngày và kiểm tra qua số hàng còn lại để biết lỗ lãi .
Từ ngày căn hộ chung cư cao cấp phía trước hình thành, dân cư đến ở đông, tiệm dì Ba sinh động hẳn lên. Mỗi ngày bán hàng trăm loại sản phẩm, mỗi mẫu sản phẩm từ vài chục đến trăm cái, dì Ba không thể nào tính được việc lời lỗi hay tồn dư nữa .

May mà trong nhà có cái Tí vừa học xong khóa tin học văn phòng nên dì Ba mua cho nó cái máy tính và bảo nó giúp. Nó lập nên các bảng Excel quản lý Tồn kho, Nhập hàng, Bán hàng như sau:

Co ban ve co so du lieu - Hinh 1

Thêm 1 số ít công thức nữa thì việc làm đo lường và thống kê, cộng, trừ, nhân, chia hàng ngày của dì Ba giảm hẳn, đỡ được nhiều việc .
Khi căn hộ chung cư cao cấp trước mặt lấp đầy thì việc làm kinh doanh của dì Ba trở nên vô cùng phát đạt. Bên cạnh tạp hóa dì bán thêm văn phòng phẩm và 1 số ít mẫu sản phẩm gia dụng nữa. Mấy cái bảng con Tí làm dùng trước đây cũng được nhưng giờ đây nhiều quá chạy quá chậm, đôi lúc không cẩn trọng lại chạy sai ( do không update công thức ). Hơn nữa chỉ có mỗi nó làm được, ai đó mà đụng vô là sai tùm lum hết nên cũng phiền phức .
Hôm rồi dì hỏi thằng Tôm bên nhà, nó là dân IT hẳn hoi, nó bảo dì phải dùng ứng dụng và cơ sở dữ liệu thì mới xử lý được. Nó bảo có cơ sở dữ liệu và ứng dụng dì sẽ không sợ sai công thức, không sợ nhiều dữ liệu mà ai nhập cũng được. Nghe vậy gì cũng ưng .

Vậy cơ sở dữ liệu là gì?

“ Cơ sở dữ liệu là phương pháp tổ chức triển khai tàng trữ dữ liệu hiệu suất cao để bảo vệ việc nhập và khai thác dữ liệu nhanh và đúng chuẩn ” .

Cơ sở dữ liệu quan hệ là gì?

Cơ sở dữ liệu có nhiều cách tổ chức, trong đó cách hiệu quả nhất là tổ chức theo mô hình quan hệ do tiến sĩ E.F.Code người Đức đề xuất năm 1969 và người ta gọi đó là cơ sở dữ liệu quan hệ.

“ Cơ sở dữ liệu quan hệ tổ chức triển khai dữ liệu theo những bảng và có quan hệ với nhau để giảm thiểu sự dư thừa dữ liệu đồng thời vẫn bảo vệ sự hiệu suất cao trong tàng trữ và truy xuất dữ liệu ”
Ngày nay, cơ sở dữ liệu quan hệ được dùng trong hầu hết những mạng lưới hệ thống ứng dụng từ kế toán, ngân hàng nhà nước, doanh nghiệp, …

Các thành phần cơ bản của một Cơ sở dữ liệu quan hệ

1. Bảng dữ liệu (Table)

Bảng dữ liệu là thành phần chính trong cơ sở dữ liệu quan hệ. Bảng chứa dữ liệu .

Vi du ve Co so du lieu quan he

Trong đó :

  • Cột/Trường (Field): các trường thể hiện thuộc tính của bảng dữ liệu ví dụ tên, địa chỉ
  • Dòng(row): là một dòng dữ liệu gồm các dữ liệu có liên quan với nhau hay còn gọi là bảng ghi (record).
  • Ô (cell): Giao giữa dòng và cột và là nơi chứa dữ liệu.
  • Khóa chính(Primary Key): là một trường hoặc nhiều trường gộp lại được sử dụng để định nghĩa bảng ghi. Khóa chính có 02 thuộc tính là không được trùng và không được rỗng. Ví dụ: giá trị 1 của trường CustomerID đó sẽ suy ra được tất cả dữ liệu của dòng đầu tiên. Hay nói cách khác các giá trị của dòng đầu tiên là giá trị các thuộc tính của bảng ghi có customerID = 1.

Một bảng hoàn toàn có thể có khóa chính hoặc không, tuy nhiên để dễ quản trị người ta thường định nghĩa khóa chính cho những bảng .

2. Mối quan hệ (Relationship)

Moi quan he trong co so du lieu

Trong đó:

  • Khóa ngoại (Foreign Key): là trường ở bảng này (bảng Invoice) nhưng có trường tương ứng làm khóa chính ở bảng kia (bảng Customer) để tạo ra mối quan hệ giữa hai bảng.
  • Mối quan hệ (Relationship): tạo ra mối liên kết giữa hai bảng nhằm xác định mối liên quan giữa các trường dữ liệu của hai bảng. Ví dụ: nếu bạn muốn biết khách hàng có mã khách hàng số 1 mua những đơn hàng nào thì bạn phải dựa vào mối quan hệ trên. Trong cơ sở dữ liệu quan hệ mối quan hệ thể hiện ở 03 dạng sau:
    • Quan hệ 1-1: Trong quan hệ này mỗi bảng chỉ có một và chỉ một bảng ghi tương ứng mà thôi. Ví dụ quan hệ vợ – chồng, quan hệ Thông tin cơ bản – Thông tin chi tiết …
    • Quan hệ 1-n: Là quan hệ phổ biến nhất trong cơ sở dữ liệu, trong hệ này 1 bảng ghi ở bảng này có nhiều bảng ghi tương ứng ở bảng kia. Trong ví dụ trên một bảng ghi trong bảng Customer có nhiều bảng ghi trong bảng Invoice.
    • Quan hệ n-n: trong quan hệ này một bảng ghi trong bảng này tương ứng với nhiều bảng ghi trong bảng kia và ngược lại.

Bạn hãy xem quy mô hóa bên dưới để hiểu rõ hơn về những mối quan hệ .

Mo ta ve cac loai quan he trong CSDL

3. Lược đồ thực thể quan hệ (ERD: Entity Relationship Diagram)

ERD sẽ giúp bạn hiểu nhanh hơn về cấu trúc của Cơ sở dữ liệu, từ đó giúp bạn thuận tiện thao tác hơn với chúng .

Vi du ve luoc do quan he - ERD

Lược đồ quan hệ (ERD) của cơ sở dữ liệu quản lý đơn hàng

Hệ quản trị Cơ sở dữ liệu (Database Management System – DBMS)

DBMS là những ứng dụng dùng để quản trị và quản lý và vận hành Cơ sở dữ liệu. Các DBMS thông dụng như MySQL, SQL Server, Oracle Database, DB2 …
Bảng so sánh 1 số ít DBMS thông dụng :

DBMS Kích thước hệ thống Hệ điều hành Năm ra đời
Oracle Lớn UNIX
Windows
1979
DB2 Lớn và vừa AIX(R)
HP-UX
Linux ( R )
Solaris
1985
MySQL Vừa và nhỏ All OS 1987
MS SQL Server Vừa và nhỏ Windows 2000

 Tóm lại

Chúng ta vừa khám phá những khái niệm về cơ bản của Cơ sở dữ liệu và Cơ sở dữ liệu quan hệ, còn rất nhiều yếu tố cần khám phá như tại sao phải sử dụng cơ sở dữ liệu quan hệ, làm thế nào để phong cách thiết kế cơ sở dữ liệu … Chúng ta sẽ liên tục khám phá những phần tiếp theo ở những bài sau .

Bài tiếp: Thiết kế cơ sở dữ liệu – Các bước thực hiện

Nếu bạn có điều gì chưa rõ hoặc vướng mắc bạn hoàn toàn có thể để lại phản hồi bên dưới tôi sẽ sẵn sàng chuẩn bị trao đổi với bạn .