
データベース(Database)は、ソフトウェア開発において最も基本的で重要な概念の一つです。
では、データベースとは何でしょうか?
Database hay cơ sở dữ liệu là một trong những khái niệm cơ bản và quan trọng nhất trong phát triển phần mềm.
Vậy database là gì? Cơ sở dữ liệu là gì?
簡単に言うと、データベースとは、情報を保存・管理し、必要なときに簡単に検索・更新・共有できる場所のことです。
Nói đơn giản, database là nơi lưu trữ và quản lý thông tin, để bạn có thể dễ dàng tìm kiếm, cập nhật và chia sẻ khi cần.
この記事では、プログラミングやソフトウェア開発の知識があまりない初心者の方にも分かりやすく、データベースについて解説します。データベースについて知りたい方は、ぜひ参考にしてみてください。
Trong bài viết này, mình sẽ giải thích về Database một cách đơn giản, dành cho những người mới bắt đầu, chưa có nhiều kiến thức về lập trình phát triển phần mềm. Nếu bạn muốn tìm hiểu về database thì hãy thử tham khảo bài viết này nhé.
データベースとは?なぜデータベースが必要なのか?
Database là gì? Tại sao cần có Database?
データベース(Database、データベース)は、情報を体系的に保存・整理し、簡単にアクセス、検索、管理できるようにしたものです。
Database (cơ sở dữ liệu) là nơi lưu trữ và tổ chức thông tin một cách có hệ thống để có thể dễ dàng truy cập, tìm kiếm và quản lý.
例えば、本屋を経営しているとしましょう。本の情報をいくつものノートに書き込むと、探すのに時間がかかり、間違いも起こりやすくなります。しかし、すべての本のデータ(タイトル、著者、価格、在庫数)が一つのデータベースに保存されていれば、必要な情報を簡単に見つけられます。
Hãy tưởng tượng bạn có một cửa hàng sách. Nếu bạn ghi thông tin sách vào nhiều cuốn sổ khác nhau, việc tìm kiếm sẽ mất thời gian và dễ nhầm lẫn. Nhưng nếu tất cả dữ liệu sách (tên, tác giả, giá, số lượng) được lưu trong một cơ sở dữ liệu, bạn sẽ dễ dàng tìm ra thông tin cần thiết.
データベースの主なメリット:
- データが失われたり破損したりするのを防ぎます。
- 必要な情報を数秒で検索できます。
- 複数の人が同時にデータにアクセスできます。
- データの追加、編集、削除、追跡が容易です。
Các lợi ích chính của Database:
- Tránh việc dữ liệu bị mất mát hoặc hỏng hóc.
- Chỉ mất vài giây để tìm đúng thông tin.
- Nhiều người có thể cùng truy cập dữ liệu.
- Dễ dàng thêm, sửa, xóa và theo dõi dữ liệu.
よく使われるデータベースの種類
Các loại Database phổ biến

