数据库原理习题课教材课件.ppt

上传人:小飞机 文档编号:2157249 上传时间:2023-01-21 格式:PPT 页数:17 大小:443KB
返回 下载 相关 举报
数据库原理习题课教材课件.ppt_第1页
第1页 / 共17页
数据库原理习题课教材课件.ppt_第2页
第2页 / 共17页
数据库原理习题课教材课件.ppt_第3页
第3页 / 共17页
数据库原理习题课教材课件.ppt_第4页
第4页 / 共17页
数据库原理习题课教材课件.ppt_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《数据库原理习题课教材课件.ppt》由会员分享,可在线阅读,更多相关《数据库原理习题课教材课件.ppt(17页珍藏版)》请在三一办公上搜索。

1、数据库原理习题课,郑州大学,大纲,设计E-R图SQL语句及关系代数,设计E-R图,设计E-R图根据题目给定条件,分析实体和联系,设计E-R图。解题思路第一步、根据题意,找出(强弱)实体集及各自属性与关键字(码)。第二步、根据题意,找出实体集间的两两联系,确定联系类型。第三步、根据题意,判断是否需要表明参与度。,例一,某工厂生产多种产品,每种产品由不同的零件组装而成,有的零件可用在不同的产品上。产品有产品号和产品名两个属性,零件有零件号和零件名两个属性。根据语义设计E-R模型,并将E-R模型转换成关系模式,要求关系模式主码加下划线表示。产品(产品号,产品名)零件(零件号,零件名)组装(产品号,零

2、件号),例二,工商银行有许多支行,每个具有唯一的名称,拥有一定的资产,坐落在某个城市的某条街道上。银行要记录每位客户的客户标识(如身份证号)、客户名、客户地址、联系电话等信息。银行的主要业务是办理客户的存款和贷款。每位客户可以有多个存款账户,并可以多次存取;存款账户需要存放账号和存款余额等信息;每次存取款需要登记日期和存取款金额。一位客户可以多次贷款,但每笔贷款只能贷给一个客户。每笔贷款海域特定的支行相关联。每笔贷款需要登记贷款号、贷款日期和贷款金额。,(1)确定实体集,工商银行有许多支行,每个具有唯一的名称,拥有一定的资产,坐落在某个城市的某条街道上。银行要记录每位客户的客户标识(如身份证号

3、)、客户名、客户地址、联系电话等信息。存款账户需要存放账号和存款余额等信息;每笔贷款需要登记贷款号、贷款日期和贷款金额。,(2)确定联系及其类型,银行的主要业务是办理客户的存款和贷款。每位客户可以有多个存款账户,并可以多次存取;每次存取款需要登记日期和存取款金额。一位客户可以多次贷款,但每笔贷款只能贷给一个客户。每笔贷款海域特定的支行相关联。,属于,借贷,支行,客户,存款账户,贷款,业务,业务,存取,登记日期,存款金额,1,N,N,N,N,N,1,N,1,1,(3)确定参与度,存款账户-支行:账户与支行之间的多对一联系,其中账户全部参与。贷款-支行:贷款与支行之间的多对一联系,其中贷款全部参与

4、。借贷-客户:客户与贷款之间的多对一联系,其中贷款全部参与。在的多对一关系中,所有1端变为箭头,全部参与的变为N端变为双线,属于,借贷,支行,客户,存款账户,贷款,业务,业务,存取,登记日期,存款金额,SQL语句及关系代数,SQL语句sql 语句就是对数据库进行操作的一种语言。主要操作是选择、插入、删除和更新:选择:select*from table1 where 条件范围插入:insert into table1(field1,field2)values(value1,value2)删除:delete from table1 where 条件范围更新:update table1 set fi

