关于sql_server2005表名的问题???

cccpro 2005-12-06 02:26:19
在sql2005例子数据库AdventureWorks中,有的表名是HumanResource.table1,HumanResource.table2...
有的是Person.table3,Person4...
请问HumanResource,Person是如何建立的,起什么作用?
...全文
155 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
游戏Lan 2006-04-26
  • 打赏
  • 举报
回复
schema就是用户[user]所创建的对象[包括表,索引,存储过程等]的集合,这个集合[schema]的名称就是

用户的名称。
故:
用户:属于数据库安全管理的范畴
schema:属于数据库对象管理的范畴
虽然他们的名称相同

说说 MSSQL2000, MSSQL2005 中的 Schema 概念,

MSSQL2000下,Schema 与帐号挂勾,
因此,说 Schema=帐号,也是可以的。
因此,Schema 在 MSSQL2000 下可以说几乎没有意义。

MSSQL2005下,Schema与帐号间的挂勾分离了。
指定一个表,
可以使用 dbname.schemaname.tablename 来指定(虽然MSSQL2000已可这么指定),
如此,则schema类似一个namespace,
目的是「让同一数据库下的表可以再分类」。
比如,你可以用,
ERPDB.Accounting.MyTable 来命名一个表
也可以用
ERPDB.Sales.MyTable 来命名另一个表。
两个表的表名都叫MyTable,
但由于Schema不同,故不冲突。

这个概念,MSSQL 到 2005 版才支持,
但我从Rose工具上看来,
这概念至少在数据库的抽象定义早就是如此了,
估计 Oracle, DB2 等的数据库中 Schema 的定义应类似于后者(我猜啦)。
游戏Lan 2006-04-26
  • 打赏
  • 举报
回复
也不清楚 期待答案
ly2005 2005-12-06
  • 打赏
  • 举报
回复
UP
cccpro 2005-12-06
  • 打赏
  • 举报
回复
up
cccpro 2005-12-06
  • 打赏
  • 举报
回复
在vs.net2005中利用向导建立数据源(SqlDataSource),我用的就是AdventureWorks数据库,建立连接,指向操作表都顺利,但最后预览记录集就不好使,比如select * from address,这句话是向导帮我建立的,如果手工改为select * from person.address就可以,真是不明白,难道vs.net 2005 和sql_server2005配合还有问题???
lxzm1001 2005-12-06
  • 打赏
  • 举报
回复
我也油用过
建哥聊IT 2005-12-06
  • 打赏
  • 举报
回复
还没有使用过sql2005,帮你顶吧!

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