What you're describing is more of a polymorphic relationship. It's one-to-one-maybe. You have the same problem if you introduce a 3rd table called 'sysadmin' or similar and want to associate a user to ONE of them.
Relational databases don't really work like this. You can make it cascade so that if the user is deleted, then the admin or sysadmin is deleted with a foreign key constraint. But you can't delete the admin or sysadmin and cascade up to the user, because there's no way of saying on the user table that the relationship is one OR the other table. Relational databases make you choose only one per column.
So you can use multiple columns, but if you have 20 types of user, you'll have 19 null fields, and that sucks too. Most people just let it hang and take the one-way cascade as 'good enough'.
Sometimes coding languages and databases don't fit nicely.