创建基本表、数据库、列级/表级约束

3.5创建药品表,药品代码是主码,批号取值唯一
Create table medicine(
Medicinecode char(10)primary key,
Medicinename varchar(50),
Pycode char(10),
Dosagefrom char(10),
standard char(15),
Batchnumber char(20) unique,
Productiondate date,
Expirationdate date,
Category char(10),
Yb char(10))
;
3.7创建供应商表,主码为表级约束
Create table provider(
Providercode char(4) not null,
Providername char(60) not null,
Pycode char(10),
address char(50),
Tel char(15),
zip char(6),
Email char(30),
relation char(8),
Primary key(providercode) --主码约束,表级约束
)
;
3.8建立供应表,包含主码、外码,均为标记约束
Create table pm(
Medicinecode char(10) not null,
Providercode char(4) not null,
Pmdate date not null,
Price  number,  
qyt int,
Primary key(medicinecode,providercode,pmdate),
Foreign key(medicinecode) references medicine(medicinecode),
Foreign key(providercode)references provider(providercode)
)
;

注意:
列级约束:约束条件前有空格隔开的;
表级约束:和定义属性一样,独成一句,以逗号结尾!

时间: 2024-08-25 02:51:21

创建基本表、数据库、列级/表级约束的相关文章

oracle创建、删除 数据库、建立表空间以及插入 删除 修改表

一.创建.删除数据库 oracle OraDb11g_home->配置和移植工具->Database configration  Assistant->...然后可以创建或者删除数据库 二.建立表空间 create tablespace inspur_tablespace   logging datafile 'D:\MyOracleBACK SQL\StudentDB\inspur_tablespace.dbf'  size 50m autoextend on next 50m max

【转】mysql分库分表,数据库分库分表思路

原文:https://www.cnblogs.com/butterfly100/p/9034281.html 复制过来收藏 一. 数据切分 关系型数据库本身比较容易成为系统瓶颈,单机存储容量.连接数.处理能力都有限.当单表的数据量达到1000W或100G以后,由于查询维度较多,即使添加从库.优化索引,做很多操作时性能仍下降严重.此时就要考虑对其进行切分了,切分的目的就在于减少数据库的负担,缩短查询时间. 数据库分布式核心内容无非就是数据切分(Sharding),以及切分后对数据的定位.整合.数据

sqlplus登录信息,列出所有表,列在表结构,sqlplus行和列显示设置,别名,Null值问题,细木工,DISTINCT

 1 sqlplus登录方式: 普通用户登录: 登录eg:C:\>sqlplusscott/11  (格式:sqlplus username/password) 退出eg:quit退出 超级用户登录 C:\>sqlplus/nolog SQL*Plus:Release 10.1.0.2.0 - Pr Copyright(c) 1982, 2004, Oracle. SQL>connect /as sysdba   //操作用户登录方式 已连接. 2 查看用户下有什么表,命令: SQL

数据库及表、列的操作,常用函数

数据库及表.列的操作,常用函数 一.数据库的建立 格式:CREATE DATABASE "数据库文件名 " 修改数据库 格式:ALTER DATABASE "数据库文件名"{} 删除数据库 DROP DATABASE "数据库文件名" 二.建立表的结构 注释:下划线表示可有可无 1.CREATE TABLE "数据库名"."表名" (  列名 数据类型 null/not null primary,    列

Postgresql 如何创建一个有N个列的表

如果需要创建一个有99列的表,列名都是有规律的比如s01,s02,s03--也许你会想到如下语句 CREATE TABLE tb_sxx (  s01 varchar(10),  s02 varchar(10),  s03 varchar(10),  --  s99 varchar(10)  ); 有没有更快捷的方法呢?当然有了,不妨借助一下Postgresql的三个有力函数generate_series(x,y) --生成x到y之间的值array_agg(x) --把x值转成 如{1,2,3,

DB2 10.5列式表存储技术

DB2 10.5引入列式存储表技术,作为DW数据应用的特性,对性能具有很大的提升,同时对SQL基本不做索引优化,查询时直接可以按照列存储格式查询相关列即可,可以说管理很简单了.作为一个新特性,DB2 LUW V10.5的列式组织表功能依然作为一个可选择功能项,用户可以按照自己数据库业务的特点,选择是否启用该功能,对于升级到DB2 LUW V10.5的数据库环境来说,需要经过同样的参数配置,也可以支持这个功能. 在创建数据库前,在DB2 V10.5实例提供了注册变量选项值,即DB2_WORK_LO

Mysql数据库理论基础之四 --- 表和索引的管理

一.简介 由MySQL AB公司开发,是最流行的开放源码SQL数据库管理系统,主要特点: 1.是一种数据库管理系统 2.是一种关联数据库管理系统 3.是一种开放源码软件,且有大量可用的共享MySQL软件 4.MySQL数据库服务器具有快速.可靠和易于使用的特点 5.MySQL服务器工作在客户端/服务器模式下,或嵌入式系统中 二.MySQL 存储引擎,也称表类型 2.1. 单字段:    PRIMARY KEY 主键 UNIQUE KEY 唯一键 2.2 单或者多字段:    PRIMARY KE

【2017-03-09】SQL Server 数据库基础、四种约束

一.数据库和内存的区别 数据库:一些存储在硬盘上的数据文件 内存:计算机临时存储的一些数据 二.常用数据库 .Net - SQL Server PHP - MySql Java - Oreacl 三.SQL Server使用方法 1.新建数据库 右键点击"数据库",点击"新建数据库".在弹出的页面中给新建数据库起名字,点击确认. 2.新建表 找到新建的数据库,右键点击新建数据库中的"表",点击"新建表".编辑列名,数据类型 数

在mysql数据库中制作千万级测试表

在mysql数据库中制作千万级测试表 前言: 最近准备深入的学一下mysql,包括各种引擎的特性.性能优化.分表分库等.为了方便测试性能.分表等工作,就需要先建立一张比较大的数据表.我这里准备先建一张千万记录用户表. 步骤: 1 创建数据表(MYISAM方式存储插入速度比innodb方式快很多)   数据表描述 数据量:1千万 字段类型: id :编号 uname:用户名 ucreatetime: 创建时间 age:年龄 CREATE TABLE usertb(    id serial,   

用SQL语句创建和删除Access数据库中的表;添加列和删除列

用SQL语句创建和删除Access数据库中的表;添加列和删除列 Posted on 2009-08-11 13:42 yunbo 阅读(1240) 评论(0) 编辑 收藏 用SQL语句创建和删除Access数据库中的表;添加列和删除列SQL语句,具体使用方法请看帮助          Create    Table    tab1    (fld1    integer)      Drop    Table    tab1          Alter    Table    tab1