This is for SQLServer, databases and schemas are different in other DBMS like Oracle.
A database and a schema are two different concepts.
A database can contain multiple schemas, for example the default schema 'dbo'
You can address a table by specifiying database.schema.tablename.
Schemas are often used for security reasons, cause you can have one database, multiple schemas, and you can give permissions on the schemas. That way you don't have to specify permissions for each of the objects in the database.
Eg. HR users have select permissions on the entire HR schema, while IT only has select permissions on the IT schema
It also gives you a nice grouping of objects that belong together.
Some more useful information: