2014년 2월 16일 일요일
20140214 Data Base 시작!
: 오늘은 DB의 정의 보다는 오라클과 ERWin 등의 설치가 매우 까다로워(?)서 정신이 없었다.
DB의 설치 방법은 다른분들이 자세하고 친절하게 정리했기 때문에 따로 다루지 않겠다.(사실 정성이 부족)
:(오라클, 오라클디벨로퍼 머시기, ERWin 을 깔아야 DB파트 시작 ㅠㅠ)
: ERD(Entity Relationship Diagram) 개체관계모델로 설계한 것을 눈으로 확인!
1. DB를 다룰 때 가장 먼저 해야하는 일
당연히 설계이다. 이미 설계의 중요성은 많이 깨달았기 때문에 필요하지만 어려운 그 무엇 정도로 정의!
2. DB 모델링
계획 - 분석 - 설계 - 구축 의 순서로 진행한다.(실무에서 내가 할 일은 없고, 잘 짜여진 모델링을 볼 수 있는 수준이라도 되면 된다!)
설계에서는 논리적 설계 - 물리적 설계 순으로 진행하고, 객체(테이블, Entity)들 간의 관계를 잘 설정해야 한다
관계는 항상 동사형이고, 보이지 않으니 충분히 고민 후 설계해야 한다!
-개체(Entity)
-속성(Attribute)
-인스턴스(Instance)
-기본키(Primary key)
-외부키(Foreign key)
3. ERWin
내가 설계한 것들을 눈으로 볼 수 있게 해준다.
4. 꼭 기억해야 하는 명령어
: 오라클에는 교육용?학습용? 계정이 기본으로 주어진다. (scott/tiger)
아래 예제는 scott으로 접속하면 바로 실행이 가능하다.
cmd 상에서 sqlplus scott/tiger 혹은 sql developer 를 이용한다.(오라클에서 다운 받는다!~)
한 줄에 쳐 넣을 수 있지만 나눠서 치는 것이 좋다고 한다!?!(하라면 하는거다 ㅠㅠ)
- 데이터 조회하기
select [distinct] {*,column[alias], ...}
from 테이블명;
ex)select * from dept; //dept 테이블의 모든 내용(속성) 보기(결과 값 보기)
- 특정 칼럼(속성,열,) 조회하기
select deptno, dname
from dept; //dept 테이블의 deptno, dname 열(속성, 내용) 보기(결과 값)
- 칼럼 이름에 별칭 지정하기
select deptno as departmentNo,
dname as departmentName // dname -> departmentName으로 바꿔 보여준다. 실제 속성이름은 바뀌지 않는다.
from dept;
혹은
select deptno "departmentNo", //as대신 ""을 사용하는데 유일하게 사용한다. 더 이상 ""를 쓸 일은 없다.
dname "departmentName" //고 한다...
from dept;
- 중복 데이터를 한번씩 만 출력
select distinct job // job열에서 겹치는 데이터는 보여주지 않는다!
from emp;
- 조건과 비교
select empno, ename, sal
from emp
where sal>=3000; // emp 테이블 에서 연봉이 3000이상인 사람들의 번호, 이름, 연봉 을 보여준다.
- 문자 데이터 조회
select empno, ename, sal
from emp
where ename = 'scott'; // ''<- 이것 안의 '문자열'에서는 대, 소문자를 구분 한다! 주의!
- 날짜 데이터 조회
select ename, hiredate
from emp
where hiredate >='1985/01/01' // 1985년 1월 1일 이후 입사한 사원
- 논리 연산자
select ename, deptno, job
from emp
where deptno=10 and job='manager'; // AND 연산자
select ename, deptno, job
from emp
where deptno=10 or job='manager'; // OR 연산자
select ename, deptno, job
from emp
where not job='manager'; // NOT 연산자
select ename, deptno, job
from emp
where sal BETWEEN 1000 AND 3000; // BETWEEN A AND B 연산자 (범위를 지정했다)
select ename, deptno, job
from emp
where empno in (7844, 7654, 7521); // OR를 모아놓은 IN연산자
select ename, deptno, job
from emp
where not job='manager'; // NOT 연산자 메니저 말고 다 뽑기
select ename, deptno, job
from emp
where ename like 'K%'; // like 연산자 K로 시작하는거 뽑기. %k, %K% 모두 가능
where ename like '_K%'; // _K%는 K가 두번째인 이름을 뽑는것!
SELECT ENAME, COMM, JOB
FROM EMP
WHERE COMM IS NULL; // 커미션을 받지 않는 사원!
SELECT ENAME, EMPNO, JOB
FROM EMP
ORDER BY EMPNO ; // 커미션을 받지 않는 사원! 오름차순(기본, 자동)
ORDER BY EMPNO DESC; // DESC(내림차순)
Do you wanna hear me?.....................................
모두가 아니라고 하는 길을 걸어 가 보겠다.
피드 구독하기:
댓글 (Atom)
댓글 없음:
댓글 쓰기