database


关系代数:
1.投影和选择的区别:投影是选择列。 选择是选择行。√
2.等值连接是没有去掉再重复列的√
3.并差交是两张表在垂直方向上的运算,要求两个关系是相容关系(属性个数相等,)
4.传统的集合运算:并差交、笛卡尔积
5.专门的关系运算:选择、投影、连接、除
6关系代数的基本运算:并、差、笛卡尔积、选择、投影(加减乘,横竖)
7.不同列可以取自同一域,同一列不能取自不同域√
8.R-S:只出现在R中不出现在S中的集合
9.投影符号:π。投影可以去重复的行。 选择符号:σ。且:∧ 不等:<>
10.要显示一个表格中(除去)某些元组之外的其它元组,用差
11.要查询某表格中某列的值在另一列有两个以上对应的值:用一次笛卡尔积或等值连接,然后去除重复
12.要查询某表格中某列的值在另一列有3个以上对应的值:用两次笛卡尔积或等
13.查询至少选修两门课程的学号:
①先笛卡尔或等值连接
笛卡尔积:σ学号1=学号3(表X表)
等值连接:表(以学号等值连接)表
②去掉选修的两门课程中是重复的课程/选择两门课程是不同的行
σ学号1=学号3∧课程2≠课程4(表X表)
σ课程2≠课程4(等值连接)
③把学号投影出来:π学号(①②)
14.(除)求我表某列中与另一表某列的所有元素都有映射关系的元素:用我表的映射关系去除另表的那列即可
15.(除)求我表某列的那些元素(和另表某列至少有多少个元素的映射关系):先用选择把另表这列的这几个元素筛出来,然后相除
16.求选修包含某某几门课程的学号:先用选择把这列的这几门课程选出来,然后学号和课程映射表÷选择后的几门课程列=至少映射这几门课程的学号
17.求我表某列的元素,满足条件(至少和另表某列的元素有一个以上的对应关系):笛卡尔积或等值连接,无须去重复(重复的即满足最少一个对应关系的条件)
18.差,一般用于至少的关系中;而笛卡尔积用确定是多少个关系中
19.自然连接转换为SQL为内连接:inner join on
20.union和join的区别:union将两表纵向合并、排序并去重复;而join则是横向关联表
21.目/度:表格的列数(属性数)
22.表(关系)的元素即表的行?
23.外码要么取空(该外码不是主属性才能取空)、要么等于参照表中的主码值√
24.查询未做某事的数据:做了该事的假的情况和什么都没做的情况(即值为null)
25.查询时有多个限制条件且存在限制条件的值是多个,则:分而治之,每个限制条件对应一个查询,然后将他们自然连接。
26.(除)一般用在“全部”的题目中,即除以全部

元组关系演算语言ALPHA:
1.查询:GET W (表名.列名1,表名.列名2):限制条件   注:有属性的地方,其前加表名
2.显示查询的前n条数据:GET W (n)(.....):
3按某属性降序排:DOWN 表名.属性
4.声明元组变量:RANGE 表名 元组变量名
5.当限制条件出现如存在量词这样的量词时,必须使用元组变量
6.至少做了A的B数据:E 元组变量1(,E元组变量2(,元组变量2.属性=‘A’))
6.至少做了A的B数据:E 元组变量1 E 元组变量2(,元组变量2.属性=‘A’)
7.做了全部元组变量X的元组变量Y的数据:VxEY
8.X表里的a做了Y表的某些事儿,求X表里那些在Y表里至少都做了a做的事儿的人:V Y(E X(x.no='a',) =>E X'(X'.no=X表.no,))


域关系演算语言QBE:
1.即在已有的关系模式(表头)的基础上,去除关系(表的值),在表头下填写相应的限制条件,表头所有信息都不能省略
2.查询全部信息:直接在关系名(表名)下写p.或给每个属性都给一个例子(p.下划线例子)
3.若对某一列/某一属性的查询有多个限制条件
4.两表的连接查询:相同的属性(连接属性)要给相同的下划线示例
5.查询两个以上做某事的数据:给两行例子,第二行中要查询的列的例子是第一行例子为假的情况。两行做某事的例子都一样
6.求某种查询结果的非:在表头下写‘非’

关系数据库标准语言SQL:
1.索引建立在基本表上,不能在视图上建立索引
2.数据类型转换函数:CAST、CONVERT
3.视图不能更新的几种情况:①视图的属性来自集函数、表达式,则该视图是不可以更新的
                                       ②视图数据来源自多个基本表,则不能更新
                                       ③视图中不含有基本表的主码,不能更新
