-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy pathSE_TABLES.sql
More file actions
77 lines (68 loc) · 2.04 KB
/
SE_TABLES.sql
File metadata and controls
77 lines (68 loc) · 2.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
USE teamformationassistant;
DROP TABLE IF EXISTS Member;
DROP TABLE IF EXISTS Project;
DROP TABLE IF EXISTS Team;
DROP TABLE IF EXISTS Requirements;
CREATE TABLE Member(
MemberId INT NOT NULL AUTO_INCREMENT,
MemberName VARCHAR(30) NOT NULL,
DOB DATE,
Languages VARCHAR(100) NOT NULL,
IsAssigned INT,
HourlyRate FLOAT,
MemberRole VARCHAR(20),
Experience INT,
SkillScore INT,
AvailableHoursPerWeek INT,
PRIMARY KEY (MemberId)
);
CREATE TABLE Project(
ProjectId INT NOT NULL AUTO_INCREMENT,
ProjectName VARCHAR(30) NOT NULL,
ProjectEndDate DATE,
ProjectTeamSize INT,
Budget FLOAT,
Tools VARCHAR(100),
IsAssignmentComplete INT,
Priority INT,
PRIMARY KEY (ProjectId)
);
CREATE TABLE Team(
ProjectId INT NOT NULL REFERENCES Member(MemberId),
ProjectName varchar(30),
MemberId INT NOT NULL REFERENCES Project(ProjectId),
MemberName VARCHAR(30) NOT NULL
);
CREATE TABLE Requirements(
JobId INT NOT NULL AUTO_INCREMENT,
ProjectId INT NOT NULL REFERENCES Project(ProjectId),
LanguagePreferred VARCHAR(20) NOT NULL,
Skill INT NOT NULL,
MemberRole VARCHAR(20),
AvailableHoursPerWeek INT,
SkillWeight INT,
ExperienceWeight INT,
HoursWeight INT,
LanguageWeight INT,
BudgetWeight INT,
PRIMARY KEY (JobId)
);
DELIMITER //
CREATE PROCEDURE populateRequirements(
IN vLanguagePreferred VARCHAR(255),
IN vSkill VARCHAR(255),
IN vMemberRole VARCHAR(255),
IN vAvailableHoursPerWeek INT,
IN vSkillWeight INT,
IN vExperienceWeight INT,
IN vHoursWeight INT,
IN vLanguageWeight INT,
IN vBudgetWeight INT
)
BEGIN
DECLARE pid INT DEFAULT -1;
SELECT MAX(ProjectID) INTO pid FROM Project;
INSERT INTO Requirements (ProjectId,LanguagePreferred,Skill,MemberRole,AvailableHoursPerWeek,SkillWeight,ExperienceWeight, HoursWeight, LanguageWeight, BudgetWeight)
VALUES (pid, vLanguagePreferred,vSkill,vMemberRole,vAvailableHoursPerWeek,vSkillWeight,vExperienceWeight, vHoursWeight, vLanguageWeight, vBudgetWeight);
END//
DELIMITER ;