-
Notifications
You must be signed in to change notification settings - Fork 4
/
Game-Over.sql
175 lines (143 loc) · 5.29 KB
/
Game-Over.sql
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
if exists (select 1
from sys.sysreferences r join sys.sysobjects o on (o.id = r.constid and o.type = 'F')
where r.fkeyid = object_id('GAME') and o.name = 'FK_GAME_MANAGE_ADMIN')
alter table GAME
drop constraint FK_GAME_MANAGE_ADMIN
go
if exists (select 1
from sys.sysreferences r join sys.sysobjects o on (o.id = r.constid and o.type = 'F')
where r.fkeyid = object_id('RENT') and o.name = 'FK_RENT_RENT_CLIENT')
alter table RENT
drop constraint FK_RENT_RENT_CLIENT
go
if exists (select 1
from sys.sysreferences r join sys.sysobjects o on (o.id = r.constid and o.type = 'F')
where r.fkeyid = object_id('RENT') and o.name = 'FK_RENT_RENT2_GAME')
alter table RENT
drop constraint FK_RENT_RENT2_GAME
go
if exists (select 1
from sysobjects
where id = object_id('ADMIN')
and type = 'U')
drop table ADMIN
go
if exists (select 1
from sysobjects
where id = object_id('CLIENT')
and type = 'U')
drop table CLIENT
go
if exists (select 1
from sysindexes
where id = object_id('GAME')
and name = 'MANAGE_FK'
and indid > 0
and indid < 255)
drop index GAME.MANAGE_FK
go
if exists (select 1
from sysobjects
where id = object_id('GAME')
and type = 'U')
drop table GAME
go
if exists (select 1
from sysindexes
where id = object_id('RENT')
and name = 'RENT2_FK'
and indid > 0
and indid < 255)
drop index RENT.RENT2_FK
go
if exists (select 1
from sysindexes
where id = object_id('RENT')
and name = 'RENT_FK'
and indid > 0
and indid < 255)
drop index RENT.RENT_FK
go
if exists (select 1
from sysobjects
where id = object_id('RENT')
and type = 'U')
drop table RENT
go
/*==============================================================*/
/* Table: ADMIN */
/*==============================================================*/
create table ADMIN (
A_USERNAME varchar(80) not null,
A_PASSWORD varchar(50) not null,
constraint PK_ADMIN primary key (A_USERNAME)
)
go
/*==============================================================*/
/* Table: CLIENT */
/*==============================================================*/
create table CLIENT (
C_USERNAME varchar(80) not null,
C_PASSWORD varchar(50) not null,
C_FIRSTNAME varchar(50) not null,
C_LASTNAME varchar(50) not null,
C_PHONENUM varchar(11) not null,
constraint PK_CLIENT primary key (C_USERNAME)
)
go
/*==============================================================*/
/* Table: GAME */
/*==============================================================*/
create table GAME (
G_NAME varchar(100) not null,
A_USERNAME varchar(80) null,
V_NAME varchar(50) not null,
G_CATEGORY varchar(50) not null,
G_AMOUNT int not null,
G_PRICE float not null,
G_DATE datetime not null,
G_PHOTO image not null,
constraint PK_GAME primary key (G_NAME)
)
go
/*==============================================================*/
/* Index: MANAGE_FK */
/*==============================================================*/
create nonclustered index MANAGE_FK on GAME (A_USERNAME ASC)
go
/*==============================================================*/
/* Table: RENT */
/*==============================================================*/
create table RENT (
R_ID int not null identity(1,1),
C_USERNAME varchar(80) not null,
G_NAME varchar(100) not null,
RENT_DATE datetime not null,
RETURN_DATE datetime null,
constraint PK_RENT primary key (R_ID)
)
go
/*==============================================================*/
/* Index: RENT_FK */
/*==============================================================*/
create nonclustered index RENT_FK on RENT (C_USERNAME ASC)
go
/*==============================================================*/
/* Index: RENT2_FK */
/*==============================================================*/
create nonclustered index RENT2_FK on RENT (G_NAME ASC)
go
alter table GAME
add constraint FK_GAME_MANAGE_ADMIN foreign key (A_USERNAME)
references ADMIN (A_USERNAME)
go
alter table RENT
add constraint FK_RENT_RENT_CLIENT foreign key (C_USERNAME)
references CLIENT (C_USERNAME)
go
alter table RENT
add constraint FK_RENT_RENT2_GAME foreign key (G_NAME)
references GAME (G_NAME)
go
INSERT [dbo].[ADMIN] ([A_USERNAME], [A_PASSWORD]) VALUES (N'michael', N'michael1234')
GO