站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
Schema
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
[[Image:schema_logo.gif|right|250px|thumb|schema_[[logo]]]] '''Schema''',是用于描述和规范[[XML]]文档的逻辑结构的一种语言,它最大的作用就是验证XML文件逻辑结构的正确性。可以理解成与[[DTD]](文档类型定义)功能差不多,但是Schema在当前的[[WEB]]开发环境下优越很多。因为它本身就是一个有效的XML文档,因而可以更直观地了解XML的结构。除此之外,Schema支持[[命名空间]],内置多种简单和复杂的[[数据类型]],并支持自定义数据类型。由于存在这么多的优点,所以Schema渐渐成为XML应用的统一规范。 == XML Schema XSD 元素 == *all 规定子元素能够以任意顺序出现,每个子元素可出现零次或一次。 *annotation annotation 元素是一个顶层元素,规定 schema 的注释。 *any 使创作者可以通过未被 schema 规定的元素来扩展 XML 文档。 *anyAttribute 使创作者可以通过未被 schema 规定的属性来扩展 XML 文档。 *appInfo 规定 annotation 元素中应用程序要使用的信息。 *attribute 定义一个属性。 *attributeGroup 定义在复杂类型定义中使用的属性组。 *choice 仅允许在 <choice> 声明中包含一个元素出现在包含元素中。 *complexContent 定义对复杂类型(包含混合内容或仅包含元素)的扩展或限制。 *complexType 定义复杂类型。 *documentation 定义 schema 中的文本注释。 *element 定义元素。 *extension 扩展已有的 [[simpleType]] 或 [[complexType]] 元素。 *field 规定 XPath 表达式,该表达式规定用于定义标识约束的值。 *group 定义在复杂类型定义中使用的元素组。 *import 向一个文档添加带有不同目标命名空间的多个 schema。 *include 向一个文档添加带有相同目标命名空间的多个 schema。 *key 指定属性或元素值(或一组值)必须是指定范围内的键。 *keyref 规定属性或元素值(或一组值)对应指定的 key 或 unique 元素的值。 *list 把简单类型定义为指定数据类型的值的一个列表。 *notation 描述 XML 文档中非 XML 数据的格式。 *redefine 重新定义从外部架构文件中获取的简单和复杂类型、组和属性组。 *restriction 定义对 simpleType、simpleContent 或 complexContent 的约束。 *schema 定义 schema 的根元素。 *selector 指定 [[XPath]] 表达式,该表达式为标识约束选择一组元素。 *sequence 要求子元素必须按顺序出现。每个子元素可出现 0 到任意次数。 *simpleContent 包含对 complexType 元素的扩展或限制且不包含任何元素。 *simpleType 定义一个简单类型,规定约束以及关于属性或仅含文本的元素的值的信息。 *union 定义多个 simpleType 定义的集合。 *unique 指定属性或元素值(或者属性或元素值的组合)在指定范围内必须是唯一的。 == Schema在数据库中的释义 == 官方定义如下: <pre> A schema is a collection of database objects (used by a user.). schema objects are the logical structures that directly refer to the database’s data. A user is a name defined in the database that can connect to and access objects. schemas and users help database administrators manage database security. </pre> 1、从定义中可以看出schema是[[数据库]]对象的集合,为了区分各个集合,需要给这个集合起个名字,这些名字就是我们在企业管理器的方案下看到的许多类似用户名的节点,这些类似用户名的节点其实就是一个schema,schema里面包含了各种对象如: <div style="-moz-column-count:3; column-count:3;" class=sclist> *1、tables *2、views *3、sequences *4、stored *5、procedures *6、synonyms *7、indexes *8、clusters *9、database links。 </div> 2、一个用户一般对应一个schema,该用户的schema名等于用户名,并作为该用户缺省schema。这也就是我们在企业管理器的方案下看到schema名都为数据库用户名的原因。 3、[[oracle]]数据库中不能新创建一个schema,要想创建一个schema,只能通过创建一个用户的方法解决(oracle中虽然有create schema语句,但是它并不是用来创建一个schema的),在创建一个用户的同时为这个用户创建一个与用户名同名的schem并作为该用户的缺省shcema。 4、就是说schema的个数同user的个数相同,而且schema名字同user名字一一 对应并且相同,所有我们可以称schema为user的别名,虽然这样说并不准确,但是更容易理解一些。 5、一个用户有一个缺省的schema,其schema名就等于用户名,当然一个用户还可以使用其他的schema。如果我们访问一个表时,没有指明该表属于哪一个schema中的,系统就会自动给我们在表上加上缺省的sheman名。 6、比如我们在访问数据库时,访问scott用户下的emp表,通过select from emp 其实,这[[sql]]语句的完整写法为select from scott.emp。在数据库中一个对象的完整名称为schema.object,而不属user.object。 7、类似如果在创建对象时不指定该对象的schema,在该对象的schema为用户的缺省schema。这就像一个用户有一个缺省的表空间,但是该用户还可以使用其他的表空间,如果在创建对象时不指定表空间,则对象存储在缺省表空间中,要想让对象存储在其他表空间中,需要在创建对象时指定该对象的表空间。 下面这个查询就是我说将schema作为user的别名的依据。实际上在使用上,shcema与user完全一样,没有什么区别,在出现schema名的地方也可以出现user名: <pre> sql> gruant dba to scott sql> create table test(name char(10)) table created. sql> create table system.test(name char(10)) table created. sql> insert into test values(' scott' ) 1 row created. sql> insert into system.test values(' system' ) 1 row created. sql> commit commit complete. sql> conn system/manager connected. sql> select from test name ---------- system sql> alter session set current_schema = scott --改变用户缺省schema名 session altered. sql> select from test name ---------- scott sql> select owner table_name from dba_tables where table_name=upper(' test' ) owner table_name ------------------------------ ------------------------------ scott test system test </pre> == 相关条目 == *[[Scheme]] *[[数据库]] *[[HTML]] == 参考来源 == *[http://www.w3school.com.cn/schema/ Schema教程] *http://wenda.tianya.cn/wenda/thread?tid=1ff539429cb5ffba *http://hanyu.iciba.com/wiki/425195.shtml [[category:XML]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)