资源描述:
《《sql的数据查询》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、SQL的数据查询天津师范大学 刘洋一个问题2006年6月,举世瞩目的第18届世界杯在德国举行,某网站为了方便球迷查询,在自己的网站上设立了世界杯信息查询系统。该系统的一部分要求为:一名球员可以参加多场比赛,每场比赛有多名球员参加。概念模型请你为该系统的这一部分设计一个ER模型,画出ER图。要求:“球员”的属性有:姓名,代表国,号码,年龄,位置“比赛”的属性有:比赛编号,比赛甲方,比赛乙方,比赛类型在联系中反映出球员参加比赛的出场时间,进球数概念模型——ER图球员姓名代表国号码年龄位置比赛编号甲方乙方类型
2、进球数出场时间参加mn概念模型→关系数据模型球员关系player(nation,number,name,age,position)主码:(nation,number)概念模型→关系数据模型想一想,如果只是number作为主码可以吗?概念模型→关系数据模型不可以,因为不同国家队中有相同的号码概念模型→关系数据模型比赛关系match(matchid,match_a,match_b,matchtype)主码:matchid概念模型→关系数据模型player(nation,number,name,age,positio
3、n)match(matchid,match_a,match_b,matchtype)matchidnation,numberjoin(,,)time,goalPlayer的主码match的主码Join自己的属性SQL语言SQL功能动词数据查询数据定义数据更新数据控制SELECTCREATE,DROP,ALTERINSERT,UPDATE,DELETEGRANT,REVOKECREATE使用SQL语言创建基本表player(nation,number,name,age,position)Createtablepl
4、ayer--球员表{namechar(20),--姓名nationchar(20),--代表国numberint--号码ageint,--年龄positionchar(10)--位置–定义主码}check(numberbetween1to23),check(positionin(‘守门员’,’后卫’,’中场’,’前锋’)),primarykey(nation,number),使用SQL语言创建基本表match(matchid,match_a,match_b,matchtype)Createtablematch-
5、-比赛表{matchidintprimarykey,--比赛编号(主码)match_achar(20),--比赛甲方match_bchar(20),--比赛乙方matchtypechar(10)check(matchtypein(‘小组赛’,’淘汰赛’))–比赛类型}使用SQL语言创建基本表Createtablejoin--参加表{nationchar(20),--代表国numberint,--号码matchidint,--比赛编号timeint,--出场时间goalint--进球数primarykey(nat
6、ion,number,matchtype)–定义主码–定义外码–定义外码}join(nation,number,matchid,time,goal)foreignkey(nation,number)referenceplayer(nation,number)foreignkey(matchid)referencematch(matchid)SQL语言SQL功能动词数据查询数据定义数据更新数据控制SELECTCREATE,DROP,ALTERINSERT,UPDATE,DELETEGRANT,REVOKESELE
7、CTSelect语句的基本句法select-From-Where句型ΠA1,…An(σF(R1×…×Rm))FromR1,…,RmWhereFSelectA1,…,An这里R1、…、Rn为关系,F是公式,A1、…、An为属性。R1×…×RmσFΠA1,…An使用SQL语言查询世界杯数据库中有三个基本表(关系):player(nation,number,name,position)nationnumbernameposition德国13巴拉克 中场法国12亨利 前锋德国1莱曼 守门员巴西6卡洛斯
8、后卫使用SQL语言查询match(matchid,match_a,match_b)matchidmatch_amatch_bA1德国 哥斯达黎加A3德国 波兰G2法国 瑞士F2巴西 克罗地亚使用SQL语言查询join(nation,number,matchid,goal)nationnumbermatchidgoal德国13A11德国13A31德国1A10法国12G2