1. リレーショナルデータベース
Cơ sở dữ liệu quan hệ (Relational Database – RDB)
リレーショナルデータベースは、行(row)と列(column)を持つ*表(テーブル)形式でデータを保存するタイプのデータベースです。複数のテーブルはキー(key)を使って相互に関連付けることができます。
Cơ sở dữ liệu quan hệ là loại cơ sở dữ liệu lưu trữ dữ liệu trong các bảng (table) có hàng và cột. Các bảng này có thể liên kết với nhau thông qua khóa (key).
例えば、小さなお店を経営しているとしましょう。顧客のリストと注文のリストを持つことになります。これらの情報を以下のようなテーブルとして管理します。
- 顧客テーブル:顧客ID、顧客名、住所、電話番号
- 注文テーブル:注文ID、注文日、商品名、数量、顧客ID
Ví dụ khi bạn kinh doanh một cửa hàng nhỏ, bạn sẽ có tập hợp danh sách các khách hàng và tập hợp các đơn đặt hàng. Những thông tin này bạn lưu trữ dưới dạng bảng ví dụ như
- Bảng khách hàng: mã khách hàng, tên khách hàng, địa chỉ, số điện thoại
- Bảng đơn đặt hàng: mã đơn đặt hàng, ngày đặt hàng, sản phẩm, số lượng, mã khách hàng
この2つのテーブルは「顧客ID」で紐付けられ、どの顧客がどの注文を行い、どの商品を何個購入したかを簡単に検索できます。
Hai bảng này liên kết với nhau qua mã khách hàng, giúp bạn dễ dàng tìm kiếm khách hàng nào đã đặt đơn hàng nào, sản phẩm gì với số lượng bao nhiêu.
リレーショナルデータベースは、構造が明確なデータを管理しやすく、データの整合性を保つのに適しています。
Với cơ sở dữ liệu quan hệ, bạn dễ quản lý dữ liệu có cấu trúc rõ ràng, đảm bảo tính toàn vẹn dữ liệu.
しかし、データ構造が変更される場合には柔軟性に欠けます。例えば、テーブルに新しい列を追加したり削除したりする場合、既存データ全体を更新する必要があり、大規模データベースではシステムが一時的に停止する可能性があります。
Nhưng nó lại không linh hoạt khi dữ liệu thay đổi cấu trúc. Ví dụ khi thêm cột mới hoặc xoá cột trong bảng, cần cập nhật lại toàn bộ dữ liệu đã có, điều này có thể làm gián đoạn hệ thống, đặc biệt với cơ sở dữ liệu lớn.
2. 非リレーショナルデータベース(NoSQL Database)
Cơ sở dữ liệu phi quan hệ (NoSQL Database)
非リレーショナルデータベースは、表形式ではなくさまざまなデータモデルで情報を保存するタイプのデータベースです。例えば、キーと値(key-value)形式で保存するRedisやDynamoDB、ドキュメント形式(JSON)で保存するMongoDBなどがあります。
Cơ sở dữ liệu phi quan hệ là loại cơ sở dữ liệu không lưu trữ dưới dạng cấu trúc bảng mà sử dụng nhiều mô hình dữ liệu khác nhau. Ví dụ như lưu trữ ở dạng key-value (Redis, DynamoDB), hoặc lưu trữ dưới dạng tài liệu như JSON (MongoDB),…
NoSQLデータベースは、データ構造が頻繁に変わる場合や、大量データを扱い、かつ容易にスケール(拡張)したい場合に向いています。ただし、一貫性が保証されない、複雑なクエリ処理が苦手などのデメリットもあります。
Cơ sở dữ liệu phi quan hệ sẽ phù hợp trong trường hợp cấu trúc dữ liệu thay đổi thường xuyên, khối lượng dữ liệu lớn, cần mở rộng dễ dàng. Tuy nhiên, NoSQL có một số nhược điểm như thiếu tính nhất quán, hạn chế trong các truy vấn phức tạp.
リレーショナルデータベースとは?
Relational Database là gì?