4.删除一个或多个元组:delete from table xx where .......
5.修改表的字段用alter COLUMN而不是alter TABLE
6.找一个关系(表)的的候选码:①没有重复值的列;②没有重复值的组合列
7.在依赖/决定关系中找候选码:至少要包含不依赖于其它任何属性的属性的组合
8.SQL中不管什么连接还是笛卡尔,两个关系得有相同的属性才能结合,放在where条件后
9.聚合函数作为条件时只能放在having后不能放在where后
10.group by:在select查询字段要么也包含在Group By语句的后面,作为分组的依据;要么在select后的聚合函数中。
11.比较的条件是一个查询的结果时,这个结果很可能是一个结果集,故要使用all或any(子查询返回的是多值时要用any或all)
12.关系代数的除在SQL中用NOT EXISTS ( B EXCEPT A)实现,A包含B,A除B,不存在属于B而不属于A的元组
13.any和all能实现的,聚合函数也能实现且查询效率更好!
14.“=any”==“IN”;"<>ALL"==“NOT IN”

SQL语句模板:
1.修改某单元格:update 表名 set 属性名=xx where
2.删除一个或多个元组(行):delete from table 表名 where .......
3.from>where>group by>having>order by 列名1 desc,列名2,列名3 desc;
4.除/中间表包含A:SELECT * FROM B
 WHERE NOT EXISTS(
    
SELECT * FROM A
    WHERE NOT EXISTS(
        
# 用中间表将A,B连接起来
        
SELECT * FROM 中间表
 WHERE 中间表.key1 = A.key AND 中间表.key2 = B.key
)
)
4.除(涉及两个表):SELECT * FROM A WHERE NOT EXISTS(
 中间表 where 条件 and NOT EXISTS(
 中间表 where 连接条件)

SQL解题:
1.“至少两个”:关系表和自己连接,主体人id的等值连接,‘至少两个’的属性的不相等的连接,查询的内容去重要给表取别名
1.“至少两个xx的人”:select distinct 别名.属性 from 表1 别名1,表1 别名2  where 别名1.人属性=别名2.人属性 and 别名1.事属性=别名2.事属性;
2.关系代数里的除在SQL中用包含来实现


数据库安全性:
1.授表权语句:GRANT 操作 ON TABLE 表名TO 用户;
2.授数据库权语句:GRANT 操作 ON DATABASE 数据库名 TO 用户;
3.授予所有权限:grant all privileges
4.授予给所有用户:grant...to PUBLIC;
5.授予修改表结构:GRANT ALTER TABLE ON 表名
5.撤销权限:REVOKE 操作 ON 表名 FROM 用户
6.限制条件~表里面的NAME为用户名:when NAME =user()
7.MAC许可证级别存取规则:大于等于可读,等于可写

数据库的完整性:
1.sqlserver的rule和default属于数据库对象
2.SQL Server的约束包括UNIQUE、DEFAULT、 RULE、PRIMARY KEY和FOREIGN KEY等

关系数据理论:
1.看一个表是不是关系就看它是否满足第一范式
2.2NF解决的问题:插入、删除、修改;存在的问题:2NF可能存在传递依赖,这些问题留给3NF解决
3.3NF解决的是2NF的非主属性对候选码的传递依赖问题,使自己不存在传递依赖和部分依赖
3.3NF存在数据操作异常,留给BCNF解决。3NF任然存在一定的插入、删除异常
4.BCNF解决3NF存在数据操作异常、消除了每一属性对候选码的传递依赖;
5.部分函数依赖:主码/主键只由一个属性组成时,即这个关系不存在部分函数依赖。
6.部分函数依赖:主键/码有多个属性组成,只要码里的子集属性是决定因素,则部分依赖


常见依赖关系:
1.课程和教师是相互依赖的
2.教师决定教师地址/教师宿舍   教师地址/教师宿舍依赖于教师

常见的ER关系:
1.仓库1-n产品;教研室1-n教员;
2.顾客n-m商品
3.

数据库设计:
1.概念模型的有力工具:ER图  实体-矩形,属性-椭圆,联系-菱形
2.在将局部E-R模型集成为全局E-R模型时要解决三类冲突:属性冲突、结构冲突和命名冲突。
3.概转逻步骤:ER概念结构->关系、网状、层次模型->数据模型->优化数据模型
4.概念设计阶段-概念模式(ER图);逻辑设计阶段-数据模型和外模式(视图);物理设计阶段-内模式
5.物理设计步骤:确定结构(存取方法和存储结构)->结构评价(时间空间效率)


数据库恢复技术:
1.检查点之前提交的事务没必要执行REDO操作


并发控制:
1.并发操作不加以控制会导致数据不一致,但不会导致死锁。
2.死锁是并发操作的上锁不当导致的

事务:
1.在系统发生故障之前,已提交数据的事务要重做;其他事务回滚。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值