数据库复习
连接,一共分为自然连接,内连接,外连接。
笛卡尔连接就是n*n的形式
自然连接在笛卡尔连接的基础上,但两个表必须有相同的属性列,而且相同属性列的值必须相同,然后舍弃其他元组。
再就是内连接,内连接比自然连接范围更大,只要求给定的属性值相同,不要求是相同的属性列。
最后是外连接,外连接有左右全,左就是保留自然连接左边,其余类似。
等值连接是内连接的子集。
数据库故障恢复:
总结的一共有三种,
第一种事务故障(即做了一半就出现故障),此时你要不断循环判断操作,结束条件是找到该事物的开始标记,循环操作是执行已更新操作的逆操作(undo)。
第二种系统故障(数据库不一致),此时,redo和undo,正向扫描日志文件,已提交的放入a队列,未提交的放入b队列,最后正向redo队列a,反向undo队列b。
第三种介质故障(硬件坏了),恢复备份,然后正向扫描日志文件,对已提交的执行redo。
SQL 提供了sp_rename改名,ALTER TABLE可以修改、增加、删除列属性,但不能更改列名,除非是删除这个列,重新建一个列,这样的话数据就会丢失。
下面转的一个关于Alter子句用法
在修改Sql Server表结构时,常用到Alter语句,把一些常用的alter语句列举如下。
1:向表中添加字段
Alter table [表名] add [列名] 类型
2: 删除字段
Alter table [表名] drop column [列名]
3: 修改表中字段类型 (可以修改列的类型,是否为空)
Alter table [表名] alter column [列名] 类型
4:添加主键
Alter table [表名] add constraint [ 约束名] primary key( [列名])
5:添加唯一约束
Alter table [表名] add constraint [ 约束名] unique([列名])
6:添加表中某列的默认值
Alter table [表名] add constraint [约束名] default(默认值) for [列名]
7:添加约束
Alter table [表名] add constraint [约束名] check (内容)
8:添加外键约束
Alter table [表名] add constraint [约束名] foreign key(列名) referencese 另一表名(列名)
9:删除约束
Alter table [表名] drop constraint [约束名]
10:重命名表
exec sp_rename '[原表名]','[新表名]'
11:重命名列名
exec sp_rename '[表名].[列名]','[表名].[新列名]'
创建注释(N'user', N'dbo', N'TABLE' 为固定的写法)
12:为表添加描述信息
EXECUTE sp_addextendedproperty N'MS_Description', '人员信息表', N'user', N'dbo', N'TABLE', N'表名', NULL, NULL
13:为字段Username添加描述信息
EXECUTE sp_addextendedproperty N'MS_Description', '姓名', N'user', N'dbo', N'TABLE', N'表名', N'column', N'Username'
14:为字段Sex添加描述信息
EXECUTE sp_addextendedproperty N'MS_Description', '性别', N'user', N'dbo', N'TABLE', N'表名', N'column', N'Sex'
15:更新表中列UserName的描述属性:
EXEC sp_updateextendedproperty 'MS_Description','新的姓名','user',dbo,'TABLE','表名','column','UserName'
16:删除表中列UserName的描述属性:
EXEC sp_dropextendedproperty 'MS_Description','user',dbo,'TABLE','表名','column','Username'
数据库 ACID特性
A:原子性,表示事务是不可分割的,要不都发生,要么都不发生。
C:一致性,表示事务的完整性约束不被破坏。
I:隔离性,表示多个事务并发访问时,事务之间不会相互影响。
D:永久性,当事务完成之后,数据应该被永久保存在数据库中,并且不能被回滚
数据独立性:物理独立性(用户程序和磁盘上的数据库是相互独立的),逻辑独立性(用户程序和数据库里的逻辑结构是相互独立的)。
数据模型:数据结构,数据操作,数据约束。
三级模式:外模式,概念模式,内模式-----有效组织管理数据
两级映像:指外模式和概念模式,内模式和概念模式之间的映像
数据库设计步骤:
1.需求分析
2.概念结构设计
3.逻辑结构设计
4.物理结构设计
5.数据库的建立与测试
6.数据库的运行与维护
贴一个关系代数除法的解释