登陆注册
8915300000033

第33章 数据库应用(2)

学生关系就是一个二元关系。这个四行八列的表格的每一列称为一个字段(即属性),字段名相当于标题栏中的标题(属性名称);表的每一行是包含了八个属性(学号、姓名、性别、出生年月、入学时间、专业、电话、地址)的一个八元组,即一个人的记录。这个表格清晰地反映出学生的基本情况。

表中每一行表示一个记录值,每一列表示一个属性(即字段或数据项)。该表一共有m 个记录,每个记录包含n 个属性。

作为一个关系的二维表,必须满足以下条件:

(1)表中每一列必须是基本数据项(即不可再分解);

(2)表中每一列必须具有相同的数据类型(例如字符型或数值型);

(3)表中每一列的名字必须是惟一的;

(4)表中不应有内容完全相同的行;

(5)行的顺序与列的顺序不影响表格中所表示的信息的含义。

在关系数据库中,对数据的操作几乎全部建立在一个或多个关系表格上,通过对这些关系表格的分类、合并、连接或选取等运算来实现数据的管理。

7.2.4数据库相关术语

数据库中最常用的术语有字段、记录、表和联系等,以及对数据库关系表中信息的基本操作:选择、投影和连接。

1.字段(Field)

在学生基本情况表中,包含了学生的学号、姓名、性别、出生年月、电话等内容。

在数据库表中,每一项称为一个字段,即表中的一列(属性)。字段由字段名和字段值组成。

2.记录(Record)

在学生基本情况表中,详细记录了一个学生具体内容的一组信息称为一个记录,即表中的一行(元组)。一个记录由若干个字段(列)组成。

3.表(Table)

存放了一组相似记录的集合(记录集)称为一个表(关系)。数据表由若干组结构相同的记录(行)组成。

6.数据库(DataBase)

一个数据库由若干个有关联的数据表组成。数据库作为信息管理的软件集成环境,为数据库中的表以及表与表之间的数据管理提供了一整套的操作规则与便捷工具。

4.关键字(KeyWord)

每一个表应该包含一个或一组字段,这些字段是表中所保存的每一条记录的惟一标识,此信息称作表的主关键字或称主键。主键一般用于建立表对象中数据的索引和建立表对象之间的关系。如“学生”表中的学号字段,“课程”表中的课程号字段,而“成绩”表中的学号和课程号字段作为一组来惟一标识表对象中的每一条记录。

5.联系(Relationship)

数据库中不仅要存放数据信息,而且必须保存能反映数据之间联系的信息。联系体现数据库中表与表之间的关联。通常表与表之间的联系有一对一(1:1)、一对多(1:m)和多对多(n :m)。

在“学籍管理”数据库中的“学生”与“成绩”表之间就是一对多联系(1:m),一个学生可以选多门课,可以有多门课程的成绩;但某一个特定课程的特定成绩只能属于某一个学生。

“课程”与“成绩”表之间也是一对多的联系(1:m),一门课可以被多个学生选,一门课程可以有多个学生的成绩;但某一个特定学生的特定成绩只能对应某一门课程。

“专业”与“学生”表之间依然是一种一对多的联系(1:m),一个专业可以被多个学生选,但一个学生只能属于一种专业。

而“学生”与“课程”表之间就是多对多的联系(m:n),一个学生可以选多门课,一门课程可有多个学生选。

“学籍管理”数据库中的4个表对象(“学生”、“课程”、“成绩”和“专业”)以及它们之间的关联方式;“学生”表和“成绩”表的联系通过“学号”字段来匹配,“课程”表与“成绩”表之间的联系由“课程号”决定;而“学生”表和“专业”表的联系则通过“编号”字段来作为查阅向导索引。

6.完整性

数据库的完整性是指数据库中各个表及表之间的数据的有效性、一致性和兼容性。

数据库的完整性包括实体完整性、参照完整性和用户自定义完整性三部分。

(1)实体完整性:指一个表中主关键字的取值必须是确定的、惟一的,不允许为空值。

例如,对“学生”表中的记录,主键“学号”字段的取值必须是惟一的、且不能为空值。这就要求在“学生”表中存储的记录必须满足这一条件,而且在输入新记录、修改已有记录时也要遵守这一条件。

(2)参照完整性:指表与表之间的数据一致性和兼容性。例如,在“学生”表(父表)与“成绩”表(子表)之间的参照完整性要求:在“成绩”表中,字段“学号”的取值必须是“学生”表中“学号”字段取值当中已经存在的一个值。类似地,在“课程”表(父表)与“成绩”表(子表)之间也必须遵守类似的参照完整性的规则。

(3)用户自定义完整性:是由实际应用环境当中的用户需求决定的。通常为某个字段的取值限制、多个字段之间取值的条件约束等。例如,在“成绩”表中,“成绩”字段的取值必须为0~100。

