第4章 数据操作
第四章数据处理与应用课件浙教版高中信息技术必修

▪SUM( ) ▪ AVERAGE( )
▪ MIN( ) ▪MAX( )
求和 求平均值 求最小值 求最大值
▪COUNTIFห้องสมุดไป่ตู้ ) 指定区域中符合条件的单元格计数
▪SUMIF( )
指定范围中符合条件的值求和
▪AVERAGEIF( )
指定条件求平均值函数
▪Rank( )
大小排序
例:=sum(A2:A16)
数据缺失
逻辑错误
数据异常
数据重复
格式不一
1、字母代表列、数字代表 行
2、单元格书写方式:列在 前,行在后。例如:A25 3、单元格区域书写方式。 A2:A11,A2:E5
数据计算——公式
公式的格式: = 表达式
其中表达式有运算符号,常量,单元格地址,
=A2+B2
函数以及括号组成。
例如:
=B4+100 =(A1+B1)/2 =B4*A4
If函数
格式:=if(条件判断,“结果为真的返回值”,“结果 为假的返回值”) Eg:=if(成绩>90,“优秀”, “合格”)
课堂练习
94
课堂练习
(1)通过观察上表,获得一等奖的判断条件是:_成__绩__>__=_90分 (2)物理老师通过电子表格软件的“IF函数”快速得到了学生的 等级,那么“赵杰” 同学所获得“等级”单元格的函数编辑栏 内的函数应该=I是F(:C_8_>__=_9_0_,_“一等奖” ,“二等奖”) (3)物理老师想把表中数据复制到新建数据表中进行编辑,但不 想连同D列中的函数粘贴到新表,比较恰当的方式是: ________ (A.在B新表中手动输入;B、选择性粘贴为数值C、选择性粘贴为图 片)
第4-5讲 创建和使用表

例:创建表student
例:创建表 student(sno, sname, sex, birthday, dept) ( ) 数据类型: c vc c d vc 数据类型: USE demo --打开数据库 打开数据库 CREATE TABLE student ( sno char(7) not null primary key, --主键约束 主键约束 sname varchar(8) not null, --域约束 域约束 sex char(2) check(sex=‘男’ or sex=‘女’) , --域约束 男 女 域约束 birthday datetime, dept vachar(10) default(‘计算机系’) 计算机系’ --域约束 域约束 计算机系 )
4.4 使用T-SQL命令进行数据操作 使用T SQL命令进行数据操作
插入数据 INSERT语句用于向数据库的表或者视图中加入数 INSERT语句用于向数据库的表或者视图中加入数 据。 格式:插入一行记录 格式: insert [into] 表名 … values … 插入多行记录 insert [into] 表名 … select …
student表中删除bplace字段 表中删除bplace 例 在student表中删除bplace字段 ALTER TABLE student bplace DROP COLUMN
例:修改表(约束) 修改表(约束)
course表中增加主键 表中增加主键, score表中增加外键 例 在course表中增加主键,在score表中增加外键 ALTER TABLE course ADD [CONSTRAINT P_course] ALTER TABLE score ADD [CONSTRAINT F_course] FOREIGN KEY (cno) REFERENCES course(cno) 注:[ ]里面的内容是可选项 例:删除score表中的外键 删除score表中的外键 score ALTER TABLE score DROP CONSTRAINT F_course primary key (cno)
第4章习题与解答

