www.pudn.com > iBATIS_JPetStore-4.0.5.zip > jpetstore-mssql-schema.sql
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[fk_orders_1]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1) ALTER TABLE [dbo].[orders] DROP CONSTRAINT fk_orders_1 GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[fk_product_1]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1) ALTER TABLE [dbo].[product] DROP CONSTRAINT fk_product_1 GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[fk_lineitem_1]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1) ALTER TABLE [dbo].[lineitem] DROP CONSTRAINT fk_lineitem_1 GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[fk_orderstatus_1]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1) ALTER TABLE [dbo].[orderstatus] DROP CONSTRAINT fk_orderstatus_1 GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[fk_item_1]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1) ALTER TABLE [dbo].[item] DROP CONSTRAINT fk_item_1 GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[fk_item_2]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1) ALTER TABLE [dbo].[item] DROP CONSTRAINT fk_item_2 GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[account]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[account] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[bannerdata]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[bannerdata] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[category]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[category] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[inventory]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[inventory] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[item]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[item] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[lineitem]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[lineitem] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[orders]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[orders] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[orderstatus]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[orderstatus] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[product]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[product] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[profile]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[profile] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sequence]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[sequence] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[signon]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[signon] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[supplier]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[supplier] GO CREATE TABLE [dbo].[account] ( [userid] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [email] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [firstname] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [lastname] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [status] [varchar] (2) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [addr1] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [addr2] [varchar] (40) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [city] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [state] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [zip] [varchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [country] [varchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [phone] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[bannerdata] ( [favcategory] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [bannername] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[category] ( [catid] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [name] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [descn] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[inventory] ( [itemid] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [qty] [int] NOT NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[item] ( [itemid] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [productid] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [listprice] [decimal](10, 2) NULL , [unitcost] [decimal](10, 2) NULL , [supplier] [int] NULL , [status] [varchar] (2) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [attr1] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [attr2] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [attr3] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [attr4] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [attr5] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[lineitem] ( [orderid] [int] NOT NULL , [linenum] [int] NOT NULL , [itemid] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [quantity] [int] NOT NULL , [unitprice] [numeric](10, 2) NOT NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[orders] ( [orderid] [int] NOT NULL , [userid] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [orderdate] [datetime] NOT NULL , [shipaddr1] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [shipaddr2] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [shipcity] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [shipstate] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [shipzip] [varchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [shipcountry] [varchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [billaddr1] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [billaddr2] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [billcity] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [billstate] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [billzip] [varchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [billcountry] [varchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [courier] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [totalprice] [numeric](10, 2) NOT NULL , [billtofirstname] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [billtolastname] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [shiptofirstname] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [shiptolastname] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [creditcard] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [exprdate] [varchar] (7) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [cardtype] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [locale] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[orderstatus] ( [orderid] [int] NOT NULL , [linenum] [int] NOT NULL , [timestamp] [datetime] NOT NULL , [status] [varchar] (2) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[product] ( [productid] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [category] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [name] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [descn] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[profile] ( [userid] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [langpref] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [favcategory] [varchar] (30) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [mylistopt] [int] NULL , [banneropt] [int] NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[sequence] ( [name] [varchar] (30) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [nextid] [int] NOT NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[signon] ( [username] [varchar] (25) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [password] [varchar] (25) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[supplier] ( [suppid] [int] NOT NULL , [name] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [status] [varchar] (2) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [addr1] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [addr2] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [city] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [state] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [zip] [varchar] (5) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [phone] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ) ON [PRIMARY] GO ALTER TABLE [dbo].[account] WITH NOCHECK ADD CONSTRAINT [pk_account] PRIMARY KEY CLUSTERED ( [userid] ) ON [PRIMARY] GO ALTER TABLE [dbo].[bannerdata] WITH NOCHECK ADD CONSTRAINT [pk_bannerdata] PRIMARY KEY CLUSTERED ( [favcategory] ) ON [PRIMARY] GO ALTER TABLE [dbo].[category] WITH NOCHECK ADD CONSTRAINT [pk_category] PRIMARY KEY CLUSTERED ( [catid] ) ON [PRIMARY] GO ALTER TABLE [dbo].[inventory] WITH NOCHECK ADD CONSTRAINT [pk_inventory] PRIMARY KEY CLUSTERED ( [itemid] ) ON [PRIMARY] GO ALTER TABLE [dbo].[item] WITH NOCHECK ADD CONSTRAINT [pk_item] PRIMARY KEY CLUSTERED ( [itemid] ) ON [PRIMARY] GO ALTER TABLE [dbo].[lineitem] WITH NOCHECK ADD CONSTRAINT [pk_lineitem] PRIMARY KEY CLUSTERED ( [orderid], [linenum] ) ON [PRIMARY] GO ALTER TABLE [dbo].[orders] WITH NOCHECK ADD CONSTRAINT [pk_orders] PRIMARY KEY CLUSTERED ( [orderid] ) ON [PRIMARY] GO ALTER TABLE [dbo].[orderstatus] WITH NOCHECK ADD CONSTRAINT [pk_orderstatus] PRIMARY KEY CLUSTERED ( [orderid], [linenum] ) ON [PRIMARY] GO ALTER TABLE [dbo].[product] WITH NOCHECK ADD CONSTRAINT [pk_product] PRIMARY KEY CLUSTERED ( [productid] ) ON [PRIMARY] GO ALTER TABLE [dbo].[profile] WITH NOCHECK ADD CONSTRAINT [pk_profile] PRIMARY KEY CLUSTERED ( [userid] ) ON [PRIMARY] GO ALTER TABLE [dbo].[sequence] WITH NOCHECK ADD CONSTRAINT [pk_sequence] PRIMARY KEY CLUSTERED ( [name] ) ON [PRIMARY] GO ALTER TABLE [dbo].[signon] WITH NOCHECK ADD CONSTRAINT [pk_signon] PRIMARY KEY CLUSTERED ( [username] ) ON [PRIMARY] GO ALTER TABLE [dbo].[supplier] WITH NOCHECK ADD CONSTRAINT [pk_supplier] PRIMARY KEY CLUSTERED ( [suppid] ) ON [PRIMARY] GO CREATE INDEX [itemProd] ON [dbo].[item]([productid]) ON [PRIMARY] GO CREATE INDEX [productCat] ON [dbo].[product]([category]) ON [PRIMARY] GO CREATE INDEX [productName] ON [dbo].[product]([name]) ON [PRIMARY] GO ALTER TABLE [dbo].[item] ADD CONSTRAINT [fk_item_1] FOREIGN KEY ( [productid] ) REFERENCES [dbo].[product] ( [productid] ), CONSTRAINT [fk_item_2] FOREIGN KEY ( [supplier] ) REFERENCES [dbo].[supplier] ( [suppid] ) GO ALTER TABLE [dbo].[lineitem] ADD CONSTRAINT [fk_lineitem_1] FOREIGN KEY ( [orderid] ) REFERENCES [dbo].[orders] ( [orderid] ) GO ALTER TABLE [dbo].[orders] ADD CONSTRAINT [fk_orders_1] FOREIGN KEY ( [userid] ) REFERENCES [dbo].[account] ( [userid] ) GO ALTER TABLE [dbo].[orderstatus] ADD CONSTRAINT [fk_orderstatus_1] FOREIGN KEY ( [orderid] ) REFERENCES [dbo].[orders] ( [orderid] ) GO ALTER TABLE [dbo].[product] ADD CONSTRAINT [fk_product_1] FOREIGN KEY ( [category] ) REFERENCES [dbo].[category] ( [catid] ) GO