전체 글(174)
-
SQL - 데이터 모델링, 데이터의 구성(엔티티, 속성, 인스턴스), 도메인, ERD, 식별자
데이터 모델링 특징 - 추상화 : 현실세계를 일정한 형식에 맞춰 표현하기 위함 - 정확화 : 누구나 이해할 수 있도록 현상을 기술 - 단순화 : 복잡한 현실을 이해하기 쉽게 제한된 언어와 표기법으로 단순하게 표현하기 위함 >>> 현실세계를 단순하게 추상화하여 정확하게 공유하는 작업이 데이터 모델링 - 정보시스템을 구축하기 위한 업무 분석 기법 - 현실세계의 데이터에 대해 약속된 표기법으로 표현 - 데이터베이스를 구축하기 위한 분석과 설계를 위한 과정 데이터 모델링 유의사항 - 중복성 : 중복을 최소화해야 함(같은 정보를 여러번 저장하는 것을 피해야함) - 비유연성 : 데이터 또는 프로세스의 변화가 데이터베이스에 중대한 변화를 초래하지 않도록 유연하게 관리해야 함 - 비일관성 : '약속된 표기법'을 준용하..
2023.03.15 -
SQL - PL/SQL, 분산 데이터베이스
PL/SQL - PL/SQL은SQL을 확장시켜 다양한 절차적 프로그래밍을 가능하게 한 언어 - BLOCK 구조로 되어있어 기능별로 모듈화 가능 - DECLARE 문으로 시작하여 변수 및 상수 선언하여 사용 가능 - DML, IF , LOOP 문 등 다양한 절차적 언어를 사용 - ORACLE에 내장되어 있음 동일한 언어를 사용하는 프로그램과 호한이 가능 - 응용 프로그램의 성능을 향상시킴 - PL/SQL 언어로 PROCEDURE, USER DEFINED FUNCTION, TRIGGER 객체를 작성 가능 - DECLARE, BEGIN ~ END 는 필수적이고 EXCEPTION은 선택적으로 입력한다. - 변수와 상수를 사용하여 문장에 대입할 수 있다. - PROCEDURE 내부에 작성된 절차적 코드는 PL/S..
2023.03.15 -
SQL - 옵티마이저, INDEX
Optimizer Optimizer : SQL 실행계획을 수립하고, SQL을 실행하는 데이터베이스 관리 시스템의 소프트웨어 - 같은 SQL 문장이라도 어떻게 실행하냐에 따라 성능이 달라진다.(소요시간, 자원사용량등) - SQL문을 분석한 후 일정한 기준을 통해 실행계획을 세워줘야 하는데 이때 사용되는게 오티마이저이다. 비용기반 옵티마이저 - 시스템 통계와 오브젝트 통계를 통해 해당 SQL문 실행에 대한 총 비용을 계산 - 총 비용이 가장 적은 쪽으로 실행 계획을 수립한다. 규칙기반 옵티마이저 - 15가지 우선순위를 기준으로 실행계획을 수립한다. - 일반적으로 ROWID를 기반으로 스캔하는 것이 가장 높은 우선순위를 가진다. 참고) 최신 Oracle은 비용기반을 default로 한다. INDEX INDEX..
2023.03.14 -
SQL - 윈도우함수, 파티션
윈도우 함수 - 레코드(행) 사이의 관계를 쉽게 정의하기 위한 함수 SELECT WINDOW함수(ARGUMENTS) OVER( [PARTITION BY 컬럼명] [ORDER BY 컬럼명] [WINDOWING]) FROM 테이블명 ARGUMENTS : 인수(컬럼명 등 작업이 이뤄지는 대상) PARTITION BY : 테이블의 레코드들을 쪽내느 기준 ORDER BY : 쪼개진 레코드들 내에서 혹은 전체 테이블에서 레코드들을 어떤 기준으로 정렬할지 WINDOWING : 함수의 연산 대상이 되는 레코드들의 범위를 지정 WINDOW함수의 종류 - 그룹 내 집계함수 : COUNT, SUM, MIN, MAX, AVG 등 - 그룹 내 순위(RANK)함수 - 그룹 내 비율 관련 함수 - 그룹 내 행 순서 함수 RANK ..
2023.03.14 -
SQL - 계층형 조회
트리형태의 데이터에 대해 조회를 수행 계층 구조 시작점 - START WITH : START WITH로 계층형 조회의 시작점을 설정(이 시작점이 ROOT노드이고 LEVEL1이다.) - ROOT노드 : ROOT노드에서 자식노드로 갈수록 LEVEL이 1씩 올라간다. - LEAF 노드 : 자식노드가 없는 노드는 LEAF 노드. - CONNECT BY , PRIOR : 부모 노드로부터 다음 자식 노드를 이어준다. - ORDER SIBLINGS BY : 자식 노드를 이어줄때 자식 노드를 어떤 순서로 이어줄지 정해준다. EX) SELECT COL3 START WITH COL2 IS NULL CONNECT BY PRIOR COL1 = COL2 ORDER SIBLINGS BY COL3; 위 SQL문을 보면 COL2가 ..
2023.03.14 -
SQL - JOIN 조인
서로 다른 테이블을 결합할 때 조인을 사용한다. 조인을 하는 방법 1. 두 테이블에서 동일한 컬럼을 찾는다. 2. 레코드를 식별할 수 있는 컬럼으로 결정한다. 위에 두개의 테이블이 있다. 회원별 전화번호를 출력하려고 한다. 따라서 회원정보가 있는 테이블과 전화번호가 있는 테이블을 결합하여 출력을 하면 된다. 두 테이블의 공통 칼럼은 회원코드이다. 회원코드를 이용해서 조인을 하면 다음과 같다. SELECT A.이름, B.전화번호 FORM C_INFO A JOIN PHONE B ON A.회원번호 = B.회원코드; 위와 같이 조인은 다른 테이블과 결합하여 정보를 가져올 때 사용된다. 이제 조인의 종류에 대해 알아보자 조인의 종류 * 교집합 - INNER JOIN( 두 테이블에서 일치하는 데이터만 출력) SEL..
2023.03.13