第4章数据库和数据仓库4.1本章知识框架与学习要求数据库技术是数据管理的最新技术,是计算机科学的重要分支。
它已经成为先进信息技术的重要组成部分,是现代计算机信息系统和计算机应用系统的基础和核心。
数据库已经成为人们存储数据、管理信息、共享资源的最先进最常用的技术。
认识和掌握有关的数据库技术对学好本课程具有重要作用。
本章主要介绍了数据库技术的相关概念包括数据的组织层次、数据模型、信息模型、关系规范化等,以及数据库的设计方法,数据库仓库和数据挖掘的概念。
4.1.1 知识框架与学习要求一、数据的描述与组织(掌握)(一)三个世界1.现实世界2.信息世界3.计算机世界(二)数据组织的层次1.数据项(字段)2.记录3.数据文件4.数据库二、数据库管理技术(一)数据管理的发展(了解)1.简单应用阶段2.文件系统阶段3.数据库系统阶段(二)数据库管理系统(掌握)1.数据库系统(DBS)2.数据库管理系统(DBMS)(1)数据库的定义功能(2)数据库的操作功能(3)数据库的保护功能(4)数据库的维护功能(5)数据的存储管理三、数据模型(掌握)(一)信息模型(概念模型)1.信息模型的要素2.两个实体集之间联系的分类3.实体联系模型(E-R模型)(二)数据模型1.数据模型的三要素2.数据模型与信息模型的关系3.三种主要的数据模型(1)层次模型(Hierarchical Model)(2)网状模型(Network Model)(3)关系模型(Relational Model)(三)概念模型向关系模型的转换(四)关系的规范化1.第一范式(1NF)2.第二范式(2NF)3.第三范式(3NF)五、数据库设计(掌握)(一)数据库设计方法简述(二)数据库设计步骤六、数据仓库和数据挖掘(了解)(一)数据仓库1.数据仓库的概念2.数据仓库和数据库的区别3.数据仓库的特性4.数据仓库的基本结构5.数据仓库工具的组成(二)数据挖掘1.数据挖掘的概念2.数据仓库与数据挖掘的关系4.1.2 学习重点本章重点掌握以下几方面的内容:1.三个世界即现实世界、信息世界、计算机世界的特点及区别与联系;2.人工管理阶段、文件系统阶段及数据库系统阶段应用程序与数据关系的区别;3.数据库管理系统功能4.信息(概念)模型的要素、E-R模型的绘制方法;5.数据模型的三要素、数据模型与信息模型的关系、关系模型;6.概念模型向关系模型的转换;7.数据库设计方法和步骤4.2 教材习题与解答4.2.1 习题一、名词解释1.数据库2.记录3.DBMS4.DBS5.概念模式6.数据模型7.概念模型8.键或码9.数据操作10.1NF 11. 2NF 12.3NF 13.关系14.关系模式15.数据仓库16.数据挖掘二、简答题1. 数据库系统组织数据的特点是什么?2. 数据库系统与文件系统的区别是什么?3. 数据管理经历了哪几个阶段?各个阶段的特点是什么?4. 数据模型的三要素是什么?5. 数据库管理系统的主要功能是什么?6. 信息模型的要素有哪些?7. 试述概念模式在数据库中的重要地位。
第4章_结构化查询语言SQL-6学时

说明1:
SELECT S••F联Tro接Um条D短件E语:N:两T后.个学面表接号进多行,姓个联表名接时查,,性询两别的个前,表成提之是绩间一用;定逗有号“隔相开同。” FROM STUDENT,S的C字O段R名E。; WHERE 成•联绩接>的8方0法A:如N:D表“名Ss1Tt.u字Ud段eDn名tE.学=N表号T名=.学s2c.字o号r段e.=学名S号C”ORE.学号
无条件查询小结:
6)结果排序 【例】查询显示COURSE表中的所有信息,并按学分 升序排序。
SELECT * FROM COURSE ORDER BY 学分
2、单表条件查询----SELECT … FROM …WHERE …
【格式】SELECT [ALL | DISTINCT] <字段列表> FROM <表> [WHERE <条件表达式> ]
1975~1979,IBM San Jose Research Lab的关系数据库管 理系统原型System R实施了这种语言
SQL-86是第一个SQL标准
(ANSI)
SQL-89、SQL-92(SQL2)、SQL-99(SQL3) (ANSI)
●现状:大部分DBMS产品都支持SQL,成为操作数据库的标 准语言
第四章 结构化查询语言SQL
本章主要内容
4.1 数据查询 4.2 数据操作 4.3 数据定义 本章作业
SQL语言的基本概述
●SQL:Structured Query Language 缩写
结构化查询语言,目前关系型数据库的通用语言。
●SQL的发展
1974年,由Boyce和Chamberlin提出
计算机应用第4章:数据的表示方法

由上例可以看出:数的原、反、补码的大小顺序与其真值大小 顺序不一致。这就带来一个问题,即数的大小比较很麻烦。 四、移码表示 (1)定义: 定点小数:[X]移=1+X (-1<=X<1) 定点整数:[X]移=2n-1+X (-2n-1<=X<2n-1) 例如: X=0.1011B [X]移=1+0.1011=1.1011 X=-1011B [X]移=24+(-1011)=00101 【结论】:X>0,符号为1;X<0,符号为0。移码表示与补码表示 一一对应。 【注意】:移码只用于表示浮点数的阶码,所以只用于整数。 (2)移码的性质 先看移码、补码和真值之间的关系(如下图)
§3 定点数的表示方法
在上一节进制转换的例子中,我们看到在现实生活中使用的 数值型数据完全可以转换成二进制数据来表示。如: 150D=10010110B,-150D=-10010110B 150.4D=10010110.0110011B,-150.4D=-10010110.0110011B 那么这些我们所看到的二进制数就是计算机中能处理的二进 制数吗?肯定不是,因为还有几个问题没有解决: (1)数的符号数值化问题。0表示正,1表示负 (2)小数点的位置问题。约定:定点数和浮点数 (3)表示范围问题。受机器字长限制,超出此范围就称为溢出
三、二进制数 八进制数 八进制数就用八个符号表示,对应的八个符号为:0、1、 2、3、4、5、6、7 1、二进制数向八进制数转换 方法:整数部分从右至左,小数部分从左至右,每3位分成一 组,然后每一组用一位八进制数表示出来即可。 例:(1)1110111101.0101001B=( )Q (2)110011010.11011B=( )Q 2、八进制向二进制转换 方法:将每一位十六进制数用四位二进制数表示出来即可 例: (1)365.47Q=(011110101.100111)B (2)56.345Q=(101110.011100101)B (3)765013Q=(111110101000001011)B
第4章 excel 2007的使用

