Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

create database employee_management;

go
use employee_management;
go

--1
create table employee
(
EmpNo int primary key,
EmpName varchar(30),
BirthDay smalldatetime,
DeptNo int not null,
MgrNo tinyint not null,
StartDate smalldatetime,
Salary money,
Level tinyint,
Status tinyint,
Note varchar(200),
constraint ck_level check (Level >=1 and Level <=7),
constraint ck_status check (Status in (0,1,2))
)

create table SKILL


(
SkillNo int primary key IDENTITY(1,1),
SkillName varchar(30),
Note varchar(200)
)

create table EMP_SKILL


(
SkillNo int not null,
EmpNo int not null,
SkillLevel tinyint ,
RegDate smalldatetime,
Description varchar(200),
constraint pk_skillNo_EmpNo primary key (SkillNo,EmpNo),
constraint ck_skillLevel check (SkillLevel >=1 and SkillLevel
<=3),
constraint fk_EmpNo foreign key (EmpNo) references
employee(EmpNo),
constraint fk_SkillNo foreign key (SkillNo) references
skill(SkillNo)
)

create table DEPARTMENT


(
DeptNo int primary key IDENTITY(1,1),
DeptName varchar(30),
Note varchar(200)
)
--2
/*2.1*/
alter table EMPLOYEE
add
Email varchar(30) ,
constraint uc_Email UNIQUE(EMAIL)

/*2.2*/
ALTER TABLE EMPLOYEE
ADD
CONSTRAINT df_EMPLOYEE
DEFAULT 0 FOR MgrNo,
DEFAULT 0 FOR Status;

--3
alter table employee
add
constraint fk_deptNo foreign key (DeptNo) references
department(DeptNo)

alter table emp_skill


drop column Description

--4
set dateformat dmy

insert into DEPARTMENT values ('dept1','this is dept1')


insert into DEPARTMENT values ('dept2','this is dept2')
insert into DEPARTMENT values ('dept3','this is dept3')
insert into DEPARTMENT values ('dept4','this is dept4')
insert into DEPARTMENT values ('dept5','this is dept5')

insert into EMPLOYEE values


(1,'emp1','1/1/1999',1,'45','2/1/2018',20000000,'5','1','Fail','so@gma
il.com')
insert into EMPLOYEE values
(2,'emp2','1/1/1999',1,'56','2/1/2018',20000000,'5','1','Fail','so2@gm
ail.com')
insert into EMPLOYEE values
(3,'emp3','1/1/1999',2,'4','2/1/2018',20000000,'5','1','Fail','so3@gma
il.com')
insert into EMPLOYEE values
(4,'emp4','1/1/1999',1,'78','2/1/2018',20000000,'5','1','Fail','so4@gm
ail.com')
insert into EMPLOYEE values
(5,'emp5','1/1/1999',2,'67','2/1/2018',20000000,'5','1','Fail','so5@gm
ail.com')

insert into SKILL values ('skill1','Good')


insert into SKILL values ('skill2','Fail')
insert into SKILL values ('skill3','Good')
insert into SKILL values ('skill4','Fail')
insert into SKILL values ('skill5','Good')

insert into EMP_SKILL values (1,1,1,'1/1/2018')


insert into EMP_SKILL values (2,1,2,'2/1/2018')
insert into EMP_SKILL values (3,3,3,'3/1/2018')
insert into EMP_SKILL values (4,3,3,'4/1/2018')
insert into EMP_SKILL values (5,2,2,'5/1/2018')

CREATE VIEW EMPLOYEE_TRACKING AS


SELECT EmpNo, EmpName, Level
FROM employee
WHERE Level >=3 and Level <= 5

SELECT * FROM EMPLOYEE_TRACKING

You might also like