Vreau sa creez un sistem de mesaje private intre useri si nu prea stiu cum sa fac entitatea, sau mai exact tabela/tabelele in baza de date. Am doua variante (img) !
API’ul este scris in ASP.NET Core si interogarile le fac cu Entity Framework. Pentru asta, nu cred ca ar fi diferenta prea mare daca am o tabela sau doua in baza de date (ar fi un Include in plus sau in minus)
Mai simpla parca ar fi varianta cu 2 tabele (Subiecte si Raspunsuri), dar parca n-as vrea sa cresc prea mult numarul de tabele din baza de date pentru chestii care pot fi comprimate intr-una singura. Ce nu-mi place la varianta cu o singura tabela, o sa am multe campuri NULL, mai ales pentru raspunsuri, unde Subject = NULL, iar in cazul subiectelor unde ParentId = NULL
O alta idee ce mi-a trecut prin minte … spatiul ocupat. Tineam minte de pe undeva, ca fiecare celula din tabela ocupa 1 UM (notez UM pentru ca nu stiu ce unitate de masura este :)) , si nu mai sunt sigur, dar parca celulele cu NULL nu ocupa nimic (daca e asa, spatiul ocupat in ambele variante 2tabele vs 1tabela este acelasi)
Deci, ce varianta este/ar fi practicata de voi? Si nu neaparat in cazul PMurilor, ci si in altele asemanatoare