전체 글 62

SELECT 문장 실행 순서와 Order by, ROWNUM조건

SELECT 문장 실행 순서GROUP BY절과 ORDER BY가 같이 사용될 때, SELECT문은 6개의 절로 구성이 되고, 수행 단계는 아래와 같다.(추가적으로 "계층형 질의문 실행 순서"는 여기를 클릭하여 확인하시면 됩니다.)실행 순서Query 문장상세 내용5select [Alias명]①데이터 값을 출력/계산함.(select)②from절에 테이블에 대한 Alias를 정의했다면, select절이나 where절에 일반 테이블명을 사용하면 파싱에러 발생. 정의한 Alias를 사용해야 한다.1from 테이블명발췌 대상 테이블을 참조 (from)2where 조건식발췌 대상이 아닌 것들 제거(필터링) (where)3group by 칼럼이나 표현식행들을 소그룹화 함. (group by)4having 그룹조건식그룹..

Database 2020.09.12

식별자(Identifiers) 분류 및 비식별자와의 관계

식별자(Identifiers)란??  엔티티(Entity)는 인스턴스들의 집합이라는 개념으로, 여러 개의 집합체를 담고 있는 하나의 통에서 각각을 구분할 수 있는 논리적인 이름이 있어야 한다. 이 구분자를 식별자(Identifiers)라고 한다. 식별자란 하나의 엔티티에 구성되어 있는 여러 개의 속성 중에 엔티티를 대표할 수 있는 속성을 의미하며 하나의 엔터티는 반드시 하나의 유일한 식별자가 존재해야 한다. 보통 식별자와 키(Key)를 동일하게 생각하는 경우가 있는데 식별자라는 용어는 업무적으로 구분이 되는 정보로 생각할 수 있으므로 논리 데이터 모델링 단계에서 사용하고 키는 데이터베이스 테이블에 접근을 위한 매개체로서 물리 데이터 모델링 단계에서 사용한다. 식별자의 분류체계분류식별자설명대표성 여부주 식..

Database 2020.09.11

트랜잭션의 특성(Commit, Rollback, Savepoint)

트랜잭션(Transaction)의 특성특징설명원자성(Atomicity)트랜잭션은 DB연산의 전부가 실행되거나 전혀 실행되지 않아야 한다.(ALL OR NOTHING) 즉, 트랜잭션의 처리가 완전히 끝나지 않았을 경우는 실행되지 않은 상태와 같아야 함.일관성(Consistency)트랜잭션 실행 결과로 DB상태가 모순되지 않아야 함.고립성, 격리성(Isolation)트랜잭션 실행 중에 생성되는 연산의 중간결과는 다른 트랜잭션이 접근할 수 없다.즉, 부분적인 실행 결과를 다른 트랜잭션이 볼 수 없음.영속성, 지속성(Durability)트랜잭션이 그 실행을 성공적으로 완료하면 그 결과는 영구적으로 보장이 되어야 한다.계좌이체는 한 계좌에서 현금이 인출된 후에 다른 계좌로 입금이 되는데, 현금이 인출되기 전에 다..

Database 2020.09.10

DDL과 DML 및 Delete와 Truncate문 비교

Oracle에서 용도에 따른 SQL문의 분류 및 각종 특징들(Delete와 Truncate 등)에 대해 정리해보겠습니다. 명령어의 분류DDL(데이터 정의어) : 테이블 생성과 조작. CREATE, ALTER, DROP, RENAMEDML(데이터 조작어) : 데이터의 조작. SELECT, INSERT, UPDATE, DELETEDCL(데이터 제어어) : 유저를 생성하고 권한을 제어하는 명령어. GRANT, REVOKETCL(트랜잭션 제어어) : 트랜잭션(Transaction)을 제어하는 명령어. Delete 와 Truncate 명령의 차이 Delete Table Truncate Table 특징 1) 삭제된 데이터를 Log에 저장. → 따라서 Rollback도 가능. 2) 원하는 특정 행(Row)를 지울 수..

Database 2020.09.09

정규화와 반정규화 및 대량 데이터에 따른 성능

정규화(Normalization) 특징불필요한 중복으로 인한 이상(Anomaly)현상을 방지하기위한 정규화는 데이터베이스 모델링에서 매우 중요한 프로세스이다. 이와 관련하여 로우체이닝(Row Chaining)과 로우마이그레이션(Row Migration), 파티셔닝(Partitioning) 및 반정규화에 대한 특징을 비교하며 이해해야 합니다. 1) 데이터 모델링을 하면서 정규화를 하는 것은 기본적으로 데이터에 대한 중복성을 제거하여 주고 데이터가 관심사별로 처리되는 경우가 많기 때문에 성능이 향상되는 특징을 가지고 있다. 2) 정규화를 수행한다는 것은 데이터를 결정하는 결정자에 의해 함수적 종속을 가지고 있는 일반속성을 의존자로 하여 입력/수정/삭제 이상을 제거하는 것이다. 데이터의 중복속성을 제거하고 결..

