• @vrek
    link
    English
    324 months ago

    This actually gave me an idea. Over break I wanted to practice dB design and entity framework. Designing a database and interface for santa to track kids naughty or nice could be a fun/interesting way of doing it.

    • @[email protected]
      link
      fedilink
      English
      84 months ago

      Just FYI, LinqPad is a really neat tool for messing around with EFCore. I use it all the time for testing ideas or doing quick tasks that I don’t want to spin up a new project for.

      • @vrek
        link
        English
        94 months ago

        I think you would have a table of “activities” with a value of how good/bad each is. So like cleaning your room would be +5 but crying in a store because mommy wouldn’t buy you a toy would be - 15. Then you have a table for children and each child starts with 0 in January and then for each activity the child does there naughty/nice value gers adjusted. December 24 Santa runs a query on the dB and gets a list of every child with a positive value.

        Keep in mind I currently feel sick and put about 5 minutes of thought into thus.

        • @vrek
          link
          English
          104 months ago

          Actually I think there should be a intermediary table as a history of activities of each child. Like child table is I’d, name, age, address, and naughty/nice value, activities would be Id, description, and good/bad value. Then a history table of ID, child_id, activity_id. So santa can recalculate a child’s naughty/nice value to “check it twice”

          • @[email protected]
            link
            fedilink
            94 months ago

            Redundancy is key. There should always be two methods for calculating a child’s ANNS (Aggregate Naughty Nice Score). I propose a conventional method where activities are graded from -5 to +5 where a child’s ANNS is the sum of all their previous activities, this would be a child’s historical ANNS. And I propose a second system where only the activities performed within the last 365 days of calculation are considered, to account for children who have drastically changed behavior year to year, this would be a child’s current year ANNS. I think the current year ANNS would hold more weight in Santa’s judgement but looking at the historical ANNS in conjunction with the current year could help provide a better picture of a child’s character.

            • Dr. Bluefall
              link
              fedilink
              English
              94 months ago

              North Pole Incorporated

              bringing all the fun of HR and spreadsheet drudgery to the little boys and girls of the world

              • @vrek
                link
                English
                24 months ago

                I mean in a certain light, christmas presents are a yearly bonus for children and Santa checking his list is a management review of the child’s performance…

    • @[email protected]
      link
      fedilink
      24 months ago

      Ooh this is actually a good learning example.

      Kids will have their wish list that’s another table that we wanna reference. Then of course do we have the name of the toys in the table, or simple reference “Toys” table.

      Also need an address table as some kids get Santa gifts at more than one house…

      • @vrek
        link
        English
        24 months ago

        I didn’t even consider incorporating toy distribution… At what levels should kids get a small gift(a toy or game) vs a large gift(bike, game system etc).

        In a real world scenario I would probably spilt this between 2 databases… One for kids (“with a nice score of 2 you get a toy of value 4 or less”) and one for toys (“the toys available with a value less than 4 are…”)

        • @[email protected]
          link
          fedilink
          24 months ago

          Gonna need a whole auto converter thing to make sure that requests for “ps” “play station” and “new play station” all get converted to same thing!

          • @vrek
            link
            English
            24 months ago

            Yeah… Which is 100x more complicated cause Microsoft has no idea how to name consoles