728x90

Back-End 54

[ 데이터베이스 ] Foreign key specification options

[ 데이터베이스 ] Foreign key specification options 외래키 지정 시 옵션 (for 참조 무결성 유지) 1) RESRICT = NO ACTION 변경/삭제할 테이블이 참조하는 다른 테이블의 PRIMARY 값이 변경/삭제된다면 -> 테이블 변경/삭제 취소 (불가) CHILD 테이블에 MASTER 테이블의 PK값이 없는 경우에만 MASTER 삭제 허용 2) CASCADE : ON UPDATE CASCADE & ON DELETE CASCADE 부모 테이블에서 PRIMARY 값이 변경/삭제되면 -> 함께 변경/삭제된다 3) SET NULL : ON UPDATE SET NULL & ON DELETE SET NULL 부모테이블에서 PRIMARY 값이 변경/삭제된다면 -> NULL로 세팅된..

[ 데이터베이스 ] Entity Classification and Characteristics

[ 데이터베이스 ] Entity Classification and Characteristics 데이터 모델링의 유의점 - 중복 : 같은 시간 같은 데이터 제공, 여러 장소에 같은 정보가 저장된 것은 아니다. - 비유연성 : 사소한 업무변화에 데이터 모델이 수시로 변경되면 안 됨, 데이터 정의를 사용해 프로세스와 분리 - 비일관성 : 데이터 간 상호 연관 관계에 대해 명확히 정의하기 데이터 모델링의 3단계 - 개념적, 논리적, 물리적 순으로 구체화된다. - 추상화 정도에 따라 나뉜다. - 추상화가 클수록 포괄적이다. 구체적은 그 반대 개념적 모델링 : 전사적 모델링 논리적 모델링 : 정규화 (중복제거, 속성이 적절한 엔티티에 배치) 데이터 독립성 요소 - 데이터베이스 스키마구조 3단계 외부스키마 : 개개 ..

[ 데이터베이스 ] ERD, Data Modeling, Normalization

[ 데이터베이스 ] ERD, Data Modeling, Normalization DBMS (Data Management System) 관계형 데이터베이스 - key와 value를 테이블화시킨 DB - SQL문에 의해 관리 - 참조구조 (X) , 조인을 통해서만 연관관계 가능 객체 지향형 데이터베이스 - 테이블을 하나의 객체로 봄 - 사용자가 정의한 데이터 유형 지원 ex) 오디오, 비디오 - 비정형 복합정보 모델링 가능 - 객체들 사이 참조 구조 (O) 객체 관계형 데이터베이스 - 관계형 모델을 기반으로 객체 지향 정보 지원 - 사용자 정의 타입 지원 - 참조 타입 지원 - 객체 간 상속관계 지원 SQL (structured Query Language) 비절차적 데이터 조작어 : 무슨(what) 데이터를..

[ 데이터베이스 ] Optimizer, Execution Plan 2

[ 데이터베이스 ] Optimizer, Execution Plan 2 실행계획 : SQL 요구사항 처리를 위한 절차와 방법, SQL을 어떤 순서로 실행할지 결정하는 작업이다 옵티마이저는 다양한 처리 방법들 중에서 최적의 실행계획을 예측해서 생성해 준다. 최적화 정보 : SQL 실행 결과가 아니라 통계 정보를 바탕으로 옵티마이저가 계산한 예상치이다. 연산 : 여러가지 조작을 통해 원하는 결과를 얻어내는 작업, 조인 기법, 액세스 기법, 필터, 정렬, 집계, 뷰 등 조인기법 : FROM 절에 존재하는 테이블 수를 n이라고 할때, 논리적으로 가능한 조인 순서는 n!만큼 존재한다. 액세스 기법 : 하나의 테이블을 액세스할때 사용할 수 있는 방법. - 인덱스 스캔 : 인덱스를 이용하여 테이블 액세스 - 테이블 스..

[ 데이터베이스 ] Optimizer, Execution Plan

[ 데이터베이스 ] Optimizer, Execution Plan 옵티마이저 실행계획 : 사용자가 질의한 SQL문에 대해 최적의 실행 방법을 결정 옵티마이저의 역할 : 사용자 요구사항 최적의 실행방법 결정, 적절성 여부는 질의의 수행 속도에 영향 실제 SQL문 실행하지 않은 상태에서 최적의 실행 방법 결정하기 규칙기반 옵티마이저 규칙기반 옵티마이저 (RBO) : 보편 타당성에 근거함 규칙 1. Single row by Rowid ROWID를 통해 다른 정보를 참조하지 않고도 원하는 행 액세스 가능, 가장 빠른 방법이다. 규칙 4. Single row by unique or primary key 유일 인덱스를 먼저 액세스 하고 인덱스에 존재하는 ROWID 추출하기 규칙 8. Composite index 복..

[ 데이터베이스 ] FUNCTION - 1

