Tôi đồng ý với @marc_s và @KM rằng thiết kế hoành tráng này đã bị hủy diệt ngay từ đầu.
Hàng triệu giờ dành cho nhà phát triển của Microsoft đã dành cho việc xây dựng và tinh chỉnh một công cụ cơ sở dữ liệu mạnh mẽ và mạnh mẽ, nhưng bạn sẽ phát minh lại tất cả bằng cách nhồi nhét mọi thứ vào một số lượng nhỏ các bảng chung và triển khai lại mọi thứ mà SQL Server đã có được thiết kế để làm cho bạn.
SQL Server đã có các bảng chứa tên của các thực thể, tên của các cột, v.v. Thực tế là bạn thường không tương tác trực tiếp với các bảng hệ thống này là một điều tốt:Nó được gọi là sự trừu tượng hóa. Và không chắc rằng bạn sẽ thực hiện tốt hơn việc triển khai sự trừu tượng đó so với SQL Server.
Vào cuối ngày, với cách tiếp cận của bạn (a) ngay cả những truy vấn đơn giản nhất cũng sẽ trở nên quái dị; và (b) bạn sẽ không bao giờ đạt gần đến hiệu suất tối ưu, bởi vì bạn đang bỏ qua tất cả tối ưu hóa truy vấn mà nếu không, bạn sẽ nhận được miễn phí.
Nếu không biết thêm bất cứ điều gì về ứng dụng của bạn hoặc yêu cầu của bạn, thật khó để đưa ra bất kỳ loại lời khuyên cụ thể nào. Nhưng tôi đề nghị rằng một số chuẩn hóa cũ tốt sẽ đi một chặng đường dài. Bất kỳ cơ sở dữ liệu không tầm thường, được triển khai tốt nào cũng có rất nhiều bảng; mười bảng cộng với mười bảng xtab sẽ không làm bạn sợ hãi.
Và đừng sợ việc tạo mã SQL như một cách triển khai các giao diện chung trên các bảng khác nhau. Một chút có thể đi một chặng đường dài.