赞
踩
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
目录
博主最近终于想起自己上学期期末还在CSDN上发着复习博客呢,正好最近也在复习数据库,就顺便写一下复习总结吧。
我的内容依旧以习题为主,目的是立根基而非修枝叶,详细的基础概念还需读者自行参照ppt及其余资料。
本篇文章大致思路如下:
本篇文章仅作学习分享,如有谬误欢迎指正。
这部分与sql语句的考察形式很像。重点掌握以下几个符号:
:选择一列
:选择一行
自然连接符号(不知道怎么打出来):需要多个表关联的时候就直接用它
除运算:出现“至少”“全部”这样的字时用它
笛卡尔积:一般是出现“二”这样的字眼的时候用它
减运算:出现“不”这样的字眼的时候用它
这里的答案实际上上图已给出,下面的其实是我又把这题重新写了一遍。。
1.这类型的题属实不太好用文字总结出统一的做题步骤,唯一的办法就是先看一下 视频教程再自己练习。
2.在书写时不要忘记在小括号内写上表对象。
这部分资料特别多,大家学习的路径不一,我就不列出具体的参考资料了。
需要注意的点:
代码书写可以全部用小写
语句后跟的是()
括号内语句以逗号分隔
语句内以空格分隔
注意单词拼写
primary
constraint
References
foreign
注意以下关键词的使用
group by<>having
order by
join on
like通配符
数据库原理期末考试有关E-R图的解题方法。_哔哩哔哩_bilibili
这类题的难度是不大的,非常有规律可寻,步骤如下:
1. 在题干中用方框框出所有的实体,用菱形框出所有的联系,用椭圆圈出所有的属性。(这里有个技巧是可以在框实体之前先去看题干给了哪些东西的属性,给了属性的才把它作为实体,没给的就不用。)
2. 根据刚才框出的结果画出实体、联系、属性,各部分之间用直线连接
3. 分析实体之间的关系是一对一、一堆多还是多对多,在实体旁标出数字
4. 转化成关系模式:遵循下面的转换关系,转化好之后最好在主码下面加下划线
本题中,便可以用到之前所说的技巧 :在确定实体的时候,直接先去看后面题干中哪些东西给出了属性,给出了属性的(产品、零件)才作为实体,没给的(工厂)就不作为实体。
由于本文编写得过于草率,下题中的字迹烦请忽略
给出关系模式如何写出函数依赖、如何将第一范式分解为第二范式、第三范式_哔哩哔哩_bilibili
这一部分的考法也相对固定,题目给出关系模式或者数据表,让我们判断是第几范式,再一步步进行分解,要点总结如下:
第一范式:表内数据不可再分
第二范式:表内每个非主键都能被所有主键唯一标识(无部分依赖)
第三范式:表内不存在传递依赖
BCNF范式:表内所有函数依赖都由主键推出
第四范式:消除了多值依赖(例子中的)
有读有写上x锁,只有读的上s锁,别的事务锁住的时候就wait
针对丢失修改(丢失更新):
针对脏读:
针对不可重复读:
步骤基本上都是一样的,先看事务中有哪些操作,如果只有读就用s锁,如果读写都有就用x锁。检验正确性的方法就是将两个事务串行运行一遍的结果与当前上锁之后并行运行的结果进行对比,一样则正确。
创建函数的格式如下:
- create or replace function myFunc() returns integer as $$
- declare
- //在这里声明变量
- begin
- //在这里书写sql语句和返回值
- end
- $$language plpgsql
这里的$$可能有人会不理解是什么意思,实际上可以直接认为它是函数体开始和结束的标志即可,需要成对出现且内容一致。
注意,对于成电信软专业考试需要手写代码的情况,,,需知道pgsql是不严格区分大小写的,所以所有的代码都可以用小写代替。
创建触发器需要两步:
1.创建触发器函数
2.创建触发器
其格式如下:
- //创建触发器函数
- create or replace function myTriggerFunc() returns trigger as $$
- begin
- //书写sql语句
- return new;
- end
- $$language plpgsql
-
-
- //创建触发器
- create trigger my_trigger
- after update on mytable
- for each row
- execute procedure myTriggerFunc();
由于本篇文章于期末周内草率完成,内容不正确之处还请批评指正。此外,针对例题不足的情况,我会在之后尽力补充,不过就当前内容来说,基本的例题对于读者掌握做题方法来说应该是没有问题的。
相关参考:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。