2. 单元格的重命名
选定要重命名的单元格,在其名称框内输入新的名称, 按回车键确定即可。
3. 单元格数据的输入
(1)文本型 直接输入文字即可,对于数字字符输入:‘ 数字
(2)数值型
在单元格中键入的数字为常量;为避免将输入的分数视作日期,请在 分数前冠以 0 和空格。 如1/2的输入:0 1/2
(3)日期和时间型
4.4.1 公式的应用
公式是单元格内一系列常量、变量、运算符的集合,由 操作数据和运算符组成。 公式形式:=操作数和运算符 例如=C5*1.15+D5和= C5+Sheet2!C5+C6 操作数:单元格、数字、字符、区域名、区域 运算运算符:算术 +、-、*、/、%、、() 字符运算符:& 例如:“西安”&“世园会”=“西安世园 会” 关系运算符: =、>、>=、<=、<、<> 如果在公式中同时使用多个运算符,优先级: 算术运算符>文本运算符>比较运算符,若要改变优先顺序, 可使用圆括号。
条件格式。
4.3.4 套用表格格式
为提高表格格式设置效率,Excel提供了“套用表格格 式”功能。套用表格格式可以快速地为表格设置格式, Excel 2007表格格式预设了浅色、中等深浅和深色3大类型 供用户选择。 单击“开始”选项卡“样式”组中的“套用表格格式” 按钮,弹出“套用表格格式”下拉菜单,如图4.7所示,菜 单中列示了预设的表格样式。选择所需样式,则会打开如图 4.8所示的“创建表”对话框,拖动鼠标选择表格区域,即 可完成对所选区域单元格的格式设置。
5. 单元格的清除
选定对象,直接按“Delete”键,或者选择“开始” 选项卡的“编辑”组中“清除”命令下拉菜单中的“清除 内容”命令,如图4.3所示。 全部清除 清除格式 清除内容(相当于按“DEL”键) 清除批注
第四章 数据分析

6、数据导出
• (1)导出CSV文件: to_csv(file_path,sep=",",index=True,header=True) • (2)导出Excel文件: to_excel(file_path,index=True,header=True) • (3)导出到MySQL库: to_sql(tableName,con=数据库链接)
7、数据处理
• 在数据分析前需要对数据进行处理,剔除其中噪声、恢复数据的完整性和一致性后 才能进行数据分析
数据 数据 数据 数据 清洗 合并 计算 分组
8、数据的清洗
• 1.重复数据的处理:
• 使用duplicated( )可以获取哪些是重复的元素,使用drop_duplicates( )能够删除重复元素。
• 2.缺失数据的处理:
• 缺失值的处理包括两个步骤,即缺失数据的识别和缺失值处理,缺失值处理常用的方法有 删除法、替换法、插补法等。
• 3.噪声数据的处理:
• 在实际操作中常用分箱(binning)、回归(regression)、聚类(clustering)、计算机与人工检查 相结合等方法“光滑”数据,去掉数据中的噪声。
3、数据分析的工具
• 数据分析的工具数量众多,根据分析数据层次结构的不同,常用数据分析软件可分 为四类
4、PYTHON的PANDAS数据分析包
• Numpy科学计算模块 • Matplotlib绘图模块。
数据导入
数据导出
5、数据导入
• (1)导入TXT文件:read_table(file,names=[列名1,列名2,...],sep="",...) • (2)导入CSV文件:read_csv(file,names=[列名1,列名2,...],sep="",...) • (3)导入excel文件:read_excel(file,sheetname,header=0) • (4)导入MySQL库:read_sql(sql,con=数据库)
PythonWeb开发基础教程 第4章 模型和数据库

