Trích:
phuocbao11 Bác giúp mình cái đoạn văn này nhen :
One important change that was introduced in SQL Server 2005 was the user and schema separation. Prior to SQL Server 2005, the user in the database was also the name of the schema and the user owned the schema. So, the built in user dbo was a schema as well which contained all the objects. Example:
User________________Owner of Schema________Object Type
Mary____________________Mary_______________T1 Table
Frank____________________Frank______________T1 Table
Schemas just serve the purpose of containers which contain the different types of objects - tables, views, procedures, functions etc. and users in the database can be granted access to a schema. A user can now own more than one schema and the ownership can be easily transferred from one user to another. So, previously an object used to be referenced as:
databaseserver.databasename.objectowner.objectname
and now it is referenced as:
databaseserver.databasename.schemaname.objectname
One key advantage of this is that the users can be easily removed without dropping the objects in that schema. So, in the above example, “Decipher.DecipherDEMODB.Frank.T1″ would mean that the object T1 is owned by the user “Frank”. If the DBA then wants to delete the user Frank, he/she must first delete the object or change it’s owner (in SQL 2000). In SQL 2005, one can just re-name it to be: “Decipher.DecipherDEMODB.Mary.T1″
User Owner of Schema Object Type
Mary Frank T1 Table
Mary Mary T1 Table
These schemas exist independent of the users that create them and in addition, multiple database users can share the same schema. You can grant permission on the schema and deny on individual table.
As far as the default schemas go, in prior versions, if a fully qualified name was not specified for an object, the engine used to look-up under the schema owned by the database user as well as under the default schema: “dbo”. In SQL 2005, each user can be assigned a default schema (this can be changed as well) and if no default schema is specified, the engine assumes that “dbo” is the default schema. |
Một trong những thay đổi được giới thiệu tại SQL Server 2005 là sự chuyên biệt giữa người dùng và giản đồ. Trước SQL Server 2005, người dùng trong cơ sở dữ liệu cũng là tên của giản đồ và người dùng sở hữu giản đồ đó. Vì thế, những thiết lập trong dbo người dùng là một giản chứa đựng tất cả các đối tượng. Ví dụ:
Người dùng____________Người chiếm hữu giản đồ_______________Loại đối tượng
Frank_________________________Frank_______________ ________T1 Table
Mary_________________________Mary_________________ _______T1 Table
Giản đồ chỉ dùng để phục vụ những nhiệm vụ của những
container chứa đựng những loại đối tượng khác nhau – những bản, hình ảnh, trình tự tiến hành, hàm……. và những người dùng trong cùng một cơ sở dữ liệu có thể được chia sẻ quyền lấy dữ liệu đối với một giản đồ. Một người dùng bây giờ có thể sở hữu hơn một giản đồ và sự sở hữu đó có thể dễ dàng chuyển đổi từ người dùng này sang người dùng khác. Vì thế, trước đây một đối tượng thường được xem như là: một server cơ sở dữ liệu, tên cơ sở dữ liệu, sở hữu đối tượng, tên đối tượng và giờ đây nó được xem như : : một server cơ sở dữ liệu, tên cơ sở dữ liệu, tên giản đồ, tên đối tượng.
Một thuận lợi chủ chốt của việc này là người sử dụng có thể dễ dàng được thay thế mà không cần thả những đối tượng vào giản đồ đó. Vì thế, trong thí dụ trên “Decipher.DecipherDEMODB.Frank.T1″ ( Decipher : Giải mã ) sẽ có nghĩa rằng đối tượng T1 được sở hữu bởi người dùng “Frank”. Nếu sau đó DBA muốn xóa người dùng “Frank”, DBA trước tiên phải xóa đối tượng hoặc chuyển người sở hữu của đối tượng ( trong SQL 2000 ). Trong SQL 2005, chúng ta có thể chỉ việc đổi tên đối tượng thành “Decipher.DecipherDEMODB.Mary.T1″.
Người dùng____________Người chiếm hữu giản đồ_______________Loại đối tượng
Mary_________________________Frank________________ _______T1 Table
Mary_________________________Mary_________________ _______T1 Table
Những giản đồ tồn tại độc lập với những người dùng tạo ra chúng và thêm nữa nhiều người dùng cơ sở có thể chia sẻ cùng một giản đồ.Bạn có thể chia sẻ quyền kiểm soát giản đồ và từ chối bản cá nhân.
Theo mặc định giản đồ trong phiên bản trước, nếu một cái tên đầy đủ không được ghi chi tiết cho một đối tượng, máy thường tìm kiếm theo giản đồ của người dùng cơ sở cũng như là giản đồ mặc định:dbo. Trong SQL 2005, mỗi người dùng có thể được ấn định một giản đồ mặc định (có thể thay đổi) và nếu không có giản đồ được mặc định, máy sẽ cho rằng “dbo” chính là giản đồ mặc định.
Ps, có một số thuật ngữ tin học không thể dịch chính xác......thông cảm nha....!!!