I'm really confused with the terms database, user and schema. Can anyone explain how they are different from each other (if they are)?
If they are same then, what are the similarities between them? How do we use them? And how do we create them?
In Oracle, users and schemas are essentially the same thing. You can consider that a user is the account you use to connect to a database, and a schema is the set of objects (tables, views, etc.) that belong to that account.
See this post on Stack Overflow: difference between a User and a Schema in Oracle? for more details and extra links.
You create users with the
The database is the thing contains all the users you've created, and their data (and a bunch of predefined system users, tables, views, etc. that make the whole thing work). You should look at the Oracle Database Architecture documentation in the Concepts Guide (actually, that whole page is worth a read - there's a section about users and schemas higher up in that page) to get an introduction to what a database is, and what a database instance is - two important concepts.
I am telling you according to concepts not based on any type of database management system you are using.
Conceptually: Database : is Just a pile of data, mostly un-managed related or unrelated data.
Schema: Schema refers to formally structuring the unmanaged related/unrelated data so that it can be managed by some management system which understands the formal definition provided by the schema. Schema is basically a scheme to to provide overview. For example you have XSD which defines the scheme/schema to create XML. You have RDBMS which defines its own schemes which are based on Codd Rules which basically defines schemes to create RDBMS.
Now if you want to know more about is refer this Link.
User's use the formal language specified by the scheme/schema to access the Database