《计算机导论 数据库的基本思维ppt课件.pptx》由会员分享,可在线阅读,更多相关《计算机导论 数据库的基本思维ppt课件.pptx(81页珍藏版)》请在三一办公上搜索。
1、数据库的基本思维,1,目 录,8.1 数据库概述8.2 关系数据库8.3 Microsoft Access 2010简介8.4 数据库的基本操作8.5 查询8.6 数据挖掘与大数据,8.1.1 数据库体系结构,1.数据库(DataBase,DB)是指长期存储在计算机内、有组织的、统一管理的相关数据的集合。2.数据库管理系统(DataBase Management System,DBMS)是用于建立、使用、管理和维护数据库的系统软件,是数据库系统的核心组成部分。,数据库管理系统具有以下主要功能:(1)数据定义:定义数据库结构,包括定义表、索引、视图等数据对象。(2)数据操纵:实现对数据库的查询和
2、更新(插入、删除、修改)操作。(3)数据库的运行管理:数据库在建立、运行和维护时由DBMS统一管理、统一控制,以保证数据的安全性、完整性、多用户对数据的并发使用,以及发生故障后的系统恢复。(4)数据库的建立和维护:包括数据库初始数据的输入和转换,数据库的转储和恢复,数据库的重组织、性能分析等。,数据库系统(DataBase System,DBS)是指带有数据库并利用数据库技术进行数据管理的计算机系统。它是在计算机系统中引入了数据库技术后的系统,实现了有组织地、动态地存储大量相关数据,提供了数据处理和共享的便利手段。,硬件系统数据库数据库管理系统应用系统数据库管理员用户,数据库系统,4.数据库系
3、统的软件(1)数据库管理系统:用于数据库的建立、使用和维护等。(2)操作系统:支持数据库管理系统的运行。(3)应用系统:以数据库为基础开发的、面向某一实际应用的软件系统,如:人事管理系统、财务管理系统、商品进销存管理系统、图书管理系统等。(4)应用开发工具:用于开发应用系统的实用工具,如Delphi、VB、ASP、JSP、PHP等,而MS Access作为数据库管理系统也可以作为开发工具。,5.用户(1)终端用户:通过应用系统使用数据库的各级管理人员及工程技术人员,一般为非计算机专业人员。他们直接使用应用系统中已编制好的应用程序间接使用数据库。(2)应用程序员:使用应用开发工具开发应用系统的软
4、件设计人员,负责为用户设计和编制应用程序,并进行调试和安装。(3)数据库管理员(DataBase Administrator,DBA):专门负责设计、建立、管理和维护数据库的技术人员或团队。,现实世界 信息世界 机器世界,抽象(概念模型),抽象(数据模型),8.1.2 概念模型,目前常用实体联系模型表示概念模型1实体客观存在并且可以相互区别的事物称为实体。实体可以是具体的人、事、物,如一名学生、一本书、一门课程等;也可以是事件,如学生的一次选课、一场比赛、一次借书等。2实体的属性实体所具有的某一特性称为属性。如学生实体有学号、姓名、性别、出生日期、专业等多个属性。属性包括属性名和属性值,如:学
5、号、姓名、性别、出生日期、专业等为属性名,(13011103、许志华、男、06/12/1995、机械工程)为某个学生实体的属性值。,3实体型用实体名及其属性名来抽象描述同一类实体,称为实体型。如:学生(学号、姓名、性别、出生日期、专业)就是一个实体型,它描述的是学生这一类实体。4实体集同类型实体的集合称为实体集。如:全体学生就是一个实体集,而(13011103、许志华、男、06/12/1995、机械工程)是这个实体集中的一个实体。,5实体间的联系实体间的联系通常是指两个实体集之间的联系。联系有以下3种类型:(1)一对一联系(1:1)(2)一对多联系(1:n)(3)多对多联系(m:n),一对一联
6、系(1:1)如果对于实体集A中的每一个实体,实体集B中至多有一个实体与之对应;反之亦然,则称A与B具有一对一联系。例如:一个学院有一个院长,一个公司有一个CEO,一对多联系(1:n)如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之对应;反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之对应,则称A与B具有一对多联系。例如:一个学院有多个专业,一个公司有多个部门,多对多联系(m:n)如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之对应;反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m0)与之对应,则称A与B具有多对多联系。例如:一个学生可
7、以选多门课,一门课也可以被多个学生选择,6E-R(Entity-Relationship实体-联系)图图中包含实体、属性和联系(1)实体:用矩形框表示,框内写明实体名。(2)属性:用椭圆形框表示,框内写明属性名,并用无向边将其与对应实体连接起来。(3)联系:用菱形框表示,框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标注联系的类型(1:1,1:n或m:n)。,学生与课程联系的E-R图,8.1.3 关系模型,用二维表结构表示实体及实体间联系的数据模型称为关系模型。,学生基本信息用关系来表示,8.2 关系数据库,关系数据库是基于关系模型的数据库。在关系数据库中,数据存储在二维结构
8、的表中,而一个关系数据库中,包含多个数据表。Microsoft Access就是一个应用非常广泛的关系数据库管理系统。,1关系术语,(1)关系 一个关系就是一张二维表,每个关系有一个关系名。(2)元组表中的一行即为一个元组,也称为一个记录。(3)属性表中的一列即为一个属性,也称为一个字段。(4)域 属性的取值范围。,(5)主关键字在表中能够惟一标识一个记录的字段或字段组合,称为候选关键字。一个表中可能有多个候选关键字,从中选择一个作为主关键字,也称为主键。,(6)外部关键字如果表A和表B中有公共字段,且该字段在表B中是主键,则该字段在表A中就称为外部关键字,也叫外键。在关系数据库中,主键和外键
9、表示了2个表之间的联系。,成绩表,课程表,(7)关系模式对关系的描述,它对应一个关系的结构。其格式为:关系名(属性1,属性2,属性n)课程表的关系模式为:课程(课程号,课程名,课时,学分)。,2完整性规则关系模型的完整性规则是对关系的某种约束条件。,关系模型中有三类完整性约束:(1)实体完整性 关系中所有元组的主关键字值不能为空值。(2)参照完整性 若一个关系R的外部关键字F是另一个关系S的主关键字,则R中的每一个元组在F上的值必须是S中某一元组的主关键字的值,或者取空值。(3)用户自定义完整性 针对某一具体关系的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。,8.3 Micro
10、soft Access 2010简介,包括6种数据库对象。(1)表:数据库的核心与基础,存放数据库中的全部数据。(2)查询:数据库中检索数据的对象,用于从一个或多个表中找出用户需要的记录。(3)窗体:用户与数据库应用系统进行人机交互的界面。(4)报表:数据的打印输出,按用户要求的格式和内容打印数据库中的各种信息。(5)宏:数据库中一个或多个操作的集合,每个操作实现特定的功能。(6)模块:数据库中存放VBA(Visual Basic for Applications)代码的对象,创建模块对象的过程也就是使用VBA编写程序的过程。,8.4.1 创建数据库,使用Access 2010模板创建数据库的
11、步骤如下:(1)执行“文件新建样本模板”命令,选中一个样本模板。(2)Access自动创建数据库,打开窗体布局视图。利用数据库模板创建的数据库,包括表、查询、窗体、报表、宏、模块等子对象。用户可以根据实际需要修改这些对象,以减少数据库开发的工作量。,2.创建空数据库的步骤如下:(1)执行“文件新建空数据库”命令(2)指定数据库保存的路径和文件名Access 2010的数据库文件的扩展名为.accdb,8.4.2 创建表,在Access数据库中,表是整个数据库系统的基础,所有的原始数据都存储在表中,其他数据库对象,如查询、窗体、报表等都在表的基础上建立并使用。,使用设计视图创建表的步骤如下:(1
12、)执行“创建表设计”命令。(2)在设计视图中定义表的各个字段,包括字段名称、数据类型和说明。(3)在“常规”选项卡中设置字段属性,如字段大小、标题、默认值等。(4)根据需要,定义主键,建立索引。(5)保存表。,注:字段名可以是164个西文或中文字符;字段名中可以包含字母、数字、空格和特殊字符(除句号“。”、感叹号“!”、重音号“”和方括号“”之外)的任意组合,但不能以先导空格开头;字段名中不能包含控制字符(即031的ASCII码)。,(1)文本 存储文本、数字或文本与数字的组合,最多为255个中文或西文字符,默认为255。文本类型的数字不能用于计算,只能用于名称、电话号码、邮政编码等。(2)备
13、注存储较长的文本,最多为65536个字符。(3)数字 存储数值数据,长度为1、2、4、8等字节。具体的数字类型可由“字段大小”属性进一步定义。,2.字段的数据类型,(4)货币 存储货币值,字段长度为8个字节。(5)日期/时间 存储日期和时间数据,允许范围是100/1/19999/12/31。日期/时间数据可用于计算,长度为8个字节。(6)自动编号内容为数字的流水号(初始值默认为1),长度为4个字节,注意:在数据表中每添加一条记录时,Access自动设置一个唯一连续数值(增量为1)或随机数值。自动编号字段的值由系统设定,不能更改。,(7)是/否存储布尔数据,只有两个取值:“是”或“否”(Yes/
14、No),“真”或“假”(True/False),长度为1位。(8)OLE对象 OLE对象是指在其他应用程序中创建的、可链接或嵌入(插入)到 Access 数据库中的对象。字段长度最多为 1 G 字节。(9)超链接 保存超链接的地址,可以是某个文件的路径UNC或URL。该字段最多存储 64,000 个字符。,主键能够唯一地标识表中的一条记录。主键可以由一个或多个字段组成,分别称为单字段主键或多字段主键。一个表中只能有一个主健。主键的值不可重复,也不可为空(Null)。如:【学生】表中的“学号”字段。,3.定义主键,定义主键的方法 在设计视图中打开表,选择一个或多个字段(按下“Ctrl”键单击要选
15、择的字段)。单击“表格工具设计主键”按钮,在选中字段前出现小钥匙图标,表示设定成功。再次单击“主键”按钮,小钥匙消失,该字段不再为主键。,在保存表的时候,如果没有定义主键,Access会弹出消息框,询问用户是否创建主键,决定一个字段所占用的存储空间。该属性只对文本、数字和自动编号类型的字段有效。,4.字段大小,输入数据时必须遵守的标点、空格或其他格式要求,它可以限制数据输入的格式,以屏蔽非法输入。,5.输入掩码,字段定义默认值后,在添加新记录时,Access将自动为该字段填入默认值。7.有效性规则和有效性文本 有效性规则用于指定对输入到本字段的数据的要求,以保证用户输入的数据正确有效。有效性文
16、本用于指定输入数据违反有效性规则时的提示信息。,6.默认值,(1)单字段有效性规则和有效性文本,为表中一个字段定义有效性规则时直接在设计视图的“常规”标签中进行设置。,(2)多字段有效性规则和有效性文本,同时为多个字段定义有效性规则,则必须在表设计视图中执行“表格工具设计属性表”,在“属性表”窗口中进行设置。,索引用于在大量记录中快速检索数据,提高查询的效率。通常对表中经常检索的字段、要排序的字段或要在查询中联接到其他表中字段的字段建立索引,OLE 对象类型的字段不能设置索引。,8.索引(Index),索引的类型:(1)主索引:主键就是主索引,主索引也就是主键。(2)唯一索引:该索引字段的值必
17、须是唯一的,不能有重复。在Access中,主索引只能有一个,而唯一索引可以有多个。(3)普通索引:该索引字段的值可以有重复。,Access可以基于单个字段或多个字段创建索引。创建单字段索引设计视图中,单击选中字段,在“常规”选项卡的“索引”下拉选项中选择“有(有重复)”或“有(无重复)”。,创建多字段索引在设计视图中打开表。执行“表格工具设计索引”命令,打开“索引”对话框,指定索引名称、索引字段、排序次序、索引类型。若要删除索引,只要选择要删除的索引名称,执行“删除”命令就可以了。,8.4.3 数据记录操作,插入记录。在表的空行输入数据后,在表的最后会自动增加一个空行。删除记录。选中一条或多条
18、记录,单击鼠标右键,执行弹出菜单的“删除记录”命令。在数据表中输入图片、声音和影像。要向表中插入图片、声音和影像等数据,必须将该字段定义为“OLE对象”类型。选中一条记录的“OLE对象”字段,单击鼠标右键,执行弹出菜单的“插入对象”命令,打开“插入对象”窗口,选择对象类型、文件名或者新建对象。,8.4.4 定义表之间的关系,在Access数据库中,两个表之间可以通过公共字段或语义相同的字段建立关系,使用户可以同时查询、显示或输出多个表中的数据。在创建表之间的关系时,联接字段不一定要有相同的名称,但数据类型必须相同。,联接字段在一个表中通常为主键,同时作为关联表的外键,外键的值应与主键的值相匹配
19、。若联接字段在两个表中均为主键,则两表为一对一关系。若联接字段只在一个表中为主索引,则两表为一对多关系。关系中处于“一方”的表称为主表或父表,处于另一方的表称为子表。,8.5.1 选择查询,选择查询是对一个或多个表中的数据进行检索、统计、排序、计算或汇总,不会更改表中的数据。1.使用查询向导操作者可在向导指示下选择一个或多个数据源、一个或多个字段创建查询使用向导不能创建带条件的查询,2.使用设计视图 查询设计视图组成,对象窗格,设计网格,2)使用设计视图步骤添加数据源表或查询选择查询内容字段填写查询条件(可选)设置排序(可选),3.查询条件 是指在查询中用于限制检索记录的条件表达式,由运算符、
20、常量、字段值、函数和字段名组成 运算符:是构成条件表达式的基本元素。Access提供了四种运算符,分别是算术运算符、关系运算符、逻辑运算符和特殊运算符,算术运算符:+-*/关系运算符:=逻辑运算符:and or not 其他:Between and,如:Between 14 and 70 等价于=14 and=70like,in,Is Null,Is Not Null,设置查询条件时注意日期型数据两边加“#”,字符型数据两边加半角双引号在条件中字段名必须用方括号括起来两个以上条件时,同行相与,异行相或条件中引用表名时,应用方括号括起来,与字段名之间用“!”。如 教师档案表!姓名,8.5.2 交
21、叉表查询的创建,所谓交叉表查询,就是将来源于某个表中的字段进行分组,一组列在数据表的左侧,一组列在数据表的上部,然后在数据表行与列的交叉处显示表中某个字段的各种计算值。与Excel中的数据透视表一样。,使用查询向导创建交叉表查询,注意:若所建交叉表查询涉及多张表,或来自某个字段的部分值,使用设计视图更方便。,8.5.3 SQL查询,SQL(Structured Query Language,结构化查询语言),是一种通用的且功能极其强大的关系数据库语言,也是关系数据库的标准语言,它具有数据查询、数据定义、数据操作、数据控制等功能,包括了对数据库的所有操作。,在Access中使用SQL语句的步骤如
22、下:(1)执行“创建查询查询设计”命令,关闭“显示表”对话框。(2)执行“查询工具设计数据定义”,在数据定义查询窗口中输入SQL语句。注:在数据定义查询窗口中一次只能输入一条SQL语句。(3)单击工具栏的“运行”按钮,执行SQL语句。(4)根据需要,将SQL语句保存为一个查询对象,或直接关闭查询窗口。,1.数据定义 CREATE语句-创建表格,格式:CREATE TABLE(字段完整性约束条件,字段完整性约束条件),例:使用CREATE TABLE语句创建“学生情况”表。,CREATE TABLE 学生情况(学生ID text(20)Primary Key,姓名 text(4),性别 text
23、(1),出生日期 DATE,家庭住址 text(20),联系电话 text(8),备注 MEMO),61,常用数据类型:,1.数据定义ALTER语句-修改表格,格式:ALTER TABLE ADD DROP ALTER,例:将“学生情况”表中“学生ID”字段的数据类型改为文本型,字段大小为10。,ALTER TABLE 学生情况 ALTER 学生ID text(10),1.数据定义 DROP语句-删除表格,格式:DROP TABLE,例:将“学生情况”表删除。,DROP TABLE 学生情况,2.INSERT语句-插入记录,格式:INSERT INTO(,)VALUES(),)如果INTO后缺
24、省字段名,则必须为新记录中的所有字段赋值,且各项数据和表定义的字段顺序一一对应。,例”在“授课”表中插入一条新记录(8,105,96011)。,INSERT INTO 授课 VALUES(8,105,96011),3.UPDATE语句-更新记录,格式:UPDATE SET=WHERE,例:将“教师”表中“教师编号”为“96011”教师的工作时间改为:1992-2-26。,UPDATE 教师 SET 工作时间=#1992-2-26#WHERE 教师编号=96011,4.DELETE语句-删除记录,格式:DELETE FROM WHERE 如果不带WHERE子句,则删除表中所有的记录(该表对象仍保
25、留在数据库中)。如果带WHERE子句,则只删除表中满足条件的记录。,例:将“教师”表中教师编号为“98014”的记录删除。,DELETE FROM 教师WHERE 教师编号=98014,5.SELECT语句-查询,格式:SELECT,FROM,WHERE GROUP BY ASC|DESC,例:查找并显示“教师”表中“姓名”、“性别”、“工作时间”和“系别”4个字段。,SELECT 姓名,性别,工作时间,系别 FROM 教师,例:查找1992年参加工作的男教师,并显示“姓名”、“性别”、“学历”、“职称”、“系别”和“联系电话”。,SELECT 姓名,性别,学历,职称,系别,电话号码FROM
26、教师WHERE 性别=男 AND YEAR(工作时间)=1992,例:查找具有高级职称的教师,并显示“姓名”和“职称”。,SELECT 姓名,职称FROM 教师WHERE 职称 IN(教授,副教授),例:计算各类职称的教师人数,显示字段名为“各类职称人数”。,SELECT Count(教师编号)AS 各类职称人数FROM 教师GROUP BY 职称,例:计算各类职称的教师人数,显示字段名为“各类职称人数”。,SELECT Count(教师编号)AS 各类职称人数FROM 教师GROUP BY 职称,6.连接运算,多表查询时,通常需要指定两个表的联接条件,联接条件中的联接字段一般是两个表中的公共
27、字段或语义相同的字段,该条件放在WHERE子句中。格式为:SELECT FROM,WHERE.=.,例:查询所有学生的学号、姓名、选修的课程号和成绩。SELECT 学生.学号,姓名,课程号,成绩FROM 学生,选课 WHERE 学生.学号=选课.学号,8.6 数据挖掘与大数据,数据挖掘数据挖掘是指从数据库的大量数据中揭示出隐含的、先前未知的并有潜在价值的信息的过程。它主要基于人工智能、机器学习、模式识别、统计学、数据库、可视化技术等,高度自动化地分析企业的数据,做出归纳性的推理,从中挖掘出潜在的模式,帮助决策者调整市场策略,减少风险,做出正确决策。“尿布与啤酒”案例,2.大数据(Big Data)大数据通常用来形容一个公司创造的大量非结构化数据和半结构化数据。它的特色在于对海量数据进行分布式数据挖掘,例如企业组织利用相关数据和分析可以帮助它们降低成本、提高效率、开发新产品、做出更明智的业务决策等。工业大数据教育大数据,