source: trunk/sources/HeuristicLab.Services.Hive.DataAccess/3.3/SQL Scripts/Initialize Hive Database.sql @ 6983

Last change on this file since 6983 was 6983, checked in by ascheibe, 8 years ago

#1672

  • added the Hive Services and Slave projects
  • added missing svn ignores
File size: 6.8 KB
Line 
1USE [HeuristicLab.Hive-3.3]
2/* create and initialize hive database tables */
3
4SET ARITHABORT ON
5CREATE TABLE [dbo].[AssignedResources](
6  [ResourceId] UniqueIdentifier NOT NULL,
7  [TaskId] UniqueIdentifier NOT NULL,   
8  CONSTRAINT [PK_dbo.ResourceIdTaskId] PRIMARY KEY ([ResourceId], [TaskId])
9  )
10CREATE TABLE [dbo].[Plugin](
11  [PluginId] UniqueIdentifier NOT NULL, 
12  [Name] VarChar(MAX), 
13  [Version] VarChar(MAX), 
14  [UserId] UniqueIdentifier, 
15  [DateCreated] DateTime, 
16  [Hash] VarBinary(20), 
17  CONSTRAINT [PK_dbo.Plugin] PRIMARY KEY ([PluginId])
18  )
19CREATE TABLE [dbo].[RequiredPlugins](
20  [RequiredPluginId] UniqueIdentifier NOT NULL, 
21  [TaskId] UniqueIdentifier NOT NULL, 
22  [PluginId] UniqueIdentifier NOT NULL, 
23  CONSTRAINT [PK_dbo.RequiredPlugins] PRIMARY KEY ([RequiredPluginId])
24  )
25CREATE TABLE [dbo].[Resource](
26  [ResourceId] UniqueIdentifier NOT NULL, 
27  [Name] VarChar(MAX), 
28  [ResourceType] NVarChar(4000) NOT NULL, 
29  [ParentResourceId] UniqueIdentifier, 
30  [CpuSpeed] Int, 
31  [Memory] Int, 
32  [Login] DateTime, 
33  [SlaveState] VarChar(15), 
34  [Cores] Int, 
35  [FreeCores] Int, 
36  [FreeMemory] Int, 
37  [IsAllowedToCalculate] Bit, 
38  [CpuArchitecture] VarChar(3), 
39  [OperatingSystem] VarChar(MAX), 
40  [LastHeartbeat] DateTime, 
41  [CpuUtilization] float, 
42  [HbInterval] int,
43  CONSTRAINT [PK_dbo.Resource] PRIMARY KEY ([ResourceId])
44  )
45CREATE TABLE [dbo].[Task](
46  [TaskId] UniqueIdentifier NOT NULL, 
47  [TaskState] VarChar(30), 
48  [ExecutionTimeMs] float, 
49  [LastHeartbeat] DateTime, 
50  [ParentTaskId] UniqueIdentifier, 
51  [Priority] Int NOT NULL, 
52  [CoresNeeded] Int NOT NULL, 
53  [MemoryNeeded] Int NOT NULL, 
54  [IsParentTask] Bit, 
55  [FinishWhenChildJobsFinished] Bit, 
56  [Command] VarChar(30), 
57  [JobId] UniqueIdentifier NOT NULL, 
58  [IsPrivileged] Bit, 
59  CONSTRAINT [PK_dbo.Task] PRIMARY KEY ([TaskId])
60  )
61CREATE TABLE [dbo].[Downtime](
62  [DowntimeId] UniqueIdentifier, 
63  [ResourceId] UniqueIdentifier, 
64  [StartDate] DateTime, 
65  [EndDate] DateTime, 
66  [AllDayEvent] Bit, 
67  [Recurring] Bit, 
68  [RecurringId] UniqueIdentifier, 
69  CONSTRAINT [PK_dbo.Downtime] PRIMARY KEY ([DowntimeId])
70  )
71CREATE TABLE [dbo].[Job](
72  [JobId] UniqueIdentifier NOT NULL, 
73  [Name] VarChar(MAX), 
74  [Description] VarChar(MAX), 
75  [ResourceIds] VarChar(MAX), 
76  [OwnerUserId] UniqueIdentifier, 
77  [DateCreated] DateTime,   
78  CONSTRAINT [PK_dbo.Job] PRIMARY KEY ([JobId])
79  )
80CREATE TABLE [dbo].[TaskData](
81  [TaskId] UniqueIdentifier NOT NULL, 
82  [Data] VarBinary(MAX), 
83  [LastUpdate] DateTime, 
84  CONSTRAINT [PK_dbo.TaskData] PRIMARY KEY ([TaskId])
85  )
86CREATE TABLE [dbo].[PluginData](
87  [PluginDataId] UniqueIdentifier NOT NULL, 
88  [PluginId] UniqueIdentifier NOT NULL, 
89  [Data] VarBinary(MAX) NOT NULL, 
90  [FileName] VarChar(MAX), 
91  CONSTRAINT [PK_dbo.PluginData] PRIMARY KEY ([PluginDataId])
92  )
93CREATE TABLE [dbo].[StateLog](
94  [StateLogId] UniqueIdentifier NOT NULL, 
95  [State] VarChar(30) NOT NULL, 
96  [DateTime] DateTime NOT NULL, 
97  [TaskId] UniqueIdentifier NOT NULL, 
98  [UserId] UniqueIdentifier, 
99  [SlaveId] UniqueIdentifier, 
100  [Exception] VarChar(MAX), 
101  CONSTRAINT [PK_dbo.StateLog] PRIMARY KEY ([StateLogId])
102  )
103CREATE TABLE [dbo].[JobPermission](
104  [JobId] UniqueIdentifier NOT NULL, 
105  [GrantedUserId] UniqueIdentifier NOT NULL, 
106  [GrantedByUserId] UniqueIdentifier NOT NULL, 
107  [Permission] VarChar(15) NOT NULL, 
108  CONSTRAINT [PK_dbo.JobPermission] PRIMARY KEY ([JobId], [GrantedUserId])
109  )
110CREATE TABLE [Lifecycle](
111  [LifecycleId] Int, 
112  [LastCleanup] DateTime, 
113  CONSTRAINT [PK_Lifecycle] PRIMARY KEY ([LifecycleId])
114  )
115CREATE TABLE [DeletedJobStatistics](
116  [UserId] UniqueIdentifier NOT NULL, 
117  [ExecutionTimeS] float NOT NULL, 
118  [ExecutionTimeSFinishedJobs] float NOT NULL, 
119  [StartToEndTimeS] float NOT NULL, 
120  [DeletedJobStatisticsId] UniqueIdentifier NOT NULL, 
121  CONSTRAINT [PK_DeletedJobStatistics] PRIMARY KEY ([DeletedJobStatisticsId])
122  )
123CREATE TABLE [UserStatistics](
124  [StatisticsId] UniqueIdentifier NOT NULL, 
125  [UserId] UniqueIdentifier NOT NULL, 
126  [ExecutionTimeMs] float NOT NULL, 
127  [UsedCores] Int NOT NULL, 
128  [ExecutionTimeMsFinishedJobs] float NOT NULL, 
129  [StartToEndTimeMs] float NOT NULL, 
130  CONSTRAINT [PK_UserStatistics] PRIMARY KEY ([StatisticsId], [UserId])
131  )
132CREATE TABLE [SlaveStatistics](
133  [StatisticsId] UniqueIdentifier NOT NULL, 
134  [SlaveId] UniqueIdentifier NOT NULL, 
135  [Cores] Int NOT NULL, 
136  [FreeCores] Int NOT NULL, 
137  [CpuUtilization] float NOT NULL, 
138  [Memory] Int NOT NULL, 
139  [FreeMemory] Int NOT NULL, 
140  CONSTRAINT [PK_SlaveStatistics] PRIMARY KEY ([StatisticsId], [SlaveId])
141  )
142CREATE TABLE [Statistics](
143  [StatisticsId] UniqueIdentifier NOT NULL, 
144  [Timestamp] DateTime NOT NULL, 
145  CONSTRAINT [PK_Statistics] PRIMARY KEY ([StatisticsId])
146  )
147ALTER TABLE [dbo].[AssignedResources]
148  ADD CONSTRAINT [Resource_AssignedResource] FOREIGN KEY ([ResourceId]) REFERENCES [dbo].[Resource]([ResourceId])
149ALTER TABLE [dbo].[AssignedResources]
150  ADD CONSTRAINT [Task_AssignedResource] FOREIGN KEY ([TaskId]) REFERENCES [dbo].[Task]([TaskId])
151ALTER TABLE [dbo].[RequiredPlugins]
152  ADD CONSTRAINT [Plugin_RequiredPlugin] FOREIGN KEY ([PluginId]) REFERENCES [dbo].[Plugin]([PluginId])
153ALTER TABLE [dbo].[RequiredPlugins]
154  ADD CONSTRAINT [Task_RequiredPlugin] FOREIGN KEY ([TaskId]) REFERENCES [dbo].[Task]([TaskId])
155ALTER TABLE [dbo].[Resource]
156  ADD CONSTRAINT [Resource_Resource] FOREIGN KEY ([ParentResourceId]) REFERENCES [dbo].[Resource]([ResourceId])
157ALTER TABLE [dbo].[Task]
158  ADD CONSTRAINT [Task_Task] FOREIGN KEY ([ParentTaskId]) REFERENCES [dbo].[Task]([TaskId])
159ALTER TABLE [dbo].[Task]
160  ADD CONSTRAINT [Job_Job] FOREIGN KEY ([JobId]) REFERENCES [dbo].[Job]([JobId])
161ALTER TABLE [dbo].[Downtime]
162  ADD CONSTRAINT [Resource_Downtime] FOREIGN KEY ([ResourceId]) REFERENCES [dbo].[Resource]([ResourceId])
163ALTER TABLE [dbo].[TaskData]
164  ADD CONSTRAINT [Task_TaskData] FOREIGN KEY ([TaskId]) REFERENCES [dbo].[Task]([TaskId])
165ALTER TABLE [dbo].[PluginData]
166  ADD CONSTRAINT [Plugin_PluginData] FOREIGN KEY ([PluginId]) REFERENCES [dbo].[Plugin]([PluginId])
167ALTER TABLE [dbo].[StateLog]
168  ADD CONSTRAINT [Task_StateLog] FOREIGN KEY ([TaskId]) REFERENCES [dbo].[Task]([TaskId])
169ALTER TABLE [dbo].[StateLog]
170  ADD CONSTRAINT [Resource_StateLog] FOREIGN KEY ([SlaveId]) REFERENCES [dbo].[Resource]([ResourceId])
171ALTER TABLE [dbo].[JobPermission]
172  ADD CONSTRAINT [Job_JobPermission] FOREIGN KEY ([JobId]) REFERENCES [dbo].[Job]([JobId])
173ALTER TABLE [UserStatistics]
174  ADD CONSTRAINT [Statistics_UserStatistics] FOREIGN KEY ([StatisticsId]) REFERENCES [Statistics]([StatisticsId])
175ALTER TABLE [SlaveStatistics]
176  ADD CONSTRAINT [Statistics_SlaveStatistics] FOREIGN KEY ([StatisticsId]) REFERENCES [Statistics]([StatisticsId])
Note: See TracBrowser for help on using the repository browser.