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

发布了20 篇原创文章 · 获赞 2 · 访问量 3826

猜你喜欢

转载自blog.csdn.net/qq_43554951/article/details/89925757