5、eld1=value1 where 条件范围其中,选择操作是最常用且复杂的操作。连接查询Select*from table1 table2 where table1.X=table2.X and 条件范围X是联系两个表的属性,一般是表的主码或外码。嵌套查询Select*from table1 where XX in(select XX from table1 where 条件范围)括号内搜索的XX属性的结果作为外面搜索的条件,SQL语句及关系代数,关系代数关系代数是过程化查询语言,研究关系数据库语言的数学建模工具。关系代数的运算对象是关系(表),运算结果亦为关系(表)。主要包括选择、投影、并、

6、差和笛卡尔积。还会用到交、除、(等值)连接和自然连接。所有关系运算都可以用选择运算和投影运算表示。关系运算形式化(运算符号)(属性)(条件范围)关系):学号,分数(课程号=C112(学习)学号,姓名,课程名,分数(学号,姓名(专业=英语(学生)学习 课程号,课程名(课程),解题思路,先看查询属性从属性找表依据限制条件范围相同表内限制的同层(where and)不同表内限制的分层(where in),例一,现有关系数据库如下:学生(学号,姓名,性别,专业)课程(课程号,课程名,学分)学习(学号,课程号,分数)分别用关系代数表达式和SQL语句实现下列15小题:1检索所有选修了课程号为“C112”的

7、课程的学生的学号和分数;,SQL语句:SELECT 学号,分数 FROM 学习 WHERE 课程号=C112关系代数:学号,分数(课程号=C112(学习),例一,现有关系数据库如下:学生(学号,姓名,性别,专业)课程(课程号,课程名,学分)学习(学号,课程号,分数)分别用关系代数表达式和SQL语句实现下列15小题:2检索“英语”专业学生所学课程的信息,包括学号、姓名、课程名和分数;,SQL语句:SELECT 学生.学号,姓名,课程名,分数FROM 学生,学习,课程 WHERE 学习.学号=学生.学号 AND 学习.课程号=课程.课程号 AND 专业=英语 关系代数:学号,姓名,课程名,分数(学

8、号,姓名(专业=英语(学生)学习 课程号,课程名(课程)学号,姓名,课程名,分数(专业=英语(学生 学习 课程),例一,现有关系数据库如下:学生(学号,姓名,性别,专业)课程(课程号,课程名,学分)学习(学号,课程号,分数)分别用关系代数表达式和SQL语句实现下列15小题:3检索“数据库原理”课程成绩高于90分的所有学生的学号、姓名、专业和分数;,SQL语句:SELECT 学生.学号,姓名,专业,分数 FROM 学生,学习,课程 WHERE 学生.学号=学习.学号 AND 学习.课程号=课程.课程号 AND分数90 AND 课程名=数据库原理 关系代数:学号,姓名,专业,分数(学号,姓名,专业

9、(学生)(分数90(学习)课程号,课程名(课程名=数据库原理(课程),例一,现有关系数据库如下:学生(学号,姓名,性别,专业)课程(课程号,课程名,学分)学习(学号,课程号,分数)分别用关系代数表达式和SQL语句实现下列15小题:4检索没学课程号为“C135”课程的学生信息,包括学号,姓名和专业;,SQL语句:SELECT 学号,姓名,专业 FROM 学生WHERE 学号 NOT IN(SELECT 学号 FROM 学习 WHERE 课程号=C135)关系代数:(学号(学生)-学号(课程号=C135(学习)(学号,姓名,专业(学生),例一,现有关系数据库如下:学生(学号,姓名,性别,专业)课程(课程号,课程名,学分)学习(学号,课程号,分数)分别用关系代数表达式和SQL语句实现下列15小题:5检索至少学过课程号为“C135”和“C219”的课程的学生的信息,包括学号、姓名和专业。,SQL语句:SELECT 学号,姓名,专业 FROM 学生 WHERE 学号 IN(SELECT X1.学号 FROM 学习 X1,学习 X2 WHERE X1.学号=X2.学号 AND X1.课程号=C135AND X2.课程号=C219)关系代数:(学号,课程号(学习)课程号(课程号=C135课程号=C219(课程)学号,姓名,专业(学生),The end,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号