ORM (Ánh xạ quan hệ đối tượng): tự động ghi dữ liệu

ORM (cơ sở dữ liệu và logo mã nguồn)

Bạn đã bao giờ nghĩ hoặc cần chuyển dữ liệu từ các đối tượng mã nguồn của mình vào mục lục hoặc cơ sở dữ liệu chưa? Sẽ rất thực tế nếu có một công cụ có thể làm điều đó tự động mà không phải làm thủ công, phải không? Nhưng để điều đó có thể thực hiện được, những giá trị đó phải ở định dạng thích hợp. Nếu bạn cần làm điều này, bạn phải biết ORM (Ánh xạ quan hệ đối tượng).

Với ORM, dữ liệu của các đối tượng của bạn sẽ được chuyển sang một định dạng đúng để có thể lưu tất cả thông tin đó vào cơ sở dữ liệu bằng cách ánh xạ chúng. Điều đó tạo ra một cơ sở dữ liệu ảo nơi các giá trị được tìm thấy trong ứng dụng mà bạn đã tạo trong mã của mình, và do đó được liên kết với cơ sở dữ liệu này để cung cấp cho họ sự kiên trì và đăng ký họ theo cách đơn giản này. Điều này giúp cho thông tin đã ghi được tồn tại lâu dài để nó có thể được lưu trữ, phân tích, ghi lại hoặc sử dụng sau này.

qua ejemploHãy tưởng tượng rằng bạn có một chương trình Python phụ trách việc đọc các giá trị từ cảm biến DHT11 ghi lại nhiệt độ và độ ẩm. Nhưng bạn không muốn ghi lại những giá trị này từ một môi trường. Theo một cách đơn giản, bạn có thể tạo một mã nguồn để lập trình những gì bạn cần và đọc các giá trị do cảm biến lấy và hiển thị chúng trên màn hình. Nhưng điều gì sẽ xảy ra nếu bạn muốn lưu trữ các giá trị để phân tích khi các đỉnh của các giá trị này đã xảy ra hoặc cho bất kỳ tiện ích nào khác?

Trong trường hợp đó, bạn nên có khả năng lưu cùng lúc dữ liệu đó trong cơ sở dữ liệu và đây là lúc ORM có ích. Ngoài dự án DIY của bạn bạn có thể lưu trữ những gì bạn cần và xử lý các giá trị theo cách thủ công hoặc thông qua phần mềm khác nhờ thực tế là bạn đã nắm bắt chúng trong cơ sở dữ liệu ...

ORM là gì?

El ánh xạ quan hệ đối tượng hoặc ORM đối với từ viết tắt của nó trong tiếng Anh, nó là một kỹ thuật lập trình được sử dụng để biến đổi dữ liệu được sử dụng trong ngôn ngữ lập trình hướng đối tượng hoặc chương trình và cơ sở dữ liệu quan hệ (kiểu SQL) như một công cụ bền bỉ. Điều đó sẽ làm cho các giá trị chương trình tạo ra một cơ sở dữ liệu hướng đối tượng ảo để chứa dữ liệu bạn cần.

Nếu bạn đã từng lập trình một ứng dụng được kết nối với cơ sở dữ liệu, bạn sẽ nhận thấy rằng việc biến đổi thông tin để thích ứng với cơ sở dữ liệu là khá khó khăn hoặc ngược lại. Cụ thể, lập bản đồ là một điều tẻ nhạt mà bạn có thể tự động hóa bằng ORM, ngoài việc làm cho nó độc lập với cơ sở dữ liệu bạn muốn sử dụng và bạn thậm chí có thể thay đổi công cụ cơ sở dữ liệu mà không gặp vấn đề gì.

Un ví dụ thực tế là một chiếc xe F1, nơi nó có một loạt các cảm biến đo các giá trị áp suất, nhiệt độ, mức tiêu thụ, RPM, tốc độ, gia tốc, chuyển số, chuyển động lái, dầu, v.v. Tất cả các giá trị này được các kỹ sư nhìn thấy trong thời gian thực trên máy tính của họ nhờ vào phép đo từ xa. Nhưng khi buổi học kết thúc, các kỹ sư cần nghiên cứu và phân tích dữ liệu đó để hiểu cách cải thiện thiết lập, phát triển chiếc xe hoặc nguyên nhân gây ra lỗi. Để có thể thực hiện được điều này, chúng cần được xuất sang cơ sở dữ liệu.

Ưu điểm và nhược điểm của ORM

Như tôi đã nhận xét, với ORM cho phép bạn tóm tắt từ cơ sở dữ liệu và đơn giản hóa đáng kể mã nguồn cần thiết. Việc lập bản đồ sẽ tự động và điều đó có nghĩa là bạn sẽ không gặp nhiều khó khăn khi lập trình. Ngoài sự dễ dàng và tốc độ sử dụng, nó cung cấp bảo mật cho lớp truy cập dữ liệu chống lại các cuộc tấn công.

Nhưng không phải tất cả đều là điều tốt ORM cũng có những mặt trái của nó. Trong môi trường được tải nhiều, nó có thể làm giảm hiệu suất khi bạn thêm một lớp bổ sung vào hệ thống. Nó cũng liên quan đến việc học ORM để bạn có thể sử dụng nó, điều này có thể mất thời gian để hiểu và tận dụng đúng cách.

ORM cho các ngôn ngữ lập trình

Tùy thuộc vào ngôn ngữ lập trình bạn sử dụng bạn có thể sử dụng ORM. Bạn không thể chỉ sử dụng bất kỳ ORM nào, bạn phải sử dụng đúng. Ví dụ:

  • Java: Hibernate, MyBatis, iBatis, Ebean, v.v.
  • NET.: Entity Framework, nHibernate, MyBatis.Net, v.v.
  • PHP: Doctrine, Propel, Rocks, Torpor, v.v.
  • con trăn: Peewee, SQLAlchemy, PonyORM, Elixir, v.v.

Ví dụ với Python và ORM

Peewee là một ORM đơn giản và rút gọn để sử dụng với Python. Bạn có thể lấy thêm thông tin từ trang web chính thức. Ngoài ra, bạn nên biết rằng Peewee hỗ trợ các DBMS khác nhau, tức là một số hệ quản trị cơ sở dữ liệu, chẳng hạn như SQLite, MySQL và Postgresql. Bạn chỉ cần thay đổi khai báo bbdd ban đầu là xong.

Ví dụ, trong hướng dẫn nhanh của bạn hoặc bắt đầu nhanh Từ trang web, bạn có thể xem các ví dụ mã đơn giản với Peewee như sau:

from peewee import *

db = SqliteDatabase('people.db')

class Person(Model):
    name = CharField()
    birthday = DateField()

    class Meta:
        database = db # This model uses the "people.db" database.

Trong trường hợp điều đó có vẻ ít đối với bạn, bạn có thể sử dụng công cụ pwiz, một chương trình lấy các mô hình Peewee từ cơ sở dữ liệu. Ví dụ:

<br data-mce-bogus="1">

python -m pwiz -e postgresql basedatos &gt; modelo.py<br data-mce-bogus="1">


Hãy là người đầu tiên nhận xét

Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.