Skip to content

Instantly share code, notes, and snippets.

@sonAndrew
Created May 22, 2022 15:50
Show Gist options
  • Select an option

  • Save sonAndrew/680997c46db6e49554af22f263db7dfd to your computer and use it in GitHub Desktop.

Select an option

Save sonAndrew/680997c46db6e49554af22f263db7dfd to your computer and use it in GitHub Desktop.
ALTER TABLE [dbo].[user_roles]
ADD id INT NOT NULL IDENTITY(1, 1) PRIMARY KEY;
CREATE TABLE [availablities]
(
id INT NOT NULL IDENTITY(1, 1) PRIMARY KEY,
user_role_id INT NOT NULL REFERENCES [dbo].[users](id),
shift_id INT NOT NULL REFERENCES [dbo].[shifts](id),
department_id INT NOT NULL REFERENCES [dbo].[departments](id),
location_id INT NOT NULL REFERENCES [dbo].[locations](id)
);
CREATE TABLE [cities]
(
id INT NOT NULL IDENTITY(1, 1) PRIMARY KEY,
name VARCHAR(50) NOT NULL
);
CREATE TABLE [companies]
(
id INT NOT NULL IDENTITY(1, 1) PRIMARY KEY,
name VARCHAR(50) NOT NULL,
city_id INT NOT NULL REFERENCES [dbo].[cities](id),
industry_id INT NOT NULL REFERENCES [dbo].[industries](id)
);
CREATE TABLE [days]
(
id INT NOT NULL IDENTITY(1, 1) PRIMARY KEY,
name VARCHAR(50),
);
CREATE TABLE [departments]
(
id INT NOT NULL IDENTITY(1, 1) PRIMARY KEY,
name VARCHAR(50)
);
CREATE TABLE [industries]
(
id INT NOT NULL IDENTITY(1, 1) PRIMARY KEY,
name VARCHAR(50)
);
CREATE TABLE [locations]
(
id INT NOT NULL IDENTITY(1, 1) PRIMARY KEY,
name VARCHAR(50)
);
CREATE TABLE [positions]
(
id INT NOT NULL IDENTITY(1, 1) PRIMARY KEY,
name VARCHAR(50)
);
CREATE TABLE [reports]
(
id INT NOT NULL IDENTITY(1, 1) PRIMARY KEY,
title VARCHAR(50) NOT NULL,
summary VARCHAR(128) NOT NULL,
introduction VARCHAR(128) NOT NULL,
body VARCHAR(256) NOT NULL,
department_id INT NOT NULL REFERENCES [dbo].[departments](id),
user_id INT NOT NULL REFERENCES [dbo].[users](id)
);
CREATE TABLE [roles]
(
id INT NOT NULL IDENTITY(1, 1) PRIMARY KEY,
name VARCHAR(50),
);
CREATE TABLE [schedules]
(
id INT NOT NULL IDENTITY(1, 1) PRIMARY KEY,
name VARCHAR(50) NOT NULL,
department_id INT NOT NULL REFERENCES [dbo].[departments](id),
position_id INT NOT NULL REFERENCES [dbo].[positions](id),
total_hours INT NOT NULL,
day_id INT NOT NULL REFERENCES [dbo].[days](id)
);
CREATE TABLE [shifts]
(
id INT NOT NULL IDENTITY(1, 1) PRIMARY KEY,
name VARCHAR(50)
);
CREATE TABLE [teams]
(
id INT NOT NULL IDENTITY(1, 1) PRIMARY KEY,
name VARCHAR(50) NOT NULL,
user_roles INT NOT NULL REFERENCES [dbo].[user_roles](id),
department_id INT NOT NULL REFERENCES [dbo].[departments](id),
location_id INT NOT NULL REFERENCES [dbo].[locations](id)
);
CREATE TABLE [user_roles]
(
user_id INT NOT NULL REFERENCES [dbo].[users](id),
role_id INT NOT NULL REFERENCES [dbo].[roles](id)
);
CREATE TABLE [users]
(
id INT NOT NULL IDENTITY(1, 1) PRIMARY KEY,
first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL,
role_id INT NOT NULL REFERENCES [dbo].[roles](id),
position_id INT NOT NULL REFERENCES [dbo].[positions](id),
department_id INT NOT NULL REFERENCES [dbo].[departments](id)
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment