Oracle创建表、序列

涉及oracle数据库的大部分基础知识,提供给你们参考。

1、创建表flight对应的sql语句如下,设置其主键为Fid;设置CabQuantity约束为CabQuantity >0
(你可以在sqlplus里写,建议从cmd下打开sqlplus这样建表语句可以直接复制到sqlplus里去,如果你是直接点击oracle文件夹里的sqlplus程序的话,建表语句需要你一句句的敲。还有oracle里这里建表字母大小写随意,建议统一)

create table Flight(
Fid VARCHAR2(10) PRIMARY KEY,
Fname VARCHAR2(20) NOT NULL,
CabLevel VARCHAR2(10) NOT NULL,
CabQuantity NUMBER(4) NUll CHECK(CabQuantity >0)
);

下图是在sql developer里以flight用户登录查看的截图(当然你也可以在sqlplus里查看,可以用desc 表名 来查看表的字段信息)
在这里插入图片描述
2、

创建表Ticket对应的sql语句如下,设置其主键为Tid;设置Tprice约束为Tprice >0, Discount约束为Discount >=0;设置TFid外码引用Flight表中的Fid;设置TCerNumber外码引用Client表中的CerNumber;

create table Ticket(
Tid VARCHAR2(10)PRIMARY KEY,
TFid  VARCHAR2(10) NOT NULL,
TCerNumber VARCHAR2(10) NOT NULL,
Tprice NUMBER(5,2) NOT NULL CHECK(Tprice >0),
Discount NUMBER(3,2) NOT NULL CHECK(Discount >=0),
Presell VARCHAR2(20) NOT NULL, 
Salesman  VARCHAR2(20)  NULLFOREIGN KEY (TFid ) REFERENCES Flight(Fid),
FOREIGN KEY (TCerNumber ) REFERENCES Client(CerNumber )

在这里插入图片描述
3、创建表Client对应的sql语句如下,设置其主键为CerNumber ;设置Csex 约束为Csex='男’or Csex=‘女’;

create table Client(
CerNumber  VARCHAR2(10)PRIMARY KEY,
Cname VARCHAR2(10) NOT NULL,
Csex  VARCHAR2(2) NOT NULL CHECK(Csex='男'or Csex='女'),
Phone NUMBER(20) NOT NULL, 
CerType  VARCHAR2(40) NOT NULL,
PayMethod  VARCHAR2(20)  NULL
);

在这里插入图片描述
创建Flight表的主键序列

create sequence Flight_Fid_Seq
increment by 1
start with 1001
minvalue 1001
maxvalue 1999
NOCYCLE
NOCACHE;

序列初始值为1001,增量为1,序列最小值为1001,序列最大值为1999
创建Ticket表的主键序列

create sequence Ticket_Tid_Seq
increment by 1
start with 2001
minvalue 2001
maxvalue 2999
NOCYCLE
NOCACHE;

序列初始值为2001,增量为1,序列最小值为2001,序列最大值为2999

创建Client表的主键序列

create sequence Client_CerNumber_Seq
increment by 1
start with 3001
minvalue 3001
maxvalue 3999
NOCYCLE
NOCACHE;

序列初始值为3001,增量为1,序列最小值为3001,序列最大值为3999

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值