[KIC 캠퍼스] 오늘은 2차 시험이 있던 날입니다.


오늘은 2차 시험이 있었던 날입니다.

과목은 SQL이고 문제는 2개 파트로 나눠서 총 20문제로 예정되었습니다. 원래라면 아예 모르는 상태에서 시험을 치는 것이 정상이기는 하지만 여느 대학교가 다들 그런 것처럼 KIC 캠퍼스에서도 강사님께서 대강의 문제 범위를 알려주셨습니다. 그리고 말씀하시길 "국비지원교육이라서 세금이 허투로 쓰이지 않는지 확인하기 위한 절차다. 하지만 시험을 친다라기 보단 그동안 배운 걸 조금이라도 복습하고 기억할 수 있는 시간이었으면 좋겠다" 라고 해주셨죠.

실제로도 문제가 학생들 골탕먹이려는 의도보다는(대학교 가면 엄청 자주 보는 그런 교수님들...) 진짜로 기초 하나라도 제대로 알고가자의 컨셉의 문제입니다. 그래서 저도 아래처럼 SQL 전반에 대해서 정리를 했습니다. 아래와 같은 식으로 개념들에 대해서 정리하고 SQL 문이 어떻게 구성되는지 뭐 전부 다 쓰면 지면을 너무 많이 쓰니까 이런 식으로 정리했다는 것만 보여드릴게요 ㅎㅎ;;

<scott 계정 >
SQL>connect sys/비밀번호 as sysdba
SQL> SELECT username, account_status FROM dba_users WHERE username='SCOTT';
-- 여기까지 확인
SQL> ALTER user scott account unlock;
SQL> ALTER user scott IDENTIFIED BY tiger;
-- 여기서 변경
ALTER USER scott IDENTIFIED BY tiger ACCOUNT UNLOCK;
-- 혹은 이렇게도 가능

>>트랜젝션의 의미
DB 내에서 한꺼번에 수행되어야 하는 일련의 연산 과정
트랜젝션의 성질은
- 원자성 : 분리할 수 없는 하나의 작업으로 아예 안하거나 다 하거나
- 일관성 : 사용되는 데이터는 일관되어야 함
- 격리성 : 접근하는 DB는 다른 트랙젝션으로부터 격리되어야 함
- 영속성 : 트랜젝션이 종료되면 결과는 시스템 전체에 적용되어야 함
- 순차성 : 데이터를 다시 로드하고 트랙젝션을 적용하여 원래 트랜잭션이 적용된 후의 상태로 데이터를 돌릴 수 있는 것

즉, 트랜젝션 하나가 완전히 끝나면 COMMIT, 중간에 트랜잭션이 오류나 비번 틀려서 되돌아가는 것을 ROLLBACK

>>테이블 구조 변경(화면
CREATE TABLE mytable ( id INT PRIMARY KEY, name VARCHAR(20) );
DROP TABLE table_name;

계정 만드는 방법 / 권한을 주는 방법(grant)...
create user 유저명 identitifed by 패스워드;
grant resource, connect to 유저명;
-- resource, connect 가 권한
alter 유저명 identifiedy by 비밀번호;

grant all privileges on *.* to myuser@localhost identified by '비밀번호' with grant option;
-- myuser라는 id를 생성하고 / '비밀번호'를 줘서 모든 권한을 부여함. *.*는 전체 db. 바꾸고 싶으면 이름으로 바꾸면 됨.
-- grant all이 싫다면 select, insert, update, delete, index, alter 등으로 변경해서 부여 가능

>>db를 만들 때 sql 명령어
create databsed db명;

>>synonym (동의어) 만드는 방법 2가지(private/public)
Private Synonym : 전용 시노님은 특정 사용자만 이용할수 있다.
Public Synonym : 공용 시노님은 공용 사용자 그룹이 소유하며 그 데이터베이스에 있는 모든 사용자가 공유 한다.

CREATE [PUBLIC] SYNONYM [schema.SQL> create public synonym pub_test for kim.test;
☜ kim.test에 대해 public 시노님(pub_test)을 생성

CREATE SYNONYM SYSTABLE FOR SYSTEM.SYSTABLE;
CREATE [PUBLIC] SYNONYM [schema.]synonym명 FOR [schema.]object명;

시험은 10문제당 1시간 씩 진행이 되었습니다..만 1문제에 10분씩해서 2시간 동안 하는건 학생 입장에서도 곤욕이라서 사실상 1시간 10여분 조금 넘는 시점에 모든 학생들이 제출을 완료하였습니다. 문제지도 찍어서 보여드리고 싶긴 하지만 걷어가는지라 보여드리긴 어렵네요 ㅜ


저번에 얘기한 것처럼 60점이 넘어야 통과가 되고, 만일 90점이 넘으면 KIC 캠퍼스 기준으로 커피 쿠폰 선물이 들어옵니다 ㅋㅋ 지난번 1차 시험 때 다들 기대를 안했는데 쿠폰을 받으니까 엄청 좋아하더라구요 ㅋㅋㅋ 저도 살짝 부러웠습니다. 90점 받을걸... ㅂㄷㅂㄷ

반대로 60점을 못 넘으면 재시험을 치게 되고, 재시험도 탈락하면 퇴소 절차를 밟게 됩니다. 세금 들여서 가르칠만한 가치(?)가 없다고 판단하는거죠. 그래도 현재까지 60점을 못 넘은 사람은 아무도 없었습니다. 강사님도 말씀하시길 60점 밑으로 간 애들도 완전 처음 들은 비전공자나 가끔 그러지 그마저도 재시험 칠 때는 더 공부 많이 해서 탈락자는 없었다고 하셨습니다.

앞으로도 3~4번(?) 정도 시험이 더 남았다고 알고 있는데 앞으로는 계속 성적이 올라갔으면 하는 바램입니다. 지난번 시험은 아슬아슬하게 합격했다고 들었거든요. 더 열심히 노력해야겠습니다. 감사합니다.

P.S : 시험보고 도서관에서 SQL 책 빌렸습니다. 어려운 거 같으면서도 재밌네요... SQL이라는 녀석ㅡㅋㅋ



본 포스팅은 IT 교육기관인 KIC 캠퍼스에서 공부하며 작성한 리포트입니다.
혹시 잘못된 내용이 있거나 문제 소지시 댓글 남겨주시면 조치하겠습니다.





댓글(0)

Designed by JB FACTORY