2009-08-13 12 views
9

Tôi hiện đang viết một điều khiển (trong C#) để hiển thị một tập hợp các bảng và các mối quan hệ tồn tại giữa chúng. Tôi đã thực hiện điều khiển cơ bản, nhưng muốn thực hiện một cái gì đó tương tự như tính năng "Auto-Arrange" được cung cấp bởi thành phần sơ đồ của SQL Express.Thuật toán để tự động sắp xếp sơ đồ quan hệ thực thể

Loại thuật toán nào theo dõi để xác định bố cục tối ưu của bảng? Đó là, một thuật toán xem xét tất cả các "đường dẫn mối quan hệ" và đi kèm với một bố trí trong đó các bảng có thể được sắp xếp mà không có nhiều lộn xộn.

Trả lời

1

Kiểm tra graph layout algorithms, đặc biệt là "bố cục trực giao". Theo Wikipedia, đây là cách bố trí "với các cạnh chạy theo chiều ngang hoặc chiều dọc, với các phương pháp làm giảm số lượng giao điểm cạnh và vùng được bao phủ".

4

Nhìn vào Graphviz. Ngay cả khi bạn không thể sử dụng nó như là một phụ thuộc, nó có rất nhiều tài liệu về các thuật toán được sử dụng.