Code for tables creation

CREATE DATABASE SSF;

USE SSF;

#--------------CREATING THE USERS TABLE------------------
CREATE TABLE USERS(
USERID INT NOT NULL identity(1,1) ,
FIRSTNAME varchar(50),
LASTNAME varchar(50),
EMAIL varchar(40) unique,
PHONE_NUMBER INT unique,
ADDRESS varchar(100),
CITY VARCHAR(50),
STATE VARCHAR(50),
PINCODE INT,
PASSWORD varchar(30),
NEW_PASSWORD varchar(30),
STATUS varchar(30) default 'TRUE',
primary key(USERID));

#-------------CREATING SHIPPING ADDRESS-----------------------
CREATE TABLE USERSHIPADDRESS(
USERADDRESSID INT NOT NULL identity(1,1),
USERID int,
ADDRESS VARCHAR(100),
STATE VARCHAR(50),
CITY varchar(50),
PHONENUMBER INT,
primary key (USERADDRESSID),
foreign key (USERID) references USERS(USERID));

#------------------CREATING CATEGORIES TABLE----------------
CREATE TABLE CATEGORIES(
CATEGORYID INT NOT NULL identity(1,1),
CATEGORYNAME VARCHAR(50) unique,
DESCRIPTION VARCHAR(150),
IMAGE VARCHAR(50),
STATUS varchar(30) default 'TRUE',
primary key(CATEGORYID));

#-------------------CREATING SUPPLIERS TABLE-------------------
CREATE TABLE SUPPLIERS(
SUPPLIERID INT NOT NULL identity(1,1),
SUPPLIERNAME VARCHAR(50) unique,
ADDRESS varchar(100),
CITY varchar(50),
PHONE_NUMBER INT UNIQUE,
EMAIL varchar(40) UNIQUE,
STATUS varchar(30) default 'TRUE',
PRIMARY KEY (SUPPLIERID));




#-------------------CREATING PRODUCTS TABLE-------------------as
CREATE TABLE PRODUCTS(
PRODUCTID INT NOT NULL identity(1,1),
PRODUCTNAME varchar(50) unique,
CATEGORYID INT,
PRODUCTDESCRIPTION VARCHAR(150),
PRODUCTLANGUAGE VARCHAR(30),
AUTHOR VARCHAR(50),
SUPPLIERID INT,
IMAGE VARCHAR(50),
UNITPRICE INT,
PRODUCTQUANTITY INT,
STATUS VARCHAR(30) default 'TRUE',
primary key(PRODUCTID),
foreign key (CATEGORYID) references CATEGORIES(CATEGORYID),
foreign key (SUPPLIERID) references SUPPLIERS(SUPPLIERID));

#--CREATING SUBSCRIBERS TABLE------------

CREATE TABLE SUBSCRIBERS(
SUBSCRIBERID INT NOT NULL identity(1,1),
USERID INT,
STATUS VARCHAR(30) default 'Expired',
primary key (SUBSCRIBERID),
foreign key (USERID) references USERS(USERID));

#----CREATING EBOOKS TABLE------------------

CREATE TABLE EBOOKS(
EBOOKID INT NOT NULL identity(1,1),
EBOOKNAME varchar(50) unique,
EBOOKAUTHOR varchar(30),
CATEGORYID INT,
EBOOKIMAGE VARCHAR(150),
EBOOKFILE VARCHAR(150),
PRICE INT,
QUANTITY INT,
STATUS VARCHAR(30) default 'TRUE',
primary key (EBOOKID),
foreign key (CATEGORYID) references CATEGORIES(CATEGORYID));

#--------CREATING SHIPPERS TABLES---------------------------------

CREATE TABLE SHIPPERS(
SHIPPERID INT NOT NULL identity(1,1),
SHIPPERNAME VARCHAR(30) unique,
PHONE_NUMBER INT UNIQUE,
STATUS VARCHAR(30) default 'TRUE',
primary key(SHIPPERID));

#--------CREATING PAYMENT TABLE



#-------------------CREATING ORDERS TABLE------------------------------
CREATE TABLE ORDERS(
ORDERID INT NOT NULL identity(1,1),
USERID INT,
ORDERDATE datetime,
SHIPDATE  datetime,
REQUIREDDATE datetime,
SHIPPERID INT,
AMOUNT INT,
STATUS VARCHAR(30) default 'NOT_DELIVERED',
primary key (ORDERID),
foreign key(USERID) references USERS(USERID),
foreign key(SHIPPERID) references SHIPPERS(SHIPPERID));

#-------------------CREATING ORDERDETAILS----------------------------------
CREATE TABLE ORDERDETAILS(
ORDERDETAILSID INT NOT NULL identity(1,1),
ORDERID INT,
PRODUCTID INT,
PRICE INT,
QUANTITY INT,
SUBTOTAL INT,
Primary key(ORDERDETAILSID),
foreign key(PRODUCTID) references PRODUCTS(PRODUCTID),
foreign key(ORDERID) references ORDERS(ORDERID));

#--------------------CREATING SUBSCRIPTION DETAILS----------------------------
CREATE TABLE SUBSCRIPTIONDETAILS(
SUBSCRIPTIONDETAILSID INT NOT NULL identity(1,1),
SUBSCRIBERID INT,
EBOOKID INT,
VALIDFROMDATE datetime,
MONTHS INT,
AMOUNT INT,
primary key (SUBSCRIPTIONDETAILSID),
foreign key(SUBSCRIBERID) references SUBSCRIBERS(SUBSCRIBERID),
foreign key(EBOOKID) references EBOOKS(EBOOKID));


#---------------------CREATING PAYMENT TABLE--------------------------------
CREATE TABLE PAYMENT(
PAYMENTID INT NOT NULL identity(1,1),
PAYMENTDATE datetime,
ORDERID INT,
SUBSCRIPTIONDETAILSID INT,
AMOUNT INT,
STATUS varchar(30) default 'PENDING',
primary key(PAYMENTID),
foreign key (ORDERID) references ORDERS(ORDERID),
foreign key (SUBSCRIPTIONDETAILSID) references SUBSCRIPTIONDETAILS(SUBSCRIPTIONDETAILSID));

Comments