Oracle数据库第四讲

一、数据库原理讲解

关系数据模型

---数据库技术   70年代提出共享数据库数据的关系模型  IBM公司---层次模型数据库,网状模型数据库,关系模型数据库、面向对象数据库模型

关系数据库系统---采用关系数据模型的组织方式

关系模型----数据结构   关系的操作集合  关系的完整性的约束

数据结构:是计算机存储、组织数据的方式。 就是指相互之间存在一种或多种特定 关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的云系甘或者存储效率,数据结构往往同高效的索引技术有关

关系数据库最主要的就是数据结构的关系。

实际表示中:

关系:可以由行  和  列

每一列  表示关系的一个属性   每列的名字表示一个属性名称  每一行 表示一个记录,代表一个无视的实体,在所有的数据都是通过表进行存储

在关系模型中   列被称为属性||字段

行:元组|记录

记录集合:关系|实例

候选键:若表中的某个属性|属性组的取值能够唯一标识一行记录。则称该属性或属性组为 候选键。

主键:主属性

外键:假设X是表A中的一个属性组合,若X同时是另一个表的主属性,则称X是表A关于表B的外键

怎么判断是否是候选键

1.唯一规则  在表的记录不可重复

2.不可简化的规则。作为候选键的属性组合中,某属性组合的任意子集都不具备唯一性

{sid,sname,sirthday} 属性组合 | {sid} 二者均可独立标识表中的  每一行, 表现处理 唯一性

二、关系完整性约束

A)实体完整性

主属性 不能取空值

参照完整性

     以上两个是必须满足的

用户定义的完整性

关系与关系的模式

型 关系模式是型  关系是值    关系模式是对关系的描述

因为关系实质指的就是一个二维表

R关系名

U该关系的属性集合

dom属性向映射的集合

属性之间的依赖关系

简化:

R(a1,a2,a3,a4.....an)

---------------------------------------------------------------------

B)数据库设计

1.信息的收集

2.确定数据

3.建立实体----关系模型

4.进行规范化 

5.编写sql语句创建数据库

----------------实体   ---关系模型

E--R

实体   基本对象

属性   实体的特征

联系

11

公民---身份证号

1n

部门   员工

1 n

E-R

--实体转换表

--实体间的联系   通过外键处理

关系数据库规范化的理论

C)3NF范式

依赖关系

R(U)  xy都是U的子集,若对于R(U)的任意可能关系 r,r中不存在两行记录在x上的值相同,而在y值上不同,则称x依赖于y   X--->y

X->Y   x不包含于y  非平凡函数  

x--y  x包含于平凡函数 

x->y  y->x    x<- ->y 

不依赖

x->y  x任意一个子集x'  都有y不依赖于x'  y完全依赖于x   x完全依赖于y

R(u)

y->x  x->z x-/->y    y->z  y依赖于z

例子:

R(学生,学号,姓名,出生日期,性别,所属院系,系主任姓名,选修课,选修课程号,成绩等)

学号-->姓名

系的名称----系主任名

(sid,stdeo) ---系主人名称

student(学号,姓名,出生日期,性别,系名称)

xi(系名称,系主任)

选修课(课程号,选修课的名称)

xx(sidcid,成绩);

sd(class 系的名称)

3NF范式

1NF 属性不可分 :如果关系R中的每一个关系都是不可分的  就是第一范式

满足了1NF再考虑 2NF范式,  所有的非主属性都完全依赖于任意候选键

3NF范式  表中的每一个属性都不传递依赖于任何候选键

BCNF范式, 对3NF进行修正和扩展的范式

三、DDL数据操作表

a) 查询数据字典

i. 查看用户定义的表

SELECT table_name 

FROM   user_tables ;

ii. 查看用户定义的各种数据库对象

SELECT DISTINCT object_type 

FROM    user_objects ;

iii. 查看用户定义的表视图同义词和序列

SELECT * 

FROM   user_catalog ;

b) 创建表

必须具备权限和存储空间两个条件

必须指定表表 列名 数据类型,尺寸

CREATE TABLE dept
(deptno  NUMBER(2),

dname  VARCHAR2(14),

loc  VARCHAR2(13));

数据类型:

varchar2(size) 可变长字符数据   最大长度4000 bytes

char(size) 定长的字符数据     2000

nvarchar2()//根据字符集而定的字符串,主要含有中文

nchar()  根据字符集而定的字符串,主要含有中文

number(p,s)   可变长数值数据 p为有效数字位数指定, s为小数位数指定  

Date 日期型数据

Long 可变长字符数据,最大可达到2G

Clob 字符数据,最大可达到4G

raw 原始的二进制数据

blob 二进制数据,最大可达到4G

Bfile 存储外部文件的二进制数据,最大可达到4G

Rowid 行地址

c) 修改表结构 

i. 追加新的列

ALTER TABLE table

ADD    (column datatype [DEFAULT expr]

   [, column datatype]...);

ii. 修改现有的列

ALTER TABLE table

MODIFY    (column datatype [DEFAULT expr]

   [, column datatype]...);

iii. 为新追加的列定义默认值

ALTER TABLE table

DROP    columnss   (column);

iv. 删除一个列

ALTER TABLE table_name rename column old_column_name 

to new_column_name

d) 删除表

数据和结构都被删除

所有正在运行的相关事物被提交

所有相关索引被删除

DROP TABLE 语句不能回滚

DROP TABLE tablename;

e) 清空表

TRUNCATE TABLE 语句

删除表中所有的数据

释放表的存储空间

TRUNCATE语句不能回滚

f) 重命名

执行RENAME语句改变表视图序列或同义词的名称

RENAME dept TO detail_dept;

必须是对象的拥有者

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值