반응형

 

Oracle SQL Developer을 사용하여 테이블을 생성, 수정, 삽입, 삭제한다.

Oracle SQL Developer는 소문자와 대문자를 가려 쓰지 않으며, 항상 끝에는 세미콜론(;)이 필수다.

 

 

 

릴레이션 구조

 

릴레이션(Relation)이란 데이터들의 표(Table)의 형태로 표현한 것을 이야기 한다.

릴레이션 = 테이블 = 파일

튜플들의 집합으로 하나의 릴레이션에는 동일한 튜플이 저장될 수 없다.

튜플(Tuple)속성(Attribute), 도메인(Domain)으로 구성되어 있다.

 

 

- 튜플(Tuple) = Row = 레코드

: 릴레이션을 구성하는 각각의 행, 속성의 모임.

튜플의 수 = 카디널리티(Cardinality) = 기수 = 대응수

 

- 속성(Attribute) = Column = 필드

: 데이터베이스를 구성하는 가장 작은 논리적 단위(고유하다). 개체의 특성을 기술.

순서들은 관계 없다.

속성의 수 = 디그리(Degree) = 차수

 

- 도메인(Domain)

: 하나의 속성이 취할 수 있는 같은 타입의 원자값들의 집합.

각 컬럼에 들어가야 할 제약 조건

 

 

용어 정리

E.FCodd의 용어 File 시스템의 용어 자주 사용되는 용어
릴레이션(relation) 파일(file) 테이블(table)
속성(attribute) 필드(field) 열(column), 컬럼
튜플(tuple) 레코드(record) 행(row)

 

 

 

테이블 생성

 

 

create table 테이블명 ( 
        속성명 타입(크기) NOT NULL 여부
        , constraint 임의의 이름 primary key(속성명)
        -- 프라이머리키 생성시 가변길이는 최대한 피해야 함. 에러 발생 가능성이 있음.
	);

 

create table employer ( -- 테이블 생성
        empno char(6) not null, --부서번호
        ename varchar2(20) not null, --이름
        dept varchar2(16) not null, --부서명
        tel varchar2(13), --전화번호
        salary number(10), --급여
        constraint pk_employee_salaries PRIMARY KEY (empno) -- 프라이머리 키 생성
    );

 

 

기본키(Primay Key) = 주 키 = 메인 키

: 중복될 수 없는 단일의 값.

대표되는 값.

null 값을 가질 수 없으며 단 하나의 속성만 가질 수 있다.

ex) 학번, 주민번호

 

- 자주 쓰이는 타입

문자 : char(고정길이), varchar2

숫자 : number

날짜 : date

 

+ 한글의 경우 한 글자당 3byte

 

 

- 프라이머리키 생성 여부 확인 방법

더보기

키와 관련된 것은 전부 인덱스에서 확인 가능.

 

사용자명 > 인덱스

 

 

- 속성들의 타입 등등 확인 방법

더보기
사용자명 > 테이블 > 생성한 테이블 더블 클릭

 

열, 데이터 등등 확인 가능

 

 

 

테이블 조회

 

 

select * from 테이블명;

 

select * from employer; -- 테이블 조회

 

 

 

테이블 수정

 

 

alter table 테이블명 add (속성명 타입(크기) NOT NULL 여부); -- 필드 추가
alter table 테이블명 modify (속성명 타입(크기)); -- 속성 수정

 

alter table employer add (address varchar2(50) not null); -- address 필드 추가
alter table employer modify (dept varchar2(20)); -- 부서명의 크기 16이었던 것을 20으로 변경

 

 

 

데이터 삽입

 

 

insert into 테이블명 (속성명1, 속성명2, 속성명3, 속성명4, 속성명5, 속성명6)
    values( 데이터1, 데이터2, 데이터3, 데이터4, 데이터5, 데이터6);

 

insert into employer (empno, ename, dept, tel, salary, address)
    values('100', '김기훈', '영업부', '010-8422-8117', 300, '대전광역시 서구 둔산로31번길 31');
insert into employer (empno, ename, dept, tel, salary, address)
    values('101', '홍성범', '기획부', '010-7562-3217', 350, '대전광역시 서구 계룡로29번길 50');
insert into employer (empno, ename, dept, tel, salary, address)
    values('102', '이만수', '기획부', '010-5562-6677', 500, '대전광역시 중구 대사로30번길 10');
insert into employer (empno, ename, dept, tel, salary, address)
    values('103', '강나미', '영업부', '010-4442-5614', 350, '대전광역시 중구 선화로10번길 30');
insert into employer (empno, ename, dept, tel, salary, address)
    values('109', '민병철', '총무부', '010-2542-8211', 250, '대전광역시 동구 산내로1205번길 24');

 

속성 순서에 맞는 데이터를 기입해야 한다.

순서를 바꿀 시 데이터의 순서도 바꿔야 하며 속성 순서가 기존과 같다면 속성명 기입을 생략해도 된다.

 

숫자가 아닌 경우 작은 따옴표(' ')로 감싸야 한다.

 

 

 

테이블 확인

 

 

테이블을 클릭하여 생성된 테이블들을 확인한다.

테이블이 확인되지 않을 시 테이블에 오른쪽 마우스 클릭 > 새로고침 하여 확인한다.

 

 

 

데이터, 테이블 삭제

 

데이터 삭제 후 조회

 

테이블 삭제 후 조회

 

delete from 테이블명;
drop table 테이블명;

 

delete from employer; -- 데이터 삭제
drop table employer; -- 테이블 삭제

 

테이블을 삭제 후 데이터 조회시 오류가 발생한다.

 

반응형