7.关系操作

选择、投影和连接是关系的三种基本操作。

(1)选择:按照一定条件在给定关系中选取若干记录(即选取若干行)。

(2)投影:在给定关系中选取确定的若干字段(即选取若干列)。

(3)连接:按照一定条件将多个关系的记录连接(即连接多张表)。

“成绩查询”记录集的选择操作(在“成绩查询”所有记录中选择某个学生的记录,筛选若干行)。

7.3创建数据库

数据库应用的主要事务有三类,即数据编辑存储、数据查询检索和数据报表输出。

要实现数据库的基本事务处理工作,首先要建立数据库,但建立数据库的第一步是根据实际应用问题的需要对所涉及的数据进行分析、组织、设计,进而构架数据库。

7.3.1设计数据库及表

构架数据库是一项关键而复杂的工作,这需要有经验的系统分析和系统设计人员对应用任务的整体考量与全盘分析。合理周密的设计是创建能够有效、准确、及时地完成所需功能的数据库的基础。虽然限于篇幅,这部分知识不能全面展开介绍,但是设计一个数据库的大致步骤基本是固定的,对于比较简单的数据库设计还是容易做到的。这需要决定:

把相关联的数据有效地组织和存储在数据库中的几个表对象中?

每个表对象应该包含哪些类型的数据(字段与记录)?

各个表对象之间如何建立联系(主键与关联)?

1.分析数据需求确定概念模型元素

基于对象的数据模型又称为概念模型,使用了实体、属性和联系等概念。

实体是数据库中描述的组织中独立的对象(人、事件、概念、事务和地点等);属性描述对象的某个需要进行记录的特征或性质;联系是实体之间的关联。基于对象的概念模型之实体联系模型是数据库设计的重要技术,也是最常用最基础的概念模型。

根据学籍信息管理系统的实际功能和数据体现,分析数据需求初步确定概念模型元素。首先,需要确定符合应用需要的主题(实体),这里包括了学生基本情况、课程相关信息和对应课程的学生成绩信息等。其次,需要确定与各个主题相关的并且是应用需要体现的特征属性(字段)以及便于实现运算和存储处理的数据类型(字段类型)。接着,需要确定可以惟一标识每一条记录的主键。最后,需要合理地调配数据的归属,确定各个主题之间的关联,保证数据的最小冗余度和最大共享性。

2.用E‐R图表示概念模型

E‐R(Entity‐Relationship)图为实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。

构成E‐R图的基本要素是实体型、属性和联系,其表示方法为:

(1)实体型:用矩形表示,矩形框内写明实体名;(2)属性:用椭圆形表示,并用无向边将其与相应的实体连接起来,带下划线的属性为主键;(3)联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1,1:n 或m :n)。

3.构架关系数据库表

根据“学籍管理”的实体联系(E‐R)模型图,进一步构架“学籍管理”关系数据库表对象及其相关元素。

4.确定字段的数据类型

“学籍管理”数据库中包含的4个表对象“学生”、“课程”、“成绩”和“专业”的结构列表样本,其中罗列了每个表对象中相关字段的数据类型设置情况。

“学籍管理”数据库中4个表对象“学生”、“课程”、“成绩”和“专业”的结构列表表总结了在Microsoft Access 中常用的字段数据类型及它们的用法和存储空间的大小。

7.3.2创建数据库及表

创建数据库包括创建空数据库“学籍管理”(扩展名为.MDB)、在数据库中建立表(确定主键)以及建立表与表之间的关联等操作。

1.创建数据库

启动Microsoft Access,按照界面提示新建空数据库,取名“学籍管理”。

2.向数据库添加表并定义表结构

在数据库窗口中,选择“表”对象,并双击“使用设计器创建表”;在表的设计视图中,“学籍管理”数据库中的4个表对象“学生”、“课程”、“成绩”和“专业”的结构列表样本,输入数据表中各字段的名称、数据类型以及字段大小等。

特别值得注意的是,“学生”表中的“专业”字段的数据类型要选择“查询向导”,然后按照界面提示与“专业”表建立列表联系(“专业”表要先建立)。“成绩”表中的“学号”和“课程号”字段也可以在“查阅”页分别设置为与“学生”表和“课程”表相对应的列表显示,以便于输入和查询。

另外,还需要设置表的主键(在添加“成绩”表时,可以不设主关键字,尤其不要将“成绩”表中的字段“学号”设为主键,因为在该表的多个记录中“学号”字段值并不是惟一的)。

最后,按照提示在“表名称”中输入表的名称。至此,完成了建立包括4个表的数据库“学籍管理.mdb”。

3.设置字段属性

在创建数据表结构时常用的字段属性设置说明如下:

(1)字段大小:在字段中所能输入的最大字符数或数字的大小及类型。例如,当设定一个字符型的字段大小为8时,最多只能在该字段中输入8个字符或4个汉字。

(2)格式:字段的显示格式。可以在提供的格式列表中改变字段的显示格式。

(3)输入掩码:字段的数据输入模式。例如,可以让用户按“YYYY‐MM‐DD”格式输入日期。

(4)标题:显示给用户的字段说明标题。例如,将字段学号的标题设置为“学生编号”的话,在显示表格时,该字段的标题是“学生编号”。

(5)有效性规则:对该字段中所能输入的数据的约束条件。例如,对于“成绩”表的“分数”,有效性规则为“<=100And>=0”,表示该字段不接受超出0~100的数据。

(6)有效性文本:当输入不符合有效性规则的数据时,系统显示警告或提示字符串。

(7)必填字段:当前字段是否可以是NULL(空值)。NULL 是一种特殊的数据类型,可以简单地理解为“空”或“什么也没有”,如果某个变量或字段的值为NULL,则说明该变量或字段中不包含有效的数据。NULL 不等同于空字符串“”(空字符串是一个字符串,只不过长度为零),也不等同于数字0。

(8)索引:是否用当前字段为表建立索引(逻辑排序)。

(9)主键:数据表的各字段中,只有一个字段可以选为数据表的主键,用来惟一标识表中的一条记录。在“学生”表中,“学号”应为表的主键,因为每个学生的学号都不同,学号惟一地标识了一个学生。在“学号”字段上右击,在弹出的快捷菜单中单击“主键”。

7.3.3编辑数据库及表

1.向表中输入数据

在数据库窗口中,双击“学生”表后,会出现“学生”数据表的编辑窗口,可以向表中输入数据,“专业”字段不需要输入,只需要在下拉列表中选择对应的专业名就可以了(“专业”表应该先完成数据输入)。而“照片”字段的输入则需要点击鼠标右键,在快捷菜单中选择“插入对象”,再按照界面引导选择已经存在的.bmp 的图片文件。

输入结束,关闭相应窗口。用同样方法完成“课程”和“成绩”表的数据输入工作。

2.编辑数据库中的数据

建立好的数据库以及其包含的多个表对象,除了初始的部分数据录入工作外,对数据库中数据的日常编辑维护工作自然是必不可少的,诸如:追加、修改、删除和查询信息等操作。

简单的编辑工作可以直接在Access 环境中的可视化操作界面上进行(输入数据界面配合菜单操作)。当然,也可以通过后续将介绍的窗体界面或是结构化查询语言SQL用代码的方式实现。

7.3.4建立表之间的关联

前面建立完成的数据库以及其中添加的3个表对象“学生”、“课程”和“成绩”之间并没有关联关系,其中“学生”与“专业”表的关联,在建立“学生”表的结构时,设置“专业”字段的数据类型为“查询向导”时,系统自动建立了两个表的关联。

为了将多个表中的数据有效地联系起来,同时保证数据库中各个表中数据的参照完整性,必须建立表之间的关联,这样才能在后续的查询和报表中充分有效地访问和利用表中的数据,完成实际问题所需的操作。

同类推荐
  • 玩转手机

    玩转手机

    本书主要包括:手机的发展历史、手机知识、手机的选购与巧用、手机与网络、手机短信等内容。
  • 信息革命

    信息革命

    随着经济社会的快速发展,电子产品走进了千家万户,与电子产品相伴的信息技术也已渗透到人们生产生活的方方面面。加强信息技术普及,已成为业内人士的共识。鉴于此,在有关部门的大力支持下,经过认真筹划,我们编辑出版了《信息革命》一书。该书以时间为经,在记述信息技术发展历程的同时,深入浅出地介绍了信息技术的相关知识,对人们更好地利用现代信息技术服务经济社会建设和个人生产生活必将产生积极作用。本书由李大东主编。
  • 一本书读懂大数据

    一本书读懂大数据

    本书是深入研究互联网思维的经典之作,从互联网思维的定义到互联网思维应用的具体案例表现。作者深入浅出、条分缕析,全面阐述互联网思维的内核与精神,逐一点评当前关于互联网思维的各种观点。本书从最初级的互联网思维应用到高端的粉丝经济,平台建设,自媒体营销的方法都有详细讲解介绍。让读者了解什么是互联网思维的同时还能学会把互联网思维运用到自己的工作学习已经生活中。
  • 办公软件高级应用

    办公软件高级应用

    日新月异的信息技术使计算机的应用渗透到各行各业,融入到我们的工作、学习和生活中,特别是在办公领域中运用计算机技术,可以实现办公自动化,成倍地提高工作效率。在众多的办公软件中,微软公司的Office系列软件是办公自动化软件中的佼佼者,其强大的功能深受全世界广大用户的青睐。根据当前业界的需求以及办公软件的实际应用范围,本书针对Office 2003系列产品,深入讲解其高级应用知识和操作技能。
  • 条形码技术与应用

    条形码技术与应用

    条形码是一种可供电子仪器自动识别的标准符号,是由一组黑白相间、粗细不同的条、空符号按一定编码规则排列组成的标记,用以表示一定的信息,确认某个物体或规定它的移动,能正确快速地为产、供、销各环节在采集、处理和交换信息时提供标识。
