Database diagram for school management app

I am currently making a management software for a small artistic school: a small intranet in PHP / MySQL.

I’m trying to draw database architecture before I start coding because I don’t want to make bad choices right from the beginning.

My diagram can be found below.

The software requirements are as follows:

  • Register a student for a school year and assign them to one or more courses
  • Register a student for a unique event (Concert, Masterclass, internship …)
  • Register teachers and assign them to one or more courses
  • Manage the student financial side, the number of payments and the total cost of the training
  • And later there will be other needs like saving marks, schedules, and maybe other things …

I tried to transcribe it all on my diagram, but here are some explanations:

  • A student (student table) is unique and can register for several years. This table contains all the generic information (name, email, phone …)
  • A student registration (enrollment table) can follow several courses (course table) and several events (events table)
  • A student can pay for their training in one or more installments (funding table)
  • A course is given by a single teacher (trainer table) and an event is given by a single speaker (speaker table)

Is this the best way to keep a student’s information over several school years? Should I add some optimizations?

Database diagram

Batch update to replace special characters in SQL Studio Management

I am trying to remove/correct some special characters in my database that show strange behaviour when exported.

Specifically & and the apostrophe

I ran a query to find the values that contain the special characters, and while the query succeed at finding them, I still cannot replace/remove them with the second query UPDATE (nothing happens):

SELECT  [Loc1],[IND_KEY] FROM [Database].[dbo].[List] WHERE CONVERT(VARCHAR(MAX), Loc1)LIKE'%[&]%';  UPDATE [Database].[dbo].[List] SET  Loc1 = REPLACE(CAST(Loc1 as nVarchar(4000)), '[&]','and') WHERE Loc1 LIKE '%[&]%'; 

I am using Microsoft SQL Server Management Studio.

How to make a content management system to load webpages without a PHP loader and its query strings?

I have a MediaWiki 1.35.2 Hebrew website which is principally all core; I host that website on a Apache, Nginx (as reverse proxy), PHP and MySQL hosting environment.

The default behavior of MediaWiki is to load any webpage with load.php and often many query strings;
It often raises errors in Google Pagespeed Insights about too many resources which consume loading time (maybe it’s better to load these informally without query strings) and it also makes my URLs "long" instead "short" (i.e. without using this load.php method) when they are already long because of Right-To-Left language Encoding.

For some reason/s I have a very hard time finding my way in the following MediaWiki guides on how to get shorter URLs without load.php and its query strings (guides that include explicitly outdated parts and/or many warnings and exceptions):

  • Manual:Short URL
  • Manual:Short URL/Apache

Help me Make Sense of Unity 2D Resolution Management

I am trying to set up an environment for a retro style pixel art game in Unity 2D. I aim for a vertical resolution of 240 pixels, and then, I would like the horizontal resolution to be dependent on the target screen’s aspect ratio, so, on a 4:3 screen 320×240, on 16:9 around ˜432×240, and so on.

I have read a bunch of tutorials, added pixel perfect to my main camera, set up a target resolution in player preferences, set the pixel in a unit to 8 pixels everywhere, but still cannot make heads or tails of how it actually works.

Here is an image of my scene with my camera selected:

enter image description here

If I am correct, the dashed line of the camera is my target resolution, although it is weird as the green image I used as a background has a native resolution of 216 pixel vertical, yet it fills up the supposedly 240 pixel high camera. I have no idea what the solid green line is, and don’t even get me started of the canvas, whose render target is set for camera yet it is obviously many times bigger than that.

Can someone please explain it to me how to properly set up a 2D environment described in my opening, point out my mistakes, point me to a good tutorial, or just give me advice on how to understand Unity’s resolution management?

Simplifying spell component management

I have started a new campaign and am considering making life a little easier for my spell casters by not expecting them to source and find all there components ahead of time. Especially where components are destroyed. Instead being willing to allow them to operate a tax system. If a spell requires a 1000GP gem bowl just have them remove 1000GP from the inventory instead of making them find and buy the bowl. One of the main reasons for this is that the new party has a druid, cleric and paladin so a lot of spells potentially for them to go and source components for and as new players I want to try and streamline things a bit.

Is this an accepted standard mechanic for managing spell caster components or are there other ways of simplifying this aspect of spell management.

Looking for a secure project management platform for our group to use [closed]

Our group is a non-profit (most of us are volunteers) with a limited budget doing community awareness on the topic of safe technology use to support health and safety.

We are looking for a project management platform that is safe, secure (data encrypted?), and has a good track record of not having any past security breaches. We need the platform to organize our meetings and activities, as well as facilitate our information and document sharing.

We are looking for project management platform options that have measures in place that would make it difficult, if not impossible, for others to steal information/documents and/or take note of what we are doing/sharing.

Any suggestions on where to look?

Remote command using Sophos Management

in a recent analysis of a ransomware attack, where BitLocker was used to encrypt the disk, I found that the company was using Sophos.

In the folder C:577-Sophos\AutoUpdate\data\warehouse I found some files that contain executable code and activate BitLocker, using command like the following from disk F: to Z:

manage-bde -on F: -rp 599368-358941-467368-368093-397672-261921-132506-522577 -sk C:\ -s

I’m not really into Sophos management and administration, but I read that the folder warehous can be use as cache for the update installations.

Are these files false positive? Or the malicious actors could use Sophos to spread malicious commands?