Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>As far as I remember, there are no commercial products that <em>"protect"</em> their schemas. What do you want the schema to be protected against?</p> <p>Consider the following points:</p> <ul> <li><p>After all, the only person who can protect anything in a RDBMS is the database server administrator. And you want the schema to be protected against this person?</p></li> <li><p>If I was a costumer and I had <strong>my data</strong> inside your schema, I would not only like, but expect, to be able to see and consume it directly. </p></li> <li><p>Do you really need to protect your relational design? Is it really that interesting? Have you invented something worth hiding? I really don't think so. And I apologize in advance if you have.</p></li> </ul> <hr> <p>EDIT: Additional comment:</p> <p>I don't care about most database internals for the products I use. That's another reason I think most of them don't take any action to protect them. Most of them are not that interesting.</p> <p>On one side, I strongly believe that users should not need to know or to care about the internals of the database. But at the same level, as a developer, I don't think it is worth trying to protect them. Hiding them from the user, yes. Protect them against direct access, in most cases, no. And not because I think it is wrong to protect your schema. It is because I think it is a very hard thing to do, and it is not worth your time as a developer.</p> <p>But at the end, as with any security related topic, the only right answer is about what are the <strong>risks</strong> involved vs the <strong>costs</strong> of implementing the security measure.</p> <p>Current database engines, embedded or server-style, are not designed to easily hide the schema of the database, and therefore, the development cost of doing it is much greater than the risk involved, for most people.</p> <p>But your case might be different.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload