第10章数据库编程
---10.1 数据库基础1 知识点
1.1 上次内容
1.IO操作实例
1.2 习题讲解
1.无
1.3 本次内容
1.数据库基础
2.Access数据库
3.表
4.查询
2具体内容
10.1 数据库基础
10.1.1 数据库基本概念:4D
?数据(DATA):存放在数据库中的信息内容。
?数据库(DATABASE):具体数据库管理系统中的某一个数据库。
?数据库管理系统(DBMS):SQL Server、Oracle、DB2、MySQL、Access等
?数据库系统(DBS):学生信息管理系统、教务管理系统等。
10.1.2 数据库基本概念:数据模型
?层次模型:层次模型只有一个根节点
?网状模型:它表示多个从属关系的层次结构,呈现一种交叉关系的网络结构
?关系模型(Relational Model ):按照某种平行序列排列的数据集合关系。(用“二维表”表示数据)。
?面向对象模型
10.1.3 数据库基本概念:三级模式体系结构
?外部级、概念级、内部级
?外模式、模式、内模式
10.2 Access数据库
Access是微软公司的Microsoft Office系列软件的一个重要组成部分。它是一个运行于Windows平台上的关系数据库管理系统,通过各种数据库对象对数据进行控制和管理。
Access数据库中包括表、查询、窗体、报表、数据访问页、宏和模块7种不同的对象,这些对象用于收集、存储、检查和链接各种不同的信息。
Access 2000的主要功能如下所述。
●定义表。
●定义表之间的关系。
●强大的数据处理能力。
●创建Web页。
●开发应用程序。
Access提供了创建数据库、表、查询、窗体、报表和数据访问页等数据库对象的向导。
Access还提供了管理大量数据所需要的数据定义、数据操作和数据控制功能。
Access支持ODBC(开放式数据库连接)特性,用户能访问许多外部数据库(如Oracle和Sybase)的数据。
10.3 表
表(Table)是数据库的第一个对象,主要用于数据存储。
是一种有关特定实体的数据的集合,表以行(Record,即记录)列(Field,即字段)格式组织数据。表中的字段用来描述实体的属性,记录用来描述一个实体的完整信息。在Access数据库中,至少要含有一个表对象。
10.3.1 表的构成
在Access中,表都是以二维表的形式构成的,是由表文件名、表中的字段属性、表中的记录3部分构成的。
10.3.2A CCESS字段数据类型(DataType)
10.3.3字段采用不同的数据类型其存储空间、取值范围就不同,选择合适的数据类型可以节省存储空间、提高运算效率。
在Access系统中,字段数据类型分为以下几种:
? 1.文本型
? 2.备注型
? 3.数字型
? 4.日期/时间型
? 5.货币型
? 6.自动编号型
?7.是/否型
?8.OLE对象型
?9.超级链接型
?10.查阅向导型
10.3.3 字段属性的定义
不同的数据类型有不同的属性
1.设置字段的大小
2.‘默认值’属性
3.标题属性(显示窗口显示的字段名)
4.‘格式’属性
5.‘输入掩码’属性设置
6.‘有效性规则’属性设置
10.3.4 表结构的创建
1 使用数据表视图创建表:不能完全满足我们对数据类型的要求
2 使用表向导创建表:用于比较通用的场合
3 使用设计视图创建表
?打开设计视图
?确定字段及类型
?定义主关键字
?保存
4 利用系统提供的导入及链接功能
?导入将数据导入到当前的数据库的表中
?链接将数据保留在其当前位置,用本地的数据管理器使用,但不进行数据导入操作。
10.3.5 表中数据的输入
双击表则打开了“表”浏览窗口,在“表”浏览窗口,可以给表输入数据可以维护表中的数据。“表”浏览窗口,如图所示:
10.3.5 表操作
1、数据的修改、复制、删除、查找、替换
2、记录定位
3、记录排序
4、记录筛选
10.3.6 建立表间关联
(一)表间关联关系类型
1.一对一关系
2.一对多关系
3.多对多关系
(二)建立索引
1.索引概念
索引是按索引字段或索引字段集的值使表中的记录有序排列的一种技术,在Access中,通常是借助于索引文件来实现记录的有序排列。
2.索引类型
唯一索引:索引字段的值是不能相同,即没有重复值。若给该字段输入重复值,系统会提示操作错误,若已有重复值的字段要创建索引,不能创建唯一索引。
普通索引:索引字段的值是可以相同,即有重复值。
主索引:在Access中,同一个表可以创建多个唯一
3.创建索引
(三)创建表间关联
1、创建表间关联前题
一是要保障建立关联关系的具有相同的字段;
二是以该字段建立索引。
2、区分主表与子表
(四)、实施参照完整性
理论上一定要有参照完整性。
选取了实施参照完整性后,对表中主关键字段值操作时系统将
自动检是否保证数据完整性。
具体包括:
1、级联更新相关
2、级联删除相关字段
10.3.7 使用子表
操作步骤如下:
(1)打开数据库,打开“父”表。
(2)在“数据库”窗口,打开“插入”菜单,选择“子数据表”命令。
(3)在“插入子数据表”窗口,添加子表或先建立表间关联。
(4)在“表”浏览窗口,双击按钮或按钮,可以打开或关闭“子”表。
(5)在“数据库”窗口,打开“格式”菜单,选择“子数据表”命令,可以删除“子”表与“父”表的嵌套关系
10.4 查询
查询(Query)是Access的重要组成部分。它是对数据库中数据的直接访问。
在Access中可以利用QBE(Query By Example)图形化查询工具来创建查询,也可以通过SQL语句建立查询。
查询种类很多,其中选择查询是最常见的一种
查询的功能:
查询可以重组表中的数据;
实现算功能;
建立基于查询的报表和窗体等。
10.4.1 表达式
?常量、变量
?函数
?运算符
?表达式
一、选择查询:查询数据源,可以是一个表、多个表或查询
选择查询种类:
1.一般选择查询
2.创建查询进行运算
A、预定义计算
B、用户自定义计算(添加计算字段)
二、参数查询:
参数查询是选择查询的一种特殊形式,是把选择查询的‘准则’设置成一个带有随机性参数的‘通用准则’。
1.创建单参数查询
2.创建多重参数查询`
三、操作查询
操作查询包括:
?生成表查询
?删除查询
?更新查询
?追加查询
四、交叉表查询
?交叉表查询以一种其它查询方式无法实现的独特概括形式返回一个或多个表内的汇总数字,便于用户的分析和使用。
?具体操作方法是:
?用某一字段做行标题、某一字段作列标题,交叉分析某一数字型字段值。
五、结构化查询语言SQL (Structured Query Language)
?SQL语言是一个非过程化语言
SQL语言是1974年由Boyce和Chamberlin提出的
1986年被批准成为关系型数据库语言的标准。
功能强大:数据定义、数据查询、数据操纵、数据控制。
支持三级模式结构
View(视图)===外模式
Table(表) ===模式
存储文件===内模式
SQL功能有:
数据定义:Create,Alter,Drop
数据查询:Select
数据操纵:Insert,Update,Delete
数据控制:Grant,Revoke
SQL语言的数据操纵功能
Select语句是最频繁使用的查询语句
范例:
SQL语言的数据定义功能
1、创建表
类型:文本型(TEXT)、长整型(INTEGER)、双精度型(FLOAT)、货币型(MONEY)、日期型(DATE)、备注型(MEMO)
范例:利用SQL语句创建《学生情况表》
2、给表再增加字段
范例:
10.4.1 基本查询语句(投影查询)
1、基本查询语法格式:
2、选择查询语句
范例1:显示学生选课及成绩表中考试成绩在60-80之间的所有记录。
范例2:显示学生选课及成绩表中考试成绩为85、88、90的所有记录。
范例3:显示学生信息表中的所有”王”姓同学,只显示姓名和性别字段
注:”*”表示可与一串字符匹配,”?”表示可与一个字符匹配
3、排序查询
通过在SELECT命令中加入ORDER BY子句可控制行的显示顺序。ORDER BY可以按升序(默认或ASC)、降序(DESC)排列各行,也可以按多个列来排序。
注意:该子句必须是SELECT命中的最后一个子句
【格式】
范例:将学生选课及成绩表中的考试成绩字段按降序排列。
4、使用聚合函数
聚合函数用于实现数据统计等功能.access中提供的聚合函数有A VG(),COUNT(),MIN(),MAX()SUM()等。
范例:查询”计算机网络”班的学生人数。
或
范例:查询编号为”C011”的课程的考试成绩的平均分。
10.5 Access创建步骤
10.5.1 创建数据库文件
【操作步骤】
1、开始菜单→所有程序→Microsoft Office→Microsoft Access 2003/2007/2010
2、文件菜单→新建→空数据库
3、文件菜单→保存→选择保存位置→命名保存文件
10.5.2 创建表并设置字段属性
【操作步骤】(2007/2010版本)
1、【创建表】创建菜单→表→在右下角界面中为表添加相应的字段,并选择数据类型→点击【保存】按钮→命名保存的表的名字。
2、【设置主键】左侧所有表中右键单击对应的表名称→设计视图→在打开的表编辑窗口中选中需要设置为主键的字段→点击工具栏中的主键按钮(或右键选择主键)。
3、【设置字段属性】左侧所有表中右键单击对应的表名称→设计视图→在打开的表编辑窗口中选中需要设置为的字段→在下方字段属性窗口中对该字段属性进行编辑。
10.5.3 添加数据
【添加表数据】左侧所有表中双击需要添加数据的表在打开的表界面中输入数据。
10.5.4 使用查询
【查询】创建菜单→查询分类→查询向导/查询设计
【查询向导】
创建菜单→查询分类→查询向导→简单查询向导→确定→选择要查询的表→选择需要查询输出的字段→下一步→为查询命名→完成。
【查询设计】
创建菜单→查询分类→查询设计→选择需要查询的表→可选择此时操作的视图(视图工具栏→数据表视图、数据透视表图、数据透视图视图、SQL视图、设计视图)
SQL视图:可根据设计视图操作自动生成SQL代码,也可以自己编写SQL代码进行查询。
3 本次小结
数据库基础
5 课堂作业
Access数据库实验内容
一、Access的基本练习
1.学习Access的启动和退出;
2.通过上机熟悉Access的用户界面(包括Access窗口和数据库窗口的组成);
二、数据库的创建
1.在D盘上创建一个名为ABC的文件夹;
2.使用“创建空数据库”的操作方法在D盘的ABC文件夹下创建一个student.Mdb数据库;
三、表的创建
1.在上述所建数据库中创建如下三张数据表:学生表、课程表、成绩表。
“学生”表(结构)
“学生”表(数据)
“课程”表(结构)
“课程”表(数据)
“成绩”表(结构)
“成绩”表(数据)
【操作步骤】
(1)在“数据库”窗口中,单击“创建”栏下的“表格”,然后单击“表设计”快捷按钮。
(2)弹出表“设计视图”对话框,在“字段名称”列中输入字段名,在“数据类型”列中选择数据类型。
(3)在窗口下部的“字段属性”区中,利用“常规”选项卡设置字段大小。
2.将学生表的“学号”字段定为主键,课程表的“课程号”定为主键,成绩表使用学号和课程号的组合作为主键。
【操作步骤】
(1)在学生表的设计视图下,单击学号所在的行,再单击“工具栏”上的主键按钮;
(2)在课程表的设计视图下,单击课程号所在的行,再单击“工具栏”上的主键按钮;
(3)在成绩表的设计视图下,按下Shift键分别单击学号和课程号所在的行,再单击“工具栏”上的主键按钮;
3.向表中输入数据。
【操作步骤】
(1)在数据库窗口中双击要输入数据的表,进入“数据表”视图。
(2)在“数据表”视图中可进行数据的输入。
4.建立上述三个表之间的关系,在建立过程中要求选择“实施参照完整性”。
【操作步骤】
(1)双击数据库中的某一个表,如学生表,打开数据表格以显示菜单栏中的表格工具。
(2)选择表格工具下的“表”,单击工具栏上的“关系”按钮,打开“关系”窗口;同时出现“显示表”对话框,其中将有上述所建的三个表。
(3)分别双击“学生”表、“成绩”表和“课程”表;然后关闭“显示表”对话框。
(4)用鼠标按住“学生”表中的“学号”(主键),将其拖动“成绩”表的“学号”(外键)上;在弹出的“编辑关系”对话框中选择“实施参照完整性”,然后单击“确定”按钮。
(5)再用鼠标按住“课程”表中的“课程号”(主键),将其拖动“成绩”表的“课程号”(外键)上;在弹出的“编辑关系”对话框中选择“实施参照完整性”,然后单击“确定”按钮。
四、使用用设计视图对student.mdb数据库建立相关查询对象。
1.根据以下要求创建一个名为“一般选择查询”的选择查询对象。
(1)查询所有同学的有关基本信息和考试成绩。
(2)查询显示字段为:学号、姓名、年龄、课程号、课程名、成绩。
【操作步骤】
(1)按F11键切换到“所有Access对象”窗口。
(2)在“数据库”窗口中,单击“创建”栏下的“查询”,然后单击“查询设计”快捷工具,此时出现“设计”窗口和“显示表”对话框,“显示表”对话框中显示上述所建的三个数据表。
(3)分别双击三个表,将它们添加到查询“设计”窗口中作为查询数据源,然后关闭“显示表”对话框。
(4)使用设计器创建多表查询必须建立关系,如果还没有建立,则需要建立表间关系。
(5)向查询中添加字段:分别双击要添加的字段,或使用鼠标将要添加的各个字段分别拖动到“字段”一行的不同单元格中(本例添加的字段是学号、姓名、课程号、课程名、成绩)。
(6)“年龄”信息要通过表达式计算获得(计算公式:当前年份-出生年份):
●在字段行单击某个单元格。
●在该单元格中键入“year(Now())-year(出生日期)”,然后将自动出现表达式1。
●将“表达式1”这几个字改成“年龄”。
(7)切换到数据表视图查看结果。
(8)选择“文件”菜单中“保存”命令,在弹出的“另存为”对话框中键入查询文件名,本例输入为“一般选择查询”,然后单击“确定”按钮。
2.根据以下要求创建一个名为“条件选择查询”的选择查询对象。
(1)查询所有1965年1月1日之后出生、高等数学成绩大于90分的女同学。
(2)查询显示字段为:学号、姓名、性别、课程名、成绩。
【操作步骤】
(1)按F11键切换到“所有Access对象”窗口。
(2)在“数据库”窗口中,单击“对象”栏下的“查询”,然后双击“在设计视图中创建查询”快捷方式,此时出现“设计”窗口和“显示表”对话框,“显示表”对话框中显示上述所建的三个数据表。
(3)分别双击三个表,将它们添加到查询“设计”窗口中作为查询数据源,然后关闭“显示表”对话框。
(4)使用设计器创建多表查询必须建立关系,如果还没有建立,则需要建立表间关系。
(5)向查询中添加字段:分别双击要添加的字段,或使用鼠标将要添加的各个字段分别拖动到“字段”一行的不同单元格中(本例添加的字段是学号、姓名、性别、课程名、成绩和出生日期,但出生日期的“显示”单元格不打√)。
(6)在“准则”中设置查询条件:
●在“出生日期”的准则中键入“>1965-1-1”。
●在“课程名”的准则中键入“高等数学”。
●在“性别”准则中键入“女”。
●在“成绩”的准则中键入“>=90”。
(7)切换到数据表视图查看结果。
(8)选择“文件”菜单中“保存”命令,在弹出的“另存为”对话框中键入查询文件名,本例输入为“条件选择查询”,然后单击“确定”按钮。