当前位置:首页>文档>1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐

1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐

  • 2026-03-12 12:07:05 2026-02-05 12:33:07

文档预览

1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐
1.28早-理论精讲-数据库技术3-钮弘俊_4-教培资料-26年最新资料-同步更新_科一科二电子资料合集中小幼(笔记真题知识点汇总等)文件多,按需保存_各机构笔记合集(中小幼)推荐

文档信息

文档格式
pdf
文档大小
2.329 MB
文档页数
44 页
上传时间
2026-02-05 12:33:07

文档内容

~ 2 0 2 4 年 教 师 资 格 证 ~ 《信息技术》 数 据 库 技 术 3 / 3 讲师:钮弘俊 更多干货关注 粉笔教师教育 粉笔教师P234 (三)数据操纵 1.插入数据-【格式】 【实例】 【例4-1】向学生表 S 中添加一条学生记录 INSERT INTO <表名> [(<列名1>[ ,<列名2>,…])] (11001,冯明,男,计算机,18) VALUES (<值列表>) ************************************************* INSERT INTO S 说明: VALUES('11001','冯明','男','计算机',18) ①列名省略时,值列表必须是所有属性的数据。 ②列名不省时,值列表必须与列名一一匹配。 ************************************************* ③值列表为多个时,中间用逗号隔开,若是字符数据需 要加引号。P235 (三)数据操纵 1.插入数据-【格式】 【实例】 【例4-2】向学生表 S 中添加一条学生记录 INSERT INTO <表名> [(<列名1>[ ,<列名2>,…])] (11002,陈月,女) VALUES (<值列表>) ************************************************* INSERT INTO S (SNo,SN,Sex) 说明: VALUES('11002','陈月','女') ①列名省略时,值列表必须是所有属性的数据。 ②列名不省时,值列表必须与列名一一匹配。 ************************************************* ③值列表为多个时,中间用逗号隔开,若是字符数据需 要加引号。书上无 试题巩固 (2021上·高中)某关系数据库中的一个表结构为S(SN,CN,Grade),其中SN为学生名, CN为课程名,二者均为字符型;Grade为成绩,数值型,取值范围为0~100。若要把“张 小庆的数学成绩90分”插入S中,则可以用( )。 A.ADD INTO S VALUES('张小庆','数学',90) B.INSERT INTO S VALUES('张小庆','数学',90) C.ADD INTO S VALUES('张小庆','数学','90') D.INSERT INTO S VALUES('张小庆','数学','90') INSERT INTO <表名> [(<列名1>[ ,<列名2>,…])] VALUES (<值列表>)P235 (三)数据操纵 2.修改数据-【格式】 【实例】 【例5-1】将学生“冯明”转入自动化系。 UPDATE <表名> SET <列名1>=<数据1>[,<列名2>=<数据2>,…] UPDATE S [WHERE <条件>] SET Dept='自动化' WHERE SN='冯明' 说明: ①where后面指定修改的条件 【例5-2】将所有学生的年龄增加1岁。 ②where子句省略时,表示修改表中所有列的值 UPDATE S SET Age=Age+1书上无 试题巩固 (单选)在“专业信息”表中, 将专业名称的值“软件工程”修改为“软件工程技术”,下列 SQL 语句正确的是( )。 A. REPLACE 专业信息 SET 专业名称 =" 软件工程技术 " WHERE 专业名称 =" 软件工程 " B. UPDATE 专业信息 SET 专业名称 =" 软件工程技术 " WHERE 专业名称 =" 软件工程" C. REPLACE 专业信息 SET 专业名称 WITH" 软件工程技术 " WHERE 专业名称 = 软件工程 D. UPDATE 专业信息 SET 专业名称 WITH" 软件工程技术 " WHERE 专业名称 = 软件工程 UPDATE <表名> SET <列名1>=<数据1>[,<列名2>=<数据2>,…] [WHERE <条件>]P235 (三)数据操纵 3.删除数据-【格式】 【实例】 【例6-1】删除学生“冯明”的记录。 DELETE FROM <表名> [WHERE <条件>] DELETE FROM S WHERE SN= '冯明' 说明: ①where后面指定删除记录的条件 【例6-2】删除学生表 S 的所有记录。 ②where子句省略时,表示删除表中所有记录 DELETE FROM SP236 (四)单表查询 【格式】 【说明】 SELECT [ALL|DISTINCT] <列名> [ AS <列别名>] ①DISTINCT 代表在结果中,去除重复值 FROM <表名> ②若查询全部列,<列名>可以用*代替 [WHERE <条件1>] ③可以通过AS给列名和表起别名 [GROUP BY <列名1> [HAVING <条件2>] ] ④GROUP BY进行分组,HAVING根据条件进行分组 [ORDER BY <列名2> [ASC|DESC]] ⑤ORDER BY进行排序;ASC升序(可省)、DESC 降序P236 (四)单表查询 1.无条件查询【格式】 【实例】 【例7-1】从学生表S中查询所有学生的学号、姓名和性 别。 SELECT [ALL|DISTINCT] <列名> [ AS <列别名>] ************************************************* FROM <表名> SELECT SNo,SN,Sex FROM S ************************************************* 说明: ①DISTINCT 代表在结果中,去除重复值 ②若查询全部列,<列名>可以用*代替 ③可以通过AS给列名和表起别名P237 (四)单表查询 1.无条件查询【格式】 【实例】 【例7-2】从学生表S中查询所有学生信息。 ************************************************* SELECT * SELECT [ALL|DISTINCT] <列名> [ AS <列别名>] FROM <表名> FROM S ************************************************* 说明: ①DISTINCT 代表在结果中,去除重复值 ②若查询全部列,<列名>可以用*代替 ③可以通过AS给列名和表起别名P238 (四)单表查询 2.条件查询【格式】 (1)比较查询【实例】 【例8-1】从选课表 SC 中查询成绩大于80的学生选课 SELECT [ALL|DISTINCT] <列名> [ AS <列别名>] 信息。 FROM <表名> WHERE <条件1> ************************************************* SELECT * 说明: FROM SC ①若查询全部列,<列名>可以用*代替 WHERE Grade>80 ②查询条件及运算符对应表格 ************************************************* 查询条件 运 算 符 比较 >,<,=,>=,<=,<> 多重条件 AND,OR,NOT BETWEEN AND, 确定范围 NOT BETWEEN AND 确定集合 IN,NOT IN 字符匹配 LIKE,NOT LIKE 空值 IS NULL,IS NOT NULLP238 (四)单表查询 2.条件查询【格式】 (2)多重条件查询【实例】 【例8-2】从选课表 SC 中查询选修了课程“C0201” SELECT [ALL|DISTINCT] <列名> [ AS <列别名>] 并且 FROM <表名> WHERE <条件1> 成绩高于80分的学生的学号与成绩。 ************************************************* 说明: SELECT SNo, Grade ①若查询全部列,<列名>可以用*代替 FROM SC ②查询条件及运算符对应表格 WHERE CNo='C0201' AND Grade>80 查询条件 运 算 符 ************************************************* 比较 >,<,=,>=,<=,<> 多重条件 AND,OR,NOT BETWEEN AND, 确定范围 NOT BETWEEN AND 确定集合 IN,NOT IN 字符匹配 LIKE,NOT LIKE 空值 IS NULL,IS NOT NULLP238 (四)单表查询 2.条件查询【格式】 (3)确定范围查询【实例】 【例8-3】从学生表 S 中查询年龄在[16,19]之间的学生 SELECT [ALL|DISTINCT] <列名> [ AS <列别名>] 学号、姓名和年龄。 FROM <表名> WHERE <条件1> ************************************************* SELECT SNo, SN, Age 说明: FROM S ①若查询全部列,<列名>可以用*代替 WHERE Age BETWEEN 16 AND 19 ②查询条件及运算符对应表格 ************************************************* 查询条件 运 算 符 比较 >,<,=,>=,<=,<> 多重条件 AND,OR,NOT BETWEEN AND, 确定范围 NOT BETWEEN AND 确定集合 IN,NOT IN 字符匹配 LIKE,NOT LIKE 空值 IS NULL,IS NOT NULLP239 (四)单表查询 2.条件查询【格式】 (4)确定集合查询【实例】 【例8-4】从选课表 SC 中查询选修了课程“C0204” SELECT [ALL|DISTINCT] <列名> [ AS <列别名>] 或“D0101”的学生的选课信息 。 FROM <表名> WHERE <条件1> ************************************************* SELECT * 说明: FROM SC ①若查询全部列,<列名>可以用*代替 WHERE CNo IN ('C0204','D0101') ②查询条件及运算符对应表格 ************************************************* 查询条件 运 算 符 比较 >,<,=,>=,<=,<> 多重条件 AND,OR,NOT BETWEEN AND, 确定范围 NOT BETWEEN AND 确定集合 IN,NOT IN 字符匹配 LIKE,NOT LIKE 空值 IS NULL,IS NOT NULLP239 (四)单表查询 2.条件查询【格式】 (5)字符匹配查询【实例】 【例8-5】从课程表C中查询课号以“C”开头的所有 SELECT [ALL|DISTINCT] <列名> [ AS <列别名>] 课号及课程名 。 FROM <表名> WHERE <条件1> ************************************************* SELECT Cno, CN 说明: FROM C ①若查询全部列,<列名>可以用*代替 WHERE CNo like 'C*' ②查询条件及运算符对应表格 ************************************************* 查询条件 运 算 符 比较 >,<,=,>=,<=,<> 多重条件 AND,OR,NOT BETWEEN AND, 确定范围 NOT BETWEEN AND 确定集合 IN,NOT IN 字符匹配 LIKE,NOT LIKE 空值 IS NULL,IS NOT NULLP240 (四)单表查询 2.条件查询-【格式】 (6)空值查询【实例】 【例8-6】从选课表 SC中查询考试成绩有效(有数值) SELECT [ALL|DISTINCT] <列名> [ AS <列别名>] 的学生选课信息 。 FROM <表名> WHERE <条件1> ************************************************* SELECT * 说明: FROM SC ①若查询全部列,<列名>可以用*代替 WHERE Grade IS NOT NULL ②查询条件及运算符对应表格 ************************************************* 查询条件 运 算 符 比较 >,<,=,>=,<=,<> 多重条件 AND,OR,NOT BETWEEN AND, 确定范围 NOT BETWEEN AND 确定集合 IN,NOT IN 字符匹配 LIKE,NOT LIKE 空值 IS NULL,IS NOT NULL书上无 试题巩固 1.(单选)某老师对“张伟”的所有信息进行查询,数据库是 mysql,数据表名称是 canbao_table,以下查询语句正确的是( )。 A. select * canbao_table where name=" 张伟 " B. select from canbao_table where name=" 张伟 " C. select * canbao_table in name=" 张伟 " D. select * from canbao_table where name=" 张伟 "P240 (四)单表查询 3.聚集函数【格式】 【实例】 【例9】从学生表 S 中查询计算机系学生的人数以及这些 SELECT [ALL|DISTINCT] <列名> [ AS <列别名>] 学生年龄的总和及平均值 。 FROM <表名> WHERE <条件1> ************************************************* SELECT COUNT(*), SUM(Age), AVG(Age) 说明: FROM S ①可以通过AS给列名和表起别名 WHERE Dept='计算机'; ②函数及功能对应表格 ************************************************* 函数名称 功 能 SELECT COUNT(*) AS 个数, SUM(Age) AS 年龄和, AVG(列名) 计算列值平均值 AVG(Age) AS 平均年龄 SUM(列名) 计算列值的总和 FROM S MAX(列名) 求列值中的最大值 WHERE Dept='计算机'; MIN(列名) 求列值中的最小值 ************************************************* COUNT(*) 统计元组个数P241 (四)单表查询 4.分组查询【格式】 【实例】 SELECT [ALL|DISTINCT] <列名> [ AS <列别名>] 【例10-1】统计不同性别的学生人数 。 FROM <表名> ************************************************* [ WHERE <条件1> ] SELECT Sex, COUNT(*) AS 人数 GROUP BY <列名1> FROM S [ HAVING <条件2> ] GROUP BY Sex 说明: ************************************************* ①GROUP BY进行分组 ②分组之前有条件进行过滤,用WHERE ③分组之后有条件进行过滤,用HAVINGP241 (四)单表查询 4.分组查询【格式】 【实例】 SELECT [ALL|DISTINCT] <列名> [ AS <列别名>] 【例10-2】查询至少有2名男同学所在的系名 。 FROM <表名> ************************************************* [ WHERE <条件1> ] SELECT Dept GROUP BY <列名1> FROM S [ HAVING <条件2> ] WHERE Sex='男' 说明: GROUP BY Dept ①GROUP BY进行分组 HAVING Count(*)>=2 ②分组之前有条件进行过滤,用WHERE ************************************************* ③分组之后有条件进行过滤,用HAVINGP373 试题巩固 (2021下·高中)SQL 的查询语句“SELECT 所属部门 ,SUM( 工资 ) FROM 员工数据 库 GROUP BY 所属部门 ”的含义为( )。 A. 把员工数据库按照所属部门分组后,计算每个部门的平均工资 B. 把员工数据库按照所属部门分组后,计算每个部门的工资总和 C. 把员工数据库按按照属部门排序后,计算每个部门的平均工资 D. 把员工数据库按照所属部门排序后,计算每个部门的工资总和P242 (四)单表查询 5.排序查询【格式】 【实例】 【例11】从学生表S中查询学生的学号、姓名和年龄,并 SELECT [ALL|DISTINCT] <列名> [ AS <列别名>] 按年龄降序排列 。 FROM <表名> ************************************************* [WHERE <条件1>] SELECT SNo, SN, Age ORDER BY <列名2> [ASC|DESC] FROM S ORDER BY Age DESC; 说明: ************************************************* • ORDER BY进行排序; • ASC升序(可省)、DESC降序P242 (五)多表查询 1.使用单表查询的SQL命令-【格式】 查询【实例】 【例12-1】查询学生冯明的学号、姓名、课号和成绩 。 SELECT [ALL|DISTINCT] <列名> [ AS <列别名>] ************************************************* FROM <表名1> ,<表名2> SELECT S.SNo, SN, CNo, Grade [WHERE <条件1>] FROM S, SC [GROUP BY <列名1> [HAVING <条件2>] ] [ORDER BY <列名2> [ASC|DESC]] WHERE S.SNO=SC.SNO AND SN='冯明' ************************************************* 说明: ①FROM子句,需要连接多个表 ②SELECT后列名,如果两个表中均有,需要指明表名 ③WHERE子句,需要指明两表建立联系的条件P243 (五)多表查询 2.使用JOIN子句-【格式】 查询【实例】 【例12-2】查询学生冯明的学号、姓名、课号和成绩 。 SELECT [ALL|DISTINCT] <列名> [ AS <列别名>] FROM <表名1> INNER JOIN <表名2> ************************************************* ON <连接条件> SELECT S.SNo, SN, CNo, Grade [WHERE <条件1>] FROM S INNER JOIN SC [GROUP BY <列名1> [HAVING <条件2>] ] ON S.SNO=SC.SNO [ORDER BY <列名2> [ASC|DESC] ] WHERE SN='冯明' 说明: ************************************************* ①两表之间用INNER JOIN进行连接 ②两表建立连接的条件,使用ON子句第六节 关系数据的设计P244 一、设计基础 (一)设计步骤 设计步骤 主要功能 准确了解和分析用户的需求 ,是基础环节 需求分析 对用户需求进行归纳与抽象,并形成概念模型 概念结构设计 将概念模型转化成数据库管理系统所支持的逻辑模型 逻辑结构设计 为逻辑模型选取合适的物理结构(即物理模型) 物理结构设计 用数据库语言和宿主语言,建立数据库,编写与调试应用程序 数据库实施 投入运行并不断对其进行评估、调整 数据库运行和维护1.基于E-R模型的数据库设计方法 P245 (二)设计方法 1.基于 E-R 模型的数据库设计方法 学生表 学号 姓名 性别 系别 -- -- -- -- 课程表 课程编号 课程名称 学分 -- -- -- 选课表 学号 课程编号 成绩 -- -- --P245 (二)设计方法 2.基于3NF的数据库设计方法 Ø单一关系模式 → 投影 → 若干关系模式 学号 姓名 性别 系别 课程编号 课程名称 学分 成绩 -- -- -- -- -- -- -- -- 学生表 课程表 选课表 学号 姓名 性别 系别 课程编号 课程名称 学分 学号 课程编号 成绩 -- -- -- -- -- -- -- -- -- --P245 二、函数依赖 (一)定义 Ø设关系模式 R(U),U 是属性集,X 和 Y 是 U 的子集。 ØX确定Y,Y依赖于X,记作 X Y 。X 为决定因子,Y 为依赖因子。 Ø当 Y 不依赖于 X 时,记作 X ↛ Y; → Ø当 X Y 且 Y X时,则记作 X Y。 → → ↔ 学生(学号、身份证号、姓名、身高、年龄)P246 (二)推理规则 ØIR1(自反规则):如果 X ⊇ Y,那么 X → Y。 ØIR2(增广规则):{X → Y}|=XZ → YZ。 ØIR3(传递规则):{X → Y,Y → Z}|=X → Z。 ØIR4(分解规则或投影规则):{X → YZ}|=X → Y。 ØIR 5(合并规则或加法规则):{X → Y,X → Z}|=X → YZ。 ØIR 6(伪传递规则):{X → Y,WY → Z}|=WX → Z。P246 (三)类型 1.完全函数依赖 ØX Y,且对于 X 的任何一个真子集 X' ,都有 X' ↛ Y,记为X Y f → 【例】关系模式S1(SNo,SN,Sex,Age,CNo,CN,Grade)中 (SNo,CNo) Grade f SNo SN Sex Age CNo CN Grade 11001 冯明 男 18 C0201 数据库原理及应用 85 11001 冯明 男 18 C0204 计算机网络 80 11002 陈月 女 19 C0302 算法设计与分析 65 12001 褚共 男 18 C0201 数据库原理及应用 70 12001 褚共 男 18 D0101 信息安全基础 76P246 (三)类型 2.部分函数依赖 ØX Y,且对于 X 的某一个真子集 X ' ,有 X ' Y,记为X Y p → → 【例】关系模式S1(SNo,SN,Sex,Age,CNo,CN,Grade)中 (SNo,CNo) SN p SNo SN Sex Age CNo CN Grade 11001 冯明 男 18 C0201 数据库原理及应用 85 11001 冯明 男 18 C0204 计算机网络 80 11002 陈月 女 19 C0302 算法设计与分析 65 12001 褚共 男 18 C0201 数据库原理及应用 70 12001 褚共 男 18 D0101 信息安全基础 76P246 (三)类型 3.传递函数依赖 ØX Y, Y Z,且X不包含Y,Y不包含Z,Y ↛ X则X Z,记为X Z → → → 【例】关系模式 学生(学号,姓名,系别,系主任)中 学号 系主任 SNo SN 系别 系主任 11001 冯明 计算机系 张三 11002 陈月 计算机系 张三 12001 褚共 自动化系 李四书上无 试题巩固 (2021上·高中)下列关于函数依赖的描述中,不正确的是( )。 A.若A→B,A→C,则A→BC B.若A→C,则AB→C C.若A→B,DB→C,则DA→C D.若AB→C,则A→C,B→CP246 (四)~(五) 【例1】设有 R(A,B,C,D),它的函数依赖集 F={D → B,B → D,AD → B,AC → D},求 R 的候选码。P247 (四)~(五) 【例2】设有 R(A,B,C,D),它的函数依赖集 F={AB → C,D → B,C → A,C→D},求 R 的候 选码书上无 试题巩固 (2023 上 · 高中)设有关系模式 R(A,B,C,D,E),R 的函数依赖集:F={A → B, E →D,BC →D,CD →A}。R 的候选码为( )。 A. AE B. BE C. CE D. DEP248 三、范式 5种范式的包含关系:5NF ⊂ 4NF ⊂ BCNF ⊂ 3NF ⊂ 2NF ⊂ 1NF u (一)第一范式 1NF Ø如果关系模式 R 的所有属性均为原子属性(不可再分),则称 R 属于第一范式。最起码条件 Sal TNo TN Sex Prof TNo TN Sex Prof Basic Bonus Basic Bonus 01001 赵乾 女 讲师 6000 500 01001 赵乾 女 讲师 6000 500 01002 钱坤 男 讲师 6000 1000 01002 钱坤 男 讲师 6000 1000 01003 孙震 女 副教授 7000 1200 01003 孙震 女 副教授 7000 1200 02011 李离 女 教授 8000 800 02011 李离 女 教授 8000 800 02013 周巽 男 教授 8000 2000 02013 周巽 男 教授 8000 2000P248 三、范式 (二)第二范式 2NF Ø如果关系模式 R ∈ 1NF,且每个非主属性都完全依赖于 R 的主码/候选码,则称 R 属于第二范式 【例】将关系模式 选课(学号,课程号,姓名,成绩)规范化为 2NF ①主键:学号和课程号 ②依赖关系:(学号,课程号)→ 姓名;(学号,课程号)→ 成绩 ③调整:学生(学号,姓名) 选课(学号,课程号,成绩)P249 三、范式 (三)第三范式 3NF Ø如果关系模式 R ∈ 2NF,且每个非主属性都不传递依赖于 R 的主码/候选码,则称 R 属于第三范 式 【例】将关系模式学生(学号,姓名,系别,系主任)规范化为 3NF ①主键:学号 ②依赖关系:学号 → 姓名;学号 → 系别;学号 → 系主任 ③调整:学生(学号,姓名,系别) 系管理( 系别 , 系主任 )P249 三、范式 (四)BC范式 BCNF Ø如果关系模式 R ∈ 3NF,且不存在主属性对非主属性的函数依赖,则称 R 属于 BC范式,简称 BCNF 【例】假设该学校中每名教师只讲授一门课程,但一门课程可由多个教师讲授。 要求:将关系模式 学生(学号,课程号,教师,成绩)规范化为 BCNF ①主键:学号和课程号 ②依赖关系:(学号,课程号)→ 教师;(学号,课程号)→ 成绩 ③调整:学生(学号,课程号,成绩) 授课(教师,课程号)书上无 试题巩固 (2021下·高中)关系模式R(A,B,C,D,E),根据语义有如下函数依赖集: F={A→C,BC→D,CD→A,AB→E}。关系模式R的规范化程度最高达到( )。 A.1NF B.2NF C.3NF D.BCNF下 节 内 容