作者:东正科技 蔡继文
第三章 Doking's BLOG 数据库的设计和连接
构建好开发环境后,Doking's BLOG数据库规划是第三步,它也是直接关系到数据库以后是否能够有效运行的关键步骤,也是对一个数据库开发人员的规范要求。
3.1 数据库的规范化
数据库的规范化主要体现在表与表之间的关系、数据结构及存储两大方面。
3.1.1 数据表之间的关系
许多初学者常常认为,建立一个表储存所有数据就可以了。如果这么认为,那经常会造成数据冗余的。图3-1-1是一个数据表,可以看到画在红色圈中的数据是冗余的。
图3-1-1 一个数据表
冗余数据会影响数据库的有效运行,甚至可以把数据库推毁。为减少冗余数据,得把数据分开储存成几个表,并建立表与表之间的连接关系。表与表之间的连接关系,主要有一对多、多对多、一对一三种方式。
一对多关系,它是数据库中最普通的关系类型。这种关系双被称为是父表与子表关系或主表与分表关系。图3-1-2就体现了一种父表与子表关系。在这里,专题表与回复表就是一对多的关系。专题表是父表,回复表是子表,专题表中的一行在回复表可有零行、一行或许多与之对应,而回复表中的每一行都与专题表中的相应的专题对应。
图3-1-2 一对多关系
多对多关系,就是第一张表的每一行可对应第二张表的许多行,同样地,第二张表中的每行也可与第一第表中的许多行相对应。例如,一个专题可以有许多用户回复,一个用户也可以作多次专题回复。这就需要建立第三张表,将专题代码与用户代码连接,这个表就是前两个表的父表。在图3-1-3中,“回复表”就是“专题表”与“用户表”的父表。
图3-1-3 多对多关系
一对一的关系,就是将一个表中的行与另一表中的行连接来。这种关系非常少见,因为如是有的话,还不如把这两个表合为一张表更为合理。
3.1.2 数据结构与储存
数据库的物理结构必须基于逻辑结构建立的,在设计表格、字段和关系时就需记住一些规则。行与列的顺序并不起什么作用,虽然在数据表中,列会有一定的顺序位置,但它们并不以此来代表引用顺序。记录的顺序只有在它们从数据表中取出并送给用时才起作用。SQL会通过参数数据库索引来处理记录的提取顺序。例如,在数据表中,把性别字段放在姓名字段之前,这个错误没什么,只要在采用SQL语句调用这个数据表时,记得把姓名字段调到性别字段之前就可以了。
设计数据表时,分配字段大小要慎重,在够用的情况下,能省就省。如果字段用于储存整数,请用整数或长整数,不用单精度或双精度,如果够用的话,最好建立100字符的文本类型字段,而不要采用备注字段。为什么?如果你不怕高昂的服务器费用、不怕网络数据库运行缓慢,你大可不必理会这些,但它最严重会导致数据库崩溃。
3.2 Doking’s BLOG数据库的设计
基于上述数据库规范化的知识,这节开始规划设计Doking’s BLOG数据库。Doking’s BLOG数据库中设计了五个数据表,分别是LM表(栏目表)、ZT表(学习笔记表)、HF表(回复表)、YH表(用户表)、GLY表(管理员表),并把数据库命名为“dkblog.mdb”,保存在“D:\dat\”目录下。
LM表即栏目表,用于网站导航条建立和学习笔记的归类,栏目内容是由网站的管理员设计的,其字段设计如图3-2-1所示
图3-2-1 LM表的字段设计图
ZT表即学习笔记表,是用于储存用户发表学习心得,其实字段设计如图3-2-2所示:
图3-2-2 ZT表的字段设计图
HH表即回复表,储存着用户对已发表的学习笔记的回复,其字段如图3-2-3所示:
图3-2-3 HF表的字段设计图
YH表即用户表,储存着用户的注册信息,方便用户登录发表学习笔记和学习笔记的回复。其字段设计如图3-2-4所示:
图3-2-4 YH表的字段设计图
GLY表即管理员表,用于管理员登录,管理网站,其字段设计如图图3-2-5
图3-2-5 GLY表的字段设计图
3.3 创建Doking’s BLOG数据库连接源
(1)启动Dreamweaver MX 2004,在【文件】菜单中,选择【新建】,在【新建对话框】中,选择类别为“动态页”,选择动态页为“ASP.NET VB”,按“创建”按钮,创建一个动态网页。
(2)切换到【应用程序】面板,选择【数据库】选项卡,单击“+”号,选择“OLE DB连接”,如图3-3-1所示:
图3-3-1 选择OLE DB连接
(3)在弹出【OLE DB连接】对话框中,输入连接名称“dkconn”,单击“建立”按钮,如图3-3-2所示:
图3-3-2 设置连接名称
(4)进入【数据连接属性】页面,选择【选择程序】选项卡,由于要连接的数据库是Access2003的数据库,所以在数据库引擎中选择“Microsoft Jet 4.0 OLE DB Provider”作为驱动程序,如图3-3-3所示:
图3-3-3 选择数据库引擎
(5)选择【连接】选项卡,选择要连接数据库为“D:\dkblog\dat\dkblog.mdb”,把“用户名”和“密码”的文本框清空,如图3-3-4
图3-3-4 选择连接数据库
(6)选择【高级】选项卡,在设置访问权限中,选择“ReadWrite”,如图3-3-5所示
图3-3-5 设置访问权限
(7)返回【连接】选项卡,单击“测试”按钮,出现如图3-3-6对话框,那说明已经把数据库dkblog.mdb连接到站点上了。单击“确定”按钮完成数据库的连接工作。在站点的根目录下面,可以看到增添了一个新文件“web.config”,以后可以在这个文件直接对数据库的连接进行修改。
图3-3-6 数据库测试对话框
3.4 连接对话框中的“建立”按钮无效的解决
如果您在3.3节中的第(3)步骤中单击【建立】按钮,【数据链接属性】对话框不打开。单击【建立】按钮时没有任何反应。导致此问题的一个原因可能是 MDAC 2.8;XP SP2 中默认包含着 MDAC 2.8。XP SP1 用户如果安装了 MDAC 2.8,则也会受到此问题的影响。此问题只影响 Dreamweaver MX 2004,而对 Dreamweaver MX 没有影响。有两种解决方法:
第一种方法:接3.3节中的步骤中第(3)步骤,在【OLE DB 连接】对话框中的【连接字符串】文本区域中输入:
Provider=Microsoft.Jet.OLEDB.4.0;DataSource=D:\dkblog\dat\dkblog.mdb;Persist Security Info=False
第二种方法:在硬盘上创建一个新的文本文件,将文件的扩展名由 .txt 更改 .udl,然后打开 .udl 文件。该文件可以打开【数据链接属性】对话框。其具体操作如下:
①接3.3节中的步骤中第(3)步骤。执行【开始】|【所有程序】|【附件】|【记事本】系统菜单命令。
②在记事本程序主窗口中,直接执行执行【文件】|【保存】菜单命令,在弹出【另存】对话框中的输入文件名为数据库连接.udl,如图3-4-1所示。
图3-4-1 保存“数据库连接.udl”
③点击【保存】按钮,关闭记事本程序,切换到【桌面】中,双击“数据库连接”这个文件,按照教程中第(4)—(7)进行操作。单击【确定】按钮,关闭【数据库链接】对话框。
④执行【开始】|【所有程序】|【附件】|【记事本】系统菜单命令。在记事本程序主窗口中,直接执行执行【文件】|【打开】菜单命令,选择“数据库连接”为打开文件。
⑤在记事本程序主窗口中,选择第三行所有字符进行复制,如图3-4-2所示。切换到Dremweaver程序中,将其粘贴到第(3)步骤的在弹出【OLE DB连接】对话框中的【连接字符串】文本区域中,这样就完成在Dreamweaver中的数据库链接。
图3-4-2 复制“数据库连接”文件中的第三行所有字符