




已阅读5页,还剩55页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,6.1 数据库系统概述 6.2 数据库的建立和维护 6.3 数据库查询 6.4 *窗体、报表,第六章 数据库基础,2,信息化社会离不开对信息的管理;数据库的建设规模、数据库信息量的大小和使用程度是信息化社会的重要标志之一。 应用面广 MIS(管理信息系统) OIS(办公信息系统) CAD/CAM(计算机辅助设计与制造) WEB(网站) 信息检索 数据库技术是基础和核心,7.1.1 问题的提出,1.你们每月的生活费父母通过何种方式给你?,2.为什么要学习数据库基础知识?,3,典型案例一,4,典型案例二,无纸化通用考试系统 大学计算机基础库 isual Basic程序设计 C/C+程序设计 软件技术基础 数据库技术及应用,应用程序,数据库管理系统,VB,VC+,PowerBuilder,Delphi,ACCESS,SQL SERVER,ORACLE,FOXPRO,SQL命令,数据库引挚,数据库 (题库),C#,5,典型案例三,6,6.1.2 数据库技术的产生和发展,数据管理技术经历了三个发展阶段 人工管理阶段 文件管理阶段 数据库系统阶段,7,.人工管理阶段,时间:20世纪50年代中期以前 硬件:只有卡片、纸带、磁带等存储设备 软件:没有操作系统,没有进行数据管理的软件 应用:以科学计算为目的 特点:程序和数据放在一起 数据不能共享 特征图,8,人工管理阶段数据管理示例,例:两个C语言程序,分别求10个数据之和和最大值,问题:1.程序与数据放在一起,数据没有能够共享 2.修改数据必须修改程序,9,时间:20世纪60年代中期 硬件:磁带、磁盘等大容量存储设备 软件:有了操作系统 应用:不仅用于科学计算,还用于数据管理 特点:程序与数据分离 数据有一定的独立性 以文件为单位的数据共享 特征图,10,文件系统阶段数据管理示例,上例用文件实现,问题:1.管理数据编程工作量大 2.数据的不一致性和独立性,11,3.数据库系统阶段,时间:20世纪60年代后期 硬件:出现了大容量且价格低廉的磁盘 软件:有了数据库管理系统DBMS 应用:各个方面 特点: 数据由DBMS统一管理控制 为用户提供了友好的接口,12,数据库系统阶段数据管理示例,解决了数据的独立性问题,实现数据的统一管理, 达到数据共享的目的,求和: SELECT Sum(Num) FROM Data 求最大值:SELECT Max(Num) FROM Data,13,6.1.3 常用术语,1. 数据库(DataBase,DB) 长期保存在计算机外存上的、有结构的、可共享的数据集合。 2. 数据库管理系统(DataBase Management System,DBMS) 对数据库进行管理的软件系统。如查询、更新、插入、删除以及各种控制,都是通过DBMS进行的。 DBMS是位于用户(或应用程序)和操作系统之间的软件。借助于操作系统实现对数据的存储和管理,使数据能被各种不同的用户所共享,DBMS提供给用户可使用的数据库语言。 3. 应用程序 利用各种开发工具开发的、满足特定应用环境的数据库应用程序。,14,4. 数据库系统相关人员 数据库管理员 应用程序开发人员 最终用户 5. 数据库系统(DataBase System,DBS) 由硬件系统、数据库管理系统、数据库、数据库应用程序、数据库系统相关人员等构成的人机系统。 数据库产品(一整套数据库应用解决方案 ) 桌面型数据库 网络数据库 MS Access SQL Server MySql Oracle,15,数据库系统的特点,(1) 采用一定的数据模型,最大限度地减少数据的冗余 (2) 有较高的数据独立性 用户面对的是简单的逻辑结构操作而不涉及数据具体的 物理存储结构 (3) 安全性 设置用户的使用权限 在数据库被破坏时,系统可把数据库恢复到可用状态。 (4) 完整性 一些完整性检验以确保数据符合某些规则,保证数据库中 数据始终是正确的。,特点,16,传统的学生成绩表,17,最少冗余的学生成绩表,学生基本情况表,选课制下的学生成绩表,18,6.1.4 数据模型,1. 什么是数据模型 定义:数据库中数据的存储方式 2. 三种重要的数据模型 层次模型 用树型结构来表示实体及实体间的联系 例如:1968年,IBM公司的IMS(Information Management System) 网状模型 用网状结构来表示实体及实体间的联系 例如:DBTG系统 关系模型 用一组二维表表示实体及实体间的关系 例如:Microsoft Access 理论基础是1970年IBM公司研究人员E.F.Codd发表的大量论文。 目前应用最广泛的是关系数据模型,19,3. 关系模型,Students表,属性名(字段名),属性值(字段值),记录,关键字唯一确定一条记录,关系(二维表),值域:男,女,将数据组织成一组二维表格,20,术语 关系:一个关系一张二维表 关系模式: Students(学号,姓名,性别,党员,专业,出生年月, 助学金,照片) Scores(学号,课程,成绩) 记录:表中的一行 属性(字段):表中的一列 关键字:某个属性可以惟一地确定记录 主键:在实际的应用中只能选择一个,一般为关键字 值域:属性的取值范围,21,6.2 数据库的建立和维护,Access的特点 是Office的组件之一 具有对数据进行存储、管理、处理等常规功能 直观的可视化操作操作工具和向导 丰富的函数功能,22,6.2.1 Access 数据库的组成,表: 最基本的对象,表及其表之间 的关系构成数据库的核心 查询: 从表(或查询)中选择一部分数 据,形成一个全局性的集合 窗体: 用户与数据库交互的界面,窗体 的数据源是表或查询 报表: 按指定的样式格式化的数据形式 宏: 若干个操作的组合 模块: 用户用VB语言编写应用程序 Web页: 向Internet上发布数据 这些不同类型的对象集合构成了一个数据库文件,以.mdb存储在盘上,23,实例 创建表Students,Students的结构,24,6.2.2 Access 数据库的建立,字段数据类型有10种 字段属性 大小、小数位、格式,确定表的结构 建立一个空数据库,输入文件名 使用设计器或向导创建表,进入设计视图, 输入各个字段的信息 建立表的索引 定义主键 输入表的名称保存表,主要方法:数据库向导(模板)或设计视图,一般用后者,25,Access 数据库的建立,3.定义表的结构,1.建立空数据库,2.使用设计器或向导,26,6.2.3 数据库的管理与维护,选定基本表,进入数据表视图,输入编辑数据,添加,新记录,1. 数据输入,27,注意: 打开的表或正在使用的表是不能修改的 修改字段名称不会影响到字段中所存放的数据,但是会影响到一 些相关的部分。如果查询、报表、窗体等对象使用了这个更换名 称的字段,那么在这些对象中也要作相应的修改。 关系表中互相关联的字段是无法修改的,如果需要修改,必须先将关联去掉,选定基本表,进入设计视图,修改表结构,2.表结构的修改,28,3.数据的导出和导入,作用:与其他格式的数据相互转换。常用为.XLS、TXT文件 导出:将表中数据以另一种文件格式保存在磁盘上 选定要导出的表“文件/导出”选择要导出的格式 导入:将外部数据导入到Access的表中。 “文件/获取外部数据/导入” 选择要导入的文件类型和文件 选择要导入到的新表或现有表,29,4.表的复制、删除、恢复和更名 类似于Windows中对文件或文件夹的操作 注意 在进行这些操作之前,必须关闭有关的表 操作必须在“数据库”窗口中完成,30,6.2.4 SQL中的数据更新命令,结构化查询语言SQL是操作关系数据库的工业标准语言 在SQL中,常用的命令有两类: 数据查询命令 SELECT 数据更新命令 INSERT、UPDATE、DELETE,直接输入SQL命令和执行SQL命令方法 切换到“查询”页。 创建一个空查询。 切换到SQL视图。 输入SQL命令,如右图所示。 执行查询 查看结果。,注意:输入命令、标点符号都是西文字符,31,INSERT命令用于数据插入 其语法格式为: INSERT INTO 表名 (字段1,字段n) VALUES (值1,值n) 说明:若省略(字段1,字段n) ,则VALUES各值按表结构各 字段次序、类型逐一输入; 若不省略,则字段名与值次序、类型一一对应。,例6.3 向表Students中插入一条记录 INSERT INTO Students (学号,姓名,性别,党员,专业,出生年月,助学金) VALUES(“030301“,“杨国强“,“男“,TRUE,“化学“, #12/28/94#,220) INSERT INTO Students VALUES(“030301“,“杨国强“,“男“,TRUE,“化学“, #12/28/94#,220),INSERT命令,32,例6.4 向表Scores插入记录(030301,大学计算机基础,98) INSERT INTO Scores VALUES (“030301“, “大学计算机基础“, 98),注意: 所有字符西文符号 字符型常量用 单引号 或 双引号 括起来 逻辑型字段的值是 True/False、Yes/No 或 On/Off 日期常量用#号括起,表示形式为 #MM/DD/YY# 或#MM/DD/YYYY# 若有主键,不能输入多个相同的主键值。 即不能多次执行插入命令,33,DELETE命令,例6.5 删除表Students中所有学号为030301的记录 DELETE FROM Students WHERE 学号=“030301” 例6.6 删除表Scores中成绩低于70分的记录 DELETE FROM Scores WHERE 成绩70,DELETE语句用于数据删除 其语法格式为: DELETE FROM 表 WHERE 条件 注意: WHERE子句缺省,则删除表中所有的记录(表还在),34,UPDATE命令,例6.7 将表Students中学生王涛的姓名改为王宝球 UPDATE Students SET 姓名= “王宝球“ WHERE 姓名=“王涛“ 例6.8 将表Students中助学金低于200的学生加30元 UPDATE Students SET 助学金=助学金+30 WHERE 助学金200,UPDATE语句用于数据修改 其语法格式为: UPDATE 表 SET 字段1=表达式1, ,字段n=表达式n WHERE 条件 注意: WHERE子句缺省,则修改表中所有的记录,注意:UPDATE语句一次只能对一个表进行修改,思考:Excel中如何实现助学金增加?,35,SELECT语句,语法形式为: SELECT DISTINCT目标列 FROM 表 -必选,选择字段(列) WHERE 条件表达式 -选择满足条件的记录(行) GROUP BY 列名1 HAVING 表达式 -对满足条件的分组统计 ORDER BY 列名2 ASC|DESC -排序,不可缺少,可缺省,功能 :从表中产生所需的行、列内容, 形成一个查询结果(虚表),不能出现重复的记录,36,目标列,Where 条件,37,1. 选择字段,例6.9 查询所有学生的学号、姓名、性别和专业 SELECT 学号, 姓名, 性别, 专业 FROM Students 说明: 若要查询所有学生的基本情况(所有字段),可用* SELECT * FROM Students 例6.10 查询所用的专业,查询结果中不出现重复的记录 SELECT DISTINCT 专业 FROM Students;,用DISTINCT,没有用DISTINCT,1.简单查询,38,2.查询中使用表达式规则,(1) 常用运算符,注意:可使用通配符:*和? 查找姓“张”的学生:姓名 Like “张*“ 查找不是姓“张”的学生:姓名 Not Like “张*“ 查找名中含有“明”的学生:姓名 Like “?*明*“,39,(2)常用内部函数,(3)表达式和表达式生成器,40,如果没有GROUP BY子句,合计函数对整个表进行统计,产生一条记录, 否则按分组统计,一组产生一条记录,(4)SQL合计函数:,41,例6.11 使用合计函数,查询学生人数、最低助学金、最高助学金和平均助学金 SELECT Count(*) AS 人数, Min(助学金) AS 最低助学金, Max(助学金) AS 最高助学金, Avg(助学金) AS 平均助学金 FROM Students,可改为Count(字段名),用AS子句指定别名,本例产生一条记录,3.统计,42,例6.12 查询学生的人数和平均年龄 SELECT Count(*) AS 人数, Avg(Year(Date()-Year(出生年月) AS 平均年龄 FROM Students,系统日期,得到年份,43,4. 条件选择记录,例6.13 显示所有非计算机专业学生的学号、姓名和年龄 SELECT 学号, 姓名, Year(Date()-Year(出生年月) AS 年龄 FROM Students WHERE 专业“计算机“,查询条件,例6.14 查询1992年(不包括1992年)以前出生的女生姓名和出生年月。 SELECT 姓名,出生年月 FROM Students WHERE 出生年月 #1/1/1992# AND 性别=“女“,44,5. 排序,ORDER BY子句用于顺序;ASC:表示升序;DESC:表示降序。 例6.15 查询所有党员学生的学号和姓名,并按助学金从小到大排序。 SELECT 学号, 姓名 FROM Students WHERE 党员=True ORDER BY 助学金 可用多个关键字排序。 例如,ORDER BY 专业 ASC,助学金 DESC 专业是第一排序关键字,助学金是第二排序关键字。,45,6. 分组查询,简单分组,相当于EXCEL的分类合计 把在某一列上值相同的记录分在一组,一组产生一条记录。 例6.16 查询每个专业学生人数。 SELECT 专业, Count(*) AS 学生人数 FROM Students GROUP BY 专业 将专业相同的记录分在一组。,46,(2) 复杂分组 嵌套分类汇总,即多个字段的分类汇总。 例6.17 查询各专业男女生的平均助学金 SELECT专业,性别, Avg(助学金) AS 平均助学金 FROM Students GROUP BY 专业, 性别 将专业和性别都相同的记录分在一组。,47,(3) 分组后过滤 HAVING子句对分组后的结果过滤,不是对分组之前的表进行过滤。 没有GROUP BY子句时,HAVING的作用等同于WHERE子句。 HAVING后的过滤条件中一般都要有合计函数。,例6.18 查询成绩在75以上、选修2门课程以上的学生的学号和课程数。 SELECT 学号, Count(*) AS 课程数 FROM Scores WHERE 成绩=75 GROUP BY 学号 HAVING Count(*)=2,48,6. 连接查询,例6.19 查询所有学生的学号、姓名、课程和成绩 SELECT Students.学号, 姓名,Scores.课程, Scores.成绩 FROM Students,Scores WHERE Students.学号 = Scores.学号,两个表,连接条件,利用WHERE 条件,在两表中有相同的属性值将两表连接,注意:两表连接中,有相同字段名的前加表名以便区分,49,表的连接,连接结果,50,例6.20 查询选修了“高等数学”课程的学生的学号、姓名和成绩。 SELECT Students.学号, Students.姓名, Scores.成绩 FROM Students, Scores WHERE Students.学号=Scores.学号 AND 课程=“高等数学“,51,数据库基础实验:,实验一 表建立、数据导出、维护 INSERT、DELETE、UPDATE 实验二(Select 命令) 测试一 测试二,52,例6.21 查询每个学生的学号、姓名和平均成绩 SELECT Students.学号,First(姓名)AS 姓名,Avg(成绩)AS 平均成绩 FROM Students, Scores WHERE Students.学号=Scores.学号 GROUP BY Students.学号,注意:非分类字段重复值时要使用First或Last函数,53,实验常见问题,命令中的标点符号全部英文(包括空格) 不同类型的常量表示形式不同,加定界符 文本类型 “ “ 日期类型 #月/日/年# 逻辑类型 True、False 数字类型(Byte、整型、单精度等)不加定界符,主键设置方法;添加记录,有主键不能重复 不设置主键,系统自动添加编号字段 工龄、年龄计算方法:year(date()-year(字段名),54,6.3 数据库的查询,数据查询SELECT语句是数据库的核心操作 执行查询实质就是运行了相应的SELECT语句。,55,例6.23 使用向导查询所用学生的基本情况,1.进入向导选定字段,2.选择明细方式,3.输入查询的名称,4.查询结果,6.3.2 创建查询,56,例6.24 查询平均成绩在75分以上的所有学生的学号、姓名和平均成绩,SELECT Students.学号, Students.姓名,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 影视作品音乐版权翻唱授权与分成比例调整补充合同
- 股权代持股权优先购买权保护协议
- 电视剧群众演员招募与薪酬支付合同
- 高级专利代理师全职聘任及专利战略咨询合同
- 网红饮品品牌区域独家代理与全程物料支持合同
- 高端客户接送及住宿体验补充协议
- 桥梁荷载试验与结构可靠性评估合作协议
- 境外收入税收筹划与税务合规管理协议
- DB42-T 2006.2-2023 劳动用工保障 第2部分:流动仲裁庭工作规范
- 小学体育组工作总结模版
- 当代中国外交(外交学院)知到智慧树章节测试课后答案2024年秋外交学院
- 音乐鉴赏(西安交通大学)知到章节答案智慧树2023年
- 金属与石材幕墙工程技术规范-JGJ133-2013含条文说
- 分包合法合规宣贯(2017年6月)
- GB 18613-2020电动机能效限定值及能效等级
- 《行政组织学结课论文综述3000字》
- 小学劳动 包饺子课件
- 核电工程质量保证知识培训教材课件
- 区级综合医院关于落实区领导干部医疗保健工作实施方案
- 颜色标准LAB值对照表
- 功能饮料项目投资计划书(模板范文)
评论
0/150
提交评论