30/09/2018, 18:25

MySQL - Stored Procedures, Triggers và ứng dụng thực tế trong website

Ai học về CSDL chắc đều biết mấy cái này. Nhưng mà ứng dụng nó vào thực tế như thế nào thì e chưa thấy bao giờ. Kể từ lúc học ra trường tới bây giờ.

E có viết web linh tinh làm trên Joomla nhưng không thấy CSDL có xài Stored Procedures, Triggers. Mổ xẻ coi bên CSDL bên WordPress cũng không thấy có.

E muốn hỏi là Stored Procedures, Triggers người ta có thường xài cho website ko ? Và có thì xài nó cho mục đích nào, trường hợp nào ? Có VD hay mẫu cụ thể thì hay quá

À, còn cái vấn đề tạo Views nữa. K thấy xài trong website ??

vũ xuân quân viết 20:28 ngày 30/09/2018

bạn có làm nhiều về database không. Ví dụ như thiết kế database, viết câu sql.
Bạn học ở trường như thế nào thì đi làm cũng như vậy thôi.

Đá Cuội viết 20:40 ngày 30/09/2018

Làm việc với database cũng không nhiều. Chỉ có viết mấy câu SQL truy vấn lấy dữ liệu mấy bài viết thôi ạ. Mấy câu CRUD để làm 1 cái blog.
Trường dạy Stored Procedures là gì Trigger gì. Ngoài ra e chả biết nó dứng dụng thực tế như thế nào, khi nào cần dùng nó và k cũng biết nó kết nối với PHP chạy ra sao

Nguyen Ca viết 20:27 ngày 30/09/2018

Có, đặt biệt là back end:
Stored Procedures: mục đích là nhanh và an toàn hơn. câu CRUD mà dài ngoằn sài store là bình thường
Trigger thường dùng để tinh toán tự động hay hoặc dùng để audit table vừa cập nhật(ghi lại log)

vũ xuân quân viết 20:33 ngày 30/09/2018

dùng joomla và WordPress ở mức người dùng hoặc trên 1 tí xíu thì làm sao thấy được mấy cái đó.
Tập tành viết 1 plugin riêng trong Joomla hoặc WordPress xem sao.
Mình thì không rành 2 thứ trên nên chỉ khuyên vậy thôi.
Stored Procedures và Triggers lý thuyết thì có nhiều đó thôi, có thể kiếm trên mạng. Còn áp dụng như thế nào thì cần có kinh nghiệm đã làm nhiều dự án dính vô 2 cái trên thì thấy được cái lợi và cái hại của nó.

Giang Nguyen viết 20:35 ngày 30/09/2018

Trigger dùng khi có nhiều constraint trong database. Ví dụ như xóa 1 người dùng thì sẽ phải xóa tất cả các bảng khác có foreign key đến người dùng đó. Nếu không có trigger, bạn sẽ phải thực hiện delete trên từng bảng. Còn nếu có trigger thì bạn chỉ cần 1 query delete người dùng đó, mọi thứ liên quan sẽ được xóa tự động.

View là để select dữ liệu từ nhiều bảng phức tạp ra 1 bảng, đỡ tốn công viết query dài trong phần mềm thôi. Nói thật là mấy ứng dụng nhỏ hoặc database không quá nhiều bảng thì mình cũng không dùng đến cái này.

Procedure nó gần như là 1 hàm trong lập trình ấy, nó có thể nhận tham số. Ví dụ như xóa tất cả các record có ngày tạo nhỏ hơn 1 ngày nào đó mà người dùng nhập vào từ ứng dụng. Cái này mình hay dùng để xóa record quá cũ trong database để đỡ tốn dung lượng server.

Bài liên quan
0