Eine Datanbank kann n Schemas enthalten, ein Schema kann n Tabellen enthalten.
In der Regel meldet man sich an der Datenbank an und "landet" dann in dem der Anmeldung zugeordneten Schema. Dort kann man dann per
select * from tabelle
auf Tabellen zugreifen. Es wird dann die implizite Annahme gemacht, dass man eine Tabelle aus dem Anmeldeschema meint.
Möchte man auf eine Tabelle in einem anderen Schema zugreifen, wird der Schemaname mit im
SQL angegeben:
select * from schema.tabelle
.
Manche Datenbanken unterstützen auch datenbankübergreifende Abfragen:
select * from datenbank.schema.tabelle
In diesem Zusammenhang wird zuweilen dann auch von Katalog gesprochen.
Wenn Du bei Deinem Programm eine Anmeldung hast, die Dich sofort in das Schema Contentmasterdata "bringt", kannst Du diese Angabe auch weglassen. Dies macht die Statements dann auch übersichtlicher.
Verwirrend wird es oft, wenn man in einer Datenbank ein Schema hat, das dem Datenbanknamen entspricht. Also ungefähr sowas:
select * from Contentmasterdata.Contentmasterdata.tabelle
Hier ist die Verwirrung fast immer vorprogrammiert.
Allerdings ist das zuweilen von Datenbank zu Datenbank auch schonmal individuell unterschiedlich.
Welche spezifischen Besonderheiten für sqlite gelten, weiß ich nicht.