ESP 1 - Basic Tables
-- To create a database table, we use the CREATE TABLE statement.
-- Note that the order in which we create/drop tables is important
-- because of how the tables are related via Foreign Keys.
/* DROP TABLE statements (to "clean up" the database for re-creation) */
/* You should drop tables in the REVERSE order in which you created them */
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Orders')
DROP TABLE Orders
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Customers')
DROP TABLE Customers
-- To create a database table, we use the CREATE TABLE statement.
-- Note that the order in which we create/drop tables is important
-- because of how the tables are related via Foreign Keys.
CREATE TABLE Customers
(
-- The body of a CREATE TABLE will identify a comma-separated list of
-- Column Declarations and Table Constraints.
CustomerNumber int NOT NULL, -- NOT NULL means the data is required
FirstName varchar(50) NOT NULL,
LastName varchar(60) NOT NULL,
[Address] varchar(40) NOT NULL,
City varchar(35) NOT NULL,
Province char(2) NOT NULL,
PostalCode char(6) NOT NULL,
PhoneNumber char(13) NULL -- NULL means the data is optional
)
CREATE TABLE Orders
(
OrderNumber int NOT NULL,
CustomerNumber int NOT NULL,
[Date] datetime NOT NULL,
Subtotal money NOT NULL,
GST money NOT NULL,
Total money NOT NULL
)
CREATE TABLE InventoryItems
(
ItemNumber varchar(5) NOT NULL,
ItemDescription varchar(50) NULL,
CurrentSalePrice money NOT NULL,
InStockCount int NOT NULL,
ReorderLevel int NOT NULL
)
CREATE TABLE OrderDetails
(
OrderNumber int NOT NULL,
ItemNumber varchar(5) NOT NULL,
Quantity int NOT NULL,
SellingPrice money NOT NULL,
Amount money NOT NULL
)