Schema is a collection of database objects, in order to differentiate the collection, we need to give this collection a name, these are the many similar user names that we see under the Enterprise Manager scenario, these nodes are actually a Schema, The schema contains various objects such as tables, views, sequences, stored procedures, synonyms, indexes, clusters, and database links. A user typically corresponds to a schema, the user's schema name equals the user name, and is used as the default schema for that user.
A user typically corresponds to a schema, the user's schema name equals the user name, and is used as the default schema for that user. This is why we see the schema name as the database username under the Enterprise Manager scenario. The Oracle database cannot create a new schema, and to create a schema, it can only be solved by creating a user's method (although Oracle has the CREATE SCHEMA statement, it is not used to create a schema) Create a user with a schem that has the same name as the user name and act as the default shcema for that user. That is, the number of schemas is the same as the number of user, and the schema name corresponds to the user name one by one and the same, all we can call the schema as the user alias, although this is not accurate, but it is easier to understand some.
A user has a default schema, whose schema name is equal to the user name, and of course a user can use other schemas. If we visit a table and do not indicate which schema the table belongs to, the system automatically adds the default Sheman name to the table. For example, when we access the database, we access the EMP table under the Scott user, through the select * from EMP; In fact, the complete syntax for this SQL statement is select * from Scott.emp. The full name of an object in the database is Schema.object, not user.object. Similar if we do not specify the schema of the object when creating the object, the schema of the object is the user's default schema. This is like a user with a default tablespace, but the user can also use other tablespaces, and if we do not specify a tablespace when we create the object, the object is stored in the default tablespace, and in order for the object to be stored in another table space, we need to specify the table space for the object when it is created. The schema in Oracle refers to the collection of all objects under a user, the schema itself cannot be understood as an object, and Oracle does not provide the syntax to create the schema, and the schema is not created when the user is created. Instead, the schema is generated after the first object is created under the user, as long as there is an object in user, the schema must exist, and if there is no object under User, the schema does not exist; This is similar to the temp tablespace group, Also can be seen through the OEM, if you create a new user, the user if there is no object, the schema does not exist, if you create an object and the user with the same name of the schema is also generated.
Below is a metaphor for the image from the Web
We can think of database as a large warehouse, the warehouse has a lot of rooms, the schema is one of the rooms, a schema represents a room, table can be considered as a bed in each schema, table (bed) is placed in each room, Can not be placed outside the room, it is not night to sleep homeless, and then the bed can be placed a lot of items, like the table can be placed on a lot of columns and rows, the database is stored in the basic unit of data is a table, in reality, each warehouse placed in the unit of the object is the bed, The user is the owner of each schema, (so the schema contains object, not user), user and schema are one by one corresponding, each user can only use their own schema (room) in the absence of special designation. If a user wants to use something other than the schema (room), it depends on whether the user (the owner) of the schema has given you this permission, or if the Boss (DBA) of the repository has given you this permission. In other words, if you are the owner of a warehouse, then the use of the warehouse and everything in the warehouse is yours (including the room), you have the complete operation, you can throw away the unused things from each room, you can put some useful things into a room, you can also assign each user specific permissions, That is, what he can do in a room, is only to see (read-only), or can have all the control (R/W), like the owner, this depends on the role of the user.
(Transferred from Http://www.2cto.com/database/201307/230786.html)
Oracle Security management and transactional--DCL