一个表关联多个表的外键

原创 2006年06月10日 18:54:00

create database zhouhui
go
use zhouhui
go
create table customer 
(
  customerID int  primary key,
  customerName varchar(50) not null,
  address varchar(100) null, 
  linkMan char(20) null,
  tel char(20) null, 
  fax char(20) null,
  zipCode char(10) null, 
  customerRemark text null 
)
go

create table feeder  /*供货单位信息表*/
(
  feederID int not null primary key,  /*供货单位编号(主键)*/
 
  address varchar(100) null,  /*单位地址*/
  linkMan char(20) null,  /*联系人姓名*/
  tel char(20) null,  /*联系电话*/
  fax char(20) null,  /*传真号码*/
  zipCode char(10) null,  /*邮政编码*/
  feederRemark text null,  /*备注信息*/
)
go

 

/*建立库存信息数据表*/
create table storage  /*库存信息数据表*/
(
  storageID int not null primary key,  /*库存信息编号(主键)*/
 /* foreign key productID references product(productID),   /*货品编号(外键)*/ */
  depotName varchar(50) not null,   /*仓库名称*/ 
  productName varchar(50) not null,  /*货品名称*/
  spec varchar(50) null,  /*货品规格*/
  unit varchar(50) null,  /*计量单位*/
 )


/*建立出库信息数据表*/
create table sell  /*出库信息数据表*/
(
  sellID int not null primary key,  /*出库信息编号(主键)*/
  /*foreign key productID references product(productID),   /*货品编号(外键)*/ */
  customerName varchar(50) not null,  /*收货单位名称*/
  depotName varchar(50) not null,  /*仓库名称*/
  productName varchar not null,  /*货品名称*/
  quantity float not null,  /*货品数量*/
  unitPrice float not null,  /*货品单价*/
  payment float null,  /*总付款*/
  sellDate datetime null, /*出库日期*/
 )

go
/*建立入库信息数据表*/
create table stock  /*入库信息数据表*/
(
  stockID int not null primary key,  /*入库信息编号(主键)*/
 /* foreign key productID references product(productID),  /*货品编号(外键)*/*/
  feederName varchar(50) not null,  /*供货单位名称*/
  depotName varchar(50) not null,  /*仓库名称*/
  productName varchar(50) not null,  /*货品名称*/
  quantity float not null,  /*货品数量*/
  unitPrice float not null,  /*货品单价*/
  stockDate datetime null, /*入库日期*/
)

/*建立仓库信息数据表*/
create table depot  /*仓库信息表*/
(
  depotID int not null primary key,  /*仓库编号(主键/自动编号)*/
  depotName varchar not null,  /*仓库名称*/
  address varchar not null,  /*仓库位置*/
  principal varchar not null,  /*仓库负责人*/
  
)

create table product  /*货品信息数据表*/
(
  productID int not null primary key, /*货品编号(主键/自动编号)*/
  customerID int,  /*收货单位编号(外键)*/
  feederID int,  /*供货单位编号(外键)*/
  storageID int,  /*库存信息编号(外键)*/
  depotID int ,  /*仓库编号(外键)*/
  productName varchar(50) not null,  /*货品名称*/
  productClass varchar(50) not null, /*货品分类*/
  productSpec varchar(50) not null, /*货品规格*/
  unit varchar(50) null, /*计量单位*/
  minSto float not null,  /*底线库存*/
  maxSto float not null /*高线库存*/
 foreign key  ([customerID]) references [dbo].[customer] ([customerID]),
 foreign key ([feederID]) references [dbo].[feeder] ([feederID]),
 foreign key([storageID]) references [storage]([storageID]),
 foreign key([depotID]) references [depot]([depotID])
)

 

多表查询、外键、表与表之间的关系

外键 通常在实际工作中,数据库中表格都不是独立存在的,且表与表之间是有种联系的,比如两张表格,一张为分类表category,一张为商品表product。在分类表中有两个信息,cid、cnam...
  • xiaoyuxianshenging
  • xiaoyuxianshenging
  • 2017年07月28日 20:47
  • 811

22、SSM框架-Mybatis关联查询一对一和一对多的实现(4)

本文主要讲了使用Mybatis实现关联查询,分为一对一和一对多两种情况,最后并对ResultMap进行一个简要说明。 本文工程免费下载 一、创建表、分析 下面是两表,一个是顾客表,一个是车票...
  • gywtzh0889
  • gywtzh0889
  • 2016年11月03日 16:09
  • 3833

T-SQL中找出一个表的所有外键关联表

二种方法(下例中表名为T_Work)1.SQL查询SELECT 主键列ID=b.rkey ,主键列名=(SELECT name FROM syscolumns WHERE colid=b.r...
  • lee576
  • lee576
  • 2014年01月10日 14:29
  • 3404

JAVAWEB开发之多表设计、外键约束、内外连接以及子查询

多表设计—外键约束 作用:保证数据的完整性 定义外键约束: (1)可以直接在create语句中定义外键      foreign key  当前表名(字段名) references 目标表名(...
  • u013087513
  • u013087513
  • 2017年02月13日 17:53
  • 1471

Django如何创建指向同一个模型的多个外键?

如下所示的House模型,其”province“, "city"和"district"字段类型是指向Region模型的外键。 view plaincopy to clipboar...
  • laiqun_ai
  • laiqun_ai
  • 2015年05月15日 09:41
  • 2555

Hibernate-没有外键关联的两个表做联合查询

有两个表Zsplcxxb(流程表)和Lcsplsb(流程审批历史表),两个表都有lcbh(流程编号),但是没有设置外键关联,做以下的查询: from Zsplcxxb as a inner jo...
  • like_study
  • like_study
  • 2016年05月11日 22:40
  • 4051

Android ORMLite框架入门用法教程二(两张表关联外键)Demo

  • 2015年03月21日 13:26
  • 2.19MB
  • 下载

hibernate 共享的主键关联(多个表共享一个主键)

共享的主键关联:  由主键关联而相关的两张表中的行共享相同的主键值。这种方法的主要困难在于,确保被关联的  实例在保存对象时分配了相同的主键值。  第一步:用xml映射主键关联  ...
  • partner4java
  • partner4java
  • 2011年10月24日 14:24
  • 2928

SQL语法整理[2]——用主外键实现表关联及数据库管理

SQL语法整理[2]——用主外键实现表关联及数据库管理 用主外键实现表关联 主键 主键是表中的一列或者多列数据,用来惟一标识一行数据.在表中,不允许有主键相同的行存在.在受主键约束的列中,不能有...
  • peace_power
  • peace_power
  • 2011年12月12日 08:28
  • 692

浅析【数据库】 主键,外键,主表,从表,关联表,父表,子表

一、前言在数据库设计中,hibernate,iBatis等ORM框架的使用中经常听说主键,外键,主表,从表,关联表,父表,子表之类的术语,弄懂它们之前的区别与联系对于数据库设计和ORM框架的学习使用是...
  • weixin_39415084
  • weixin_39415084
  • 2017年07月28日 13:50
  • 8799
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一个表关联多个表的外键
举报原因:
原因补充:

(最多只允许输入30个字)