综合练习

Oracle从入门到总裁:​​​​​​https://blog.csdn.net/weixin_67859959/article/details/135209645

编写包含约束的数据库

-- 删除数据表
DROP TABLE purcase PURGE ;
DROP TABLE product PURGE ;
DROP TABLE customer PURGE ;

-- 创建数据表
CREATE TABLE product(
	productid			VARCHAR2(5) ,
	productname			VARCHAR2(20)	NOT NULL ,
	unitprice				NUMBER ,
	category				VARCHAR2(50) ,
	provider				VARCHAR2(50) ,
	CONSTRAINT pk_productid PRIMARY KEY(productid) ,
	CONSTRAINT ck_unitprice CHECK (unitprice>0)
) ;
CREATE TABLE customer (
	customerid			VARCHAR2(5) ,
	name				VARCHAR2(20)	NOT NULL ,
	location				VARCHAR2(50) ,
	CONSTRAINT pk_customerid PRIMARY KEY(customerid)
) ;
CREATE TABLE purcase (
	customerid			VARCHAR2(5) ,
	productid			VARCHAR2(5) ,
	quantity				NUMBER ,
	CONSTRAINT fk_customerid FOREIGN KEY(customerid) REFERENCES customer(customerid) ON DELETE CASCADE ,
	CONSTRAINT fk_productid FOREIGN KEY(productid) REFERENCES product(productid) ON DELETE CASCADE ,
	CONSTRAINT ck_quantity CHECK (quantity BETWEEN 0 AND 20)
) ;

分析代码,可以看出,这段代码共创建了 3 个数据表

其中 product 数据表在 productid 字段上创建了主键约束

在 unitprice 字段上创建了检查约束

在 productname 字段上创建了非空约束

在customer 数据表 customerid 字段上创建了主键约束

在 name 字段上创建了非空约束

在 purcase数 据 表 customerid 字 段 上 创 建 了 外 键 约 束

与 customer 数 据 表 的 customerid 字 段 建 立 关 联

在productid 字段上也建立外键约束

与 product 数据表的 productid 字段建立关联

此外在 quantity 字段上建立检查约束

相关推荐

  1. Sql综合练习

    2024-03-24 23:40:08       31 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-24 23:40:08       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-24 23:40:08       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-24 23:40:08       82 阅读
  4. Python语言-面向对象

    2024-03-24 23:40:08       91 阅读

热门阅读

  1. 关于vue 工具与插件

    2024-03-24 23:40:08       38 阅读
  2. Flume详解

    2024-03-24 23:40:08       39 阅读
  3. P2123皇后游戏

    2024-03-24 23:40:08       42 阅读
  4. Linux简单基础配置

    2024-03-24 23:40:08       41 阅读
  5. (c/c++)——线程的基础使用

    2024-03-24 23:40:08       37 阅读
  6. rust - 将bitmap位图文件另存为png格式

    2024-03-24 23:40:08       41 阅读
  7. PostgreSQL与MySQL对比

    2024-03-24 23:40:08       46 阅读
  8. jvm底层

    jvm底层

    2024-03-24 23:40:08      36 阅读