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.1] Kiểm tra mô hình: PK/UNIQUE/FK từng bảng

    📖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

    Trước khi nghiệm thu một mô hình dữ liệu, DBA thường lập báo cáo kiểm tra để chắc chắn mỗi bảng đều có khóa chính và các quan hệ đã được khai báo. Với mỗi bảng dữ liệu (TABLE_TYPE = 'BASE TABLE') của CSDL hiện tại, hãy đếm:

    1. pk_columns: số cột thuộc khóa chính (0 nếu bảng không có khóa chính - đây là lỗi thiết kế);
    2. unique_keys: số ràng buộc UNIQUE (mỗi ràng buộc tính 1, bất kể gồm mấy cột);
    3. foreign_keys: số ràng buộc khóa ngoài.

    Sắp xếp theo LOWER(tên bảng). Bảng không có ràng buộc loại nào vẫn phải xuất hiện với số 0.

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

      INFORMATION_SCHEMA.TABLES, TABLE_CONSTRAINTS, KEY_COLUMN_USAGE.

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

      TABLE_NAME, pk_columns, unique_keys, foreign_keys; sắp theo LOWER(TABLE_NAME).

    Ví dụ:

    Đầu vào:

    Đầu ra:

    Accounts	1	1	1
    AuditLog	1	0	0
    Customers	1	1	1
    CustomerStats	1	0	1
    MarketPrices	2	0	1
    Orders	1	0	2
    Portfolio	2	0	2
    Securities	1	0	0
    Trades	1	0	2

    Giải thích:

    Dữ liệu gốc: 9 bảng. Customers có 1 UNIQUE (customer_code) và 1 FK (referrer_id); Portfolio có PK 2 cột và 2 FK.

    Chủ đề

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

    Đang tải editor...