Jag har faktiskt ritat ett ER-diagram också men la inte in det i min startpost. Det går att hitta här.
När det kommer till plantorna så undrar jag om vi har olika idéer om vad det är jag avser att ha i den tabellen? Jag tänker mig att varje enskild planta ska finnas med där (och ha en märkning/id i sin kruka) så det kan t.ex. finnas 4st San Marzano tomatplantor med sina egna unika ID och planteringsplatser, eller alla fyra i en odlingsbädd med AntalPlatser = 4. När jag lägger in att en given planta vattnats kan jag således få fram dess planteringsplats och dylikt med joins om så behövs. De olika sorterna av planta bor i tabellen sorter och varje planta får sin sort från ÄrAvSort attributet som är FK från Sorter-tabellen.
När det kommer till PlanteringsPlatser och OdlingsPlatser kan jag bevisligen välja bättre namn. Min tanke är att planteringsplatser är krukor/odlingsbäddar av olika storlek. Dessa kan bara finnas på en OdlingsPlats i taget, vilka är t.ex. växthus 1, köksträdgården, altanen o.dyl. Givet den informationen, tror du fortfarande att jag borde tänka om något?
När det kommer till ägare av saker har jag också tänkt tanken men vet inte hur jag ska implementera det riktigt. Min tanke just nu är att göra ett Proof-of-concept först där saker är minimalt komplicerade (dvs mer än tillräckligt komplicerade för mig) och sen bygga ut. Att få med en användarkolumn tänker jag mig ska vara en relativt smal sak i en eventuell framtid om jag först är den enda användaren så kan jag i ett senare skeda lägga till kolumnen och sätta den till mitt ID för alla rader i alla tabeller.
Min "stack" som den ser ut i skrivande stund är:
SQLExpress (hade den installerad sen tidigare och ska använas i en kurs kommande termin så lika bra att fortsätta med den)
Node.js+Express.js som backend, eftersom jag hittade en guide om det.
Webbsidan har jag inte börjat med än men det lär väl bli html+css+js antar jag, är något jag verkligen drar mig för då jag har väldigt små kunskaper i området men hur svårt kan det vara
Min progression
Fick faktiskt lite tid för detta och är oerhört stolt över att jag lyckats skicka ett GET-anrop till min "server" och fått tillbaka data! Jag följer denna guide och har kommit till "The response of GET api" rubriken så nästa grej är att köra POST.
Om någon annan hittar den här tråden och vill följa samma guide så kan jag säga att det märks att den är gammal ibland. För det första tror jag att det kan vara så att man inte längre skriver var foo = required("foo") i javascript för alla nyare filmer jag hittar säger istället const foo = required("foo") men jag har kört med var och det verkar fungera.
Min connect.js funkade inte från början men jag hittade att man behöver lägga till
options: {
"enableArithAbort": true,
"encrypt":false
}
i connectionpool objektet så funkade det sen, eller ja då funkade det så länge man hade skapat användaren på rätt sätt, tillåter sql authentication i SSMS/MSSQL, faktiskt har sql browsern igång och har satt en port som går att ansluta till. Att säga att det här tog mig lite googlande att lista ut är en underdrift!
För min egen skull lägger jag lite hjälpsamma länkar här:
Error 223 i MSSQL anslutning
Hitta dynamic port för MSSQL
Slå igång TCP/IP för MSSQL server
Slå igång SQL Server Browser servicen
Som avslut kan jag säga att jag verkligen inte känner mig hemma i node/express/javascript så det är mycket (bara) copy paste just nu men jag tänker mig att jag ska lära mig på vägen. I guiden finns alla standardmetoder för CRUD så jag tänkte försöka implementera det för en av mina testtabeller till en början via guiden och när det fungerar så tänkte jag ge mig på att göra så enkel hemsida som möjligt som kan använda anropen. För Create tänker jag mig i princip två rutor och en knapp för att skriva in datum och plantid, sen något liknande i svårighetsgrad för övriga saker. Den delen skrämmer mig som sagt mest i det här men jag tänkte luta mig en hel del mot chatgpt till en början.
Inser att om node+express är den mer lättskrivna varianten så lär java vara rent utsagt horribelt om det är mycket mer att skriva Fördelen där skulle kanske vara att det skulle finnas en chans att jag förstod vad jag höll på med mer än 5% av tiden