[ 데이터베이스]FUNCTION - 1 FUNCTION 입력 값이 많아도 출력은 오직 하나, M:1 관계 각각의 행에 대한 조작 결과리턴, SELECT, WHERE, ORDER BY 절에 단일 함수 사용 가능 특별한 제약이 없다면 함수의 인자로 함수 사용하는 중첩가능 함수의 종류 벤더(판매자)에서 제공하는 내장함수 (BUILT-IN FUNCTION) 사용자가 정의할 수 있는 함수 (USER DEFINED FUNCTION) 단일행 함수 다중행 함수 - 집계함수, 그룹함수, 윈도 함수 종류 내용 함수 예시 문자형 함수 문자를 입력하면 문자나 숫자 값을 반환 LOWER, UPPER, CONCAT, SUBSTR/SUBSTRING, LENGTH/LEN, LTRIM, RTRIM, TRIM, ASCII 숫자형 함수 ..

[ 데이터베이스 ] WHERE, IN, LIKE, IS NULL, ROWNUM, TOP

[ 데이터베이스 ] WHERE, IN, LIKE, IS NULL, ROWNUM, TOP WHERE WHERE : SQL 문장에 WHERE 절을 사용해 특정 자료만 검색 가능, 테이블 두 개 이상 INNER JOIN 지원 기능 조건식 구성 : 칼럼명(좌측) + 비교 연산자 + 문자/숫자/표현식(우측) OR 비교 칼럼명 (JOIN 사용) SELECT [ALL/DISTINCT] 칼럼명 [ALIAS 명] FROM 테이블명 WHERE 조건식; 연산자 종류 연산자 우선순위 : (), NOT, 비교 연산자, AND, OR SQL 연산자 BETWEEN A AND B A, B 값 사이에 있다 (A, B 값이 포함됨) IN (LIST) LIST 값중 하나라도 일치하면 된다 LIKE '비교문자열' 비교문자열과 형태가 일치(..

[ 데이터베이스 ] DML (INSERT, DELETE, SELECT, ALIAS, DUAL)

[ 데이터베이스 ] DML (INSERT, DELETE, SELECT, ALIAS, DUAL) DML은 주로 WHERE 절을 이용해 대상 행을 선별하여 사용한다. INSERT INSERT : 한 번에 테이블 하나에 한 데이터만 입력 가능하다, 두 가지 경우 있음 INSERT INTO 테이블명 (COLUMN_LIST) - type A : 칼럼 정의와 동시에 데이터 INSERT, 정의하지 않은 칼럼은 DEFAULT NULL 값 들어간다 INSERT INTO PLAYER (PLAYER_ID, PLAYER_NAME, TEAM_ID, POSITION, HEIGHT, WEIGHT, BACK_NO) VALUES ('2002007', '박지성', 'K07', 'MF', 178, 73, 7) - type B : 칼럼의 ..

[ 데이터베이스 ] ALTER TABLE, TRUNCATE, DROP, DELETE 차이

[ 데이터베이스 ] ALTER TABLE, TRUNCATE, DROP, DELETE 차이 ALTER TABLE - ADD COLUMN : 추가된 칼럼은 위치를 지정할 수 없고, 테이블의 마지막 칼럼이 된다. ALTER TABLE 테이블명 ADD (추가할 칼럼명); ALTER TABLE PLAYER (ADD ADDRESS VARCHAR2(80)); - DROP COLUMN : 한 번에 하나의 칼럼 삭제 가능, 칼럼 삭제 후 최소 하나의 칼럼 존재해야 함, 복구 불가 ALTER TABLE 테이블명 DROP COLUMN 삭제할 칼럼명; ALTER TABLE PLAYER DROP COLUMN ADDRESS; - MODIFY COLUMN : 칼럼의 데이터 유형, 디폴트값, NOT NULL 제약조건 값 변경가능 [..

[ 데이터베이스 ] 제약조건, NULL, CTAS

[ 데이터베이스 ] 제약조건, NULL, CTAS 제약 조건 종류 PRIMARY KEY(기본키) 하나의 테이블에 하나의 기본키, NULL 입력 불가 기본키 제약 = 고유키 제약 & NOT NULL 제약 UNIQUE(고유키) 데이터를 고유하게 식별하기 위한 기본키 정의, NULL은 고유키 제약 대상이 아님 NOT NULL NULL 값 입력 금지, 디폴트는 NULL가능, CHECK의 일부분으로 이해 가능 CHECK TRUE, FALSE로 입력 값의 범위 제한 FOREIGN KEY(외래키) 테이블 간의 관계를 정의하기 위해 기본키를 다른 테이블의 외래키로 복사 외래키 지정할때 참조 무결성 제약 조건 선택가능 제약조건 방식 1) 칼럼 LEVEL 방식 : 데이터 유형 뒤에 NOT NULL 정의 2) 테이블 LEV..

728x90