师:同学们,我们一起来学习高一年级教科版信息技术必修二第三单元 3.2 数据库的构建。这节课的学习目标是掌握在可视化环境中构建数据表的方法,能够根据信息管理需求合理设置字段、数据类型及属性。我们把这两个目标转换成问题,在问题的解答中进行学习。
第一个问题,什么是数据表?如何构建数据表?怎样合理设置字段数据类型及属性?带着这些问题,我们开始今天的学习。首先,了解一下什么是数据表。
本课里的数据表指的是关系数据库管理系统 access 中的数据表,数据表由表名、字段、记录等组件构成。在 access 中,仅通过直观操作而无需编写代码就能创建、修改、删除数据库,这种操作方式称为可视化操作。大家看右图红框中,有一个名为图书表的数据表。在 access 中,数据表是组织和存储数据的二维表。
这个数据表的表名是图书表,每一列是一个字段,图中的字段有 ISBN、书名、出版时间、作者、种类、数量等。每一行是一条记录,该图中显示了 6 条记录。一般来说,我们用一条记录描述一个对象的各项属性,比如“978 - 7 - 302 - 40433 - 0 山海经 2015 - CSS 11 - 01 孙建坤”描述了《山海经》这本书的 ISBN、书名、出版时间、作者等属性。一个字段描述多个对象的共同属性,例如“书名”这个字段,描述了数据表中多本书的共同属性。
数据表通常会有一个主键,大家看图,字段被设置为主键后,前面会有一把钥匙。什么是主键呢?主键是数据表的一个或多个字段的组合,一个表最多有一个主键,也可以没有主键。定义为主键的字段不允许输入重复的值或不输入值,也就是说主键的内容要有且唯一。它有两个作用,一是区分表中各条记录,比如班里可能有同名的学生,为了区分他们,在数据库里可以把具有唯一性的学号或身份证号作为主键。再看右图中的书号 ISBN,为什么要把书号 ISBN 设置为主键,而不是书名呢?因为书号 ISBN 具有唯一性,可以区别不同的书,而书名可能因重名无法区别不同的书。这里强调一下,为了实现区分记录的功能,主键字段不允许输入重复的值或不输入值。主键的第二个作用是,多个数据表通常通过表的主键来建立它们之间的关系。access 是关系型数据库,这种关系就体现在数据表之间通过主键建立起来的数据关系。
接下来看第二个问题,如何构建数据表。在了解了数据表、记录、字段、主键等概念后,我们通过一个视频来进一步了解构建数据表的一般过程。在这个视频中,我们将学习创建表、切换视图、保存表、设计表结构、设置主键、输入数据、存储图片等操作。
师:同学们,现在通过视频来了解数据表构建的一般过程。运行 access 后,能看到它的起始窗口。在起始窗口里点击“空白数据库”,就能打开一个窗口,在这个窗口里我们可以输入数据库文件的文件名,并选择它存放的位置。做好这些设置后,按“创建”按钮,就进入到这个数据库文件的数据表视图。在这个视图里,我们看到已经有了一个“表 1”的数据表。如果要编辑数据,要在数据表视图完成;如果要给数据表设置字段,通常需要在设计视图完成。我们可以点击视图按钮并选择设计视图,这时它会要求我们另存这个数据表,在这里可以输入数据表的名称。按确定后就进入到了设计视图。
在设计视图里,我们可以输入字段名称、它的数据类型和字段的属性。这里能看到数据表里已经有了一个默认的 ID 字段,它的数据类型是自动编号。我们现在的数据表不需要这个字段,可以改成我们需要的字段。输入完字段名之后,再来设置它的数据类型。比如这里的 ISBN,我们选择数据类型为短文本。接着把其他字段都输入完,数量的数据类型,我们选择数字,它的字段大小,我们可以把它修改为字节。封面字段的数据类型,我们选择为 Ole 对象,准备在这个字段存放书的封面图片。
我们再来看 ISBN 这个字段,它是由新建工作表默认有的 ID 字段修改而来。ISBN 这个字段前面有个小钥匙,标明它是这个数据表的主键。如果想取消这个主键,可以单击 ISBN 字段,使它激活成编辑状态后,在工具栏的主键按钮单击就可取消,此时 ISBN 字段前面的小钥匙就没有了。如果想把作者字段设置为主键,可以单击作者字段,使它激活成编辑状态后,在工具栏的主键按钮单击,把它设置为主键。此时作者字段前面就出现了小钥匙,标明它已经成为主键。一般而言,我们要把内容有且唯一的字段设置为主键,用于区分数据表中的不同记录。在本数据表中,符合内容有且唯一这一条件的只有 ISBN 字段,所以把它设置为主键是合适的。而作者字段的内容有可能重复,所以它不适合设置为主键。现在我们重新把 ISBN 设置为主键。字段也可以删除,例如删除封面字段可以这样做,首先单击该字段,使它激活成编辑状态后,再单击工具栏上的删除行按钮。如果这个字段里没有数据,那么这个字段就直接删除掉了;如果字段里有数据,那么 access 还会弹出一个窗口,要我们确认是否删除该字段及其所有数据。需要强调的是,删除字段会删除这个字段所有的数据,所以删除一定要小心,避免误删。