リレーショナルデータベース(RDB)とは、行(row)と列(column)を持つ表(テーブル)形式で情報を保存するデータベースのことです。複数のテーブルはキー(key)を通じて関連付けることができます。
Relational Database (Cơ sở dữ liệu quan hệ) là loại cơ sở dữ liệu lưu trữ thông tin theo dạng bảng (table) gồm hàng (row) và cột (column). Các bảng này có thể liên kết với nhau thông qua khóa (key).
ソフトウェア開発プロジェクトでは、構造が明確で管理しやすく、データ検索も効率的なため、最もよく使われるデータベースです。
Trong các dự án phát triển phần mềm, đây là loại cơ sở dữ liệu phổ biến nhất vì cấu trúc rõ ràng, dễ quản lý, dễ truy vấn dữ liệu.
ソフトウェア開発プロジェクトでは、構造が明確で管理しやすく、データ検索も効率的なため、最もよく使われるデータベースです。
Trong các dự án phát triển phần mềm, đây là loại cơ sở dữ liệu phổ biến nhất vì cấu trúc rõ ràng, dễ quản lý, dễ truy vấn dữ liệu.
関係データベースの基本用語
Các khái niệm cơ bản trong Relational Database
- テーブル(Table)
行と列で構成されたデータの集まり。
例:「顧客テーブル」「商品テーブル」。 - Table (Bảng)
Là tập hợp dữ liệu được tổ chức theo hàng (row) và cột (column). Ví dụ: Bảng “Khách hàng”, Bảng “Sản phẩm”. - フィールド(Field)
テーブルに保存される情報の種類。
例:顧客テーブルには「顧客ID」「名前」「年齢」「住所」「電話番号」カラムを持ちます。 - Field (Cột)
Là loại thông tin được lưu trữ trong bảng. Ví dụ: Bảng “Khách hàng” chứa các cột Mã khách hàng, Tên Khách hàng, Tuổi, Địa chỉ, Số điện thoại - レコード(Record)
テーブル内の特定の1行のデータ。
例:「Nguyen Van A、30歳、ハノイ在住」のような1人の顧客情報。 - Record (Bản ghi)
Là một dòng dữ liệu cụ thể trong bảng. Ví dụ: Một khách hàng tên “Nguyễn Văn A”, 30 tuổi, sống ở Hà Nội. - テーブル間の関係
リレーショナルデータベースには、主に3つの関係タイプがあります。- 1対1(One-to-One): あるテーブルの1つのレコードは、他のテーブルの1つのレコードだけと関連します。 例: 1人の顧客は1枚の会員カードしか持たない。
- 1対多(One-to-Many): あるテーブルの1つのレコードが、他のテーブルの複数のレコードと関連します。 例: 1人の顧客は複数の注文を行うことができる。
- 多対多(Many-to-Many): あるテーブルの1つのレコードが、他のテーブルの複数のレコードと関連し、逆も同様に複数と関連します。 例: 1つの商品が複数の注文に含まれることがあり、1つの注文に複数の商品が含まれる場合もある。
- Mối quan hệ giữa các bảng
Có 3 kiểu mối quan hệ chính trong cơ sở dữ liệu quan hệ:- 1:1 (One-to-One) – Một bản ghi (record) trong bảng này chỉ liên kết với một bản ghi duy nhất trong bảng kia.
Ví dụ: Một khách hàng chỉ có một thẻ thành viên. - 1:n (One-to-Many) – Một bản ghi trong bảng này có thể liên kết với nhiều bản ghi trong bảng khác.
Ví dụ: Một khách hàng có thể đặt nhiều đơn hàng. - n:n (Many-to-Many) – Một bản ghi trong bảng này có thể liên kết với nhiều bản ghi trong bảng khác và ngược lại.
Ví dụ: Một sản phẩm có thể thuộc nhiều đơn hàng, và một đơn hàng có thể chứa nhiều sản phẩm.
- 1:1 (One-to-One) – Một bản ghi (record) trong bảng này chỉ liên kết với một bản ghi duy nhất trong bảng kia.
- 主キー(Primary Key)
各レコードを一意に識別するための値。 - Primary Key (Khóa chính)
Là giá trị định danh duy nhất cho mỗi bản ghi trong bảng, giúp phân biệt các bản ghi với nhau. - 外部キー(Foreign Key)
他のテーブルとの関連付けに使う列。例:「注文テーブル」の「顧客ID」は外部キーとして、「顧客テーブル」の「顧客ID」と関連付けられる。 - Foreign Key (Khóa ngoại)
Là cột dùng để liên kết bảng này với bảng khác. Ví dụ: “Mã khách hàng” trong bảng đơn hàng là khóa ngoại, liên kết với “Mã khách hàng” trong bảng khách hàng.
顧客テーブル
Bảng khách hàng
| 顧客ID Mã khách hàng | 名前 Tên khách hàng | 住所 Nơi ở |
| 1 | Nguyễn Văn An | Hà Nội |
| 2 | Trần Quốc Bình | Hồ Chí Minh |
| 3 | Hoàng Trung Kiên | Hải Phòng |
注文テーブル
Bảng đơn hàng
| 注文ID Mã đơn hàng | 顧客ID Mã khách hàng | 注文日 Ngày đặt hàng | 金額 Số tiền |
| 1 | 2 | 12/06/2024 | 200.000 |
| 2 | 1 | 13/06/2024 | 300.000 |
| 3 | 5 | 13/06/2024 | 100.000 |