I am sure that some of the database nomenclature that is used might be a bit confusing to those who are entering into the wonderful world of SQL Server. An example would be the varying use of the word "schema".
In a general database terms a schema is the organization and definition of the tables within a database, their relationship to one another and the columns that are contained within them. In layman's terms: it is the design of the database.
In SQL Server 2000, the term "schema" was directly associated with ownership of database objects (tables, views, stored procedures, etc.), which is a slight deviation from the aforementioned definition. The ownership of database objects is important because the object owner (user or role) is implicitly granted all privileges to the object. If the ownership is not explicitly defined when the object is created, the default owner is the same as the database owner; which is defined by the "dbo" default schema.
In many ways, the difference between users and ownership schemas were synonymous in SQL Server 2000. With the release of SQL Server 2005, the database object schema provided a new definition of a "schema". In this case a schema is a physical database object which serves as a logical grouping of database objects. For the .NET Developer, it is very similar to the concept of namespaces. While the ownership aspect still remains it has been separated from the principal in a such a way that it is much more flexible and scalable.
Database object schemas are a great addition to SQL Server and in many ways is more consistent with the original definition of a schema than it's SQL Server 2000 counterpart.