浏览 1770 次
锁定老帖子 主题:数据库总结
精华帖 (0) :: 良好帖 (0) :: 新手帖 (2) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-04-26
数据库= 实体 + 关系 实体:实体就是一个实际的对象,即主键. 关系:外键 三个范式: 第一范式: 1. 一个行的每个列必须具有原子性,即任何给定行的列只能包含一个值 2. 表中的每行必须包含相同数量的列,假如每个列只能包含一个值,即意味着每行必须包含相同数量的值. 3. 一个表中的所有行必须是不同的,虽然可能包含相同的值,但每行作为一个整体必须在整个表中试唯一的. 第二范式: 非主必须依赖于主键列键列(设计一个实体必须是它的固有属性) 第三范式: 非主键列之间必须相互独立(不能通过一个字段知道另一个字段的值) 注:NF1和NF2必须满足. 实体: 强实体:能脱离主键列而单独存活 弱实体:脱离了主键列就不能存活(没有什么意义) 关系: 实体与实体之间的关系(一对一,一对多,多对多) 一对一:从一边到另一边是一对一,反过来还是一对一 一对多:从一边到另一边是一对多,反过来是一对一 多对一:反过来就是一对多 多对多:从一边到另一边是一对一,反过来还是多对多,但实际中一般不用多对多而用一对多或多对一 注:找关系一定是以“一”为标准,从一个实体的一条记录出发。 主键:用来对实体的唯一标识 代理主键:没有什么实际的意义 业务主键:与业务有关,一般情况下,业务变更业务主键也要相应的变更 外键:表示表与表之间的关系,表不一定要有外键才有关系 例如:在学生表中,学号(学生表)和 科目编号(科目表)是独立主键 学号+科目编号(成绩表)是复合主键。 创建序列: SELECT * FROM emp CREATE SEQUENCE tt CREATE TABLE t_class( cid NUMBER(5) PRIMARY KEY, cname VARCHAR2(8) ) INSERT INTO t_class(cid,cname) VALUES(tt.NEXTVAL,'1'); INSERT INTO t_class(cid,cname) VALUES(tt.NEXTVAL,'2'); INSERT INTO t_class(cid,cname) VALUES(tt.NEXTVAL,'3'); INSERT INTO t_class(cid,cname) VALUES(tt.NEXTVAL,'4'); SELECT * FROM t_class 创建同义词: CREATE PUBLIC SYNONYM yy FOR t_class SELECT * FROM yy 视图理解: CREATE OR REPLACE VIEW 视图名 AS SQL查询; 例如: CREATE OR REPLACE VIEW T_EMP AS SELECT * FROM EMP E LEFT JION DEPT D ON E.DEPTNO=E.DEPTNO 删除: DROP VIEW 视图名 视图的作用: 1. 保护数据安全 2. 简化数据的查询和处理操作 3. 有利于数据交换操作 4. 有利于简化对用户权限的管理 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |