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] Sơ đồ khóa ngoài của mô hình

    📖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

    Để vẽ các đường nối trong ER Diagram, ta cần biết cột nào là khóa ngoài (FK) và nó trỏ tới đâu. Liệt kê mọi khóa ngoài của CSDL hiện tại gồm: bảng con, cột khóa ngoài, bảng cha, cột được tham chiếu ở bảng cha.

    • Sắp xếp theo LOWER(bảng con), rồi LOWER(cột khóa ngoài).
    • Không in tên ràng buộc (CONSTRAINT_NAME): tên do hệ quản trị tự sinh nên khác nhau giữa SQL Server và MySQL.
    • SQL Server: KEY_COLUMN_USAGE không có cột bảng cha - phải nối thêm REFERENTIAL_CONSTRAINTS (UNIQUE_CONSTRAINT_NAME) rồi nối KEY_COLUMN_USAGE lần nữa, khớp ORDINAL_POSITION. MySQL: dùng sẵn REFERENCED_TABLE_NAME, REFERENCED_COLUMN_NAME.
    • Định dạng đầu vào:

      INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS, INFORMATION_SCHEMA.KEY_COLUMN_USAGE.

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

      child_table, child_column, parent_table, parent_column; sắp theo LOWER(child_table), LOWER(child_column).

    Ví dụ:

    Đầu vào:

    Đầu ra:

    Accounts	customer_id	Customers	customer_id
    Customers	referrer_id	Customers	customer_id
    CustomerStats	customer_id	Customers	customer_id
    MarketPrices	symbol	Securities	symbol
    Orders	account_id	Accounts	account_id
    Orders	symbol	Securities	symbol
    Portfolio	account_id	Accounts	account_id
    Portfolio	symbol	Securities	symbol
    Trades	order_id	Orders	order_id
    Trades	symbol	Securities	symbol

    Giải thích:

    Dữ liệu gốc: 10 khóa ngoài, trong đó Customers.referrer_id trỏ về chính Customers (quan hệ đệ quy).

    Chủ đề

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

    Đang tải editor...