1. Trang chủ
  2. » Luận Văn - Báo Cáo

Quản lý giao tác khái niệm và tính chất của giao tác

18 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Khái Niệm Và Tính Chất Của Giao Tác
Tác giả Huỳnh Hữu Đức, Nguyễn Thành Phát, Đoàn Quang Minh, Đặng Văn Trọng
Định dạng
Số trang 18
Dung lượng 844,87 KB

Nội dung

Quản Lý Giao Tác NHĨM Thành Viên Nhóm 01 02 Huỳnh Hữu Đức Nguyễn Thành Phát MSSV: 2001207422 MSSV:2001207178 04 05 Đoàn Quang Minh Đặng Văn Trọng MSSV: 2001202153 MSSV: 2001202153 Quan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tac Khái niệm tính chất giao tác Quan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tac Quan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tac 01 Khái niệm giao tác Quan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tac Quan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tac Một giao tác (transaction) hành động hay chuỗi hành động truy cập vào CSDL làm thay đổi nội dung CSDL, giao tác đưa người sử dụng hay chương trình ứng dụng Quan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tac Quan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tac Một số thuật ngữ liên quan đến giao tác: Begin [transaction/tran] : bắt đầu transaction Commit [transaction/tran] : hoàn tất transaction Rollback [transaction/tran] : quay lui, hủy bỏ toàn phần giao tác thực trước Quan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tac Quan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tac 02 Các tính chất giao tác Quan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tac Quan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tac Để đảm bảo tính quán liệu, hệ QTCSDL cần đảm bảo tính chất sau cho giao tác, tính chất ACID Quan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tac Quan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tac Tính ngun tố (Atomicity): tồn thao tác giao tác thực không thao tác chúng thực Một giao tác đơn vị công việc khơng thể phân chia Quan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tac Quan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tac Tính qn (Consistency): giao tác phải chuyển CSDL từ trạng thái quán sang trạng thái quán khác Tính lập (Isolation): Các giao tác phải thực cách độc lập với Nói cách khác tác động giao tác thấy giao tác khác, giao tác chưa thực xong hồn tồn Tính bền vững (Durability): thay đổi CSDL tác động giao tác thành công bền vững, không bị Quan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tac Quan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tac Các vấn đề xử lý truy xuất đồng thời: Quan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tac Quan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tac Giả sử có transaction truy xuất đồng thời đơn vị liệu Có tất trường hợp sau: Quan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tac Quan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tac Giả sử có transaction truy xuất đồng thời đơn vị liệu Có tất trường hợp sau: Khi có transaction (của connection khác nhau) có thao tác ghi đơn vị liệu xảy tình trạng tranh chấp Nếu để tình trạng tranh chấp xảy dẫn đến sai sót CSDL Để giải vấn đề tranh chấp nêu trên, hệ quản trị sở liệu cần sử dụng phương thức khóa, nhờ mà có tranh chấp xảy hệ quản trị sở liệu định transaction thực transaction phải chờ Quan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tac Quan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tac Trong mơi trường truy xuất đồng thời, xảy số vấn đề sau: Mất liệu cập nhật (Lost update) Trường hợp xảy nhiều transaction update row từ giá trị ban đầu nó, Update cuối ghi đè update transaction khác dẫn đến liệu Quan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tac Quan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tac Trong môi trường truy xuất đồng thời, xảy số vấn đề sau: Đọc phải liệu rác (Dirty read) Tác động xảy transaction A đọc row update transaction B khác chưa commit Transaction A đọc liệu chưa commit Quan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tac Quan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tac Trong môi trường truy xuất đồng thời, xảy số vấn đề sau: Đọc phải liệu rác (Dirty read) Ví dụ người A tài khoản có triệu thực giao dịch để nạp vào triệu cho tài khoản Transaction chạy update xong tài khoản lên triệu số thao tác chưa chạy tới liệu chưa commit người B khác dùng chung tài khoản thực kiểm tra số dư, kết trả triệu Giao dịch người A xảy cố báo lỗi, liệu roll back triệu Như người B nhận liệu sai Quan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tac Quan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tac Trong mơi trường truy xuất đồng thời, xảy số vấn đề sau: Khơng thể đọc lại (Unrepeatable data) Tình trạng xảy giao tác T1 vừa thực xong thao tác đọc đơn vị liệu (nhưng chưa commit) giao tác khác (T2) lại thay đổi (ghi) đơn vị liệu Điều làm cho lần đọc sau T1 khơng cịn nhìn thấy liệu ban đầu Quan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tac Quan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tac Quan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tacQuan.ly.giao.tac.khai.niem.va.tinh.chat.cua.giao.tac

Ngày đăng: 24/12/2023, 16:07

w