建表、注释、主键、外键、自增长键

SQL数据库管理与表结构设计
本文详细介绍了SQL数据库管理的基础知识,包括如何创建表、设置表结构、添加约束和触发器,以及优化数据库性能的方法。

-- Create table
create table TBL_BOS_AP
(
  APID             VARCHAR2(32) not null,
  APIMSI           VARCHAR2(32) not null,
  APUSIM           VARCHAR2(32) not null,
  CUSTOMERID       VARCHAR2(32) not null,
  STATUS           CHAR(1) default 1 not null,
  OPERATIONTIME    DATE,
  SERVICEATTRIBUTE VARCHAR2(2) not null,
  SERVICESORT      VARCHAR2(2) not null,
  ENTERPRISEID     VARCHAR2(3),
  ENTERPRISENAME   VARCHAR2(32),
  DEVICETYPE       VARCHAR2(2) not null,
  CREATETIME       DATE default SYSDATE,
  DESCRIPTION      VARCHAR2(255),
  OPTSRC           CHAR(1) default 1
)

-- Add comments to the table
comment on table TBL_BOS_AP
  is '客户AP表';
-- Add comments to the columns
comment on column TBL_BOS_AP.APID
  is 'AP标识符';
comment on column TBL_BOS_AP.APIMSI
  is 'AP IMSI';
comment on column TBL_BOS_AP.APUSIM
  is 'AP号码';
comment on column TBL_BOS_AP.CUSTOMERID
  is '所属客户(FK)';
comment on column TBL_BOS_AP.STATUS
  is '状态(1:在用,2:暂停,3:注销)';
comment on column TBL_BOS_AP.OPERATIONTIME
  is '处理时间(STATUS=1,是开通时间;STATUS=2,是暂停时间;STATUS=3,注销时间)';
comment on column TBL_BOS_AP.SERVICEATTRIBUTE
  is '服务属性 (1 免费2 收费)';
comment on column TBL_BOS_AP.SERVICESORT
  is '业务分类 (1 个人2 企业)';
comment on column TBL_BOS_AP.ENTERPRISEID
  is '企业代码 (当ServiceSort为2时必填)';
comment on column TBL_BOS_AP.ENTERPRISENAME
  is '企业名称';
comment on column TBL_BOS_AP.DEVICETYPE
  is '机器类型
1 普通机
2 短信机
3 同振机
4 安防机
';
comment on column TBL_BOS_AP.CREATETIME
  is '创建时间';
comment on column TBL_BOS_AP.DESCRIPTION
  is '业务描述';
comment on column TBL_BOS_AP.OPTSRC
  is '操作来源(1:BOSS;2:商客短信平台)';
-- Create/Recreate primary, unique and foreign key constraints
alter table TBL_BOS_AP
  add constraint PK_APID primary key (APID);


alter table TBL_BOS_AP
  add constraint FK_CUSTOMERID foreign key (CUSTOMERID)
  references TBL_BOS_CUSTOMER (CUSTOMERID);

 

自增长键:

1.建sequence

CREATE SEQUENCE SEQ_PARAMID
INCREMENT BY 1
START WITH 1 
NOMAXVALUE 
NOCYCLE ;

2.建触发器
CREATE TRIGGER TRIG_TBL_SYS_PARAM
  BEFORE insert ON TBL_SYS_PARAM
  FOR EACH ROW
begin
  select SEQ_PARAMID.nextval into :New.PARAMID from dual;
end;

核心设计 设计编写完用户信息之后,我们就需要设计博客系统的核心了,在这里我们编写三个分别是: 博客类型; 博客信息; 博客评论。 博客类型和博客信息是一对多的关系,博客评论和博客信息是多对一的关系,用户信息与博客信息、博客评论是一对多的关系。 编程要求 请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下: 创博客类型(blog_type)、博客信息(t_blog)、博客评论(t_comment)这三张,并根据设计图之间的约束; 博客类型(blog_type); 创博客类型,字段和属性如下: 字段名称 类型 备注 约束 type_id int 类型id 主键,自动长,量为1 type_name varchar(32) 类型名称 非空 博客信息(t_blog); 字段名称 类型 备注 约束 blog_id bigint 博客id 主键,自动长 blog_title varchar(100) 博客标题 非空 blog_content longtext 博客内容 非空 userid bigint 创人id type_id int 类型ID blog_status int 博客状态 1为发布 0为草稿 非空,默认为0 create_time datetime 创时间 非空 update_time datetime 更新时间 非空 cover_image varchar(255) 封面图片 无 创时,注意要添加约束,为userid,名称设置为FK_user_id,为用户信息(t_user)。 另一个为type_id,名称设置为FK_type_id,为博客类型(blog_type)。 新闻评论(t_comment)。 字段名称 类型 备注 约束 comment_id bigint 评论id 主键,自动长,量为1 comment_content varchar(500) 评论内容 非空 blog_id bigint 评论内容 非空, createtime datetime 评论时间 非空 userid bigint 评论人ID 非空, replyid int 评论回复人ID 非空 创时,注意要添加约束,为userid,名称设置为FK_comment_user_id,为用户信息(t_user)。 另一个为blog_id,名称设置为FK_comment_blog_id,为博客信息(t_blog)。 在blog_db中创这三张(顺序不能变,即blog_type -> t_blog -> t_comment),并添加相应约束。 测试说明 补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。 预期输出:
10-22
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值