数据库期中整理

关于null:

  • 涉及到null的算数表达式,结果为null
  • 测试空值:is null, is not null
  • 涉及null的比较运算,结果为unknown
  • select distinct:null = null , 结果为true
  • where:谓词结果为unknown,当做false处理(不计入结果集)
  • 聚集函数:除count(*)外,所有聚集函数忽略null;若聚集函数输入只有空集,count(*)=0,其他为null
  • 外码属性允许为null,只要没被声明为not null
  • primary key 自动声明为not null
  • unique:该元祖有一属性为null,unique测试可能为真
  • 候选码允许为null

完整性约束:

-    alter table table-name  add <constraint>
  • 单个关系上的约束:
    not null
    unique
    check(<谓词>):谓词可以为包括子查询在内的任意谓词

  • 参照完整性

  • 复杂check条件与断言(assertion)
    域约束和参照完整性约束是断言的特殊形式
    SQL不提供"for all x ,P(x)" ==> " not exists X such that not P(X)"

关于冗余:

  • union,intersect,except自动消除冗余
  • 不允许在count(*)中使用distinct

知识点

  • 数据库系统:由一个互相关联的数据集合和一组用以访问这些数据的程序组成

  • 视图层

  • 逻辑层:降低耦合 为上层应用屏蔽了复杂的底层存储细节,即物理数据独立性

  • 物理层

  • 模式:schema——数据库的总体设计

  • not exits (B except A) ==> A包含B

  • 标量子查询:该子查询返回包含单个属性的单个元组

  • 标量子查询可以出现在select,from,where中

  • 参照完整性约束:参照关系的任意元组在特定属性上的取值,必须等于被参照关系在该特定属性上的取值,

  • delete删除元组:delete r where p

  • 可以在select子句中加入标量

  • create assertion <assertion-name> check <predicate>;

  • 创建索引
    create index studentID_index on student(ID);

 creat domain degree_level varchar(10)
        constraint degree_level_test
        check(value in('Bachelors','Masters','Doctorate'))
  • 三层结构的关系命名机制:目录/模式/关系 视图
  • 授权
grant 权限 on 关系 to 用户[with grant option];
//delete,update,select,insert,all
  • 等值连接不去掉重复属性,自然连接去掉重复属性

除运算1
除运算2除运算3
除运算4

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值