SQLAlchemy - Giới thiệu
SQLAlchemy là một bộ công cụ SQL phổ biến và Object Relational Mapper. Nó được viết bằngPythonvà cung cấp toàn bộ sức mạnh và tính linh hoạt của SQL cho một nhà phát triển ứng dụng. Nó là mộtopen source và cross-platform software phát hành theo giấy phép MIT.
SQLAlchemy nổi tiếng với trình ánh xạ quan hệ đối tượng (ORM), sử dụng nó, các lớp có thể được ánh xạ tới cơ sở dữ liệu, do đó cho phép mô hình đối tượng và lược đồ cơ sở dữ liệu phát triển theo cách tách biệt rõ ràng ngay từ đầu.
Khi kích thước và hiệu suất của cơ sở dữ liệu SQL bắt đầu có vấn đề, chúng hoạt động ít giống như các bộ sưu tập đối tượng. Mặt khác, khi tính trừu tượng trong các bộ sưu tập đối tượng bắt đầu quan trọng, chúng hoạt động ít giống như bảng và hàng. SQLAlchemy nhằm đáp ứng cả hai nguyên tắc này.
Vì lý do này, nó đã sử dụng data mapper pattern (like Hibernate) rather than the active record pattern used by a number of other ORMs. Cơ sở dữ liệu và SQL sẽ được nhìn theo một góc độ khác khi sử dụng SQLAlchemy.
Michael Bayer là tác giả ban đầu của SQLAlchemy. Phiên bản đầu tiên của nó được phát hành vào tháng 2 năm 2006. Phiên bản mới nhất được đánh số là 1.2.7, được phát hành gần đây nhất vào tháng 4 năm 2018.
ORM là gì?
ORM (Object Relational Mapping) là một kỹ thuật lập trình để chuyển đổi dữ liệu giữa các hệ thống kiểu không tương thích trong ngôn ngữ lập trình hướng đối tượng. Thông thường, hệ thống kiểu được sử dụng trong ngôn ngữ Hướng đối tượng (OO) như Python chứa các kiểu không vô hướng. Chúng không thể được biểu thị dưới dạng các kiểu nguyên thủy như số nguyên và chuỗi. Do đó, lập trình viên OO phải chuyển đổi các đối tượng trong dữ liệu vô hướng để tương tác với cơ sở dữ liệu phụ trợ. Tuy nhiên, các kiểu dữ liệu trong hầu hết các sản phẩm cơ sở dữ liệu như Oracle, MySQL, v.v., là chính.
Trong hệ thống ORM, mỗi lớp ánh xạ tới một bảng trong cơ sở dữ liệu bên dưới. Thay vì tự viết mã giao tiếp cơ sở dữ liệu tẻ nhạt, ORM sẽ giải quyết những vấn đề này cho bạn trong khi bạn có thể tập trung vào việc lập trình logic của hệ thống.
SQLAlchemy - Thiết lập môi trường
Hãy để chúng tôi thảo luận về thiết lập môi trường cần thiết để sử dụng SQLAlchemy.
Bất kỳ phiên bản Python nào cao hơn 2.7 đều cần thiết để cài đặt SQLAlchemy. Cách dễ nhất để cài đặt là sử dụng Trình quản lý gói Python,pip. Tiện ích này được đóng gói với phân phối chuẩn của Python.
pip install sqlalchemy
Sử dụng lệnh trên, chúng ta có thể tải xuống latest released versioncủa SQLAlchemy từ python.org và cài đặt nó vào hệ thống của bạn.
Trong trường hợp phân phối anaconda của Python, SQLAlchemy có thể được cài đặt từ conda terminal sử dụng lệnh dưới đây -
conda install -c anaconda sqlalchemy
Cũng có thể cài đặt SQLAlchemy từ mã nguồn bên dưới -
python setup.py install
SQLAlchemy được thiết kế để hoạt động với một triển khai DBAPI được xây dựng cho một cơ sở dữ liệu cụ thể. Nó sử dụng hệ thống phương ngữ để giao tiếp với nhiều kiểu triển khai DBAPI và cơ sở dữ liệu. Tất cả các phương ngữ đều yêu cầu phải cài đặt trình điều khiển DBAPI thích hợp.
Sau đây là các phương ngữ được bao gồm:
- Firebird
- Microsoft SQL Server
- MySQL
- Oracle
- PostgreSQL
- SQLite
- Sybase
Để kiểm tra xem SQLAlchemy có được cài đặt đúng cách hay không và để biết phiên bản của nó, hãy nhập lệnh sau vào dấu nhắc Python:
>>> import sqlalchemy
>>>sqlalchemy.__version__
'1.2.7'