8.6 数据库技术应用实例
数据库设计和实施在开发数据库应用系统的过程中占有非常重要的地位。 本节使用Access 2010数据库管理系统软件设计一个小型的学生成绩管理数据库,并使用T-SQL 语句进行查询。
8.6.1 学生成绩管理数据库的设计
1.概念结构设计
通过对学生成绩管理数据库的需求分析,设计出总体E-R图。
2.逻辑结构设计
将E-R模型转换为关系模型,转换的原则如下。
(1)E-R图中的每个实体都应转换为一个关系,实体的属性直接作为该关系的属性,实体的主键直接作为该关系的主键。
限于篇幅,下面只以学生和课程两个实体间的联系为例进行说明,这两个实体转换后的关系模型如下:
学生(学号,姓名,性别,出生日期,专业);
课程(课程号,课程名,课时,学分)
(2)E-R图中的每个联系都应转换为一个关系,联系的属性(如果有)直接作为该关
系的属性,与该联系相连的两个实体的主键作为该关系的属性。 学生和课程的联系转换后的关系模型如下:
成绩(学号,课程号,分数)
注意:对于m∶n的联系,它的关系模型的主键由双方实体即学生和课程的主键联合担任;对于1∶n的联系,它的关系模型的主键由n端实体的主键担任;对于1∶1的联系,它的关系模型的主键由任一方实体的主键担任。
数据库逻辑设计的结果不是唯一的,为了获得好的关系数据库模式,必须进行数据模型的优化,它必须以规范化理论为指导。 关于这方面的内容本书在此不再介绍。
8.6.2 学生成绩管理数据库的实施
1.使用Access 2010创建学生成绩管理数据库
创建一个名为“学生成绩管理”的数据库的步骤如下。
(1)在本地硬盘的D盘中创建一个新文件夹,名为“学生成绩管理”。
(2)启动Access 2010,在D盘的“学生成绩管理”文件夹下创建名为“学生成绩管理”的空数据库。
2.创建三个数据表并录入数据
在“学生成绩管理”数据库中创建三个数据表,分别为“学生”“课程”和“成绩”。
创建数据表必须先创建表结构,再输入记录数据。 三个数据表的结构分别如表8-2、表8-3和表8-4所示。
表8-2 学生
表8-3 课程
表8-4 成绩
3.创建表间关联
若想在同一个数据库中对多个表建立表间关联关系,则必须先对相关表的关联字段建立索引。 上述已对学生表的“学号”字段建立了主键(无重复索引),对课程表的“课程号”字段也建立了主键(无重复索引),对成绩表的“学号”字段和“课程号”字段建立了有重复索引。
4.使用T-SQL 语言查询数据库内容
这里不采用数据库查询的直观的可视化操作,而是在SQL 查询窗口中利用T-SQL 语言进行查询。
【一级计算机基础及Office应用认证试题】
1.下列( )选项是整体概念,它包括了其他三个选项。
A.数据库 B.数据库管理系统
C.数据库系统 D.数据库管理员和用户
2.以下关于数据与信息的说法,错误的是( )。
A.数据本身没有实际意义 B.数据经过处理就成为信息
C.信息是有价值的数据 D.数据处理是将数据转换成信息的过程
3.数据库中的数据具有( ),如学校各部门可以根据需要查询学校教职员工数据库中的信息。
A.较高的数据共享性 B.较高的数据独立性
C.较高的数据完整性 D.较低的数据冗余度
4.下列关于关系模型基本性质的描述中,错误的是( )。
A.关系的同一列的属性值应取自同一值域
B.同一关系中不能有完全相同的元组
C.在一个关系中,行、列的顺序无关紧要
D.关系中的列可以允许再分
5.在下列关系模式的基本性质描述中,错误的概念是( )。
A.关系中不允许存在两个完全相同的元组
B.关系中的每一列的属性值可以取自不同的值域
C.元组的顺序无关紧要
D.列的顺序无关紧要
6.用来描述信息世界的模型称为( )。
A.数模型 B.概念模型
C.逻辑模型 D.机器模型
7.下列( )运算可以从一个关系中挑选出若干个属性列组成新的关系。
A.选择 B.投影 C.连接 D.自然连接
8.下列( )运算可以从关系中找出满足给定条件的元组。
A.选择 B.投影 C.连接 D.自然连接
9.在教学中,一个学生要学习多门课程,而一门课程又有多名学生学习,则学生与课程这两个实体之间存在着( )联系。
A.一对一 B.一对多 C.多对多 D.未知
10.一个超市可以销售多种商品,某种商品可以在多个超市出售,则超市与商品这两个实体之间是( )联系。
A.多对多 B.一对多 C.一对一 D.未知
11.一个教师可以讲授多门课程,一门课程可以由多个教师讲授,则教师与课程这两个实体之间是( )联系。
A.一对一 B.一对多 C.多对多 D.未知
12.数据库中数据的特点不包括( )。
A.较多的数据类型 B.较好的数据共享性和数据完整性
C.较低的数据冗余度 D.较高的数据独立性
13.( )只描述信息世界中实体的存在及联系,不涉及DBMS。
A.数据模型 B.概念模型 C.逻辑模型 D.机器模型
14.用户利用DBMS的( )可以实现对数据库中数据的检索、修改、删除和统计等操作。
A.DB B.DBS C.DDL D.DML
15.用户可以通过( )很方便地定义数据库中的数据对象。
A.DB B.DBS C.DDL D.DML
16.DBMS不是( )。
A.用户和计算机的接口 B.用户和数据库的接口
C.整个数据库系统的核心 D.数据库系统的组成部分
17.数据管理技术的发展分为三个阶段,其中数据独立性最高的是( )管理阶段。
A.人工 B.文件系统 C.数据库系统 D.数据库
18.在下列数据库软件中,( )有强大的窗体及报表制作能力和易学易用的操作界面。
A.Oracle8 B.SQL Server2000 C.Access D.MySQL
19.下列( )是大型关系数据库开发平台。
A.Turbo C B.Access C.SQL Server2000 D.Visual FoxPro
20.关于SQL 特点的叙述中,错误的是( )。
A.高度的过程化 B.面向集合的操作方式
C.可嵌入高级语言 D.语言简洁、功能强大
21.( )是较常用的桌面型数据库软件。
A.Turbo C B.Access和Visual Fox Pro
C.SQL Server2000 D.Oracle8
22.数据库技术的发展历程划分为三代,其中第二代数据库系统支持( )数据模型。
A.网状型 B.层次型 C.关系型 D.面向对象
23.在E-R图的关系模式转换中,如果两个实体之间是多对多的联系,则必须为联系建立一个关系,该联系对应的关系模式属性包括( )。
A.自定义的主键 B.联系本身的属性
C.联系本身的属性及所联系的任一实体的主键
D.联系本身的属性及所联系的双方实体的主键
24.以下( )不是关系模型的基本运算。
A.选择运算 B.投影运算 C.连接运算 D.复制运算
25.目前,描述概念模型最常用的方法是E-R图,下图中用于表示属性的图形符号是( )。
26.实体间的联系可形象地用下图中的图形表示,实体A与实体B之间的联系是( )。
A.一对一 B.一对多 C.多对多 D.多对一
27.有如下两个关系模式:
student(学号,姓名,奖学金)
score(学号,课程号,成绩)
则( )是score关系相对于student关系的外键。
A.学号 B.学号,课程号 C.课程号 D.成绩
28.下列除了( )之外,其他都是常用的关系模型数据库开发平台。
A.Visual Basic B.Visual Fox Pro C.Access D.SQL Server2000
29.下列数据模型中,( )以数据表为基础结构。
A.层次模型 B.网状模型 C.关系模型 D.面向对象模型30.SQL 语言的功能包括数据定义、( )、数据操纵和数据控制。
A.数据字典 B.数据查询 C.数据处理 D.数据连接
31.数据库系统(DBS)、数据库(DB)、数据库管理系统(DBMS)三者之间的关系是( )。
A.DBS包括DB和DBMS
B.DB包括DBMS和DBS
C.三者之间无关联
D.DBMS包括DB和DBS
32.下列关于数据库系统中数据特点的叙述中,错误的是( )。
A.数据库系统能比文件系统管理更多的数据
B.DBMS提供的数据定义语言(DDL)可以方便地对数据库中的数据对象进行定义
C.数据库中的数据具有较高的数据共享性、独立性和完整性
D.数据库系统减少了数据冗余
33.有如下两个关系模式:
shopping(购物卡号,姓名,商品号,数量)
store(商品号,商品名,单价)
则( )是shopping关系中对于store关系的外键。
A.姓名 B.商品名 C.商品号 D.购物卡号
34.下列( )不是数据库管理系统
A.Visual Fox Pro B.Access C.Oracle D.Asp.net
35.DBMS提供了数据定义语言,用户利用它可以( )。
A.实现对数据的插入、修改和删除等操作
B.实现对数据的检索、统计等操作
C.实现对数据安全性及并发性的管理
D.方便地对数据库中的数据对象进行定义
36.在E-R图向关模式的转换中,如果两个实体之间是多对多(m:n)的联系,则所转换的关系模型的主键由( )担任。
A.m端实体的主键 B.任一方实体的主键
C.n端实体的主键 D.双方实体的主键联合
37.下列关于SQL 语言特点的叙述中,错误的是( )。
A.可嵌入高级语言
B.SQL 是一种面向过程的语言
C.SQL 是一种语言标准
D.面向元组集合的操作方式
38.在学生课程管理中分别使用以下两种表示,即:
(1)表SC(学号,姓名,课程号,课程名,学时,学分,成绩);
(2)表STUDENT(学号,姓名,课程号)和表COURSE(课程号,课程名,学时,学分,成绩)。
则以下叙述正确的是( )。
A.采用(1)表示的数据冗余量大,查找速度也慢
B.采用(1)表示的数据冗余量大,但查找速度快
C.采用(2)表示的数据冗余量大,查找速度也慢
D.采用(2)表示的数据冗余量大,但查找速度快
参考答案:
1.C 2.B 3.A 4.D 5.B 6.B 7.B 8.A 9.C 10.A 11.C 12.A 13.B 14.D 15.C 16.A 17.C 18.C 19.C 20.A 21.B 22.C 23.D 24.D 25.B 26.B 27.A 28.A 29.C 30.B 31.A 32.A 33.B 34.D 35.D 36.D 37.C 38.B