Saya setuju dengan @marc_s dan @KM bahwa grand design ini sudah ditakdirkan sejak awal.
Jutaan jam pengembang Microsoft telah digunakan untuk membangun dan menyempurnakan mesin database yang kuat dan kuat, tetapi Anda akan menemukan kembali semuanya dengan menjejalkan semuanya ke dalam sejumlah kecil tabel generik dan mengimplementasikan kembali semua yang sudah dimiliki SQL Server. direkayasa untuk dilakukan untuk Anda.
SQL Server sudah memiliki tabel yang berisi nama entitas, nama kolom, dan sebagainya. Fakta bahwa Anda biasanya tidak berinteraksi langsung dengan tabel sistem ini adalah hal yang baik:Ini disebut abstraksi. Dan sepertinya Anda tidak akan melakukan pekerjaan yang lebih baik dalam mengimplementasikan abstraksi itu daripada yang dilakukan SQL Server.
Pada akhirnya, dengan pendekatan Anda (a) bahkan pertanyaan yang paling sederhana pun akan menjadi mengerikan; dan (b) Anda tidak akan pernah mendekati performa optimal, karena Anda mengabaikan semua pengoptimalan kueri yang seharusnya Anda dapatkan secara gratis.
Tanpa mengetahui lebih banyak tentang aplikasi Anda atau kebutuhan Anda, sulit untuk memberikan saran khusus apa pun. Tetapi saya menyarankan bahwa beberapa normalisasi lama yang baik akan sangat membantu. Basis data non-sepele yang diimplementasikan dengan baik memiliki banyak tabel; sepuluh tabel ditambah sepuluh tabel xtab seharusnya tidak membuat Anda takut.
Dan jangan takut dengan pembuatan kode SQL sebagai cara untuk mengimplementasikan antarmuka umum di seluruh tabel yang berbeda. Sedikit bisa sangat berarti.