Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi
    solution
    Đăng nhập
    Đăng nhập

    Đề bài: [SQL 7.2] Kiểm tra toàn vẹn khóa ngoài (dòng mồ côi)

    📖Cần ôn lý thuyết? Đọc bài giảng Buổi 7: Mối quan hệ giữa bảng & Normal Form — khóa SQL

    Khi ràng buộc khóa ngoài bị tắt tạm thời (nạp dữ liệu lớn, import từ hệ thống cũ) hoặc chưa từng được khai báo, bảng con có thể chứa dòng "mồ côi": giá trị khóa ngoài không tồn tại ở bảng cha. Viết một truy vấn báo cáo số dòng mồ côi của 4 quan hệ sau (luôn in đủ 4 dòng, kể cả khi bằng 0):

    relation (nhãn cố định) Cách đếm
    Accounts.customer_id -> Customers tài khoản có customer_id không có trong Customers
    Customers.referrer_id -> Customers khách có referrer_id không NULL nhưng không có trong Customers
    Orders.account_id -> Accounts lệnh có account_id không có trong Accounts
    Trades.order_id -> Orders giao dịch có order_id không có trong Orders

    Lưu ý: referrer_id = NULL nghĩa là không có người giới thiệu, không phải mồ côi. Sắp xếp theo nhãn relation (tăng dần).

    • Định dạng đầu vào:

      Accounts, Customers, Orders, Trades.

    • Định dạng đầu ra:

      relation, orphan_rows; 4 dòng, sắp theo relation.

    Ví dụ:

    Đầu vào:

    Đầu ra:

    Accounts.customer_id -> Customers	0
    Customers.referrer_id -> Customers	0
    Orders.account_id -> Accounts	0
    Trades.order_id -> Orders	0

    Giải thích:

    Dữ liệu gốc sạch: cả 4 quan hệ đều 0 dòng mồ côi (nhiều khách có referrer_id NULL, không bị tính).

    Chủ đề

    📊 SQLSQLSQL: Buổi 7 – Quan hệ bảng & Normal FormTất cả môn học

    Đang tải editor...