这是同样系列的第二篇,上一篇在:http://www.jb51.cc/article/p-adrbyezm-zx.html
建立数据库
前文再续,书接上一回。这一章将会讲述如何在Access中建立数据库。我将同时讲述Access2003和2013两种版本的操作方法。
先来讲如何创建一个数据库,当然,创建一个数据库的操作自然也包括了创建表,增加字段这些操作。
先说2003的操作方式:
选择【空数据库...】,然后在弹出来的【文件新建数据库】对话框中选择好路径,填好文件名,单击【创建】就有一个新的数据库文件了。
这时候会弹出一个对话框,如下图:
如图在左边的对象那一列选择【表】,右边选择【使用设计器创建表】,然后按左上角的【打开】,就会打开表设计器窗口,如下图:
至今为止,我都没有说要设计一个什么程序来作为示例教导大家如何使用数据库,既然前面以StudentID字段作为例子,就设计一个学生管理系统为例吧。那么在【字段名称】的第一行处输入StudentID(即学生编号),我之前说过,字段名等不要用中文,所以这里用的是英文。在【数据类型】的第一行处选择【数字】(虽然选择【自动编号】会让我们后面的程序更方便,不过为了说多一些知识,就让我绕个弯子吧),之后下面的常规那里原本是空白的,就会变成如图所示的样子。
下面我们来研究一下下面的【常规】选项卡有什么用。对于我们来说,一般有用的是【字段大小】,【小数数位】,【必填字段】和【索引】这四个。以次来说。
【字段大小】指的是每一个记录中这个字段所能存储的数据大小,对于现在的【数字】,当然指的就是数字的大小了。一般有【字节】,【整形】,【长整型】,【单精度型】,【双精度型】,【同步复制ID】,【小数】。当我们在选择【字段大小】的时候,右边的蓝色字提醒我们最常用的是【双精度型】和【长整型】。各种类型的存储范围和VB大概对应的数据类型如下表:
类型 | 存储范围 | VB对应类型 |
---|---|---|
字节 | 保存从 0 到 225(无小数位)的数字。 | Bety |
整形 | 保存从 -32,768 到 225(无小数位)的数字 | Integer |
长整型 | (默认值)保存从 -2,147,483,648 到 2,647(无小数位)的数字。 |
Long |
单精度型 | 保存从-3.402823*(10^38) 到-1.401298*(10^-45 )的负值, 从 1.401298*(10^-45) 到 3.402823*(10^38) 的正值。 |
Single |
双精度型 | 保存从–1.79769313486231*(10^308) 到–4.94065645841247*(10^–324)的负值,以及从4.94065645841247*(10^–324) 到1.79769313486231*(10^308) 的正值。 |
Double |
同步复制ID | 全局唯一标识符 (GUID)(GUID:在 Access 数据库中,一种用于建立同步复制唯一标识符的 16 字节字段。GUID 用于标识副本、副本集、表、记录和其他对象。在 Access 数据库中,GUID 是指同步复制 ID。) |
String |
小数 | 28位的小数 |
Double |
上面的这些数据可以在选择【字段大小】的时候按下F1来查看(注:对于【小数】这个类型的说明,原文是这样表述的“存储从 -10^38-1 到 10^38-1 范围的数字 (.adp);存储从 -10^28-1 到 10^28-1 范围的数字 (.mdb)”它的表达方式-10^38-1 之类的很令人费解,既不是-10的38次方减一,也不是-10的38-1次方,无论哪一个都是很小的负整数,不是小数。所以取了原文的小数数位作为这里的描述)那么现在StudentID作为一个ID,ID可能多达10多位,就只能取【双精度型】了,【长整型】达不到那么大的数。但是对于小的内容,我们就应该设置为范围小的数据类型,这样数据库引擎对他的处理会更快,消耗的内存也更少。
【小数数位】从字面上理解就可以了,从上面的描述中可以知道,只有【单精度型】,【双精度型】,【小数】这三种类型设置这个属性才是有意义的。【小数】类型的有28位小数,无整数部分,单精度类型的是7位小数,双精度的是15位小数,如果设置了超过该类型所承受的小数数位,则还是按照这个类型所能支持的最大小数数位来计算。这里的StudentID就设置为0好了。
【必填字段】就是说明在一个记录中这个字段是否是必须填写的,这个属性只有两个选择,要不就【是】,要不就【否】,会中文的都知道是什么意思了,不解释了。这里的StudentID就设置为【是】好了。
还有一个就是【索引】,可以选择的是【无】,【有(无重复)】,【有(有重复)】。有索引可以加快搜索和排序的速度,但是可能降低更新数据的速度。一般我都选有,而有重复和无重复的差别就是是否允许字段中出现重复的数据,这里的StudentID就设置为【有(无重复)】好了。
最终的设置如下:
然后我们回到【字段名称】的第一行,单击鼠标右键,选择【主键】(如下图)。虽然定义主键不是必须的,但是还是推荐这样做,定义你认为最重要的字段为主键即可,这里当然就是StudentID了。
说了那么多,我们继续表的创建。在【字段名称】那一栏的第二行,我们输入StudentName,别简单地输入Name就算数了,虽然它允许(在2013的版本里会发出警告的),但是在sql语句和数据库引擎里是保留字,有其独特的用途,所以不要直接使用保留字来做字段名,表面和数据库名。Access的保留字列表:http://wenku.baidu.com/view/f09e8be3172ded630b1cb664.html
在数据类型的那一列的第二行选择【文本】,在下面【常规】选项卡中修改如下的属性为表中的值:
属性名 | 修改之后的值 |
---|---|
必填字段 | 是 |
允许空字符串 | 否 |
索引 | 有(有重复) |
最后输入好的表就有两个字段了,以后要新的字段的时候在新加也是可以的。
最后直接点击表编辑器右上角的关闭(上图红色框),在弹出的时候保存表的更改那里选择是,在随后的表另存为中修改表名称为Student并确定。
关闭表编辑器之后,我们又回到了最初保存数据库之后的窗口,在左边对象那一列选择【表】,你就会发现下面多了一个名为Student的表,就是我们刚才建立的(如下两张图的第一张),要想输入数据,双击它就会出来一个窗口(如下两张图的第二张)
对于2003数据库的创建,就是怎么多,最后在文件菜单按一下保存就可以关闭Access了。
对于2013版本的Access,他的创建显得没那么麻烦,其实要做的工作还是怎么多,只不过都和2003版本的很相似,就是操作的界面不同罢了。下面来说一下:
首先在启动Access 2013之后,我们会看到如下的新建界面
选择空白桌面数据库,弹出如下的窗口。这里要留意了,Access 2013默认创建拓展名为*.accdb的新型数据库文件,我们方便操作的是*.mdb文件,两种文件不兼容的。所以我们单击红色框的选择路径按钮,在修改数据库的文件名和路径的同时修改格式,如下图:
在弹出的文件新建数据库对话框里修改文件名和路径,留意蓝色框中选择的文件版本是2002-2003数据库,如下图:
单击确定之后就会回到刚才的新建对话框,在那里单击创建(如上两张图)就可以了。
完成之后我们看到的是如下的界面:
你会发现2013用起来真是清爽。可以看到最左边的侧边栏显示的是当前的数据库有哪些表。这里的表1是默认新建的。右边是编辑表数据和字段的视图。在没有数据之前可以通过那个“单击以添加”来添加字段,ID这个字段是默认自动添加的,在添加了自己需要的字段之后如果不需要他可以删掉(之后再说明怎么删,因为ID这个是默认的主键,不能在当前的视图下删除)。照样,我们单击“单击以添加”来添加字段,单击之后会出来一个菜单,让我们选择字段的数据类型。我们选择【数字】(如下图)
然后输StudentID,之前2003版本中的【常规】选项卡里的属性已经挪到了界面的上方,如下图的红色框区域:
数据类型,必须,唯一,已索引是2003版本中介绍的三个属性中的两个,还有一个是字段大小,要在别的视图才能设置,下面和怎么删掉ID字段,设置新的主键一起说。
在编辑表数据和字段的视图上面的的【表1】那里(也就是ID上面的那个)单击右键,选择【关闭】。这时候他会提示你是否保存更改,单击是之后会出现【另存为】对话框,在表名称那里输入Student,这些操作都是和2003版的很相似的。
在左边侧边栏的【表1】那里单击右键,选择【设计视图】,如下图:
打开之后出来的是我们在2003版本看得很熟,我花了很大的篇幅去说的【表编辑器】,几乎一模一样,只不过2013版本的表编辑器不是一个窗口,而是一个选项卡,跟编辑表数据和字段的视图一样。如下图:
留意上图的红色框,里面有一个钥匙的图标,那就是主键的符号,正因为ID字段是主键,所以不能随意删掉,我们在第二行,StudentID字段单击右键,选择【主键】,这时候变成第二行前面有了钥匙的符号,第一行没有,也就是说主键已经从ID这个字段变为StudentID这个字段,这时候我们就可以在第一行ID那里单击右键,选择【删除行】删掉ID这个字段了。而下面的【常规】选项卡也和2003版本的一样,要修改字段大小可以在这里修改。同样地添加StudentName字段,同样不要只用Name这个名字,用2013版本的朋友注意参见上面的2003的介绍,修改好【常规】选项卡里需要修改的属性。
最后就是按Ctrl+S保存了,或者按文件菜单保存,都一样。那么下一章将会讲述数据库的连接。未完,待续。
下一章:连接数据库与SQL语句的Select语句初步 http://blog.csdn.net/jiluoxingren/article/details/9474661