본문 바로가기

전체 글297

데이터 모델링 데이터 모델링 데이터 모델링 개념현실세계 -> 정보모델링 -> 데이터 모델링 -> DB 구현 현실세계 개념1개념2개념3 정보 모델링 개념적 모델(ER 다이어그램): 현실세계를 개체로 표현하고, 관계를 맺음 ER다이어그램으로 표현개체 개체 데이터모델링 논리적 모델(관계 데이터 모델) =물리적 모델링개체를 테이블, 속성으로 정의사상한다, 매핑한다라고도 함 DB 구현 데이터 모델링 생명주기 1.요구사항 수집 및 분석 2. 설계개념적 설계 - 요구사항을 기초로 주요 개념과 업무 프로세스 식별논리적 설계 - 사용 DBMS의 종류에 맞게 변환* 개념적 설계 + 논리적 설계 : ERWIN or EXERD로 구현물리적 설계 - 스키마 도출3. 구현테이블 및 관련 객체(뷰, 인덱스) 생성4. 운영5. 감시 및 개선 2018. 7. 12.
쿼리 실습(2) 12345--50. 부하직원이 있는 사원의 이름을 표시하시오.select distinct(e1.empno) 사원번호, e1.ename 사원명from emp e1, emp e2where e1.empno = e2.mgr;Colored by Color Scriptercs 123456789--51. BLAKE와 동일한 부서에 속한 사원의 이름과 입사일을 표시하는 질의를 작성하시오. ( 단 BLAKE는 제외 )select deptno 부서번호, ename 성명, hiredate 입사일from empwhere deptno=(select deptnofrom empwhere ename = 'BLAKE') and ename != 'BLAKE';Colored by Color Scriptercs 12345678--52. 급.. 2018. 7. 12.
쿼리 실습(1) 123--1. 덧셈연산자를 이용하여 모든 사원에 대해서 $300의 급여 인상을 계산한 후 사원의 이름, 급여, 인상된 급여를 출력하시오.select ename 성명, sal 급여 ,sal+300 as 인상급여from emp;Colored by Color Scriptercs 123456--2. 사원의 이름, 급여, 연간 총 수입을 총 수입이 많은 것부터 작은 순으로 출력하시오--, 연간 총수입은 월급에 12를 곱한 후 $100의 상여금을 더해서 계산하시오.select ename 성명, sal 급여, (sal*12)+100 총수입from emporder by 3 desc;Colored by Color Scriptercs 123456--3. 급여가 2000을 넘는 사원의 이름과 급여를 표현, 급여가 많은 것부.. 2018. 7. 12.
가상테이블인 뷰 VIEW 논리적인 가상 테이블데이터 저장 x , 테이블처럼 사용 가능 select를 위한 view를 주로 생성사용이유-복잡한 쿼리를 짧게 처리-보안(부서별, 개인별 다른 결과 사용) 뷰 정의하기create ~ view ~as [서브 쿼리문]create or replace view force기본 테이블의 존재 여부에 상관없이 뷰 생성 with check option해당 뷰를 통해 볼 수 있는 범위 내에서 update, insert 가능-pk, not null 제약에 걸리면 update, insert 불가 with read onlyselect만 가능구문 생략하면 추가/수정/삭제 모두 가능 1234567891011/*VIEW 정의*/ CREATE VIEW EMP_VIEW30ASSELECT EMPNO, ENAM.. 2018. 7. 11.
트랜잭션 트랜잭션-데이터 처리의 논리적 단위-ALL OR NOTHING COMMIT/ROLLBACK : 트랜잭션 제어 명령어 COMMIT트랜잭션 과정 종료, 물리적 데이터 처리DDL, DCL 자동 COMMIT ROLLBACK트랜젹션 완료 전으로 돌아감DML 작업 중 정전/컴퓨터 down 자동 ROLLBACK 프로그래밍단에서 데이터 처리시 익셉션 발생 -> ROLLBACK되게 프로그래밍 2018. 7. 11.
테이블의 내용 추가, 수정, 삭제하는 DML 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061-- 테이블의 내용, 추가, 수정, 삭제하는 DML-- DML 단위: 행 /*insert : 테이블에 새로운 행 추가입력 컬럼 나열 - 생략시 모든 컬럼에 데이터 입력컬럼명과 입력값의 순서만 맞으면 컬럼명 순서는 상관 없다*/insert into dept01 (deptno, dname, loc) values (10,'SALES','NEWYORK');insert into dept01 values (20,'RD','SEOUL'); /*#오류 발생 경우-컬럼명 수 > 괄호 안 컬럼 수-컬럼명 수 '1982/01.. 2018. 7. 11.