版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1,大学计算机基础简明教程,第七章 数据库基础,2,教学说明,1. 学时:课堂教学4学时,上机实验4学时 2. 目标:培养日常工作中使用桌面型数据库的能力 为后继课程提供数据库方面的基础知识 3. 内容:数据库基础知识+SQL命令(ACCESS) 4. 数据基础知识: 常用术语 三个发展阶段 特点 数据模型 常见的数据库系统和开发工具 新型数据库系统,3,5. 处理数据库基础知识几个想法: 避开从现实世界到信息世界、数据世界的过程 没有涉及数据库设计方面的规范化理论 没有涉及关系代数 三个发展阶段用了三个小程序简要说明 特点恰恰是最难讲的 数据模型是教材编写时最后处理的,4,6. SQL命令
2、选择了ACCESS 选择了4条SQL命令 SELECT INSERT DELETE UPDATE 4条命令基本满足编写数据库应用程序的需要 教学注意简化下列内容: ACCESS操作的问题 利用工具生成查询问题 窗体、报表问题 7. 考核形式和效果 考核形式:选择题、填充题、写出3条SQL命令 考核效果:3条SQL命令12分,平均8-10分,5,8. 后继课程 数据库技术与应用 主要内容:数据库原理+SQL SERVER+VB.NET,课程目标:完成一个实用的数据库应用程序: 自由组队、自主选题、申优答辩 课程考核:作品50分,笔试50分(1小时) 教学效果非常理想 主要问题: 解放思想,不能受
3、专业课程教学的影响,7.1 数据库系统概述 7.2 数据库的建立和维护 7.3 数据库查询 7.4 窗体、报表,第七章 数据库基础,7,典型案例,无纸化通用考试系统 大学计算机基础isual Basic程序设计 C/C+程序设计 软件技术基础,应用程序,数据库管理系统,VB,VC+,PowerBuilder,Delphi,ACCESS,SQL SERVER,ORACLE,FOXPRO,SQL命令,数据库引挚,数据库,信息化社会离不开信息系统 信息系统的核心和基础是数据库,8,计算机基础教育网站 ,IE,HTM、ASP,客户机,服务器,SQL命令,数据库,发出请求,响应请求,数据,7.1.1 常
4、用术语 7.1.2 数据库技术的产生和发展 7.1.3 数据模型 7.1.4 常见的数据库系统及其开发工具,7.1 数据库系概述,10,7.1.1 常用术语,1. 数据库(DataBase,DB) 长期保存在计算机外存上的、有结构的、可共享的数据集合。 2. 数据库管理系统(DataBase Management System,DBMS) 对数据库进行管理的软件系统。数据库的一切操作,如查询、更新、插入、删除以及各种控制,都是通过DBMS进行的。 DBMS是位于用户(或应用程序)和操作系统之间的软件。借助于操作系统实现对数据的存储和管理,使数据能被各种不同的用户所共享,DBMS提供给用户可使用
5、的数据库语言。 3. 数据库系统(DataBase System,DBS) 由DB、DBMS、应用程序、数据库管理员、用户等构成的人机系统。,用户,应用程序,DBMS,操作系统,数据库 DB,数据库系统,11,7.1.2 数据库技术的产生和发展,数据管理技术经历了三个发展阶段 人工管理阶段 文件管理阶段 数据库系统阶段,12,.人工管理阶段,时间:20世纪50年代中期以前 硬件:只有卡片、纸带、磁带等存储设备 软件:没有操作系统,没有进行数据管理的软件 应用:以科学计算为目的 特点: 程序和数据放在一起 数据不能共享 特征图,13,人工管理阶段数据管理示例,例:两个C语言程序,分别求10个数据
6、之和和最大值。 程序与数据放在一起,数据没有能够共享,14,.文件系统阶段,时间:20世纪60年代中期 硬件:磁带、磁盘等大容量存储设备 软件:有了操作系统 应用:不仅用于科学计算,还用于数据管理 特点: 程序与数据分离 数据有一定的独立性 实现了以文件为单位的数据共享 特征图,数据文件,文件管理系统,数据文件n,应用程序,应用程序,应用程序n,数据文件2,15,文件系统阶段数据管理示例,上例用文件实现,16,3.数据库系统阶段,时间:20世纪60年代后期 硬件:出现了大容量且价格低廉的磁盘 软件:有了数据库管理系统DBMS 应用:各个方面 特点: 数据结构化 数据共享性高,冗余小 数据独立性
7、高 数据由DBMS统一管理控制 为用户提供了友好的接口 特征图,史料: 数据库技术发展的分水岭 书写历史的甲骨文,17,数据库系统阶段数据管理示例,解决了数据的独立性问题,实现数据的统一管理,达到数据共享的目的,求和: SELECT Max(Num) FROM Data 求最大值:SELECT Avg(Num) FROM Data,18,4. 数据库系统的特点,(1) 采用一定的数据模型,最大限度地减少数据的冗余 (2) 最低的冗余度 (3) 有较高的数据独立性 用户面对的是简单的逻辑结构操作而不涉及数据具体的 物理存储结构 (4) 安全性 设置用户的使用权限 在数据库被破坏时,系统可把数据库
8、恢复到可用状态。 (5) 完整性 一些完整性检验以确保数据符合某些规则,保证数据库中 数据始终是正确的。,19,7.1.3 数据模型,1. 数据模型的定义 数据库中数据的存储方式 2. 三种重要的数据模型 层次模型 用树型结构来表示实体及实体间的联系 例如:1968年,IBM公司的IMS(Information Management System) 网状模型 用网状结构来表示实体及实体间的联系 例如:DBTG系统 注:1969年美国CODASYL组织提出了一份“DBTG报告”, 以后根据DBTG报告实现的系统一般称为DBTG系统 关系模型 用一组二维表表示实体及实体间的关系 例如:Micros
9、oft Access 注:理论基础是1970年IBM公司研究人员E.F.Codd发表的大量论文。 目前应用最广泛的是关系数据模型,20,3. 关系模型,Students表,属性名(字段名),属性值(字段值),记录,关键字唯一确定一条记录,关系(二维表),值域:男,女,将数据组织成一组二维表格,21,22,1.术语 关系:一个关系一张二维表 关系模式: Students(学号,姓名,性别,党员,专业,出生年月,助学金,照片) Scores(学号,课程,成绩) 记录:表中的一行 属性(字段):表中的一列 关键字:某个属性可以惟一地确定记录 主键:在实际的应用中只能选择一个,被选用的关 值域:属性的
10、取值范围,23,2. 关系必须规范化:表中不能再包含表,工资表(不满足关系模型要求),工资表(满足关系模型要求),24,3关系的种类, 基本表 如表Students和Scores 查询表 查询表是查询结果表 查询中生成的临时表。 视图 视图是由基本表或其他 视图导出的表。,来自表Students和Scores的查询表,25,7.1.4 常见的数据库系统及其开发工具,应用程序,VB,VC,PowerBuilder,Delphi,Microsoft Access,SQL Server,Oracle,Visual FoxPro,SQL命令,数据库,常见数据库系统开发工具: Visual Basic
11、Visual C+ PowerBuider Delphi,常见的数据库管理系统: Microsoft Access SQL Server Oracle Visual FoxPro,常见的数据库应用系统及开发工具,26,浏 览 器,数据库,HTM、ASP等,SQL命令,服务器,客户端,支持数据库查询的Web服务器,27,学生成绩表,学生基本情况表,28,7.2 数据库的建立和维护,Access的特点 是Office的组件之一 具有对数据进行存储、管理、处理等常规功能 直观的可视化操作操作工具和向导 丰富的函数功能,29,实例 创建表Students。,Students的结构,30,7.2.1 A
12、ccess 数据库的组成,表: 最基本的对象,表及其表之间 的关系构成数据库的核心 查询: 从表(或查询)中选择一部分数 据,形成一个全局性的集合 窗体: 用户与数据库交互的界面,窗体 的数据源是表或查询 报表: 按指定的样式格式化的数据形式 宏: 若干个操作的组合 模块: 用户用VB语言编写应用程序 Web页: 向Internet上发布数据 这些不同类型的对象集合构成了一个数据库文件,以.mdb存储在盘上,31,7.2.2 Access 数据库的建立,字段数据类型有10种 字段属性 大小、小数位、格式,确定表的结构 建立一个空数据库,输入文件名 使用设计器或向导创建表,进入设计视图, 输入各
13、个字段的信息 建立表的索引 定义主键 输入表的名称保存表,主要方法:数据库向导(模板)或设计视图,一般用后者,32,Access 数据库的建立,3.定义表的结构,1.建立空数据库,2.使用设计器或向导,33,7.2.3 数据库的管理与维护,选定基本表,进入数据表视图,输入编辑数据,添加,新记录,1. 数据输入,34,注意: 打开的表或正在使用的表是不能修改的 修改字段名称不会影响到字段中所存放的数据,但是会影响到一 些相关的部分。如果查询、报表、窗体等对象使用了这个更换名 称的字段,那么在这些对象中也要作相应的修改。 关系表中互相关联的字段是无法修改的,如果需要修改,必须先将关联去掉,选定基本
14、表,进入设计视图,修改表结构,2.表结构的修改,35,3.数据的导出和导入,导出操作 可以将表中数据以另一种文件格式保存在磁盘上 导入操作 是导出操作的逆操作,4.表的复制、删除、恢复和更名 类似于Windows中对文件或文件夹的操作 注意 在进行这些操作之前,必须关闭有关的表 操作必须在“数据库”窗口中完成,36,7.2.4 Access表达式,1. 常用运算符,说明: (1) 字符型数据用 双引号 或 单引用 括起来。如abcde123 日期型数据用 # 括起来。例如#10/12/2000# (2) MOD是取余数运算符 例如,5 MOD 3的结果为2。,37,(3) Between运算符
15、 格式: Between And 3 Between 1 And 10:True 3 Between 1 And 2: False, ABC Between A And B:True ABC Between A And ABB:False。 (4) 可使用通配符:*和? 查找姓“张”的学生:姓名 Like 张* 查找不是姓“张”的学生:姓名 Not Like 张* (5) ,用DISTINCT,没有用DISTINCT,48,例7.11 使用合计函数,查询学生人数、最低助学金、最高助学金和平均助学金 SELECT Count(*) AS 人数, Min(助学金) AS 最低助学金, Max(助学
16、金) AS 最高助学金, Avg(助学金) AS 平均助学金 FROM Students,可改为Count(学号),用AS子句指定别名,本例产生一条记录,49,例7.12 查询学生的人数和平均年龄 SELECT Count(*) AS 人数, Avg(Year(Date()-Year(出生年月) AS 平均年龄 FROM Students,系统日期,得到年份,50,2. 选择记录,例7.13 显示所有非计算机专业学生的学号、姓名和年龄 SELECT 学号, 姓名, Year(Date()-Year(出生年月) AS 年龄 FROM Students WHERE 专业计算机,查询条件,例7.14
17、 查询1981年(包括1981年)以前出生的女生姓名和出生年月。 SELECT 姓名,出生年月 FROM Students WHERE 出生年月 #1/1/1982# AND 性别=女,可用 #MM/DD/YYYY# 的形式表示日期,51,3. 排序,ORDER BY子句用于顺序 ASC:表示升序 DESC:表示降序。 例7.15 查询所有党员学生的学号和姓名,并按助学金从小到大排序。 SELECT 学号, 姓名 FROM Students WHERE 党员=True ORDER BY 助学金 可用多个关键字排序。 例如,ORDER BY 专业 ASC,助学金 DESC 专业是第一排序关键字,
18、助学金是第二排序关键字。,52,4. 分组查询,(1) 简单分组 把在某一列上值相同的记录分在一组,一组产生一条记录。 例7.16 查询每个专业学生人数。 SELECT 专业, Count(*) AS 学生人数 FROM Students ORDER BY 专业 将专业相同的记录分在一组。,53,(2) 复杂分组 把在多个列上值相同的记录分在一组,一组产生一条记录。 例7.17 查询各专业男女生的平均助学金 SELECT专业,性别, Avg(助学金) AS 平均助学金 FROM Students GROUP BY 专业, 性别 将专业和性别都相同的记录分在一组。,54,(3) 分组后过滤 HA
19、VING子句对分组后的结果过滤,不是对分组之前的表进行过滤。 没有GROUP BY子句时,HAVING的作用等同于WHERE子句。 HAVING后的过滤条件中一般都要有合计函数。 例7.18 查询有2门课程成绩在75以上的学生的学号和课程数。 SELECT 学号, Count(*) AS 课程数 FROM Scores WHERE 成绩=75 GROUP BY 学号 HAVING Count(*)=2,55,5. 连接查询,WHERE 条件,在两表中有相同的属性值 例7.19 查询所有学生的学号、姓名、课程和成绩 SELECT Students.学号,Students.姓名,Scores.课程
20、, Scores.成绩 FROM Students,Scores WHERE Students.学号 = Scores.学号 自动生成语句: SELECT Students.学号, Students.姓名, Scores.课程, Scores.成绩 FROM Students INNER JOIN Scores ON Students.学号 = Scores.学号,两个表,连接条件,56,表的连接,连接结果,57,例7.20 查询选修了“高等数学”课程的学生的学号、姓名和成绩。 用条件“Students.学号=Scores.学号”进行连接,然后进行选择, SELECT Students.学号,
21、 Students.姓名, Scores.成绩 FROM Students, Scores WHERE Students.学号=Scores.学号 AND Scores.课程=高等数学 上述语句可以改写为: SELECT Students.学号, Students.姓名, Scores.成绩 FROM Students INNER JOIN Scores ON Students.学号 = Scores.学号 WHERE Scores.课程=高等数学,58,6.嵌套查询,在SQL中,将一个SELECT语句查询块嵌套在另一个SELECT语句的WHERE子句或HAVING子句中称为嵌套查询,59,例
22、7.22 查询与“邓倩梅”在同一个专业的学生的学号和姓名 SELECT Students.学号, Students.姓名 FROM Students WHERE 专业 in (SELECT Students.专业 FROM Students WHERE Students.姓名=邓倩梅),与查询结果同专业的学生,查询邓倩梅的专业,60,例7.23 使用向导查询所用学生的基本情况,1.进入向导选定字段,2.选择明细方式,3.输入查询的名称,4.查询结果,7.3.2 创建查询,61,例7.24 查询平均成绩在75分以上的所有学生的学号、姓名和平均成绩,SELECT Students.学号, Students.姓名, Avg(Scores.成绩) AS 平均成绩 FROM Students INNER JOIN Scores O
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 办公室部门职责
- XX建筑工程有限公司安装部资料员岗位职责
- 事故高发警示讲解
- 哲学教师职业规划
- 消防安全腰带技术参数
- 日常护理健康手册
- AI会员体系搭建
- mbti职业选择指南
- 动漫与AI就业新机遇
- 2026年护士资格证专业实务重点习题精解
- 2023年医技类-病案信息技术(副高)历年重点考题集锦附含答案
- 地质灾害治理工程设计-以滑坡为例--地质灾课件
- 大学线性代数作业答案
- 孙子兵法智慧树知到答案章节测试2023年湖南大学
- 泵类设备安装工艺标准
- 2023年山西万家寨水务控股集团有限公司招聘笔试题库及答案解析
- GB/T 7759.1-2015硫化橡胶或热塑性橡胶压缩永久变形的测定第1部分:在常温及高温条件下
- GB/T 19292.1-2018金属和合金的腐蚀大气腐蚀性第1部分:分类、测定和评估
- 骨关节感染性与骨肿瘤性病变实习课
- 百灵达X32数字调音台系统菜单中英文对照
- 选矿厂安全隐患排查表
评论
0/150
提交评论