prod20aug/prod20aug-back-b/authsec_springboot/backend/target/classes/schema.sql

303 lines
8.4 KiB
SQL

/**
Model : NorthWind
**/
DROP SCHEMA IF EXISTS northwind;
CREATE SCHEMA northwind;
USE northwind;
/* Table: user (Application Users) */
CREATE TABLE user (
user_id NVARCHAR(20) NOT NULL,
password NVARCHAR(255) NOT NULL,
first_name NVARCHAR(50) ,
last_name NVARCHAR(50) ,
email NVARCHAR(70) ,
security_provider_id INT ,
default_customer_id INT ,
company NVARCHAR(50) ,
phone NVARCHAR(20) ,
address1 NVARCHAR(100),
address2 NVARCHAR(100),
country NVARCHAR(20) ,
postal NVARCHAR(20) ,
role NVARCHAR(20) ,
other_roles NVARCHAR(80) ,
is_active TINYINT ,
is_blocked TINYINT ,
secret_question NVARCHAR(100),
secret_answer NVARCHAR(100),
enable_beta_testing TINYINT,
enable_renewal TINYINT,
CONSTRAINT user_id PRIMARY KEY(user_id)
);
/* Table: customers */
CREATE TABLE customers (
id INT NOT NULL,
last_name VARCHAR(50) ,
first_name VARCHAR(50) ,
email VARCHAR(50) ,
company VARCHAR(50) ,
phone VARCHAR(25) ,
address1 VARCHAR(150),
address2 VARCHAR(150),
city VARCHAR(50) ,
state VARCHAR(50) ,
postal_code VARCHAR(15) ,
country VARCHAR(50) ,
PRIMARY KEY (id)
);
/* Table: employees */
CREATE TABLE employees (
id INT NOT NULL,
last_name VARCHAR(50) ,
first_name VARCHAR(50) ,
email VARCHAR(50) ,
avatar VARCHAR(250) ,
job_title VARCHAR(50) ,
department VARCHAR(50) ,
manager_id INT ,
phone VARCHAR(25) ,
address1 VARCHAR(150),
address2 VARCHAR(150),
city VARCHAR(50) ,
state VARCHAR(50) ,
postal_code VARCHAR(15) ,
country VARCHAR(50) ,
PRIMARY KEY (id)
);
/* Table: orders */
CREATE TABLE orders (
id INT NOT NULL,
employee_id INT ,
customer_id INT ,
order_date DATETIME ,
shipped_date DATETIME ,
ship_name VARCHAR(50) ,
ship_address1 VARCHAR(150) ,
ship_address2 VARCHAR(150) ,
ship_city VARCHAR(50) ,
ship_state VARCHAR(50) ,
ship_postal_code VARCHAR(50) ,
ship_country VARCHAR(50) ,
shipping_fee DECIMAL(19,4) NULL DEFAULT '0.0000',
payment_type VARCHAR(50) ,
paid_date DATETIME ,
order_status VARCHAR(25),
PRIMARY KEY (id)
);
/* Table: order_details */
CREATE TABLE order_items (
order_id INT NOT NULL,
product_id INT ,
quantity DECIMAL(18,4) NOT NULL DEFAULT '0.0000',
unit_price DECIMAL(19,4) NULL DEFAULT '0.0000',
discount DECIMAL(19,4) NULL DEFAULT '0.0000',
order_item_status VARCHAR(25),
date_allocated DATETIME ,
PRIMARY KEY (order_id, product_id)
);
/* Table: products */
CREATE TABLE products (
id INT NOT NULL,
product_code VARCHAR(25) ,
product_name VARCHAR(50) ,
description VARCHAR(250),
standard_cost DECIMAL(19,4) NULL DEFAULT '0.0000',
list_price DECIMAL(19,4) NOT NULL DEFAULT '0.0000',
target_level INT ,
reorder_level INT ,
minimum_reorder_quantity INT ,
quantity_per_unit VARCHAR(50) ,
discontinued TINYINT NOT NULL DEFAULT '0',
category VARCHAR(50),
PRIMARY KEY (id)
);
/* Foreign Key: orders */
ALTER TABLE orders ADD CONSTRAINT fk_orders__customers FOREIGN KEY (customer_id) REFERENCES customers(id);
ALTER TABLE orders ADD CONSTRAINT fk_orders__employees FOREIGN KEY (employee_id) REFERENCES employees(id);
/* Foreign Key: order_items */
ALTER TABLE order_items ADD CONSTRAINT fk_order_items__orders FOREIGN KEY (order_id) REFERENCES orders(id);
ALTER TABLE order_items ADD CONSTRAINT fk_order_items__products FOREIGN KEY (product_id) REFERENCES products(id);
/* Views */
CREATE OR REPLACE VIEW order_info AS
select o.id as order_id
, o.order_date
, o.order_status
, o.paid_date
, o.payment_type
, o.shipped_date
, o.shipping_fee
, o.ship_name
, o.ship_address1
, o.ship_address2
, o.ship_city
, o.ship_state
, o.ship_postal_code
, o.ship_country
, o.customer_id
, o.employee_id
, concat(c.first_name, ' ', c.last_name) as customer_name
, c.phone customer_phone
, c.email customer_email
, c.company as customer_company
, concat(e.first_name, ' ', e.last_name) as employee_name
, e.department employee_department
, e.job_title employee_job_title
From orders o
, employees e
, customers c
where o.employee_id = e.id
and o.customer_id = c.id;
CREATE OR REPLACE VIEW order_details AS
select oi.order_id
, oi.product_id
, oi.quantity
, oi.unit_price
, oi.discount
, oi.date_allocated
, oi.order_item_status
, o.order_date
, o.order_status
, o.paid_date
, o.payment_type
, o.shipped_date
, o.shipping_fee
, o.ship_name
, o.ship_address1
, o.ship_address2
, o.ship_city
, o.ship_state
, o.ship_postal_code
, o.ship_country
, p.product_code
, p.product_name
, p.category
, p.description
, p.list_price
, o.customer_id
, concat(c.first_name, ' ', c.last_name) as customer_name
, c.phone as customer_phone
, c.email as customer_email
, c.company as customer_company
, o.employee_id
, concat(e.first_name, ' ', e.last_name) as employee_name
, e.department as employee_department
, e.job_title as employee_job_title
From orders o
, products p
, order_items oi
, employees e
, customers c
where oi.order_id = o.id
and oi.product_id = p.id
and o.employee_id = e.id
and o.customer_id = c.id;
CREATE OR REPLACE VIEW customer_orders AS
select o.order_date, o.order_status, o.paid_date, o.payment_type, o.shipping_fee, o.customer_id
, c.first_name customer_first_name, c.last_name customer_last_name, c.phone customer_phone, c.email customer_email, c.company
from orders o,customers c
where o.customer_id = c.id;
CREATE OR REPLACE VIEW employee_orders AS
select o.order_date, o.order_status, o.paid_date, o.payment_type, o.shipping_fee, o.employee_id
, e.first_name employee_first_name, e.last_name employee_last_name, e.email employee_email, e.department
from orders o,employees e
where o.customer_id = e.id;
/* REAL_NET */
CREATE TABLE RN_INSTRUCTOR (
ID VARCHAR(20) NOT NULL AUTO_INCREMENT,
FIRST_NAME VARCHAR(20) NOT NULL,
LAST_NAME VARCHAR(20) NOT NULL,
EMAIL VARCHAR(20) NOT NULL,
CREATED_AT DATETIME,
UPDATED_AT DATETIME,
PRIMARY KEY (id)
);
/*==== EXTENSION FIELD ===*/
CREATE TABLE RN_EXT_FIELD_T (
ID int(11) NOT NULL AUTO_INCREMENT,
TYPE VARCHAR(20),
DATA_TYPE VARCHAR(20),
FIELD_NAME VARCHAR(20),
MAPPING VARCHAR(20),
FORM_CODE VARCHAR(20),
IS_ACTIVE BOOLEAN,
ACCOUNT_ID VARCHAR(20),
CREATED_AT DATETIME,
UPDATED_AT DATETIME,
CREATED_BY VARCHAR(20),
UPDATED_BY VARCHAR(20),
PRIMARY KEY (ID)
);
/*========= lookup ========
CREATE TABLE `rn_lookup_values_t` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`LOOKUP_CODE` longtext,
`MEANING` longtext,
`DESCRIPTION` longtext,
`LOOKUP_TYPE` longtext,
`ACTIVE_START_DATE` datetime DEFAULT NULL,
`ACTIVE_END_DATE` datetime DEFAULT NULL,
`ENABLED_FLAG` longtext,
`CREATED_BY` int(11) DEFAULT NULL,
`CREATION_DATE` datetime DEFAULT NULL,
`LAST_UPDATED_BY` int(11) DEFAULT NULL,
`LAST_UPDATE_DATE` datetime DEFAULT NULL
PRIMARY KEY (`ID`)
); */
/*========= LOGGING ========
DROP TABLE logging_event_exception IF EXISTS;
DROP TABLE logging_event_property IF EXISTS;
DROP TABLE logging_event IF EXISTS;
CREATE TABLE logging_event (
timestmp BIGINT NOT NULL,
formatted_message LONGVARCHAR NOT NULL,
logger_name VARCHAR(256) NOT NULL,
level_string VARCHAR(256) NOT NULL,
thread_name VARCHAR(256),
reference_flag SMALLINT,
arg0 VARCHAR(256),
arg1 VARCHAR(256),
arg2 VARCHAR(256),
arg3 VARCHAR(256),
caller_filename VARCHAR(256),
caller_class VARCHAR(256),
caller_method VARCHAR(256),
caller_line CHAR(4),
event_id IDENTITY NOT NULL);
CREATE TABLE logging_event_property (
event_id BIGINT NOT NULL,
mapped_key VARCHAR(254) NOT NULL,
mapped_value LONGVARCHAR,
PRIMARY KEY(event_id, mapped_key),
FOREIGN KEY (event_id) REFERENCES logging_event(event_id));
CREATE TABLE logging_event_exception (
event_id BIGINT NOT NULL,
i SMALLINT NOT NULL,
trace_line VARCHAR(256) NOT NULL,
PRIMARY KEY(event_id, i),
FOREIGN KEY (event_id) REFERENCES logging_event(event_id)); */