DB 연습하기 - 06

오늘·2021년 4월 23일
0

DB

목록 보기
6/14

설계 단계

  1. 요구 조건 분석
    사용자가 원하는 데이터베이스의 용도를 파악하는 단계
  2. 개념적 설계
    사용자들의 요구사항을 이해하기 쉬운 형식으로 간단히 기술하는 단계
  3. 논리적 설계
    개념적 설계에서 만들어진 구조를 목적 데이터베이스에 맞도록 스키마를 설계하는 단계입니다. 이 단계에서 트랜잭션 인터페이스를 설계하고 정규화 과정을 거친다.
  4. 물리적 설계
    논리적 설계의 산출물을 이용해서 DBMS에서 관리되는 데이터베이스의 물리적인 구조와 접근 방법 등을 설계하는 단계
  5. 구현
    논리적 설계에 이어 물리적 설계가 끝나면 데이터베이스 구현 단계가 시작된다. 이 단계에서는 목적 DBMS의 DDL로 기술된 명령어를 실행하여 데이터베이스를 생성

테이블 만들기

-- 혹시 전에 만들어 놨을 수도 있으니 삭제시키기
drop table employee03;

-- 테이블 만들기
create table employee03 ( empno number(4) not null,
                          ename varchar2(20),
                          job varchar2(20),
                          sal number(7, 3) );

테이블 확인하기

-- 테이블 구조 확인하기
desc employee03;

-- 테이블 내용 확인하기
select * from employee03;

테이블의 구조 변경하기

-- 컬럼 크기 변경
alter table employee03 modify( ename varchar2(15) ) ;
-- 변경된 구조 확인하기
desc employee03;

값 넣고 변경하기 (+ null )

-- 값 넣기
insert into employee03 values ( 1000, '홍길동', '사원', 100 );
insert into employee03 values ( 1010, '이순신', '대리', 150 );
insert into employee03 values ( 1020, '홍명진', '과장', 200 );
insert into employee03 values ( 1030, '박경미', '과장', 150 );
-- null 넣기 1. '' 으로 공간만 주고 값 안쓰기
insert into employee03 values ( 1040, '김병진', '',  50 );
-- 2. 해당 자리에 null을 직접 작성하기
insert into employee03 values ( 1050, '박인수', null, 35 );


-- 값 변경하기
update employee03 set sal = sal + 50 where sal < 200;
select * from employee03;

-- 직급이 null인 줄 삭제하기
delete from employee03 where job is null;   -- null을 지울때는 'null'이 아니라 is null; 로 작성

컬럼 추가, 임시 배제

-- 컬럼 추가하기
alter table employee03 add( birth date);
select * from employee03;

/* set unused
 :해당 컬럼을 자주 사용하지 않는 경우 쓰지 않는다고 셋팅해 두는것
 : 많은 자료에서 불필요한 컬럼은 일단 배제시키려 할 때 사용한다 */ 
alter table employee03 set unused ( birth );

-- unused되어 있는 컬럼들을 한꺼번에 지울것이다
alter table employee03 drop unused columns;
select * from employee03;

테이블 이름 바꾸기

-- 이름 바꾸기
rename employee03 to employee02;
select * from employee03;   -- error
select * from employee02;   -- 확인 가능

테이블 복사

-- 테이블의 구조와 내용까지 동일하게 복사하기
create table employee01 as select * from employee02;
select * from employee01;   -- 동일하게 복사된 것을
select * from employee02;   -- 확인할 수 있다.

날짜 입력 하기

create table test ( hiredate date );
-- 날짜 주는 방법 1. '년/월/일'
insert into test values( '20/12/20' );
-- 방법 2. to_date('년/월/일', 'YYYY/MM/DD')
insert into test values (to_date('21/09/05', 'yyyy/mm/dd'));
-- 방법 3. 현재 시간을 기입하고 싶다면 sysdate
insert into test values (sysdate);

-- 특정 날짜의 자료를 검색하려면 >=를 사용
select * from test where hiredate >= '21/04/23' and hiredate < '21/04/24';

0개의 댓글