Mô hình hóa dữ liệu trong lập trình mạng (tiếp tục)
Điển hình thì, cái này được hoàn thành sử dụng một cài loại ngôn ngữ data modeling, cái chuyên để mô tả các bó hẹp
này và các mối quan hệ giữa dữ liệu. Những cái này thường được phát triển trong liên kết với các ứng dụng (i.e
một API server) được thiết kế để sử dụng data model đó. Một cách tiếp cận như vậy cung cấp cho chúng ta các lợi
thế và khả năng then chốt, đặc biệt bên trong domain tự động hóa mạng.
+ Các data models có thể thường là ngôn ngữ bất khả tri. Nhiều ứng dụng có thể sử dụng cùng model (e.g Python API
client và một Go API server). Ngoài ra, bạn chỉ có một nơi để xem hay cập nhật data model.
+ Cách tiếp cận này tập trung vào dữ liệu, không phải ứng dụng. Cái này làm nó dễ dàng hơn cho những nondevelopers
(hay những nhà phát triển người chuyên trong các ngôn ngữ khác nhau) để hiểu data model, mà không phải lo lắng
về cú pháp tùy theo ngôn ngữ.
+ Nhiều kĩ thuật data modeling cung cấp một cách thức để khởi tạo code ứng dụng cái buộc các bó hẹp này. Cái này
có thể cực kì hữu dụng cho làm việc với API nếu bạn có data model, bạn có thể tự động khởi tạo code để sản xuất
đáng tin cậy một payload đúng cho một lời gọi API.
Ví dụ về data modeling trong thực hành là database schema, cái được sử dụng để mô tả tổ chức và cấu trúc của dữ
liệu bên trong một CSDL. Các schema này cho phép bạn mô tả các bảng dữ liệu, cái bao gồm các cột của một dạng dữ
liệu cụ thể, nhưng cũng cho phép bạn chỉ ra các mối quan hệ giữa dữ liệu, và các bó hẹp như tính duy nhất của một
giá trị cụ thể. Ví dụ, trong các hệ thống CSDL quan hệ primary key là một thiết kế đặc biệt mô tả một cột các
giá trị cái có thể được sử dụng để nhận dạng duy nhất hàng tới nó các giá trị đó thuộc về. Các primary keys
thường buộc một bó hẹp duy nhất như vậy; một cố gắng điền một dòng mới với một giá trị primary key cái đã tồn
tại cho dòng khác sẽ bị bác bỏ.