A database schema is a method for logically grouping database objects such as tables, views, stored procedures and so forth.  It can be useful to think schema as a “shelf’ for organizing objects. Every object in a database belongs to a schema.

Schemas can be altered as required, and you can give users access to a schema. Furthermore, a schema can be owned by any user, and schema ownership can be transferred. A user who is only provided login permissions to a single schema is a good way to make sure that database users can only access the objects they are authorized to access.

The term schema can be used to refer to a graphic visualization of a specific data structure or a formal text-oriented description.

According to the Microsoft TechNet SQL Server Glossary, a schema is “according to the SQL-92 standard, a collection of database objects that are owned by a single user and form a single namespace. A namespace is a set of objects that cannot have duplicate names.”

Microsoft introduced the concept of database schemas with SQL Server 2005. The main idea behind database schemas was to make database administration easier by creating a functional difference between the terms ‘user’ and ‘database object owner’.