Aktywne Wpisy
R2D2_z_Sosnowca +133
A udało się znowu połazić po krzakach i przy okazji ten młody człowiek zdał egzamin na prawdziwego mężczyznę bo znalazł największy patyk jaki był w stanie podnieść i naparzał nim tak długo aż się złamał. Kto tak nie robił niechaj pierwszy rzuci kamieniem #r2d2zwiedza #natura #usa #connecticut
magdalena-gaska +42
Wkurzają mnie niebiescy piszący z różowych nicków, bądźcie chociaż konsekwentni i piszcie w rodzaju żeńskim, wchodźcie w rolę, za takie oszustwa powinien być ban, tits or gtfo
a) stworzyć osobną tabelę w której połączymy id użytkownika z id cechy osobowości
b) dodać dużą liczbę kolumn w tabeli z użytkownikami z miejscem na id cechy i liczyć na to, że ich liczba wystarczy
Nie mam na co dzień do czynienia z projektowaniem baz danych, więc może jest dla takiej sytuacji jeszcze inna wersja c?
#programowanie #bazydanych
jeśli nie masz wypisanych cech jakie chcesz mieć w bazie trudno powiedzieć o architekturze
być może niektóre cechy będą hierarchiczne i wtedy przyda się relacyjność bazy
@M4ks: Liczba cech zależy od administratora. Można ze sporym prawdopodobieństwem określić górny limit np. 100, ale używanych będzie powiedzmy 5, więc drugie rozwiązanie wydawało mi się mało praktyczne.
@Donk_von_Fisher: przedstawiona sytuacja jest w całości wymyślona na potrzebę pytania :)
@nienarodzony: tzn wiem co to many-to-many, ale ponieważ nie siedzę w bazach to myślałem, że może lepsze mechanizmy się wykształciły w międzyczasie :)
@andrut1291: dzięki
@
Najlpiej nie tworzyć takich serwisów, bo potem są złamane serca. ( ͡° ͜ʖ ͡°)
Czyli np takie cechy: 1 xxx, 2 yyy, 4 zzzz, 8 hhhh, 16 pppp, 32 dddd
User Mirek miałby cechy xxx, yyy, ppp więc 1 + 2 + 16 = 19. Taka liczba w jego polu.
Gdy używasz bazy #postgresql i potrafisz zadać sam o spójność danych to możesz użyć innych rozwiązań:
c) Użyć array i w niej trzymać idki osobowości (lub lepiej ich nazwy)
d) Użyć zamiast tablicy typu jsonb
e) Nawet możesz użyć nieeleganckiego rozwiązania ze zwykłem polem tekstowym i oddzielonymi spacjami nazwami cech
W
Ale serio to takie obciążające? Nie próbowałem operacji bitowych w SQL. Problemem też zapisać te cechy w osobnej tabeli jako ID potęga dwójki. Chyba że dałoby się normalnie ID rosnąco zapisać i przeliczać na potęgę dwójki ale nie chce mi się rozkminiać tego.
Jeszcze można rozważać np HStore w PostgreSQL i trzymanie tych cech jako słownika.