IF NOT EXISTS (SELECT * FROM sys.schemas WHERE name = 'Demo') BEGIN EXEC('CREATE SCHEMA [Demo]') END GO IF NOT EXISTS (SELECT * FROM sys.schemas WHERE name = 'HumanResources') BEGIN EXEC('CREATE SCHEMA [HumanResources]') END GO IF NOT EXISTS (SELECT * FROM sys.schemas WHERE name = 'Person') BEGIN EXEC('CREATE SCHEMA [Person]') END GO IF NOT EXISTS (SELECT * FROM sys.schemas WHERE name = 'Production') BEGIN EXEC('CREATE SCHEMA [Production]') END GO IF NOT EXISTS (SELECT * FROM sys.schemas WHERE name = 'Purchasing') BEGIN EXEC('CREATE SCHEMA [Purchasing]') END GO IF NOT EXISTS (SELECT * FROM sys.schemas WHERE name = 'Sales') BEGIN EXEC('CREATE SCHEMA [Sales]') END GO IF NOT EXISTS (SELECT * FROM sys.schemas WHERE name = 'Security') BEGIN EXEC('CREATE SCHEMA [Security]') END GO IF NOT EXISTS (SELECT * FROM sys.types WHERE name = 'AccountNumber') BEGIN CREATE TYPE [dbo].[AccountNumber] FROM [nvarchar](15) NULL END GO IF NOT EXISTS (SELECT * FROM sys.types WHERE name = 'Flag') BEGIN CREATE TYPE [dbo].[Flag] FROM [bit] NOT NULL END GO IF NOT EXISTS (SELECT * FROM sys.types WHERE name = 'Name') BEGIN CREATE TYPE [dbo].[Name] FROM [nvarchar](50) NULL END GO IF NOT EXISTS (SELECT * FROM sys.types WHERE name = 'NameStyle') BEGIN CREATE TYPE [dbo].[NameStyle] FROM [bit] NOT NULL END GO IF NOT EXISTS (SELECT * FROM sys.types WHERE name = 'OrderNumber') BEGIN CREATE TYPE [dbo].[OrderNumber] FROM [nvarchar](25) NULL END GO GO IF NOT EXISTS (SELECT * FROM sys.types WHERE name = 'Phone') BEGIN CREATE TYPE [dbo].[Phone] FROM [nvarchar](25) NULL END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'Address') BEGIN CREATE TABLE [Person].[Address]( [AddressID] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL, [AddressLine1] [nvarchar](60) NOT NULL, [AddressLine2] [nvarchar](60) NULL, [City] [nvarchar](30) NOT NULL, [StateProvinceID] [int] NOT NULL, [PostalCode] [nvarchar](15) NOT NULL, [SpatialLocation] [geography] NULL, [rowguid] [uniqueidentifier] ROWGUIDCOL NOT NULL, [ModifiedDate] [datetime] NOT NULL, CONSTRAINT [PK_Address_AddressID] PRIMARY KEY CLUSTERED ( [AddressID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'AddressType') BEGIN CREATE TABLE [Person].[AddressType]( [AddressTypeID] [int] IDENTITY(1,1) NOT NULL, [Name] [dbo].[Name] NOT NULL, [rowguid] [uniqueidentifier] ROWGUIDCOL NOT NULL, [ModifiedDate] [datetime] NOT NULL, CONSTRAINT [PK_AddressType_AddressTypeID] PRIMARY KEY CLUSTERED ( [AddressTypeID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] END GO /****** Object: Table [Person].[ContactType] Script Date: 11/22/2016 9:25:52 AM ******/ IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'ContactType') BEGIN CREATE TABLE [Person].[ContactType]( [ContactTypeID] [int] IDENTITY(1,1) NOT NULL, [Name] [dbo].[Name] NOT NULL, [ModifiedDate] [datetime] NOT NULL, CONSTRAINT [PK_ContactType_ContactTypeID] PRIMARY KEY CLUSTERED ( [ContactTypeID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'EmailAddress') BEGIN CREATE TABLE [Person].[EmailAddress]( [BusinessEntityID] [int] NOT NULL, [EmailAddressID] [int] IDENTITY(1,1) NOT NULL, [EmailAddress] [nvarchar](50) NULL, [rowguid] [uniqueidentifier] ROWGUIDCOL NOT NULL, [ModifiedDate] [datetime] NOT NULL, CONSTRAINT [PK_EmailAddress_BusinessEntityID_EmailAddressID] PRIMARY KEY CLUSTERED ( [BusinessEntityID] ASC, [EmailAddressID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'Person') BEGIN CREATE TABLE [Person].[Person]( [BusinessEntityID] [int] NOT NULL, [PersonType] [nchar](2) NOT NULL, [NameStyle] [dbo].[NameStyle] NOT NULL, [Title] [nvarchar](8) NULL, [FirstName] [dbo].[Name] NOT NULL, [MiddleName] [dbo].[Name] NULL, [LastName] [dbo].[Name] NOT NULL, [Suffix] [nvarchar](10) NULL, [EmailPromotion] [int] NOT NULL, [rowguid] [uniqueidentifier] ROWGUIDCOL NOT NULL, [ModifiedDate] [datetime] NOT NULL, CONSTRAINT [PK_Person_BusinessEntityID] PRIMARY KEY CLUSTERED ( [BusinessEntityID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'PersonPhone') BEGIN CREATE TABLE [Person].[PersonPhone]( [BusinessEntityID] [int] NOT NULL, [PhoneNumber] [dbo].[Phone] NOT NULL, [PhoneNumberTypeID] [int] NOT NULL, [ModifiedDate] [datetime] NOT NULL, CONSTRAINT [PK_PersonPhone_BusinessEntityID_PhoneNumber_PhoneNumberTypeID] PRIMARY KEY CLUSTERED ( [BusinessEntityID] ASC, [PhoneNumber] ASC, [PhoneNumberTypeID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'Location') BEGIN CREATE TABLE [Production].[Location]( [LocationID] [smallint] IDENTITY(1,1) NOT NULL, [Name] [dbo].[Name] NOT NULL, [CostRate] [smallmoney] NOT NULL, [Availability] [decimal](8, 2) NOT NULL, [ModifiedDate] [datetime] NOT NULL, CONSTRAINT [PK_Location_LocationID] PRIMARY KEY CLUSTERED ( [LocationID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'Product') BEGIN CREATE TABLE [Production].[Product]( [ProductID] [int] IDENTITY(1,1) NOT NULL, [Name] [dbo].[Name] NOT NULL, [ProductNumber] [nvarchar](25) NOT NULL, [MakeFlag] [dbo].[Flag] NOT NULL, [FinishedGoodsFlag] [dbo].[Flag] NOT NULL, [Color] [nvarchar](15) NULL, [SafetyStockLevel] [smallint] NOT NULL, [ReorderPoint] [smallint] NOT NULL, [StandardCost] [money] NOT NULL, [ListPrice] [money] NOT NULL, [Size] [nvarchar](5) NULL, [SizeUnitMeasureCode] [nchar](3) NULL, [WeightUnitMeasureCode] [nchar](3) NULL, [Weight] [decimal](8, 2) NULL, [DaysToManufacture] [int] NOT NULL, [ProductLine] [nchar](2) NULL, [Class] [nchar](2) NULL, [Style] [nchar](2) NULL, [ProductSubcategoryID] [int] NULL, [ProductModelID] [int] NULL, [SellStartDate] [datetime] NOT NULL, [SellEndDate] [datetime] NULL, [DiscontinuedDate] [datetime] NULL, [rowguid] [uniqueidentifier] ROWGUIDCOL NOT NULL, [ModifiedDate] [datetime] NOT NULL, CONSTRAINT [PK_Product_ProductID] PRIMARY KEY CLUSTERED ( [ProductID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] END GO