sql数据库原理

数据库原理
第一章 关系模型与关系代数
1.完整性约束
(1)实体完整性规则(主码不为null)
(2)参照完整性,用来描述实体之间的联系
(3)用户自定义完整性

 

2.关系代数
(1)传统的集合运算
并 (t属于r或者s)t = r U s

 

差(t属于r不属于s) t = r – s

 

交(t属于r并且属于s)t=r n s

 

笛卡尔积(t的个数为r*s) t=rxs

 

 

 

 

3.表达式

 

 

 

连接
和笛卡尔积一样

除(在R中具备S的集)

 

 

 

 

第二章 SQL语言
1.sql语言
(1)数据查询 select
(2)数据定义 create drop alter
(3)数据操纵 insert update delete
(4)数据控制 grant revoke

Select数据查询:
句式(select from where group by having order by )
消除重复元素distinct
Where 里面的用词
(比较运算)>、=、<、<=、>=、<>(!=)
(逻辑+is null)and/or/not/is null
(设范围+in)between and/in
(匹配)like

聚合查询
函数有sum count avg只有在having里面使用
Where是对元组进行过滤,having对分组进行过滤

集合运算
Union except intersect(SQLserver不支持)

存在量词
Exists

 

 

create drop alter数据定义:
create、alter、drop(database、table、view、index)注:index无修改
数据库的创建
Create database xx
On
(name=xx
Filename=’路径+xx.mdf’
Size=
Maxsize
Filegroup=
)
Log on
(name=
Filename=
Size=
Maxsize=
Filegroup
)

数据库的修改
Alter database <databasename>
Modify file(name=
Size=
)

数据库的删除
Drop database <databasename>

表的创建
Create table xx
(x1 类型 not null、
X2 类型 not null、
Constraint 主键名称 primary key(x1)
Foreign key(x2) referenges 表名(x3)
或者 constraint 外键名称 foreign key(x2)referenges 表名(x3)
)

表的修改
Alter table xx
Add x3 类型
Drop x3
Alter x2 类型

表的删除
Drop table xx

 

索引的建立
Create 索引名 on 表名(x1,x2 desc) –先由x1升序,在由x2降序

 

索引的删除
Drop index 索引名

视图的建立
Create view 视图名
As
Select查询部分

 

视图的更新
Update 视图名
Set
Where

 

Drop view 视图名 cascade –有关联的都会删除

 

Sql数据更新
Insert into 表名(x1,x2,x3) values
(x1,x2,x3)

Delete from 表名
Where

Update 表名
Set
Where

 

 

 

第三章 关系数据理论与模式求精
1.函数的依赖

 

 

 

 

寻找主码候选码:

 

 

判断是否为无损分解

 

 

 

范式理论

 

 

 

判断是第几范式
(1)找出候选码
(2))由范式理论判断

 

 

 

Bcfn:

 

 

 

 

 

模式求精

 

 

 

Bcnf分解不唯一