Mini Project
create database Project_3;
use Project_3;
-- creating table <role>
create table role(id int primary key, role_name varchar(100));
-- creating status table
create table status (id int primary key,status_name varchar(100),is_user_working bit)
-- creating user_account table
create table user_account(id int primary key,
user_name varchar(100),
email varchar(250),
password varchar(200),
password_salt varchar(50) not null,
password_hash_algorithm varchar(50));
--- creating table user_has_role
create table user_has_role(id int primary key,
role_start_time timestamp,
role_end_time datetime not null,
user_account_id int foreign key references user_account(id),
role_id int foreign key references role(id)
);
-----
CREATE TABLE user_has_role (
id INT PRIMARY KEY,
role_start_time TIMESTAMP,
role_end_time DATETIME NOT NULL,
user_account_id INT,
role_id INT,
CONSTRAINT FK_user_account FOREIGN KEY (user_account_id) REFERENCES user_account(id),
CONSTRAINT FK_role FOREIGN KEY (role_id) REFERENCES role(id)
);
drop table user_has_role
----
-- creating table user_has_status
create table user_has_status(id int primary key,
status_start_time timestamp,
status_end_time datetime not null,
user_account_id int foreign key references user_account(id),
status_id int foreign key references status(id)
);
/*Insert data into each of the above tables. With at least two rows in each of
the tables. Make sure that you have created respective foreign keys.*/
insert into role (id,role_name)
select 1,'user1' union all
select 2,'user2' ;
select * from role
insert into status(id,status_name,is_user_working)
select 1,'new status',1 union all
select 2,'new status',1 ;
select * from status;
insert into user_account(id,user_name,email,password,password_salt,password_hash_algorithm)
select 1,'abc','abc@xys.com','abc','abcs','abcha' union all
select 2,'def','def@xys.com','yth','yths','defhpa';
select * from user_account;
insert into user_has_role(id,role_end_time,user_account_id,role_id)
select 1,getdate()+10,1,1 union all
select 2,getdate()+25,2,2 ;
select * from user_has_role;
insert into user_has_status(id,status_end_time,user_account_id,status_id)
select 1,getdate()+10,1,1 union all
select 2,getdate()+25,2,2;
select * from user_has_status;
--Delete all the data from each of the tables
truncate table user_has_status;
select * from user_has_status;
truncate table user_has_role
--remove foreign key
alter table user_has_role drop constraint FK_role
alter table user_has_role drop constraint FK_user_account
truncate table role
select * from user_has_role
--remove foreign key
alter table user_has_status drop constraint FK__user_has___statu__4222D4EF -- system generated FK name since we didnt given
alter table user_has_status drop constraint FK__user_has___user___412EB0B6
truncate table status
truncate table user_account
select * from user_account
Comments
Post a Comment