《管理信息系统程序设计》实验指导书
(3) 设置外键:需要在“General”和“Primary Key”选项卡中进行设置。
a Object Details视图 b Object Layout视图 c 树状视图
图 1.17 设置外键
“General”选项卡:先在“Foreign Key”文本框中输入外键名“speid”;然后在“Columns”列表框中选择相应的列“pecialtyid”作为外键。 ? “Primary Key”选项卡:在“Table”下拉列表框中选择要关联的表,这里选择专业信
息表“specialty”;然后在“Columns”列表框中选择相应的主键列“specialtyid”。 设置后,“Object Layout”视图和树状视图中,外键列的标识都将出现相应变化,具体如图1.17b和c所示。
(4) 单击保存图标:更新对当前表的修改。
?
提示: 关于设置外键的说明:
? 如果一个表中需要设置多个外键,只需按照上述步骤重复操作多次便可。 ? 如果“Object Layout”视图中相关表都存在,则他们之间的相互关系将通过连线方式显示出
来,如图1.17b所示。
? 如果要修改外键,可以从树状视图中选择相应表中的外键列表项,双击鼠标左键可以在
“Object Details”视图中打开“Foreign Key”对话框,但此时外键的名称已经不能修改。 ? 如果想修改外键的名称,只有先将该外键删除,然后重新进行设置。
? 删除外键的方法:在树状视图中选中要删除的外键列表项,或者在“Object Layout”视图中
选中外键图标,在其右键快捷菜单中选择“Drop Foreign Key”命令。删除主键和删除索引的操作与该操作相似。 采用同样的方法为成绩信息表设置外键,其外键列为“studentid”和“courseid”,分别与学生信息表和学生信息表的主键对应,外键名分别为“stuid”和“couid”。 表的关系图
如果读者已经按要求创建成绩信息库中的表,并设置了相应的主键和外键,那么在数据库画笔的“Object Layout”视图中可以得到它们的关系图,如图1.18所示。
- 15 -
《管理信息系统程序设计》实验指导书
图 1.18 各表的相互关系图
建立索引
为了提高数据检索效率,通常我们都要对经常查询的列定义索引,可以认为索引是指向表中各行数据的指针数组,这个数组按索引列进行排序。索引与字典中的检字表有点类似,通过索引能够快速地在数据库中查找到所需的数据。下面说明创建索引的方法。
为“院系信息表”创建索引,操作步骤如下:
(1) 选择表:在树状列表视图中选择院系信息表“college”。
(2) 单击鼠标右键:在其快捷菜单中选择“New / Index”命令,系统在“Object Details”视图中
打开“Index”对话框,如图2.19a所示。
a Object Details视图 b Object Layout视图 c 树状视图
图 1.19 建立索引
(3) 定义索引:在“Index”文本框中输入索引名称“title”;在“Columns”列表框中选中列“title”;
选中“Unique”复选框(表示该列中的数据唯一,不能重复);选中“Ascending”复选框(表示数据按照升序进行排序)。设置后,“Object Layout”视图和树状视图中,索引列的标识都将出现相应变化,具体如图1.19b和c所示。 (4) 单击保存图标:更新对当前表的修改。
提示: 修改和删除索引的方法与外键的操作方法相似。
采用同样的方法依次为成绩信息库中其它表创建索引,各表的索引列如下: ? 院系信息表:“title”
- 16 -
《管理信息系统程序设计》实验指导书
? 专业信息表:“title” ? 课程信息表:“title” ? 学生信息表:“name” 索引的名称都与列名相同。
设置表的属性
在表的属性对话框中,我们可以对表的注释、数据字体、标题字体和标签字体进行设置。下面介绍具体的设置方法。
设置“院系信息表”的属性,操作步骤如下:
(1) 选择表:在树状视图中选中院系信息表“College”。
(2) 打开属性对话框:从其右键菜单中“Properties”命令,或者在画笔工具栏中单击属性图标,
或者双击当前列,系统打开“Table”对话框,如图1.20所示。 (3) 设置表的属性:
? “General”属性卡:可在“Comments”编辑框中输入表的注释信息。 ? “Data Font”属性卡:设置创建数据窗口时表中数据使用的缺省字体。 ? “Heading Font”属性卡:设置创建数据窗口时列标题使用的缺省字体。 ? “Label Font”属性卡:设置创建数据窗口时列标签使用的缺省字体。
注意:如果用户在列属性中对字体进行了具体的设置,创建数据窗口时,系统将以列属性中的设置为准。
图 1.20 表的属性对话框 图 1.21 列的属性对话框
(4) 单击保存图标:更新对当前表的修改。 设置列的扩展属性
在列的属性对话框中,我们可以定义列的其它属性,包括显示格式、编辑风格、有效性规则等等。下面介绍具体的设置方法。
设置“院系信息表”的扩展属性,操作步骤如下:
(1) 选择列:在树状视图中展开院系信息表“College”,在其“Columns”列表中选择相应的列
“collegeid”。
(2) 打开属性对话框:从其右键菜单中“Properties”命令,或者在画笔工具栏中单击属性图标,
或者双击当前列,系统打开“Column”对话框,如图1.21所示。 (3) 设置列的属性:
? “General”属性卡:可在“Comments”编辑框中输入列的注释信息。 ? “Headers”属性卡:设置列的标题信息。在“Label”文本框中可以输入以标签方式显
示数据时列的标题;在“Heading”文本框中可以输入以表格方式显示数据时列的标题;“Postion”表示标题的对齐方式。这里将“Label”和“Heading”属性都设为“院系编
- 17 -
《管理信息系统程序设计》实验指导书
号”。 ? “Display”属性卡:设置列的显示格式。 ? “Validation”属性卡:设置列值的有效性规则。 ? “Edit Style”属性卡:编辑数据的输入样式。 (4) 重复步骤(1),选择列“title”,在“Headers”属性卡中将“Label”和“Heading”属性都设
为“院系名称”。
(5) 单击保存图标:更新对当前表的修改。 技巧: 关于命名的问题。
? 在定义表的结构时,我们即可以为列设置的英文名,也可以设置中文名,虽然中文名容易理
解,但我们更习惯将其设为全英文的。这是因为在编写程序代码时,我们可能经常用使用这些列名,很明显输入英文要比输入中文快捷。同理,在为数据表、或者为编程中的变量命名时我们采用全英文名。
? 列的标题名在创建数据窗口时将被使用,直接显示在用户面前,因而列的标题,不管时标签
标题,还是表格标题都应该被设置为中文方式,以便使用者理解列的意义。但因为定义的列名为英文,系统创建表时将列标题名默认为列名,所以在创建表后,还需要对列标题进行中文命名。 采用同样的方法依次为成绩信息库中其它表的各列设置“Label”和“Heading”属性,具体设置的内容如下(可参看个表定义中列的说明信息):
? 专业信息表:专业编号、专业名称
? 课程信息表:课程编号、课程名称、专业编号 ? 学生信息表:学号、姓名、性别、政治面貌、备注 ? 成绩信息表:学生学号、课程编号、成绩、备注 4)视图操作
视图是数据库应用系统中十分重要的组成部分,通过视图可以进一步简化应用程序编程工作,使其更加简洁、灵活、方便、有效。我们可以把视图当作一种虚表,并且能够像表一样访问和使用视图,然而,数据库中并不真正存储视图的物理结构和数据。使用视图时,数据库根据定义视图的SQL语句提取相应数据。通过定义视图,我们可以屏蔽表中的某些信息,这样当用户访问该视图时,就只能访问他所需的数据,而看不到他不应该看到的数据,做到信息保密。
创建视图
下面介绍视图的创建过程。
创建一个成绩视图,用于显示学生的成绩信息。创建视图前,请先运行数据库画笔,并确保数据库已经正确连接,其它操作步骤如下:
(1) 单击工具栏中的创建视图图标:系统打开“Select Tables”对话框,如图1.22所示,要求
用户选择相关表。
图 1.22 选择视图相关表对话框
- 18 -
《管理信息系统程序设计》实验指导书
(2) 选择表:在对话框中选择除“college”以外的所有表,如图1.22所示。
图 1.23 视图画笔
(3) 单击“Open”按钮:系统打开视图画笔,界面如图1.23所示。
(4) 选择视图中的输出列:在“Table Layout”视图中显示的表中依次选择如下列“course.title→
specialty.title→sreport.studentid→student.name→sreport.score→sreport.remark”(课程名称→专业名称→学生学号→学生姓名→课程成绩→成绩备注)。选中的列将出现在“Table Layout”视图的最上方。如果要改变输出列的顺序,可以直接拖动相关列进行调整。完成后,如图1.23所示。
(5) 观察对应的SQL语句:在“Table Layout”视图的下方选择“Syntax”视图,其中列出了创建
视图的SQL语句,如图1.23所示。 (6) 单击画笔工具栏中的返回图标:系统打开“Save View Definition”对话框,如图1.24所示,
在“Name”文本框中输入“ScoreViews”作为视图名。
图 1.24 视图名称对话框 图 1.25 视图列表
(7) 单击“Create”按钮:系统将创建视图并返回数据库画笔。新建的视图将显示在树状视图的
“Views”列表中,如图1.25所示。
删除视图
如果要删除视图,可以在树状视图中先选中要删除的视图,如图1.25所示,然后单击鼠标右键,在其快捷菜单中选择“Drop View”命令,系统弹出删除确认对话框,单击“是”按钮,系统将执行删除选中视图的操作。
5)数据操作
当我们定义了数据库的表后,即使不编写一行程序,在数据库画笔中也能够方便地输入、编辑和删除数据。数据操作是在数据库画笔的“Results”视图中进行的,该视图分为三种显示方式,分别为:
? Grid:表格方式,以网格的形式显示数据,列标题显示在整列的最上方,行和列之间有网格
线,具体如图1.26a所示。
? Tabular:列表方式,以列表的形式显示数据,列标题显示在整列的最上方,行和列之间没有
网格线,具体如图1.26b所示。
- 19 -