
Mô hình cơ sở dữ liệu xác định cấu trúc logic của cơ sở dữ liệu và xác định cách thức dữ liệu được lưu trữ, tổ chức và thao tác trên cơ sở cơ bản. Trước khi cơ sở dữ liệu được thiết kế, cách duy nhất lưu trữ dữ liệu là lưu trữ tệp (file storage), làm tăng độ phức tạp vì lập trình viên phải tốn nhiều công sức để trích xuất dữ liệu, và chương trình của họ phải thực hiện phân tích cú pháp và liên kết phức tạp.
Có nhiều ngôn ngữ như Perl xử lý văn bản dễ dàng hơn nhờ biểu thức chính quy mạnh mẽ. Tuy nhiên, truy cập dữ liệu từ tệp vẫn là tác vụ phức tạp. Không có cách tiêu chuẩn để truy cập dữ liệu, dẫn đến hệ thống dễ bị lỗi, phát triển chậm hơn, và khó bảo trì hơn. Có vấn đề dư thừa dữ liệu (dữ liệu bị sao chép không cần thiết) và toàn vẹn dữ liệu kém (dữ liệu không được thay đổi ở tất cả các vị trí, dẫn đến cung cấp dữ liệu sai hoặc lỗi thời).
Để giải quyết các vấn đề đó, các hệ thống quản trị cơ sở dữ liệu (DBMS) được phát triển cung cấp cách tiêu chuẩn và tin cậy để truy cập và cập nhật dữ liệu. Có một lớp trung gian giữa ứng dụng và dữ liệu, lập trình viên có thể tập trung phát triển ứng dụng thay vì lo lắng về vấn đề truy cập dữ liệu.
Do đó, chúng ta có thể định nghĩa mô hình cơ sở dữ liệu là một mô hình logic liên quan đến cách dữ liệu được biểu diễn. Người thiết kế cơ sở dữ liệu quan tâm đến cấp độ khái niệm cao hơn thay vì lo lắng về lưu trữ vật lý của dữ liệu, thu hẹp khoảng cách giữa vấn đề thực tế mà ứng dụng được phát triển cho và việc triển khai kỹ thuật.
Mô hình dữ liệu được dùng để tổ chức các phần tử dữ liệu và chuẩn hóa mối quan hệ giữa các phần tử dữ liệu. Vì các phần tử dữ liệu được dùng để ghi chép con người, địa điểm, sự vật thực tế và các sự kiện giữa chúng đại diện cho thực tế, ví dụ: một tòa nhà có nhiều cửa sổ, hoặc một con chó có hai mắt. Mô hình giúp cấu trúc dữ liệu, cùng với đó nó cũng định nghĩa tập các thao tác có thể thực hiện trên dữ liệu. Một DBMS cho trước có thể cung cấp nhiều hơn một mô hình. Cấu trúc tốt nhất phụ thuộc vào tổ chức tự nhiên của dữ liệu ứng dụng và yêu cầu của các ứng dụng liên quan, một số yếu tố:
- tốc độ giao dịch (transaction rate),
- độ tin cậy (reliability),
- khả năng bảo trì (maintainability),
- khả năng mở rộng (scalability),
- chi phí (cost).
MÔ HÌNH PHẲNG (FLAT/TABLE MODEL) là mô hình dữ liệu phổ biến và đơn giản nhất, bao gồm một mảng hai chiều đơn lẻ các phần tử dữ liệu, trong đó tất cả thành viên của một cột đại diện cho các giá trị tương tự, và tất cả thành viên của một hàng đại diện cho quan hệ với nhau. Ví dụ: cột dùng cho tên và mật khẩu là một phần của cơ sở dữ liệu bảo mật hệ thống. Mỗi hàng chứa mật khẩu cụ thể liên kết với người dùng cụ thể. Cột của bảng chứa kiểu định nghĩa dữ liệu ký tự, thông tin ngày/giờ, số nguyên, hoặc số thực.
Bây giờ chúng ta có thể nói cơ sở dữ liệu tệp phẳng (flat file database) là cơ sở dữ liệu lưu trữ một tệp thông thường phi cấu trúc cũng gọi là "tệp phẳng". Toàn bộ tệp được tải vào bộ nhớ máy tính để truy cập cấu trúc dữ liệu và thao tác trên hệ thống máy tính trở nên dễ dàng. Sau khi các thao tác cơ sở dữ liệu hoàn tất, tệp thoát ra khỏi hệ thống máy tính và chuyển sang hệ thống tệp của máy chủ. Chế độ này gọi là "phẳng" vì nó không có cấu trúc lập chỉ mục và thường không có quan hệ cấu trúc giữa các bản ghi.
Mô hình phẳng phù hợp nhất cho cơ sở dữ liệu nhỏ, đơn giản. Khi kích thước dữ liệu tăng, truy cập bộ nhớ trở nên khó khăn và yêu cầu cơ sở dữ liệu tinh vi hơn. Danh sách tên, số liên lạc, địa chỉ, thành phố viết tay là cơ sở dữ liệu tệp phẳng. Nếu cùng thông tin được ghi trên bảng tính thì có thể dùng trực tuyến với khả năng tìm kiếm cải tiến. Người ta cũng có thể chuyển dữ liệu bằng mô hình cơ sở dữ liệu tệp phẳng.
VÍ DỤ CƠ SỞ DỮ LIỆU
Ví dụ sau minh họa các yếu tố cơ bản của cơ sở dữ liệu tệp phẳng. Nó bao gồm một chuỗi cột và hàng được tổ chức thành bảng.
Các cột bao gồm tên (tên người, cột thứ hai); đội (tên đội thể thao được người đó ủng hộ, cột thứ ba); và ID số duy nhất (dùng để xác định duy nhất bản ghi, cột thứ nhất).
Loại biểu diễn dữ liệu sau đây khá tiêu chuẩn cho cơ sở dữ liệu tệp phẳng:
| ID | TÊN | ĐỘI |
|---|---|---|
| 101 | Abhinav | Blues |
| 102 | Aditya | Blues |
| 103 | Anjali | Pink |
| 104 | Bhavna | Pink |
| 105 | Charu | Pink |
| 106 | Divy | Blues |
| 107 | Disha | Pink |
| 108 | Eashan | Blues |
| 109 | Gauri | Pink |