版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第13讲数据怎样管理-数据库哈尔滨工业大学计算学部教学委员会主任国家教学名师战德dechen@第13讲数据怎样管理-数据库一、什么是数据库与数据库系统二、关系模型与关系运算三、利用关系运算表达数据查询需求传统社会:业务工作信息社会:业务工作+计算机支持网络/Internet
数据库EverythingOverDBEverythingWithInternet什么是数据库与数据库系统为什么需要数据库--工作方式的转变不要相信经验,一切以数据说话什么是数据库?什么是数据库与数据库系统各式各样的数据库学生成绩单关系数据库工程数据库图像数据库网页数据库文档数据库
结构化数据库
【如:关系数据库】半结构化数据库
【如:文档数据库/XML数据库】非结构化数据库
【如:图像数据库/工程数据库】以表达数据的模型来分类关于数据库,你的认识是_______。数据库指的是数据的集合A数据库指的是管理数据的一种软件B数据库既指数据的集合,又指管理数据的软件C数据库是一种包含软件和数据的一种应用系统D提交投票最多可选1项数据库系统(工作环境)数据库(DB):Database数据库管理系统(DBMS):DatabaseManagementSystem数据库应用(DBAP):DataBaseApplication数据库管理员(DBA):DataBaseAdministrator计算机基本系统DBMS管理数据库的一种系统软件DBA完成某一功能的应用程序1应用程序2应用程序nDBAP1DBAP2DBAPn相互有关联关系的表形式数据的集合数据库//Database什么是数据库与数据库系统数据库系统的构成DBMSOracle或SQLServer或DB2或PolarDB或MySQL或GaussDBDBATable1:出版社T2:出版社图书目录T3:采买记录T4:图书;T5:读者T6:借阅登记T7:工作人员数据库//Database图书采买管理程序图书借阅管理程序读者管理程序DBAP1DBAP3DBAPn采买员借还管理员借书证管理员图书编目管理程序DBAP2编目员DBMS如何支持用户操纵数据库?关于数据库系统和数据库管理系统,下列说法正确的是___。数据库系统和数据库管理系统指的是同一软件产品;A数据库系统和数据库管理系统指的是不同软件产品;B数据库管理系统是软件产品,而数据库系统不仅仅是软件产品;C数据库系统是软件产品,而数据库管理系统不仅仅是软件产品。D提交单选题1分学生成绩单表名表标题(格式)表内容(值)列名列值行/元组/记录(row/tuple/record)列/字段/属性/数据项(column/field/attribute/dataitem)关系模式表/关系数据库起源于规范化“表(Table)”的处理Table:以按行按列形式组织及展现的数据。什么是数据库与数据库系统基本形式的数据:“表”和“关系”这组概念很重要,要熟悉并记住表名表标题(格式)数据库定义:定义数据库中数据表的名称、标题(内含的属性名称及对该属性的值的要求)等。
DBMS提供一套数据定义语言(DDL:DataDefinitionLanguage)给用户用户使用DDL描述其所要建立表的格式
DBMS依照用户的定义,创建数据库及其中的Table用户DBAPDBMS1.执行定义操作,创建数据库数据库什么是数据库与数据库系统数据库管理系统的基本功能数据库操纵:向数据库的Table中增加/删除/更新数据及对数据进行查询、检索、统计等
DBMS提供一套数据操纵语言(DML:DataManipulationLanguage)给用户用户使用DML描述其所要进行的增、删、改、查等操作
DBMS依照用户的操作描述,实际执行这些操作用户DBAPDBMS2.对表的内容执行增加、删除、更新、检索等操作数据库什么是数据库与数据库系统数据库管理系统的基本功能数据库控制:控制数据库中数据的使用---哪些用户可以使用,哪些不可以
DBMS提供一套数据控制语言(DCL:DataControlLanguage)给用户用户使用DCL描述其对数据库所要实施的控制
DBMS依照用户的描述,实际进行控制用户DBAPDBMS3.依照定义信息,对数据库的使用实施控制数据库数据安全性完整性定义信息谁,能访问哪些数据,权利DBADBMS定义控制信息什么是数据库与数据库系统数据库管理系统的基本功能数据库维护:转储/恢复/重组/性能监测/分析…DBMS提供一系列程序(实用程序/例行程序)
给用户在这些程序中提供了对数据库维护的各种功能用户使用这些程序进行各种数据库维护操作数据库维护的实用程序,一般都是由数据库管理员(DBA)来使用和掌握的用户DBAPDBMS4.数据库维护,如转储…数据库DBA什么是数据库与数据库系统数据库管理系统的基本功能用于对表中数据增、删、改进行表述的语言是
(L1);用于对表的格式进行描述的语言是(L2);用于对数据库能否被用户读写进行审查的语言是(L3)。
则下列说法正确的是_____。L1是DDL,L2是DML,L3是DCLAL1是DML,L2是DCL,L3是DDLBL1是DML,L2是DDL,L3是DCLCL1是DCL,L2是DDL,L3是DMLD提交单选题1分第13讲数据怎样管理-数据库一、什么是数据库与数据库系统二、关系模型与关系运算三、利用关系运算表达数据查询需求怎样把一张【表】定义清楚呢?2.【值域】(Domain)说清楚每一列数据可能的取值1.指出有多少【列】4.指出所有可能的元组—【笛卡尔积】值域中值的所有可能的组合--笛卡尔积关系中元组是有意义的组合,即这种组合具有“关系”----笛卡尔积的子集5.指出关系中的元组--【关系】关系模型与关系运算如何用数学来定义【表】呢?3.指出什么是一个【元组】元组是从每个值域中取一个值所形成的一个组合,即一行首先定义“列”的取值范围“域(Domain)”域(Domain)一组值的集合,这组值具有相同的数据类型如整数的集合、字符串的集合、全体学生的集合再如,由8位数字组成的数字串的集合,由0到100组成的整数集合集合中元素的个数称为域的基数(Cardinality)D1=男人集合(MAN)={李基,张鹏}D2=女人集合(WOMAN)={王芳,刘玉}D3=儿童集合(CHILD)={李健,张睿,张峰}关系模型与关系运算如何用数学来定义关系呢?再定义“元组”及所有可能组合成的元组:笛卡尔积笛卡尔积(CartesianProduct)一组域D1,D2,…,Dn的笛卡尔积为:D1×D2×…×Dn={(d1,d2,…,dn)|di∈Di,i=1,…,n}笛卡尔积的每个元素(d1,d2,…,dn)称作一个n-元组(n-tuple)D1=男人D2=女人D3=儿童{李基,张鹏}{王芳,刘玉}{李健,张睿,张峰}关系模型与关系运算如何用数学来定义关系呢?由于笛卡尔积中的所有元组并不都是有意义的,因此…关系(Relation)一组域D1,D2,…,Dn的笛卡尔积的子集:笛卡尔积中具有某一方面意义的那些元组被称作一个关系(Relation)由于关系的不同列可能来自同一个域,为区分,需要为每一列起一个名字,该名字即为属性名。不同列名的列值可以来自相同域。例如:家庭(丈夫:男人,妻子:女人,子女:儿童)或家庭(丈夫,妻子,子女)列名(属性名)列值:来自域关系模型与关系运算如何用数学来定义关系呢?列是同质的(Homogeneous),即每一列中的分量是同一类型数据,来自同一个域不同的列可出自同一个域,每一列称为属性,要给予不同的属性名列的顺序可以任意交换,行的顺序也可以任意交换任意两个元组不能完全相同每一分量必须是不可分的数据项丈夫 妻子 孩子 第一个第二个李基 王芳 李健 张鹏 刘玉 张睿 张峰981101数据库01张三100981101数据库02张四90981101数据库03张五80981101计算机01张三89981101计算机02张四98981101计算机03张五72981102数据库01王三30981102数据库02王四90981102数据库03王武78学生成绩单班级课程学号姓名成绩关系模型与关系运算关系有什么性质?前文讲述中,“家庭(丈夫:男人,妻子:女人,子女:儿童)”,其中的“男人”“女人”“儿童”指的是下列哪种概念,正确的是_______属性A特性B域C类型D提交单选题1分关系的定义中有很多术语,下列表述正确的是_______【字段】指的是“行”,而【元组】指的是“列”A【字段】指的是“行”,而【记录】指的是“行”B【字段】指的是“列”,而【元组】指的是“行”C【元组】指的是“列”,而【记录】指的是“行”D提交单选题1分已知三个域:男人={李基,张鹏},女人={王方,刘玉},子女={李键,张睿,张峰}。这一组域(男人,女人,子女)的笛卡尔积的基数为_______27A9B7C12D提交单选题1分关于关系模式与关系,说法不正确的是_______同一关系模式下,可有很多的关系A关系模式是关系的结构,关系是关系模式在某一时刻的数据B关系模式是稳定的;同一关系模式下,只有一种关系C关系模式是稳定的;而关系是某一时刻的值,是随时间可能变化的D提交单选题1分关于关系的特性,说法不正确的是______关系的任意两个元组不能完全相同A关系的任意两列上不能完全相同B元组相同是指两个元组的每个分量都相同C在同一个关系中如存在相同的元组,则仅保留其中的一个D提交单选题1分下列四项中说法正确的是_______关系模式和关系都是不随时间变化的AR(A1,A2,…,An),这种描述又被称为关系模式,其中Ai是指属性所对应的域B关系的任何属性都是不可再分的C同一关系模式下关系是唯一的D提交单选题1分候选码(CandidateKey)/候选键关系中的一个属性组,其值能唯一标识一个元组,若从该属性组中去掉任何一个属性,它就不具有这一性质了,这样的属性组称作候选码。一个关系,当有若干候选码时,可选择一个候选码作为主码(PrimaryKey)/主键学生(S#,Sname,Sage,Sclass)课程(C#,Cname,Credit,T#)关系模型与关系运算【候选键/候选码/主键/主码】外码(ForeignKey)/外键关系R中的一个属性组,它不是R的候选码,但它与另一个关系S的候选码相对应,则称这个属性组为R的外码或外键。外码是两个关系(数据表)的连接纽带外码主码主码两个关系可以靠外码联接起来关系模型与关系运算【外键/外码】某关系R的外键是指______是其它关系的候选键,本关系中其值是唯一的
A是该关系除主键之外的另一个候选键B是其它关系的候选键,本关系中其值不一定是唯一的
C是其它关系的任意属性D提交单选题1分若某属性非该关系的主键,却是另外一个关系的主键,则该属性称为_______候选键A外键B索引键C主码D提交单选题1分有哪些运算?并:RS差:RS积:RS选择:
(R)投影:(R)连接:RS交:RS关系模型与关系运算什么是关系运算?并(Union)R
S
定义:设关系R和关系S是并相容的(即:属性数目相同,其对应的域也相同),则关系R与关系S的并运算结果也是一个关系,记作:R∪S,它由或者出现在关系R中,或者出现在S中的元组构成数学描述:R
S={t|t
RtS},其中t是元组
R∪S与S∪R运算的结果是同一个关系RS关系模型与关系运算什么情况用并运算呢?R(参加体育队的学生)S(参加文艺队的学生)R∪S(或者参加体育队或者文艺队的学生)并(Union)关系模型与关系运算什么情况用并运算呢?
定义:假设关系R和关系S是并相容的,则关系R与关系S的差运算结果也是一个关系,记作:R
S,它由出现在关系R中但不出现在关系S中的元组构成
数学描述:R
S={t|t
R
t
S}
,其中t是元组注意:R
S与S
R是不同的RSR
SRSS
R差(Difference)关系模型与关系运算什么情况用差运算呢?R(参加体育队的学生)S(参加文艺队的学生)R-S(参加体育队而未参加文艺队的学生)S-R(参加文艺队而未参加体育队的学生)差(Difference)关系模型与关系运算什么情况用差运算呢?
定义:假设关系R和关系S是并相容的,则关系R与关系S的交运算结果也是一个关系,记作:R∩S,它由同时出现在关系R和关系S中的元组构成
数学描述:R
S={t|t
R
t
S}
,其中t是元组
R∩S和S∩R运算的结果是同一个关系交运算可以通过差运算来实现:
R
S=R
(R
S)=S
(S
R)RSR
S交(Intersection)关系模型与关系运算什么情况用交运算呢?交(Intersection)R(参加体育队的学生)S(参加文艺队的学生)R∩S(既参加体育队又参加文艺队的学生)关系模型与关系运算什么情况用交运算呢?
定义:关系R(<a1,
a2,…,an>)与关系S(<b1,b2,…,bm>)的广义笛卡尔积(简称广义积)运算结果也是一个关系,记作:RxS,它由关系R中的元组与关系S的元组进行所有可能的拼接(或串接)构成。
笛卡尔积可将两个表串接起来作为一个表进行操作
数学描述:Rx
S={<a1,
a2,…,an,b1,b2,…,bm>|<a1,
a2,…,an>
R
<b1,b2,…,bm>
S}广义笛卡尔积(CartesianProduct)关系模型与关系运算什么情况用笛卡尔积运算呢?广义笛卡尔积(CartesianProduct)关系模型与关系运算什么情况用笛卡尔积运算呢?
定义:给定一个关系R,同时给定一个选择的条件condition(简记con),选择运算结果也是一个关系,记作
con(R)
,它从关系R中选择出满足给定条件condition的元组构成数学描述:
con(R)={t|tR
con(t)=‘真’}
,
设R(A1,A2,…,An),t是R的元组,t的分量记为t[Ai],或简写为Ai
条件con由逻辑运算符连接算术/比较表达式组成逻辑运算符:,,或写为and,or,not
算术/比较表达式:XY,其中X,Y是t的分量、常量或简单函数,
是比较运算符,{,,,,,≠}选择(Selection)关系模型与关系运算什么情况用选择运算呢?选择(Selection)R(学生表)
Sage<20(R)查询所有年龄小于20同学的信息
D#=“03”νD#=“05”(R)查询所有3系或5系的同学信息关系模型与关系运算什么情况用选择运算呢?
定义:给定一个关系R,投影运算结果也是一个关系,记作
A(R)
,它从关系R中选出属性包含在A中的列构成数学描述:
Ai1,Ai2,…,Aik(R)={<t[Ai1],t[Ai2],…,t[Aik]>|tR}
设R(A1,A2
,…,An){Ai1,Ai2,…,Aik
}
{A1,A2
,…,An
}t[Ai]表示元组t中相应于属性Ai的分量投影运算可以对原关系的列在投影后重新排列投影(Projection)关系模型与关系运算什么情况用投影运算呢?投影(Projection)R(学生表)
Sname,Sage(R)查询所有学生的姓名和年龄
Sname,D#(R)查询所有学生的姓名及其所在的系关系模型与关系运算什么情况用投影运算呢?
定义:给定关系R和关系S,R与S的
连接运算结果也是一个关系,记作,它由关系R和关系S的笛卡尔积中,选取R中属性A与S中属性B之间满足
条件的元组构成。数学描述:
设R(A1,A2
,…,An),A
{A1,A2
,…,An
}
S(B1,B2
,…,Bm),B
{B1,B2
,…,Bm
}t是关系R中的元组,s是关系S中的元组属性A和属性B具有可比性
是比较运算符,{,,,,,≠}在实际应用中,
-连接操作经常与投影、选择操作一起使用
-连接(
-Join)关系模型与关系运算什么情况用连接运算呢?
定义:给定关系R和关系S,R与S的自然连接运算结果也是一个关系,记作,它由关系R和关系S的笛卡尔积中选取相同属性组B上值相等的元组所构成。数学描述:
自然连接是一种特殊的连接运算要求关系R和关系S必须有相同的属性组B(如R,S共有一个属性B1,则B是B1,如R,S共有一组属性B1,B2,…,Bn,则B是这些共有的所有属性)R,S属性相同,值必须相等才能连接,即
R.B1=S.B1andR.B2=S.B2…andR.Bn=S.Bn才能连接要在结果中去掉重复的属性列(因结果中R.Bi始终是等于S.Bi所以可只保留一列即可)自然连接(Natural-Join)关系模型与关系运算什么情况用连接运算呢?
-连接
vs.连接vs.笛卡尔积关系模型与关系运算什么情况用连接运算呢?如下列表所示,两个关系R1和R2,它们进行______运算后可以得到R3。ABCD提交R1
R2R1
R2R1
R2单选题1分设关系R和S的元组个数分别为100和300,关系T是R与S的笛卡尔积,则T的元组个数是________。30000A400B10000C90000D提交单选题1分设关系R和S的属性个数分别为n和m,那么R×S操作结果的属性个数为_____。n+mAn-mBn×mCmax(n,m)D提交单选题1分AB提交CR
S,S-R,RS,R-S,RS,的元组个数是______?5,4,2,4,12,27,2,2,2,12,25,2,2,1,12,27,1,2,1,2,12D单选题1分AB提交C有两个关系R和S,分别包括15个和10个元组,则在R
S,R-S,RS中不可能出现的元组数目是______?15,5,1018,7,721,11,425,15,0D单选题1分关系R与关系S只有一个公共属性,T1是R与S做θ连接的结果,T2是R与S自然连接的结果,则下列说法正确的是_______T1的属性个数大于T2的属性个数AT1的属性个数等于T2的属性个数BT1的属性个数小于T2的属性个数CT1的属性个数大于或等于T2的属性个数D提交单选题1分第13讲数据怎样管理-数据库一、什么是数据库与数据库系统二、关系模型与关系运算三、利用关系运算表达数据查询需求查询表达式组合各种运算查询学习课程号为002的学生学号和成绩πS#,Score(
)查询学习课程号为001的学生学号、姓名πS#,Sname()查询学习课程名称为数据结构的学生学号、姓名和这门课程的成绩πS#,Sname,Score(σCname=“数据结构”(Student
SC
Course))SC
C#=“002”()
C#=“001”()StudentSCStudent
SCCourseσCname=“数据结构”(Student
SCCourse)关系模型与关系运算
利用关系运算进行查询?查询表达式注意连接与积的差别查询学习课程号为001的学生学号、姓名πS#,Sname()
C#=“001”()StudentSCπS#,Sname()
C#=“001”Student.S#=SC.S#()Student
SC连接条件关系模型与关系运算利用关系运算进行查询?关系如下图所示,查询既学习课程号为001课程又学习课程号为002号课程的学生的学号,正确的是_______ABCD提交单选题1分关系如下图所示。的含义为_________查询没有学习过课程号为002号课程的学生姓名和年龄A查询不仅仅学习课程号为002号课程的学生姓名和年龄B查询学习课程号为002号课程的学生姓名和年龄C其他全不对D提交πSname,Sage(S)
πSname,Sage
(σC#=“002”(S
SC))单选题1分已知关系S(S#,Sname,Sage,Sclass),SC(S#,C#,Score)。如下所示关系代数表达式的含义是________。其他全不对A查询没有学习过课程号为002号课程的学生姓名和年龄B查询不仅仅学习课程号为002号课程的学生姓名和年龄C查询学习课程号为002号课程的学生姓名和年龄D提交πSname,Sage(S)
πSname,Sage
(σC#=“002”(S
SC))单选题1分已知关系:学生(学号,姓名,性别,年龄),课程(课程号,课程名,学分),选课(课程号,学号,成绩)。表示“查询没有选修数据库课程的学生姓名”的关系代数操作是________。ABCD提交单选题1分第13讲数据怎样管理-数据库一、什么是数据库二、什么是数据库系统三、怎样操纵数据库四、数据库的思维:从语言到系统,从抽象到理论与设计数据格式数据981102数据库李四99秋02王四90谁能访问数据更新数据有什么要求…………
用户定义的数据安全性约束条件阶段1:User/DBAP通过数据定义语言(DDL)定义数据表的格式阶段2:User/DBAP通过数据操纵语言(DML)操纵数据进出数据库User/DBA通过数据控制语言(DCL)定义数据安全性班级课程教师学期学号姓名成绩981101数据库李四98秋01张三100981101数据库李四98秋02张四90981101数据库李四98秋03张五80981101计算机李五98秋01张三89981101计算机李五98秋02张四98981101计算机李五98秋03张五72981102数据库李四99秋01王三30981102数据库李四99秋02王四90981102数据库李四99秋03王武78学生成绩单DBUserDBMS检查用户合法性检查数据合法性按用户要求的操作执行并返回结果。DBAP数据库的思维:从语言到系统,从抽象到理论与设计回顾:数据库系统的概念SQL:StructuralQueryLanguageSQL语言是数据库系统的标准语言,它可以定义数据库、操纵数据库和进行数据库控制。SQL语言主要由以下9个单词引导的操作语句来构成,但每一种语句都能表达复杂的操作请求。
DDL语句引导词:Create(建立),Alter(修改),Drop(撤消)定义Database,Table,View,IndexDML语句引导词:Insert(插入),Update(更新),Delete(删除),Select(查询)各种方式的更新与检索操作各种条件的查询操作,如连接查找,模糊查找,分组查找,嵌套查找等各种聚集操作,求平均、求和、…等,分组聚集,分组过滤等
DCL语句引导词:Grant,Revoke安全性控制---授权和撤消授权数据库的思维:从语言到系统,从抽象到理论与设计什么是结构化数据库语言SQL创建课程学习数据库:SCT
CreateDatabase
SCT;SCT定义学生表:StudentCreateTable
Student(S#
char(8)notnull,Sname
char(10),
Ssex
char(2),Sage
integer,D#
char(2),Sclass
char(6));定义课程表:Course
CreateTableCourse(C#char(3),Cnamechar(12),
Choursinteger,Creditfloat(1),T#char(3)
);同学可自己定义其他的表:Dept,Teacher,SCStudentCoursecreatetable
表名(列名数据类型[notnull][,列名数据类型,…]);数据库的思维:从语言到系统,从抽象到理论与设计用SQL语言创建数据库并定义表-简介insertinto表名[(列名[,列名]…]
values
(值[,值],…);追加学生表中的元组InsertIntoStudentValues(‘98030101’,‘张三’,‘男’,20,’03’,‘980301’);InsertIntoStudent(S#,Sname,Ssex,Sage,D#,Sclass)Values(‘98030102’,‘张四’,‘女’,20,’03’,‘980301’);追加课程表中的元组InsertIntoCourse
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年陕西省渭南市法官逐级遴选考试题及答案
- 基于构件技术的毕业生管理信息系统设计与实践研究
- 基于机器学习的缺陷深度反演:原理、方法与应用新探
- 基于本体的船舶领域知识获取:技术、应用与创新发展
- 基于服务质量的Web服务选择:模型、算法与应用研究
- 基于有限元方法的汽车夹层玻璃冲击破坏现象深度剖析与仿真研究
- 基于有效市场假说的中国B股市场效率深度剖析与实证检验
- 基于智能算法的电网急救包补仓配送路径优化研究
- 基于智能感知的砌块成型机生产线监控系统关键技术与应用研究
- 中医刮痧师岗位技能考试试卷及答案
- DB34∕T 3079-2026 河道堤防减压井及测压管管理规程
- 2026统考专升本英语:作文模版20篇
- 2026年成人高考全科试题及答案
- 2026年高级养老护理员职业技能考试练习题附答案
- 2026年高考语文真题全国一卷文言文逐句注解+翻译(含课内拓展+文言现象)
- 2026年设计院工作总结(2篇)
- 2026年硫酸软骨素原料药行业分析报告及未来发展趋势报告
- 企业微信使用教程
- 2025-2030中国香料烟行业市场发展运行及发展趋势与投资前景研究报告
- JJG 1189.1-2026 测量用互感器检定规程 第1部分:标准电流互感器
- 检验科消毒隔离培训考核试卷(附答案)(2026年)
评论
0/150
提交评论