第7章 数据库技术基础.ppt

上传人:豆**** 文档编号:50519346 上传时间:2022-10-15 格式:PPT 页数:53 大小:1.65MB
返回 下载 相关 举报
第7章 数据库技术基础.ppt_第1页
第1页 / 共53页
第7章 数据库技术基础.ppt_第2页
第2页 / 共53页
点击查看更多>>
资源描述

《第7章 数据库技术基础.ppt》由会员分享,可在线阅读,更多相关《第7章 数据库技术基础.ppt(53页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第第7章章 数据库技术基础数据库技术基础一、一、常用术语常用术语 1.1.数据库(数据库(DataBaseDataBase,DBDB)长期保存在计算机外存上的、有结构的、可共享的长期保存在计算机外存上的、有结构的、可共享的数据集合。数据集合。2.2.数据库管理系统数据库管理系统(DataBase Management System(DataBase Management System,DBMS)DBMS)对数据库进行管理的软件系统。数据库的一切操作,对数据库进行管理的软件系统。数据库的一切操作,如查询、更新、插入、删除以及各种控制,都是通过如查询、更新、插入、删除以及各种控制,都是通过DBMS

2、DBMS进行的。进行的。DBMSDBMS是位于用户(或应用程序)和操作系是位于用户(或应用程序)和操作系统之间的软件。统之间的软件。3.3.数据库系统(数据库系统(DataBase SystemDataBase System,DBSDBS)由由DBDB、DBMSDBMS、应用程序、数据库管理员、用户等构、应用程序、数据库管理员、用户等构成的人成的人机系统。机系统。用户用户应用程序应用程序DBMS操作系统操作系统数据库数据库数据库数据库 DB DB数据库系统数据库系统7.1 数据库系概述数据库系概述24.4.数据库系统的特点数据库系统的特点(1)采用一定的采用一定的数据模型数据模型,最大限度地减

3、少数据的冗余,最大限度地减少数据的冗余 (2)最低的冗余度最低的冗余度 (3)有较高的有较高的数据独立性数据独立性 用用户户面面对对的的是是简简单单的的逻逻辑辑结结构构操操作作而而不不涉涉及及数数据据具具体体的物理存储结构的物理存储结构 (4)安全性安全性 设设置置用用户户的的使使用用权权限限,在在数数据据库库被被破破坏坏时时,系系统统可可把把数据库恢复到可用状态。数据库恢复到可用状态。(5)完整性完整性 一一些些完完整整性性检检验验以以确确保保数数据据符符合合某某些些规规则则,保保证证数数据据库中数据始终是正确的。库中数据始终是正确的。33.关系模型关系模型StudentsStudents表

4、表男张智忠学号学号姓名姓名性别性别党员党员专业专业出生年月出生年月助学金助学金990001王涛王涛男男No物理82-01-21¥160.00990002庄前女Yes物理82-09-21¥200.00990101丁保华男No数学81-04-18¥180.00990102姜沛棋女No数学81-12-02¥280.00No数学80-08-06¥240.00990201程玲女Yes计算机82-11-14¥200.00990202黎敏艳女Yes计算机83-02-21¥160.00990103将数据组织成一组二维表格将数据组织成一组二维表格5学号学号课课 程程成绩成绩990001计算机文化基础829900

5、01高等数学76990002计算机文化基础90990101高等数学77990102计算机文化基础68990102C/C+程序设计85990102大学英语56990201计算机导论87990201高等数学67990202计算机导论53990203英语71Scores表表6(1 1)术语)术语 n关系:一个关系即一张二维表关系:一个关系即一张二维表n关系模式:关系模式:(对关系的描述)对关系的描述)Students(Students(学号,姓名,性别,党员,专业,出生年月,学号,姓名,性别,党员,专业,出生年月,助学金,照片助学金,照片)Scores(Scores(学号,课程,成绩学号,课程,成绩

6、)n记录:表中的一行记录:表中的一行n属性属性(字段字段):表中的一列:表中的一列n关键字:可以惟一地确定记录的某个属性关键字:可以惟一地确定记录的某个属性n主键:在实际的应用中被选用的主关键字主键:在实际的应用中被选用的主关键字 n值域:属性的取值范围值域:属性的取值范围7StudentsStudents表表属性名(字段名)属性值(字段值)男张智忠学号学号姓名姓名性别性别党员党员专业专业出生年月出生年月助学金助学金990001王涛男No物理82-01-21¥160.00990002庄前女Yes物理82-09-21¥200.00990101丁保华男No数学81-04-18¥180.009901

7、02姜沛棋女No数学81-12-02¥280.00No数学80-08-06¥240.00990201程玲女Yes计算机82-11-14¥200.00990202黎敏艳女Yes计算机83-02-21¥160.00990103记录记录 关键字唯一确定一条记录 值域:男,女举例举例8(2 2 2 2)关系必须规范化:表中不能再包含表关系必须规范化:表中不能再包含表关系必须规范化:表中不能再包含表关系必须规范化:表中不能再包含表 工资表(不满足关系模型要求工资表(不满足关系模型要求)工号工号姓名姓名工工 资资应发工应发工资资实发工实发工资资91026王建春1656148897045杨建兵1832176

8、4工资表(满足关系模型要求工资表(满足关系模型要求)工号工号姓名姓名应发工应发工资资实发工实发工资资91026王建王建春春1656148897045杨建杨建兵兵183217649(3 3 3 3)关系的种类)关系的种类)关系的种类)关系的种类 基本表基本表 如表如表StudentsStudents和和ScoresScores 查询表查询表 查询表是查查询表是查询结果表,查询中生成的询结果表,查询中生成的临时表。临时表。视图视图 视图是由基视图是由基本表或其他视图导出的表。本表或其他视图导出的表。学号学号姓名姓名课程课程成绩成绩990001王涛计算机文化基础82990001王涛高等数学76990

9、002庄前计算机文化基础90990101丁保华高等数学77990102姜沛棋计算机文化基础68990102姜沛棋C/C+程序设计85990102姜沛棋大学英语56990201程玲计算机导论87990201程玲高等数学67990202黎敏艳计算机导论53990203邓倩梅英语71990204杨梦逸计算机导论66来自表来自表StudentsStudents和和ScoresScores的查询表的查询表 10三、三、常见的数据库系统及其开发工具常见的数据库系统及其开发工具 应用程序应用程序VBVCPowerBuilder Delphi Microsoft AccessSQL ServerOracleV

10、isual FoxProSQL命令命令数据库数据库常见数据库系统开发工具:常见数据库系统开发工具:Visual BasicVisual C+PowerBuiderDelphi常见的数据库管理系统:常见的数据库管理系统:Microsoft AccessSQL ServerOracleVisual FoxPro常见的数据库应用系统及开发工具常见的数据库应用系统及开发工具117.2 数据库的建立和维护Access的特点的特点n是是Office的组件之一的组件之一n具有对数据进行存储、管理、处理等常规功能具有对数据进行存储、管理、处理等常规功能n直观的可视化操作工具和向导直观的可视化操作工具和向导n丰

11、富的函数功能丰富的函数功能127.2.1 Access 数据库的组成 表表:最基本的对象最基本的对象,表及其表之间,表及其表之间 的关系构成数据库的核心的关系构成数据库的核心查询查询:从表(或查询)中选择一部分数从表(或查询)中选择一部分数 据,形成一个全局性的集合据,形成一个全局性的集合窗体窗体:用户与数据库交互的界面,窗体用户与数据库交互的界面,窗体 的数据源是表或查询的数据源是表或查询报表报表:按指定的样式格式化的数据形式按指定的样式格式化的数据形式宏宏:若干个操作的组合若干个操作的组合模块模块:用户用用户用VBVB语言编写应用程序语言编写应用程序WebWeb页页:向向InternetI

12、nternet上发布数据上发布数据这些不同类型的对象集合构成了一个数据这些不同类型的对象集合构成了一个数据库文件,以库文件,以.mdbmdb存储在盘上存储在盘上137.2.2 Access 7.2.2 Access 数据库的建立数据库的建立 确定表的结构。确定表的结构。建立一个空数据库建立一个空数据库,输入文件名。,输入文件名。使用设计器创建表,进入设计视图,输入各个使用设计器创建表,进入设计视图,输入各个 字段的信息。字段的信息。定义主键。定义主键。保存表,输入表的名称。保存表,输入表的名称。表是表是Access数据库的基础,其他对象是工具,建立数据库的基础,其他对象是工具,建立数据库的数据

13、库的关键是建立基本表关键是建立基本表。步骤:。步骤:14实例实例 创建表创建表Students。StudentsStudents的结构的结构字段名称字段名称字段类型字段类型字段宽度字段宽度学号学号TextText6 6个字符个字符姓名姓名TextText4 4个字符个字符性别性别TextText1 1个字符个字符党员党员Yes/NoYes/No1 1个二进制位个二进制位专业专业TextText2020个字符个字符出生年月出生年月DateDateTimeTime8 8字节字节助学金助学金CurrencyCurrency8 8字节字节照片照片OLE ObjectOLE Object不确定不确定15

14、Access 数据库的建立数据库的建立 3.3.定义表定义表的结构的结构 1.1.建立空建立空数据库数据库2.2.使用设计使用设计器或向导器或向导演示演示167.2.3 数据库的管理与维护数据库的管理与维护n选定基本表,进入选定基本表,进入数据表视图数据表视图,输入编辑数据,输入编辑数据 添加添加新记录新记录1.数据输入数据输入 演示演示17注意:注意:打开的表或正在使用的表是不能修改的打开的表或正在使用的表是不能修改的修修改改字字段段名名称称不不会会影影响响到到字字段段中中所所存存放放的的数数据据,但但是是会会影影响响到到一一些些相相关关的的部部分分。如如果果查查询询、报报表表、窗窗体体等等

15、对对象象使使用用了了这个更换名称的字段,那么在这些对象中也要作相应的修改。这个更换名称的字段,那么在这些对象中也要作相应的修改。关关系系表表中中互互相相关关联联的的字字段段是是无无法法修修改改的的,如如果果需需要要修修改改,必须先将关联去掉必须先将关联去掉n 选定基本表,进入选定基本表,进入设计视图设计视图,修改表结构修改表结构2.2.表结构的修改表结构的修改18类类似似于于WindowsWindows中中对对文文件件或或文文件件夹夹的的操操作作注意注意 在进行这些操作之前,必须关闭有关在进行这些操作之前,必须关闭有关的表的表 操作必须在操作必须在“数据库数据库”窗口中完成窗口中完成3.表的复

16、制、删除、恢复和更名表的复制、删除、恢复和更名19 (1)字符型数据用字符型数据用 双引号双引号“或或 单引用单引用 括起来。如括起来。如abcde123 日期型数据用日期型数据用#括起来。例如括起来。例如#10/12/2000#(2)MOD是取余数运算符是取余数运算符 例如,例如,5 MOD 3的结果为的结果为2。(3)&用于连接两个字符串。用于连接两个字符串。ABC&1234的结果是的结果是ABC1234 说明:说明:21(4)Between运算符运算符格式:格式:Between And 3 Between 1 And 10:True3 Between 1 And 2:False,ABC

17、Between A And B:TrueABC Between A And ABB:False。(5)可使用通配符:可使用通配符:*和?和?查找姓查找姓“张张”的学生:姓名的学生:姓名 Like 张张*查找不是姓查找不是姓“张张”的学生:姓名的学生:姓名 Not Like 张张*说明:说明:222.2.常用内部函数常用内部函数函函 数数 名名说说 明明实实 例例结结 果果Date()返回系统日期返回系统日期 Date()#5/4/2003#Year(D)返回年份返回年份Year(#12/1/1982#)19823 3表达式和表达式生成器表达式和表达式生成器237.2.5 SQL中的数据更新命令

18、中的数据更新命令结构化查询语言结构化查询语言SQL(Structure Query Language)是操作关系数据是操作关系数据库的工业标准语言。在库的工业标准语言。在SQLSQL中,常用的语句有两类:中,常用的语句有两类:数据更新命令数据更新命令 INSERTINSERT、UPDATEUPDATE、DELETEDELETE数据查询命令数据查询命令 SELECTSELECT1 1INSERTINSERT命令命令用于用于数据插入数据插入 其其语法格式语法格式为:为:插入一条记录插入一条记录 INSERT INTO INSERT INTO 表名表名 (字段字段1,1,字段字段n)VALUES(n

19、)VALUES(值值1,1,值值n)n)24INSERT命令实例命令实例例例1 向表向表Students中插入一条记录中插入一条记录INSERT INTO Students(学号学号,姓名姓名,性别性别,党员党员,专业专业,出生年月出生年月,助学金助学金)VALUES(990301,杨国强杨国强,男男,TRUE,化学化学,#12/28/80#,220)注意:注意:字符型常量用字符型常量用 单引号单引号 或或 双引号双引号 括起来括起来逻辑型字段的值是逻辑型字段的值是 True/False、Yes/No 或或 On/Off日期的表示形式为日期的表示形式为 MM/DD/YY 或或 MM/DD/YY

20、YY25例例2向表向表Scores插入记录(插入记录(990301,大学计算机基础,大学计算机基础,98)INSERT INTO Scores VALUES(990301,大学大学计计算机基算机基础础,98)INSERT命令实例命令实例26直接执行直接执行SQL语句的方法语句的方法 切换到切换到“查询查询”页。页。创建一个空查询。创建一个空查询。切换到切换到SQL视图。视图。输入输入SQL命令,如右图所示。命令,如右图所示。执行查询执行查询 查看结果。查看结果。操作方法操作方法演示演示272.DELETE语句语句例例3 删除表删除表Students中所有学号为中所有学号为990301的记录的记

21、录DELETE FROM Students WHERE 学号学号=“990301”例例4 删除表删除表Scores中成绩低于中成绩低于70分的记录分的记录DELETE FROM Scores WHERE 成绩成绩70DELETE语句语句用于用于数据删除数据删除 其其语法格式语法格式为:为:DELETE FROM 表表 WHERE 条件表达式条件表达式注意注意:WHERE子句缺省,则删除表中所有的记录(表还在)子句缺省,则删除表中所有的记录(表还在)283.UPDATE语句语句例例5 将表将表Students中学生王涛的姓名改为王宝球中学生王涛的姓名改为王宝球UPDATE Students SE

22、T 姓名姓名=“王宝球王宝球”WHERE 姓名姓名=王涛王涛例例6 将表将表Students中助学金低于中助学金低于200的学生加的学生加30元元UPDATE Students SET 助学金助学金=助学金助学金+30 WHERE 助学金助学金200UPDATE语句语句用于用于数据修改数据修改 其其语法格式语法格式为:为:UPDATE UPDATE 表表 SET SET 字段字段1=1=表达式表达式1,1,字段字段n=n=表达式表达式n n WHERE WHERE 条件条件 注意注意:WHEREWHERE子句缺省,则修改表中所有的记录子句缺省,则修改表中所有的记录UPDATE语句一次只能对一个

23、表进行修改语句一次只能对一个表进行修改 297.3 数据库的查询数据库的查询数据查询是数据库的核心操作数据查询是数据库的核心操作不管采用何种工具创建查询,不管采用何种工具创建查询,AccessAccess都会在后台构造都会在后台构造等效的等效的SELECTSELECT语句语句执行查询实质就是运行了相应的执行查询实质就是运行了相应的SELECTSELECT语句。语句。分类分类 SQL语句语句 数据查询数据查询 SELECT 数据更新数据更新语句语句 INSERT UPDATE DELETE308.3.1 SELECT语句语句 语法形式语法形式为:为:SELECT ALL|DISTINCT 目标列

24、目标列 FROM 表表(或查询或查询)-基本部分基本部分选择字段选择字段 WHERE 条件表达式条件表达式-选择满足条件的记录选择满足条件的记录 GROUP BY 列名列名1 HAVING 过滤表达式过滤表达式-分组并且过滤分组并且过滤 ORDER BY 列名列名2 ASC|DESC-排序排序 不可缺少不可缺少可缺省可缺省功能功能 根根据据WHERE中中表表达达式式,从从指指定定的的表表(或或查查询询)中中找找出出满满足足条条件件的的记记录录,按按目目标标列显示数据列显示数据 GROUP BY子句按列名子句按列名1的值进行分组,每一组产生一条记录,的值进行分组,每一组产生一条记录,HAVING

25、子句子句对分组后的结果过滤对分组后的结果过滤 ORDER BY子句按列名子句按列名2 对查询结果的值进行排序对查询结果的值进行排序不能出现不能出现重复的记重复的记录录 31例例7 查询所有学生的学号、姓名、性别和专业查询所有学生的学号、姓名、性别和专业 SELECT 学号学号,姓名姓名,性别性别,专业专业 FROM Students说明:说明:若要查询所有学生的基本情况(所有字段),若要查询所有学生的基本情况(所有字段),则可以用则可以用*表示所有的字段:表示所有的字段:SELECT*FROM Students用用DISTINCT没有用没有用DISTINCT例例8 查询所有的专业,查询查询所有

26、的专业,查询结果中不出现重复的记录结果中不出现重复的记录 SELECT DISTINCT 专业专业 FROM Students;32例例9查询查询Students表中所有学生人数、最低助表中所有学生人数、最低助学金、最高助学金和平均助学金学金、最高助学金和平均助学金.或或:查询查询Students表中女生人数、最低助学金、表中女生人数、最低助学金、最高助学金和平均助学金最高助学金和平均助学金.33合计函数合计函数 描描 述述AVG(列名列名)计算某一列的平均值计算某一列的平均值COUNT(*)统计记录的个数统计记录的个数COUNT(列名列名)统计某一列值的个数统计某一列值的个数SUM(列名列名

27、)计算某一列的总和计算某一列的总和MAX(列名列名)计算某一列的最大值计算某一列的最大值MIN(列名列名)计算某一列的最小值计算某一列的最小值如如果果没没有有GROUP BY子子句句,合合计计函函数数对对整整个个表表进进行行统统计计,产产生生一一条条记记录,否则按分组统计,一组产生一条记录录,否则按分组统计,一组产生一条记录SQL合计函数合计函数34SELECT Count(*)AS 人数人数,Min(助学金助学金)AS 最低助学金最低助学金,Max(助学金助学金)AS 最高助学金最高助学金,Avg(助学金助学金)AS 平均助学金平均助学金FROM Students可改为可改为Count(Co

28、unt(学学号号)用用ASAS子子句指定句指定别名别名本例产本例产生一条生一条记录记录 例例10 使用合计函数,查询学生人数、最低助学金、最使用合计函数,查询学生人数、最低助学金、最高助学金和平均助学金高助学金和平均助学金 35SELECT Count(*)AS 人数人数,Avg(Year(Date()-Year(出生年月出生年月)AS 平均年龄平均年龄 FROM Students系统日系统日期期得到年份得到年份 例例11 查询学生的人数和平均年龄查询学生的人数和平均年龄362.选择记录选择记录例例12 显示所有非计算机专业学生的学号、姓名和年龄显示所有非计算机专业学生的学号、姓名和年龄 SE

29、LECT 学号学号,姓名姓名,Year(Date()-Year(出生年月出生年月)AS 年龄年龄 FROM Students WHERE 专业专业计算机计算机例例13 查询查询1981年年(包括包括1981年年)以前出生的女生姓名和出生年月。以前出生的女生姓名和出生年月。SELECT 姓名姓名,出生年月出生年月 FROM StudentsWHERE 出生年月出生年月=75GROUP BY 学号学号HAVING Count(*)=2415.连接查询连接查询WHERE 条件,在两表中有相同的属性值条件,在两表中有相同的属性值例例18 查询所有学生的学号、姓名、课程和成绩查询所有学生的学号、姓名、课

30、程和成绩 SELECT Students.学号学号,Students.姓名姓名,Scores.课程课程,Scores.成绩成绩 FROM Students,Scores WHERE Students.学号学号=Scores.学号学号两个表两个表 连接条件连接条件 42表表的的连连接接连连接接结结果果43用条件用条件“Students.学号学号=Scores.学号学号”进行连接,然后进行选择进行连接,然后进行选择SELECT Students.学号学号,Students.姓名姓名,Scores.成绩成绩FROM Students,ScoresWHERE Students.学号学号=Scores.

31、学号学号 AND Scores.课程课程=高等数学高等数学例例19 查询选修了查询选修了“高等数学高等数学”课程的学生课程的学生的学号、姓名和成绩。的学号、姓名和成绩。44练习8.(1)INSERT INTO TEACHERS VALUES(“300008”,“杨梦”,“女”,59,#66/04/22#,YES,1660,210)(2)DELETE FROM TEACHERS WHERE 年龄25(4)SELETE 教师号,姓名,实发工资 FROM TEACHERS(5)SELECT COUNT(*)AS 人数,AVG(实发工资)AS 平均工资 FROM Teachers(6)SELECT教师

32、号,姓名,实发工资 FROM TEACHERS WHERE 参加工作年月75);498.4 窗体、报表窗体、报表8.4.1 创建窗体创建窗体 窗体是维护表中数据的最灵活的一种形式。窗体是维护表中数据的最灵活的一种形式。利于删除和修改等操作。利于删除和修改等操作。例例8.25 创建如下图所示的窗体创建如下图所示的窗体Scores1,用于维护表,用于维护表Scores。v 打开打开Student.mdbStudent.mdb数据库数据库v 选择使用向导创建窗体选择使用向导创建窗体v 选定表选定表ScoresScores及所有字段及所有字段v 选定窗体布局和窗体样式选定窗体布局和窗体样式v 输入窗体

33、名称:输入窗体名称:Scores1Scores1创建窗体的方法:创建窗体的方法:使用向导创建窗体使用向导创建窗体 使用设计视图创建窗体。使用设计视图创建窗体。50使用设计视图创建窗体使用设计视图创建窗体 例例8.26 8.26 创建下图所示的窗体创建下图所示的窗体Scores2Scores2 数据分布在两个表中,先建立下列查询数据分布在两个表中,先建立下列查询SELECT SELECT Students.Students.学学号号,First(Students.First(Students.姓姓名名)AS AS 姓姓名名,Avg(Scores.Avg(Scores.成成绩绩)AS AS 平平均

34、均成成绩绩 FROM FROM Students,Scores Students,Scores GROUP BY Students.GROUP BY Students.学号学号拖所拖所需的需的字段字段 5.5.拖放拖放所需的所需的字段字段 1.1.进入进入新建窗新建窗体体2.2.选择选择设计视设计视图图 3.命名查询名称4.4.建建立查立查询询 51报表报表主要用来把表、查询甚至窗体中的数据生成报表,主要用来把表、查询甚至窗体中的数据生成报表,供打印。供打印。例例8.27 8.27 创建下图所示的报表创建下图所示的报表Scores1Scores1 v 打开打开Student.mdbStuden

35、t.mdb数据库数据库v 选择使用向导创建报表选择使用向导创建报表v 选定表选定表ScoresScores及所有字段及所有字段v 决定要否分组决定要否分组(本例不分组本例不分组)v 选择排序方式选择排序方式(本例按学号本例按学号)v 选择表格布局方式选择表格布局方式v 选择报表样式选择报表样式(本例为组织本例为组织)v 输入报表名称:输入报表名称:Scores1Scores1 8.4.2 创建报表创建报表52例例8.28 创建如图所示的报表创建如图所示的报表Scores2,输出每个学生的学,输出每个学生的学号、姓名和平均成绩。号、姓名和平均成绩。v 选择选择“使用向导创建报表使用向导创建报表”v 选择例选择例8.238.23的查询,并选择所有字段的查询,并选择所有字段v 样式:样式:“淡灰淡灰”其余与例其余与例8.278.27相同。相同。53

展开阅读全文
相关资源
相关搜索

当前位置:首页 > pptx模板 > 企业培训

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com