数据库系统概论课堂笔记-关键概念

一、关键概念

1.关系

   关系即对应数据库中的一张表,实际是不同域的笛卡尔积的真子集,是关系模型的数据结构。

2.关系模式

   关系模式:即对于关系的描述,它可以形式化地表示为R(U,D,dom,F),其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,dom为属性向域的映射集合,F为属性间数据的依赖关系集合。

3.模式

   关系型数据库有三级模式,怎么理解CREATE SCHEMA中的模式?

   这里的模式相当于一个命名空间(namespace),该namespace为一个DBA用户所有,或者说相对应,在SCHEMA内部可以定义诸多数据库对象,例如表、视图、索引等等。

4.索引

   索引的定义:CREATE[UNIQUE][CLUSTER]INDEX<索引名>ON<表名>(<列名>[<次序>],.....),由定义可知索引是建立在基本表之上的。

   由索引定义也可知,索引中包含由表或视图中的一列或多列生成的键,这些键存储在一个结构中(如B+树,如HASH表),使SQL可以快速有效地查找与键值关联的行。

   索引就像是书的目录,是与表或视图关联的磁盘上结构,可以加快从表或视图中检索行的速度。

5.视图

   在SQL支持的数据库三级模式中,外模式对应视图,可以理解为:视图为用户所能看见的关于数据库的部分。具体表现为操作数据库的窗口,是建立在基本表上的虚表。

   举个例子:

         CREATE VIEW IS_Student AS SELECT Sno,Sname,Sage FROM Student WHERE Sdept='IS'

         SELECT* FROM IS_Student

    解释:第一条语句,这里相当于将SELECT的结果放入虚表中IS_Student中。第二条语句,这里相当于SELECT一遍虚拟表,最后查出所有数据。

    对视图的插入、删除、更新等操作最终均要对基本表进行操作,这里实际是视图的消除机制,即将对视图的操作最终转为对视图所对基本表的操作语句。但注意某些视图时不可消除的,例如在创建视图的时候可以自定义一个属性值T,那么这时候如果再对该视图进行操作,就无法对基本表进行操作,因为无法得知属性值T对应基本表中的哪些属性。

    什么样的视图可以更新?答:基本表的行列子集视图可以更新。理解为视图中的属性列一定是基本表中的属性列,所以一定可以更新(消除视图)

    使用视图的优点?

          1.视图能够简化用户的操作

          2.视图使用户能以多种角度看待同一数据,自己对这句的理解:视图实际上是对应三级模式中的外模式,即为用户服务,基本表对应的是模式。有些时候对于繁杂的属性列,用户可能只希望看见多个属性列的中某几列,这时候就可以建立视图,为用户提供仅有所需属性列的虚表。

          3.视图对重构数据库提供了一定程度的逻辑独立性

          4.视图能够对机密数据提供安全保护

          5.适当的利用视图可以更清晰的表达查询

6.实体

    实体是概念模型中的概念,对应现实世界中的事物,例如一名同学,一门课程。在数据库中的体现是:一张表的一个元组

7.超码/候选码/主码/外码

    (1)超码:一张关系表中能够唯一地标识一个元组的属性或属性组,且该属性组存在其一真子集仍为超码。

        例:Student(Sno,Sname,Sdept,Grade),该关系模式中(Sno,Sname,Sdept)可以唯一地标识一个元组,但(Sno,Sname)也可以唯一地标识一个元组。那么(Sno,Sname,Sdept)就是关系模式Student的一个超码。

    (2)候选码(候选键):一张关系表中能够唯一地标识一个元组且其任一真子集均不能唯一地标识元组的属性或属性组称为候选码。

        例:Sno_Grade(Sno,Sname,Sdept,Cno,Grade),该关系模式中,(Sno,Cno)可唯一地标识一个元组,但Sno或者Cno均不可唯一地标识一个元组,则称(Sno,Cno)为关系模式Sno_Grade的候选码。

    (3)超码和候选码的关系:超码就是候选码+其他无关的属性形成的属性组

    (4)主码(主关键字):候选码的多种组合,主码不唯一,可以多个属性组成主码。

    (5)外码:对于表A,表A的一个属性对应其他表B的主码,那么这个属性称为表A的外码。

8.主属性

       主属性:候选码中的属性称为主属性,注意:若有多个候选码,那候选码中的属性都叫做主属性。

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值