热门推荐
  • 最强名医

    最强名医

    杜若,得到了古文明的中医传承。被分配到了一家外表光鲜,内部却是经营困难的仁济医院。大力弘扬国术,挽救医院在水火之中,成了杜若首要任务……气功诊疗,针灸推拿,新品中药研究室,建立全世界最大的中医实验基地!中华精髓,注定将成为世界瞩目的焦点!
  • 悄霖晨曦

    悄霖晨曦

    林悄,陈霖,林曦,吴以贤,也许走入社会,一切都会变吧
  • 福妻驾到

    福妻驾到

    现代饭店彪悍老板娘魂穿古代。不分是非的极品婆婆?三年未归生死不明的丈夫?心狠手辣的阴毒亲戚?贪婪而好色的地主老财?吃上顿没下顿的贫困宭境?不怕不怕,神仙相助,一技在手,天下我有!且看现代张悦娘,如何身带福气玩转古代,开面馆、收小弟、左纳财富,右傍美男,共绘幸福生活大好蓝图!!!!快本新书《天媒地聘》已经上架开始销售,只要3.99元即可将整本书抱回家,你还等什么哪,赶紧点击下面的直通车,享受乐乐精心为您准备的美食盛宴吧!)
  • 天真论

    天真论

    她是落难的公主,天生的尤物,惹无数女人疯狂嫉妒;他是他的皇家骑士,王朝绝美的男子,爱慕者不尽,但他只钟情于让他心动的她;他是桀骜不驯的大将军,阴暗腹黑,军事的独裁者,最爱让人膜拜于他的足下;他是浪迹天涯的亲王,浪漫而神秘;他是未来的国王,为保王位和亲,但却甘愿为她上了断头台;………………
  • 末日之传奇之路

    末日之传奇之路

    末日,何为末日?末日,是弱者死亡的开端,是弱者死神的降临,,但同时也是强者的狩猎场,都市,反而是一座座牢笼!!且看一个有奇遇的少年如何在末世中生存!!!!
  • 空鸠之歌

    空鸠之歌

    巴塞罗那、美术生、出国留学、建筑大奖……华美浪漫的异国之恋,全新上演!在巴塞罗那街头巧遇的少年尼克,摇身一变竟然成为了自己的弟弟!爱情来得迅猛,让艾西措手不及,面对禁忌的恋情,她该如何选择?家人的不解,朋友的报复,她该何去何从?这样一场抵死缠绵,她该如何收场?时?浪漫之都的曲折爱情故事,闪耀梦幻的色彩,看寻找爱情的鸠鸟,最终落脚何方。
  • 重生之踏上巅峰

    重生之踏上巅峰

    问请哪道登绝顶,不入黄泉不为空!——此生宏愿。妙手邪医林振宇重生在青云宗的一名新进弟子林小天的身上,从此,传奇的人生开始了。前世他一心医道,活人无数,最终成就医圣之名,却救不了自己,今世,他决定改变,弃医从道,势必踏上那无尽巅峰!
  • 废柴重生之天才谪小姐

    废柴重生之天才谪小姐

    莫漓,21世纪最顶尖的杀手,却被爱人背叛,踢出组织,喂下剧毒,结果发现闺蜜和男友竟有染。好!就算我死了,我做鬼也不会放过你们这对狗男女!一朝穿越,竟穿越到了异世大陆,还是个废柴谪小姐。看我如何召唤神兽,炼制神器。美男?倒贴我也不要。咦?还有个随身空间。待我称霸天下,便是得罪过我的人的死期!
  • 放开那使魔

    放开那使魔

    凌辰,爱好人偶,并且拥有一手好手艺,当他把手游崩坏学园里的使魔制作出来,赋予灵魂与个性,会发生什么?拳力无双的琉璃,呆萌软腻的翡翠,冰冷无情的法拉之翼,忠诚守护的重装小兔,高冷孤独的八重樱,挂逼七海千秋,烟农克劳迪亚,你认为这就是终结?丧尸?变异?邪恶?通通给我破灭在人偶军团的强大武力之下!
  • 校园诛仙论

    校园诛仙论

    一个学生偶得,一枚神器,屌丝逆袭,不在孤单,修仙之旅,有美女相伴,奇山异水,处处有宝藏,屌丝修仙,一人修仙,唯我问鼎。。。