Database
Bài đăng này đã không được cập nhật trong 8 năm
Cơ sở dữ liệu (CSDL) trong Ruby on Rails
Mặc định, Ruby on rails sử dụng SQLite, tuy nhiên, SQLite có nhiều hạn chế, nên trong các dự án thực tế, đa phần sử dụng MySQL và PostgreSQL.
1.MySQL Workbench
Là phần mềm giúp ta tương tác với dữ liệu trong MySQL thông qua giao diện => quản lý dữ liệu trực quan hơn.
Ngoài ra, ta còn có thể thiết kế CSDL, sinh biểu đồ quan hệ (Enhanced entity–relationship (EER) diagram), import, export db,... và nhiều thứ hay ho hữu ích khác. Việc sử dụng thành thạo MySQL Workbench cũng là 1 trong những kỹ năng cơ bản của lập trình viên (tương tự như git vậy).
2.bject Relationship Mapping(ORM)
Là 1 dạng ánh xạ từng hàng (record) trong csdl vào đối tượng trong ngôn ngữ lập trình. Trong Ruby on rails thì đối tượng này chính là Model. Model hay các đối tượng được ánh xạ này sẽ đảm nhiệm việc tương tác với CSDL luôn, ta sẽ gần như không phải viết các câu lệnh SQL thuần nữa. Vd: Ta có bảng users với 3 trường: id, name, email, thì ta sẽ có đối tượng (Model) User tương ứng với các thuộc tính: id, name, email. Muốn tạo 1 record User thì chỉ việc tạo 1 đối tượng User sau đó lưu là xong.
Lợi**
Mọi thao tác CSDL giờ làm trên đối tượng hết nên sẽ giảm được những rườm rà, rắc rối khi làm việc trực tiếp với SQL, do đó sẽ giảm thời gian làm việc. Code ngắn gọn, dễ hiể, dễ bảo trì hơn, từ đó sẽ tăng tốc độ, hiệu suất làm việc.
Hại
Trong đa số trường hợp, tốc độ thực thi của ORM sẽ chậm hơn các câu lệnh SQL thuần.
Khả năng customize, lồng...các câu query phức tạp còn hạn chế, và tất nhiên phụ thuộc vào framework.
Lập trình viên được ORM support tận răng, sướng quá thì đâm ra bị phụ thuộc vào nó, và đôi khi quên mất bản chất thực sự của CSDL, dễ dẫn đến tình huống gặp lỗi nhưng không biết đường sửa.
Mỗi ORM framework có 1 các vận hành, bộ cú pháp riêng, nên lập trình viên sẽ phải bỏ thời gian để tiếp cận.
ORM trong Ruby on Rails:
Active Record chính là ORM framework của Ruby on Rails. Active Record hỗ trợ khá tốt ORM, tuy nhiên, gần đây có nhiều ORM framework khác nổi lên cũng khiến ta phải cân nhắc
Rails console (RC)
Là cầu nối rất hữu ích để ta có thể chạy các lệnh của rails và của app mình ngay trong cửa sổ dòng lệnh.
Vd: để kiểm tra xem có bao nhiêu User đang đăng ký bằng mạng xã hội, thay vì phải viết 1 controller làm việc đó thì ta có thể vào RC và viết 1 câu lệnh đơn giản.
RC đặc biệt hữu dụng trong việc kiểm tra, tương tác trực tiếp với CSDL, debug hay test thử các hàm, các đoạn lệnh bạn mới viết.
All rights reserved