A schema is the set of metadata (data dictionary) used by the database, typically generated using DDL(Data Definition Language). A schema defines attributes of the database, such as tables, columns, and properties. A database schema is a description of the data in a database.
Consider a schema to be the user account and collection of all objects therein as a schema for all intents and purposes.
- SCOTT is a schema that includes the EMP, DEPT and BONUS tables with various grants, and other stuff.
- SYS is a schema that includes tons of tables, views, grants, etc etc etc.
Oracle’s schema: basically the set of all tables and other objects owned by a user account, so roughly equivalent to a user account
Think of a user as you normally do (username/password with access to log in and access some objects in the system) and a schema as the database version of a user’s home directory. User “foo” generally creates things under schema “foo” for example, if user “foo” creates or refers to table “bar” then Oracle will assume that the user means “foo.bar”.
If USER has OBJECTS
then call it SCHEMA
call it USER
A User may be given access to Schema Objects owned by different Users.