Database
특정 기업이나 조직 또는 개인이 필요에 의해 논리적으로 연관된 데이터를 모아 일정한 형태로 저장해 놓은 것
DBMS(Database Management System)
- 데이터베이스 관리 프로그램
- DBMS를 이용하여 데이터 입력, 수정, 삭제 등의 기능을 제공
데이터베이스 모델링
- 개념적 모델링 : 업무 일반화
(RDBMS 개념 생각하지 않는 단계)
- Entitiy, Attribute, Relation 도출
- ERD 작성
- 관계, 관계 차수
- 논리적 모델링 : 개념 구체화
(RDBMS 이론을 적용해서 어떤 DBMS를 사용할지 생각하지 않는 단계)
- ERD를 바탕으로 관계 해소
- 정규화(1,2,3 정규화) : 데이터 중복 최소화
- 상세 속성 정의
- 연관 관계
1:1 : 식별 관계, 한쪽의 PK를 한쪽의 FK로 전이
1:N : 비식별 관계, 1쪽의 PK를 N쪽의 FK로 전이
N:N : 논리적으로는 존재하나 물리적으로 존재할 수 없다. 반드시 테이블 새로 추가해야한다. 양쪽의 PK를 N쪽 FK로 전이
복합키가 생길 수 있어 사용할 때 불편하기 때문에 대리키 활용을 많이 한다.
- 물리적 모델링
(DBMS를 선택하고 다양한 물리적 구조를 생성)
- 물리적 구조(table, view, index 등)에 샘플 데이터를 넣고 성능 Test
- 성능 이슈가 있으면 역정규화 진행
Oracle SQL Developer
협업을 할 때 호스트 이름 : PCIP
포트 : Listener 번호
SID : xe (대소문자 가리지않음)
create user id IDENTIFIED BY pw;
grant connect, resource, dba to id;
conn id/pw;
SQL 종류
DML
- INSERT
- UPDATE
- DELETE
- MERGE
DDL
- CREATE
- ALTER
- DROP
- RENAME
- TRUNCATE
TCL
- COMMIT
- ROLLBACK
- SAVEPOINT
DCL