数据库表有两种基本类型:关系表对象表关系表有三种特征组织表堆组织表 :不按照特定的顺序排列索引组织表:按照主键进行排列外部表:只读表。元数据存储在数据库中,而数据存储在数据库外面表要么是永久的,要么是...
数据库表有两种基本类型:
关系表
对象表
关系表有三种特征组织表
堆组织表 :不按照特定的顺序排列
索引组织表:按照主键进行排列
外部表:只读表。元数据存储在数据库中,而数据存储在数据库外面
表要么是永久的,要么是临时的。
永久的表生命周期表长
临时表的生命周期是一个事物或者一个会话期间。临时表只是存储(某些应用程序在运行过程中由多个操作生成的)中间结果集。
创建表:
表名称和列集组成。
当你创建一个表的时候,给每列一个列名称,数据类型以及数据的宽度。
表可以包含一个虚拟列,但是虚拟列跟非虚拟列不一样,虚拟列不占用磁盘空间。数据库通过计算一组用户指定的表达式或者函数,
按需派生出虚拟的列值。
创建表:
create table employees(
employee_id number(6),
first_name varchar2(20),
last_namme varchar2(25) constraintemp_last_name_un not null,
constraint emp_salary_min check(salary > 0),
constraint emp_email_uk unique(email)
);
emp_last_name_un 是对last_name进行约束,用户自己定义的非空约束名。否则由oracle会自动生成随机的名字,这样,用户在取消
约束的时候不能够确定约束名字是什么,就必须去查找约束名进行取消约束,这样就增加了工作量.但一般来讲不会给非空约束取名字的。
因为非空约束太普遍了,一个表的很多字段都会要求非空。这样,如果给每个非空约束命名,就会显得很繁琐。
如果建表的命令中没有命名,Oracle会自动命名,所有的约束都是这样。这些问题是属于数据库编程规范的范围,目的就是提高程序和
代码的可读性、可维护性、性能,等等。
但主键约束,外键约束,唯一约束和