创建表格语法:
create table 表名(
字段名1 字段类型(长度) 是否为空,
字段名2 字段类型 是否为空
);
create table 表名(
字段名1 字段类型(长度) 是否为空,
字段名2 字段类型 是否为空
);
-增加主键
alter table 表名 add constraint 主键名 primary key (字段名1);
-增加外键:
alter table 表名
add constraint 外键名 foreign key (字段名1)
references 关联表 (字段名2);
在建立表格时就指定主键和外键
create table T_STU (
STU_ID char(5) not null,
STU_NAME varchar2(8) not null,
constraint PK_T_STU primary key (STU_ID)
);
主键和外键一起建立:
create table T_SCORE (
EXAM_SCORE number(5,2),
EXAM_DATE date,
AUTOID number(10) not null,
STU_ID char(5),
SUB_ID char(3),
constraint PK_T_SCORE primary key (AUTOID),
constraint FK_T_SCORE_REFE foreign key (STU_ID)
references T_STU (STU_ID)
)
负面影响是:
1. 外键对insert速度肯定是有影响的
2. 为了避免锁问题,你可能需要在外键上创建索引,需要空间并影响DML性能
当然也有很多好处,数据库大部分技术都是balance的问题,看你看重哪方面,用某种技术的收益是正的还是负的