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

Popular posts from this blog

Assignment module 1&2

Assignment Module 3&4

SQL_chapter1_assignment