본문 바로가기
728x90

Be Smart/SQL55

[SQLD] (3) SQL기본 DB 특정 기업이나 조직 또는 개인이 필요에 의해 데이터를 일정한 형태로 저장해 놓은 것을 의미한다. DBMS 효율적인 데이터 관리 뿐만 아니라 예기치 못한 사건으로 인한 데이터의 손상을 피하고 필요시, 필요한 데이터를 복구하기 위한 강력한 기능의 SW SQL DB 관계형 에서 데이터 정의, 조작, 제어를 위해 사용하는 언어 - DML : SELECT, INSERT, UPDATE, DELETE - DDL : CREATE, ALTER, DROP, RENAME - DCL : GRANT, REVOKE - TCL : COMMIT, ROLLBACK 테이블(Table) DB 기본 단위, 데이터를 저장하는 객체 - 가로 = 행 = 로우 = 튜플 = 인스턴스 - 세로 = 열 = 컬럼 테이블(Table) 의 구조 열(C.. 2021. 10. 26.
[SQLD] (2) 데이터 모델과 성능 성능 데이터 모델링 DB 성능 향상을 목적으로 설계 단계의 데이터 모델링 때부터 정규화, 반정규화, 테이블 통합, 테이블 분할, 조인 구조, PK, FK 등 여러 가지 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것 PK: Primary Key, 기본키로 해당 테이블에서 가장 기본적이 값을 가짐, NULL이 될 수 없음 FK: Foreign Key, 테이블간 링크가 무너지는 액션을 방지, 두 개의 테이블을 연결해주는 다리 역할 성능 데이터 모델링 고려사항 정규화 -> 용량산정 -> 트랜잭션 유형 파악 -> 반정규화 -> 이력 모델 조정, PK/FK 조정, 슈퍼/서브타입 조정 -> 성능 관점 데이터 모델 검증 (분석/설계 단계에서 성능 데이터 모델링하기) 함수적 종속성 데이터들이 어떤 기준.. 2021. 10. 25.
[SQL] NULL 값 치환하기 - NVL, NVL2 NULL 값 치환하기 - NVL NVL(조사할 칼람, null일 경우 치환할 값) 먼저, 주의할 점은 조사할 칼럼(COMM)과 치환할 값(0)의 데이터 타입이 같아야 한다는 것입니다. 적용해보면, 기존 NULL 값이 0으로 치환된 것을 볼 수 있습니다. 응용해보면, 여기서 '보너스 없음' 은 문자형이므로 COMM 컬럼의 타입을 문자형으로 변환하지 않으면, 실행이 되지 않습니다. 그러므로 조사할 컬럼과 치환할 데이터 형식을 맞추기 위해 COMM 컬럼을 TO_CHAR 함수를 사용해서 문자로 만들어준거죠! NULL 값 치환하기 - NVL2 NVL2(조사 대상 칼럼, null이 아닐 경우 치환할 값, null 일 경우 치환할 값) 이 함수는 NVL 함수와 다르게, 조사대상 칼럼(COMM)과 null 인 경우 치.. 2021. 10. 20.
[ORACLE] INDEX HINT (인덱스 힌트, 주석달기, 성능 튜닝) - 실무에서 데이터베이스 관련 일을 하다 보면 '인덱스를 탄다' '인덱스를 안 탄다'와 같은 말들을 들을 수 있다. 오라클 서버가 업그레이드되면서 Optimizer의 성능도 함께 향상되어 쿼리 실행 시 최적의 방법으로 실행해준다. 하지만 Optimizer가 항상 최적의 실행 경로를 만들어내는 것은 불가능하기 때문에 직접 실행 경로를 작성해 주어야 하는 경우가 생긴다. 따라서 DBA는 느린 쿼리나 성능 튜닝을 위해 Optimizer가 적절한 인덱스를 타고 있는지 확인하는 절차가 필요하다. 한 쿼리에서 어떤 인덱스의 선택도가 높은지 파악하고 Optimizer에 의존한 실행계획보다 효율적인 실행 계획을 만들어 내어야 한다. - 힌트, 인덱스, 조인 등의 개념을 명확히 알지 않은 상태에서 무분별한 힌트의 사용은.. 2021. 10. 20.
728x90