추씨의DBMS일기11편(국비Ver)

2023. 10. 31. 12:35DBMS

금일강의내용정리

==========================================================================

* DCL : 보안 -> GRANT(권한 설정), REVOKE(권한 제거)

1. 계정생성 - root
 (1) 계정 정보 확인 -> mysql 디비 -> user(host, user)
 (2) 계정 = 데이터베이스 이름은 동일하게 생성(관리자 부여)
 (3) 계정 생성 후 생성된 디비에 권한 부여


------------------------------------------------------------------------------------------------
<코리아아이티 아카데미 그룹웨어>
1. html, css, js - Ajax(Spring)

2. Database
부서명, 직책명, 사원가입, 
CREATE TABLE dept(
dept_code char(3) not null,  
dept_name varchar(20) not null,
primary key(dept_code)
);


INSERT INTO dept VALUES('100', '인사과');
INSERT INTO dept VALUES('200', '자재과');
INSERT INTO dept VALUES('300', '비서실');
INSERT INTO dept VALUES('900', '임원실');


SELECT COUNT(dept_code) as '부서' FROM dept;
SELECT * FROM dept;
SELECT * FROM dept ORDER BY dept_code ASC;

부장 100 대리 200 사원 300
CREATE TABLE pos(
pos_code char(3) not null, 
pos_name varchar(10) not null, 

dept_code char(3) not null, 
primary key(pos_code), 
foreign key(dept_code) references dept(dept_code) 
ON UPDATE CASCADE 
ON DELETE restrict
);


직책코드 직책명 부서코드
INSERT INTO pos VALUES('101', '인사과장', '100');
INSERT INTO pos VALUES('103', '사원', '100');

INSERT INTO pos VALUES('301', '비서실장', '300');

INSERT INTO pos VALUES('901', '대표이사', '900');
INSERT INTO pos VALUES('902', '기술이사', '900');

2단 정렬
SELECT * FROM pos 
ORDER BY 
dept_code DESC, 
pos_name DESC;

임원실 검색
SELECT * FROM pos WHERE dept_code = '900';

INSERT INTO emp VALUES(NULL, 'mail@mail.com', '1111', '홍길동', '101');


CREATE TABLE emp(
emp_id int not null auto_increment, 
emp_email varchar(50) not null, 
emp_passwd varchar(20) not null, 
emp_name varchar(10) not null,

pos_code char(3) not null, 
primary key(emp_id), 
foreign key(pos_code) references pos(pos_code)
ON UPDATE cascade
ON DELETE restrict
);

인사과(2) 비서실(1) 임원실(2)
SELECT A.dept_name, COUNT(B.pos_code) FROM dept A
INNER JOIN pos B ON A.dept_code = B.dept_code 
GROUP BY A.dept_name, B.dept_code;

인사과 인사부장 홍길동 순으로 출력하시오.
t1 INNER JOIN t2 ON t1.pk = t2.fk 
INNER JOIN t3 ON t2.pk = t3.fk;


SELECT A.dept_name, B.pos_name, C.emp_name FROM dept A 
INNER JOIN pos B ON A.dept_code = B.dept_code
INNER JOIN emp C ON B.pos_code = C.pos_code;

사원테이블의 직책이 '101'이고 사원번호 1번인 사원의 
사원명을 '김철수'로 변경하시오.

UPDATE 테이블명 SET 변경 WHERE 조건 = 값;
UPDATE emp SET emp_name = '김철수' 
WHERE pos_code = '101' AND emp_id = 1; 

이름이 '김철수'인 사원의 이메일을 'busan@busan.co.kr', 
이름을 '홍길동'으로 변경하시오.
UPDATE emp SET emp_email = 'busan@busan.co.kr', emp_name = '홍길동' 
WHERE emp_name = '김철수';

이메일이 'busan@busan.co.kr' 이거나 비밀번호가 '1111'인 
사원의 정보를 삭제하시오.
DELETE FROM emp 
WHERE emp_email = 'busan@busan.co.kr' OR emp_passwd = '1111';


View : 논리적(가상) 테이블을 생성해서 보안 처리
CREATE VIEW emp_v 
AS SELECT emp_email, emp_name FROM emp;

테이블 확인
SHOW TABLES;

VIEW 제거
DROP VIEW emp_v;

계정grp

SELECT * FROM emp;

 

workbench에서 EER Diagram 생성후 .PNG파일로 저장

 


게시판환경설정, 게시판, (댓글)

3. Spring Boot

 

여기까지 금일강의내용 정리

==========================================================================

느낀점 : 요즘 왤케 잠이오냐

==========================================================================

오늘의 결론

.

.

.

.

.

.

.

성공적인 삶의 비밀은 무엇을 하는 게 자신의 운명인지 찾아낸 다음 그걸 하는 것이다. – 헨리 포드

'DBMS' 카테고리의 다른 글

국비수업 DBMS 평가항목  (0) 2023.11.06
추씨의DBMS일기12편(SQLD)  (0) 2023.11.01
추씨의DBMS일기10편(국비Ver)  (1) 2023.10.30
추씨의DBMS일기9편(국비Ver)  (0) 2023.10.27
추씨의DBMS일기8편(국비Ver)  (0) 2023.10.26