Database 2020.09.08

Oracle 데이터베이스 관련 용어(개념)와 각종 규칙

Oracle 데이터베이스 관련 개념(Key 등)와 각종 규칙들(NULL연산, ROWNUM 등)에 대해 간략히 포스팅해보려고 합니다. DB관련 개념 정리1) 정규화(Normalization) : 테이블을 분할하여 데이터의 정합성을 확보하고, 불필요한 중복을 줄이는 프로세스.2) 기본키(Primary Key) : 테이블의 각 행을 한 가지 의미로 특정할 수 있는 한 개 이상의 칼럼. 즉, NULL값과 중복된 값을 모두 허용하지 않음(기본키는 테이블당 하나의 제약만을 정의 가능)3) 고유키(Unique Key) : 중복된 값을 허용하지 않음. but Null값은 가질 수 있음. (헷갈리기 ㄴㄴ해)4) 외부키(외래키, Foreign Key) : 다른 테이블의 기본키로 사용되고 있는 관계를 연결하는 칼럼. 참조하..

Database 2020.09.07

데이터 모델링의 3요소 및 엔티티, 속성의 분류

데이터 모델링의 3요소 1) 어떤 것(thing) : 엔티티(Entity Type = Entity Set = Entity)※엔티티의 단수(개별적인) 개념 : 인스턴스(Instance) = 어커런스(Occurence)- 각 인스턴스는 식별자(Identifiers)에 의해 구분이 돼야 하며, 반드시 속성이 포함돼 있어야 한다. 추가로, 한 개의 엔티티는 2개 이상의 속성, 2개 이상의 인스턴스를 가져야 함.- 다른 엔티티와 최소 1개 이상의 관계가 있어야 함.- 단, 예외적으로 관계엔티티(Associative Entity)의 경우는 주식별자 속성만 가지고 있어도 엔티티로 인정됨. 2) 어떤 것 간의 연관 : 관계(Relationship)ERD와 다르게 UML(Unified Modeling Language)에..

Database 2020.09.07

데이터 모델링과 스키마 구조

Oracle에 관한 학습을 하면서 'SQLD자격증' 취득이라는 목표를 설정하였는데, 공부하면서 정리했던 내용들을 순차적으로 포스팅하려고 합니다.데이터 모델링이란?? 1) 데이터 모델링은 정보시스템을 구축하기 위한 데이터 관점의 업무 분석 기법이다.2) 현실세계의 데이터(what)에 대해 약속된 표기법에 의해 표현하는 과정3) 데이터베이스를 구축하기 위한 분석/설계의 과정4) 모델링은 3개의 특징(추상화, 단순화, 명확화)으로 요약할 수 있다. ① 추상화(모형화, 가설적)는 현실세계를 일정한 형식에 맞추어 표현을 한다는 의미로 정리할 수 있다. 즉, 다양한 현상을 일정한 양식인 표기법에 의해 표현한다는 것이다.  ② 단순화는 복잡한 현실세계를 약속된 규약에 의해 제한된 표기법이나 언어로 표현하여 쉽게 이해..

Database 2020.09.07

도커(Docker)를 이용한 오라클 설치 및 실행

오늘은 Docker 설치 과정에서의 단계별 설명 및 DockerHub를 통해 Oracle을 다운받고 해당 Container를 실행 및 접속하는 것까지 순차적인 과정을 포스팅해보려고 합니다. 윈도우용 도커(Docker) CE(Community Edition) 다운로드 먼저, https://www.docker.com/get-started 으로 접속하여 오라클을 설치하기위해 도커(Docker)를 설치합니다. 윈도우용 도커는 기본적으로 Windows 10 Pro 64bit 또는 Enterprise 64bit인 경우에 설치가 가능합니다. 해당 버전 이하인 경우에는 "Docker Toolbox"를 클릭하여 설치하시면 됩니다. 차이점은 "Docker Toolbox"는 자체적으로 VirtualBox를 사용하기 때문에 ..

Docker & VM 2020.03.09

오라클 Database 19c(window) 설치 & 실행

오라클(Oracle)을 실습하면서 공부하기 위해 19c 버전을 다운받았었는데, 전체적인 설치 과정 및 실행(접속)까지 순서대로 포스팅해보겠습니다. Oracle Database 19c (window) 다운로드1) https://www.oracle.com 으로 접속합니다.  가장 보편화되어 사용되어지는 버전은 12c라고 알고 있는데, 저는 가장 최신버전인 19c(Window 환경)버전으로 다운로드했습니다.  2) 다운받은 zip파일의 압축을 풀고 setup파일 실행.(저는 C드라이브 밑에 OracleDatabase라는 이름의 폴더를 새로 만든후, 그 아래에 압축을 해제했습니다)단일 인스턴스 데이터베이스는 하나의 메모리에 하나의 DB가 있는 구조라고 합니다. '데스크톱 클래스'는 '서버 클래스'의 기능에서 몇..

Database 2020.03.08