在SQL SERVER2000用命令建立的外键实例

原创 2006年06月18日 18:01: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])
)

 

查看SqlServer2000的外键列表

select object_name(a.constid) fkname, object_name(a.rkeyid) pktable, object_name(a.fkeyid) rktable...
  • BlueSky_Wypeng
  • BlueSky_Wypeng
  • 2017年09月20日 14:30
  • 113

SQL Server中建立外键的方法

如何在SQL Server表中建立主外键关系呢。在SQL中建立外键约束,可以级联查询表中的数据,在C#代码生成器中,也能根据外键关系生成相应的外键表数据模型。外键也可防止删除有外键关系的记录,一定程度...
  • harbor1981
  • harbor1981
  • 2016年12月04日 00:18
  • 1049

N个数据库外键实例

因为外键在数据库中相对主键比较难理解,主键就是唯一标识一条记录,很好理解;下面来看N个外键实例; 1 学生所属系 student(s#,sname,d#),即学生这个关系有三个属性:学号,姓名,所...
  • bcbobo21cn
  • bcbobo21cn
  • 2016年07月26日 12:07
  • 863

SQL 数据库 学习 009 通过SQL命令 建表 和 主外键约束

我的电脑系统:Windows 10 64位 SQL Server 软件版本: SQL Server 2014 Express 之前,我们介绍了如何使用图形化操作建表和主外键约束。这一节我们来介绍如何...
  • github_35160620
  • github_35160620
  • 2016年10月12日 11:25
  • 11366

外键该不该使用索引?

在数据库中,索引的使用非常重要,恰当的使用索引可以提高数据库访问的效率,但是索引的不当使用则会影响性能并占用不必要的存储空间。 在oracle数据库中,是否应该对外键使用索引呢?这可能是很多人都...
  • lv996074344
  • lv996074344
  • 2015年05月20日 09:08
  • 2009

SQL的主键和外键约束

SQL的主键和外键的作用:    外键取值规则:空值或参照的主键值。 (1)插入非空值时,如果主键表中没有这个值,则不能插入。 (2)更新时,不能改为主键表中没有的值。 (3)删除主键表记...
  • chenlaoyang
  • chenlaoyang
  • 2013年03月23日 09:54
  • 82027

SQLServer中的外键

一、sql server中建立外键约束有3中方式 1.Enterprise Manager中,Tables,Design Table,设置Table的properties, 可以建立con...
  • BloodyDmusic
  • BloodyDmusic
  • 2016年08月03日 14:53
  • 2448

SQL中主键与外键的定义和区别

主键是本张表的主键,是唯一且非空的,而外键是另一张表中与这张表的某个字段的类型,字段名相同的字段,一般是用作关联两张或两张以上的数据表时用的。 以下面三张表为例:  有三张表,一张表是读者...
  • hellowangxyue
  • hellowangxyue
  • 2016年08月07日 16:44
  • 3090

sql 语句,主键外键详解

SQL的主键和外键的作用:    外键取值规则:空值或参照的主键值。 (1)插入非空值时,如果主键表中没有这个值,则不能插入。 (2)更新时,不能改为主键表中没有的值。 (3)...
  • hapure1
  • hapure1
  • 2016年06月22日 15:55
  • 1092

外键要建立索引的原理和实验

项目中,我们要求凡是有主子关系的表都要使用外键约束,来保证主子表之间关系的正确,不推荐由应用自己控制这种关系。但发现有时开发人员提交SQL语句时未必会注意外键列需要定义索引,或者不清楚为什么外键列需要...
  • bisal
  • bisal
  • 2016年03月20日 21:50
  • 4100
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在SQL SERVER2000用命令建立的外键实例
举报原因:
原因补充:

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