PEAR MDB数据库抽象层一次编写—随处运行
时间:2007-12-23 来源:不详 作者:迈克DB
<database>
<name>auth</name>
<create>1</create>
</database>
可能你已经从名 auth 猜出了这个的目的是用于储存简单的验证程序的用户数据。listing 2 定义了在其中我们能储存用户数据的表。 listing 2 <table>
<name>users</name>
<declaration>
<field>
<name>user_id</name>
<type>integer</type>
<notnull>1</notnull>
<unsigned>1</unsigned>
<default>0</default>
</field>
<field>
<name>handle</name>
<type>text</type>
<length>20</length>
<notnull>1</notnull>
<default></default>
dedecms.com
</field>
<field>
<name>is_active</name>
<type>boolean</type>
<notnull>1</notnull>
<default>n</default>
</field>
</declaration>
</table>
如你能看到的,如使用 xml 时可以预期的,东西变得有一些冗长。不用担心:我们有一个基于浏览器的工具称为 mdb_frontend 使得这个过程更加简单。我将在这篇文章的后面谈论这个工程。可能这极其具体地表格描述的优点是非常明显。前面例子中的表格被称为 users 并且我们定义了 3 个域:类型为整数的 user_id,类型为文本的 handle 和类型为逻辑型的 is_active。记住假如你如前一节那样传递了必要的元数据 mdb 为你处理类型抽象。你还不需要 mdb 把这些类型映射为你的 rdbms 中的什么。在每个域声明中还能使用的其他标签是可选的:length,notnull,unsigned 和 default。 下一件我们现在需要做的事情是通过在 user_id 域放置恰当的索引确保 user_id 是唯一的。索引定义就在声明标签之内(listing 3)。 listing 3: <table>
织梦内容管理系统
<name>users</name>
<declaration>
<index>
<unique>1</unique>
<name>user_id_index</name>
<field>
<name>user_id</name>
<sorting>ascending</sorting>
</field>
</index>
</declaration>
</table>
在 listing 3 中的定义在域 user_id 中创建一个唯一的上升排序的名为 user_id_index 的索引。当然,我们可以简单地添加另外一个域标签在索引定义中指定多于一个的域。我们现在仍然没有提到的是为我们产生唯一的用户 id 的序列。 <sequence>
<name>users_user_id</name>
<start>1</start>
<on>
文章评论
共有位Admini5网友发表了评论 查看完整内容