E:\chapter4>python manage.py migrate
4.1.4 定义字段
字段的定义包括字段名、字段类型和字段选项 示例代码如下。
question=models.CharField(max_length=200,blank=True)
表4-1 字段类型
字段类型 AutoField BigAutoField BigIntegerField BinaryField BooleanField CharField DateField
DateTimeField
DecimalField
DurationField EmailField FileField FilePathField FloatField ImageField
>>> d.save()
#执行保存操作,将数据写入数据库
>>> d.id,d.question,d.answer #查看字段值
(1, 'test', 'bbb')
create()方法可用于创建对象,同时执行保存操作
示例如下。
>>> d=faqsdata.objects.create(question='test3',answer='test3') >>> d.id 4
PostgreSQL数据库的配置如下。
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'mypsdb', 'USER': 'psdbuser1', 'PASSWORD': 'psdbpassworda1', 'HOST': '127.0.0.1', 'PORT': '5432', } }
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 执行连接操作的过程:
• 首先取表1中的第1个元组,然后从头开始扫描表2, 逐一查找满足连接条件的元组, • 找到后就将表1中的第1个元组与该元组拼接起来, 形成结果表中的一个元组。 • 表2全部查找完毕后,再取表1中的第2个元组,然 后再从头开始扫描表2, … • 重复这个过程,直到表1中的全部元组都处理完毕 为止。
FROM Student
例4、5表明当属性是表达式、常 量、函数时,显示结果没有列标 题
改变列标题
• 语法: 列名 | 表达式 [ AS ] 列标题 • 或: 列标题 =列名 | 表达式 • 例: SELECT Sname 姓名,‘Year of Birth’ 出生年份, 2006 - Sage 年份, FROM Student
• 例10.查询年龄在20~23岁之间的学生的姓名、所 在系和年龄。
• SELECT Sname, Sdept, Sage
FROM Student
WHERE Sage BETWEEN 20 AND 23 • 例11.查询年龄不在20~23之间的学生姓名、所在 系和年龄。
• SELECT Sname, Sdept, Sage
涉及空值的查询
• 空值(NULL)在数据库中表示不确定的值。 • 例如,学生选修课程后还没有考试时,这些学生有 选课记录,但没有考试成绩,因此考试成绩为空值。 • 判断某个值是否为NULL值,不能使用普通的比较运 算符。 • 判断取值为空的语句格式为: 列名 IS NULL • 判断取值不为空的语句格式为: 列名 IS NOT NULL
连接基础知识
• 连接查询中用于连接两个表的条件称为连接 条件或连接谓词。 • 一般格式为:
[<表名1.>][<列名1>] <比较运算符> [<表名2.>][<列名2>]
必须是可比的
内连接
• SQL-92 内连接语法如下: SELECT … FROM 表名 [INNER] JOIN 被连接表 ON 连接条件
• 例6.在修课表中查询有哪些学生修了课程,要求 列出学生的学号。 • SELECT Sno FROM SC • 结果中有重复的行。 • 用DISTINCT关键字可以去掉结果中的重复行。 • DISTINCT关键字放在SELECT词的后边、目标列名 序列的前边。 SELECT DISTINCT Sno FROM SC
Grade 80 90 85 78 88 91 74
C03
C04
1
1
• 例31.查询每名学生的选课门数和平均成绩。
• SELECT Sno as 学号, COUNT(*) as 选课门数, AVG(Grade) as 平均成绩 FROM SC GROUP BY Sno
2. 使用HAVING
• HAVING用于对分组自身进行限制,它有点 象WHERE子句,但它用于组而不是对单个记 录。 • 例32.查询修了3门以上课程的学生的学号 • SELECT Sno FROM SC GROUP BY Sno HAVING COUNT(*) > 3
查询条件 比较运算符 确定范围
谓
词
确定集合 字符匹配 空值
逻辑谓词)
=, >, >=, <, <=, <>(或!=) NOT+比较运算符 BETWEEN…AND, NOT BETWEEN…AND IN, NOT IN
LIKE, NOT LIKE IS NULL, IS NOT NULL
AND, OR
WHERE Cno='c02' ORDER BY Grade DESC • 例24.查询全体学生的信息,查询结果按所在系的 系名升序排列,同一系的学生按年龄降序排列。
• SELECT * FROM Student
ORDER BY Sdept, Sage DESC
• • • •
例25.统计学生总人数。 SELECT COUNT(*) FROM Student 例26.统计选修了课程的学生的人数。 SELECT COUNT (DISTINCT Sno) FROM SC • 例27 .计算9512101号学生的考试总成绩之和。
FROM Student
WHERE Sage NOT BETWEEN 20 AND 23
• 例12.查询信息系、数学系和计算机系学生的姓 名和性别。
• SELECT Sname, Ssex FROM Student WHERE Sdept IN ('信息系', '数学系', '计算机系')
• 例13.查询既不是信息系、数学系,也不是计算 机系学生的姓名和性别。
• SELECT SUM(Grade) FROM SC
WHERE Sno = '9512101'
使用计算函数汇总数据
• SQL提供的计算函数有:
• • • • • • COUNT( * ):统计表中元组个数; COUNT([DISTINCT] <列名> ):统计本列列值个数; SUM([DISTINCT] <列名> ):计算列值总和; AVG([DISTINCT] <列名> ):计算列值平均值; MAX([DISTINCT] <列名> ):求列值最大值; MIN([DISTINCT] <列名> )进行升序(ASC)或降 序(DESC)排序。
示例
• 例22.将学生按年龄的升序排序。 • SELECT * FROM Student ORDER BY Sage • 例23.查询选修了‘c02’号课程的学生的学号及其 成绩,查询结果按成绩降序排列。
• SELECT Sno, Grade FROM SC
• 注意:计算函数不能出现在WHERE子句中
对查询结果进行分组计算
• 作用:可以控制计算的级别:对全表还是 对一组。 • 目的:细化计算函数的作用对象。 • 分组语句的一般形式: [GROUP BY <分组条件>] [HAVING <组过滤条件>]
1. 使用GROUP BY
• 例30.统计每门课程的选课人数,列出课 程号和人数。
SELECT Cno as 课程号, COUNT(Sno) as 选课人数 FROM SC GROUP BY Cno
• 对查询结果按Cno的值分组,所有具有相同 Cno值的元组为一组,然后再对每一组使用 COUNT计算,求得每组的学生人数。
Sno 951201 951201 951202 952103 952103 952103 952103
• 上述函数中除COUNT(*)外,其他函数在计算过 程中均忽略NULL值。
• 例28.计算’C01’号课程学生的考试平均成绩。 • SELECT AVG(Grade) FROM SC WHERE Cno='C01' • 例29.查询选修了’C01’号课程的学生的最高分和 最低分。 • SELECT MAX(Grade) , MIN(Grade) FROM SC WHERE Cno='C01'
Cno C01 C02 C01 C02 C01 C03 C04
Grade 80 78 90 88 85 91 74
Cno C01 C02
Sno 951201 951202 952103 951201 952103 952103 952103
Count(Sno) 3 2
Cno C01 C01 C01 C02 C02 C03 C04
• 例36.查询计算机系学生的修课情况,要求 列出学生的名字、所修课的课程号和成绩。 SELECT Sname, Cno, Grade FROM Student JOIN SC ON Student.Sno = SC.Sno WHERE Sdept = '计算机系'
示例
• 例33.查询修课门数等于或大于4门的学生 的平均成绩和选课门数。 SELECT Sno, AVG(Grade) 平均成绩, COUNT(*) 修课门数 FROM SC GROUP BY Sno HAVING COUNT(*) >= 4
4.1.3 多表连接查询
• 若一个查询同时涉及两个或两个以上 的表,则称之为连接查询。 • 连接查询是关系数据库中最主要的查 询 • 连接查询包括内连接、外连接和交叉 连接等。
• 例4.查询全体学生的姓名及其出生年份。 • SELECT Sname,2009 - Sage FROM Student
目标列可以是存在的属性列, 也可以是表达式、常量、函
数
• 例5.查询全体学生的姓名和出生年份,并在 出生年份列前加入一个列,此列的每行数据 均为‘出生年份’常量值。
• SELECT Sname,‘出生年份’, 2009-Sage
• 例7.查询计算机系全体学生的姓名。 • SELECT Sname FROM Student WHERE Sdept = '计算机系' • 例8.查询年龄在20岁以下的学生的姓名及年龄。 • SELECT Sname, Sage FROM Student WHERE Sage < 20 • 例9.查询考试成绩有不及格的学生的学号。 • SELECT DISTINCT Sno FROM SC WHERE Grade < 60
字符匹配
• 使用LIKE运算符 • 一般形式为: 列名 [NOT ] LIKE <匹配串> • 匹配串中可包含如下四种通配符: • _:匹配任意一个字符; • %:匹配0个或多个字符; • [ ]:匹配[ ]中的任意一个字符; • [ ^ ]:不匹配[ ]中的任意一个字符
• 例17.查询所有不姓“刘”的学生。 • SELECT Sname FROM Student WHERE Sname NOT LIKE '刘% ' • 例18.查询学号的最后一位不是2、3、5的学生情 况。 • SELECT * FROM Student WHERE Sno LIKE '%[^235]'