본문 바로가기

분류 전체보기

(357)
[SQLD : Ⅲ. SQL 기본] 5. WHERE절 * WHERE절 개요 - 사용자들은 자신이 원하는 자료만 검색하기 위해 WHERE절 이용 - WHERE 절에는 두 개 이상의 테이블에 대한 조인 조건이나 결과를 제한하기 위한 조건 기술 - WHERE절에 조건이 없는 FTS(full table scan) 문장은 SQL 튜닝의 1차적 검토 대상이 됨 - SQL server, Sybase 문장은 SELECT 목록에 상수, 변수 및 산술식만 포함되는 경우 FROM 필요없음 - 테이블 컬럼이 사용된 경우 FROM 절 필요, WHERE 절은 조회하려는 데이터에 특정 조건 부여 목적 SELECT [DISTINCT/ALL] 칼럼명 [ALIAS명] FROM 테이블명 WHERE 조건식; * 연산자 종류 * 비교연산자 소속팀이 삼성블루윙즈이거나 전남드래곤즈에 소속된 선수들..
[SQLD : Ⅲ. SQL 기본] 4. TCL * 트랜잭션 특성 - 원자성 : 트랜잭션에서 정의된 연산들은 모두 성공적으로 실행되던지 아니면 전혀 실행되지 않은 상태로 남음 - 일관성 : 트랜잭션 실행 전에 내용이 잘못되지 않으면 트랜잭션 실행 후에도 내용이 잘못되면 안됨 - 고립성 : 트랜잭션 실행 중 다른 트랜잭션의 영향을 받아 잘못된 결과를 만들면 안됨 - 지속성 : 트랜잭션이 성공적으로 수행되면 그 트랜잭션이 갱신한 데이터베이스 내용은 영구적으로 저장 * COMMIT - 메모리 버퍼에만 영향을 받아서 데이터 변경 이전 상태로 복구 가능 [예제] PLAYER 테이블에 데이터를 입력하고 COMMIT을 실행한다. [예제] Oracle INSERT INTO PLAYER (PLAYER_ID, TEAM_ID, PLAYER_NAME, POSITION, H..
[SQLD : Ⅲ. SQL 기본] 3. DML * INSERT ▶ INSERT INTO 테이블명 (COLUMN_LIST)VALUES (COLUMN_LIST에 넣을 VALUE_LIST); ▶ INSERT INTO 테이블명VALUES (전체 COLUMN에 넣을 VALUE_LIST); - 해당 컬럼명과 입력되어야 하는 값을 1:1로 매핑하여 입력 [예제] 선수 테이블에 박지성 선수의 데이터를 일부 칼럼만 입력한다. [예제] ▶ 테이블명 : PLAYER INSERT INTO PLAYER (PLAYER_ID, PLAYER_NAME, TEAM_ID, POSITION, HEIGHT, WEIGHT, BACK_NO) VALUES ('2002007', '박지성', 'K07', 'MF', 178, 73, 7); 1개의 행이 만들어졌다. [예제] 해당 테이블에 이청용 선..
[SQLD : Ⅲ. SQL 기본] 2. DDL * CREATE TABLE 한 번 생성된 테이블은 특별히 사용자가 구조를 변경하기 전까지 생성 당시 구조를 유지 1) ADD COLUMN - 기존 테이블에 필요한 컬럼을 추가하는 명령 ALTER TABLE 테이블명 ADD 추가할 칼럼명 데이터 유형; [예제] PLAYER 테이블에 ADDRESS(데이터 유형은 가변 문자로 자릿수 80자리로 설정한다.) 칼럼을 추가한다 [예제] Oracle ALTER TABLE PLAYER ADD (ADDRESS VARCHAR2(80)); 테이블이 변경되었다. [예제] SQL Server ALTER TABLE PLAYER ADD ADDRESS VARCHAR(80); 명령이 완료되었다. [실행 결과] Oracle DESC PLAYER; 칼럼 NULL 가능 데이터 유형 PLAY..
[SQLD : Ⅲ. SQL 기본] 1. 관계형 데이터베이스 개요 * 데이터베이스의 발전 - 60s : 플로우차트 중심의 개발 방법을 사용, 파일 구조를 통해 데이터를 저장하고 관리 - 70s : 데이터베이스 관리 기법이 처음 태동되던 시기, 계층형, 망형 데이터베이스 상용화 - 80s : 현재 대부분의 기업에서 사용되는 관계형 데이터베이스가 상용화 - 90s : oracle, sybase, informix, DB2, Teradata, SQL server외 많은 제품들이 보다 향상된 기능으로 정보시스템 솔루션 * 관계형 데이터베이스 - 현재 기업에서 사용하는 대부분의 데이터베이스는 기존 관계형 데이터베이스에서 객체 지원 기능을 추가 - 파일시스템 : 동시에 검색은 가능하지만 동시에 입력, 수정, 삭제 불가능 - 파일시스템은 분산된 데이터 간 정합성 보장이 힘듦 - 관계..
[SQLD : Ⅱ. 데이터 모델과 성능] 6-2. 분산데이터베이스와 성능 - 적용기법 - 테이블위치분산, 테이블분할분산, 테이블복제분산, 테이블요약분산 전략이 있음 - 가장 많이 사용하는 방식은 테이블 복제 분할 분산 방법 - 분산 환경으로 데이터베이스 설계 시 통합 데이터 모델링을 하고 각 테이블별 업무적인 특징에 따라 지역, 서버로 분산배치, 복제배치하는 형태로 설계 * 테이블 위치 분산 - 테이블의 구조는 변하지 않음 - 다른 데이터베이스에 중복되어 생성되지도 않음 - 설계된 테이블 위치를 각각 다르게 위치시키는 것 자재품목은 본사에서 관리하고, 지사별로 자재품목을 이용하여 생산 테이블이 각 지역별로 분산되어 생성되는 경우 테이블마다 위치가 다르게 지정되어야 하면 위치를 표기하여 테이블 생성 테이블의 위치가 위치별로 다르므로 테이블의 위치를 파악할 수 있는 도식화된 위치별 데이터베이..
[SQLD : Ⅱ. 데이터 모델과 성능] 6-1. 분산데이터베이스와 성능 - 개요 * 분산데이터베이스의 개요 - 데이터베이스를 분산하여 저장하고 이를 하나의 데이터베이스로 인식하여 사용하는 기술 - 클라우드 컴퓨팅, SOA를 인식하듯 분산 데이터베이스를 인식하고 연구 도입하려는 기업이 많아짐 - 분산데이터베이스의 정의 : 여러 곳으로 분산된 데이터베이스를 하나의 가상 시스템으로 사용하도록 한 데이터베이스 논리적으로 동일한 시스템에 속하지만 컴퓨터 네트워크를 통해 물리적으로 분산된 데이터들의 모임 물리적 SITE분산, 논리적 사용자 통합, 공유 - 분산데이터베이스는 데이터베이스를 연결하는 빠른 네트워크 환경을 이용하여 여러 지역 여러 노드로 위치시켜 사용성/성능 등을 극대화 시킨 데이터베이스 * 투명성 1) 분할 투명성 (단편화) : 하나의 논리적 Relation이 여러 단편으로 분할되..
[SQLD : Ⅱ. 데이터 모델과 성능] 5-2. 데이터베이스 구조와 성능 - PK/FK * PK/FK 컬럼 순서와 성능 개요 - 일반적으로 균형잡힌 트리구조의 B+Tree 구조를 많이 사용 - PK/FK 컬럼 순서 중요성을 인지 못하고 모델링되어 그 상태로 DDL 생성 시 데이터 처리 성능 문제 유발 가능 - 인덱스의 특징은 여러 속성이 하나의 인덱스로 구성되어 있을 때 앞쪽에 위치한 속성 값이 비교자로 있어야 좋은 효율 - FK에 대해서는 반드시 인덱스를 생성하도록 하고, 인덱스 컬럼 순서도 조회 조건 고려해서 가장 효율적으로 순서 생성 * PK 컬럼 순서 미조정 시 성능 저하 이유 - 데이터 모델링에서 엔티티 설계 시 그에 따라 DDL이 생성되고 생성된 DDL에 따라 인덱스가 생성됨 인덱스의 정렬구조를 알아야 함 - 데이터모델의 PK 순서에 따라 DDL이 생성되고 주문번호, 주문일자, ..