본문 바로가기

전체 글

[ SQLD ] 계층형 질의, 집합 연산자 240819 개념적 데이터 모델링을 ERD 로 나타낸다. ERD ( Entity Relationship Diagram / 개체 관계도 ) 에서의 엔터티 또는 관계는 논리적 모델링 단계에서 테이블 ( 릴레이션 ) 로 표현할 수 있다. 실무에서는 개념적 데이터 모델링과 논리적 데이터 모델링의 구분이 보편적으로 없고, 엔터티라고 하는 것은 논리적 모델링에서의 테이블을 의미한다. ( 하나의 ) 테이블을 기준으로 계층형 데이터를 나타낼 수 있다면 ( 생성할 수 있다면 ), 여기서 계층형 데이터란 예를 들어 직원 테이블에는 기본적으로 직원의 정보를 담고 있다. 모두 회사의 직원이지만 직급 ( 계급 ) 이 존재할 경우 한 명의 회장 [ 한 명의 직원 ] 이 여러 명의 관리자 [ 여러 명의 직원 ] 를 관리할 수 있고, 한 명의 .. 더보기
[ SQLD ] SQL - Join & Set Operation 240818 일반집합연산자를 사용하면 조인을 사용하지 않고 연관된 데이터를 조회할 수 있다.일반집합연산자에는 합집합 ( Union ), 교집합 ( Intersection ), 차집합 ( Difference ), 교차곱 ( Product ) 이 있다.4개의 일반집합연산자는 SQL문에서 다음과 같은 명령어로 구현된다.합집합 ( UNION ) → UNION / UNION ALL ( 공통집합의 중복을 허용하고 정렬되지 않는다 ) 교집합 ( Intersection ) → INTERSECT 차집합 ( Difference ) → MINUS ( Oracle ) / EXCEPT ( MS-SQL )교차곱 ( Product ) → CROSS JOIN 곱집합은 조인에서 해결이된다. 두 집합의 모든 경우의 수를 추출한다. 순수관계연산자는 .. 더보기
[ SQLD ] SQL - TCL / DCL 240817 TCL ( Transaction Control Language ) 은 트랜잭션을 제어하는 명령어다.- 트랜잭션은 데이터베이스의 ( 하나의 ) 논리적 연산 단위다.1) 의미적으로 분할할 수 없는 최소의 단위 → A통장에서 B통장으로 100원을 송금할 때 A통장에서는 100원이 나가고,B통장에는 100이 들어온다. 이 모든 ( 연산 ) 과정은 '이체' 라는 하나의 작업 단위이며,이체를 하나의 트랜잭션 ( 여러 개의 물리적 작업이 하나의 논리적 단위를 이룬다 ) 이라 할 수 있다.트랜잭션은 하나의 논리적 작업 단위이며 여러 개의 물리적 작업으로 구성된다.여러 개의 물리적 작업중 하나라도 수행되지 않는 물리적 작업이 있다면 하나의 논리적 단위를 이루지 못함으로하나의 트랜잭션의 수행 결과는 실패로 끝난다. 트랜잭.. 더보기
[ SQLD ] Function 240817 함수의 유형- SQL에서 함수란 특정한 기능을 수행하기 위한 일련의 연산들의 집합 또는 특정한 기능을 수행하는 단위다.- 함수를 누가 만드냐에 따라 ( 생성 주체 ) 사용자 정의 함수와 내장 함수로 나뉘어진다→ 함수를 정의한다는 것은 함수의 기능을 정의한다는것이다.1) 사용자 정의 함수 ( User Definition Function ) 는 사용자가 정의하고 ( 우리가 직접 정의 ),2) 내장 함수 ( Built-in Function ) 는 오라클 등의 벤더가 정의한다 → 미리 정의되어서 시스템에서 제공하는 함수 함수는 하나의 행 ( 하나의 인스턴스 ) 에 대해서 적용되는 경우가 많고,적용 범위에 따라 단일 행 함수 ( Single-Row Function ) 와 다중 행 함수 ( Multi-Row Fun.. 더보기
[ SQLD ] DDL 240816 테이블을 변경하는 DDL테이블 생성후 테이블 ( 의 스키마 구조 ) 을 변경하는 것은 잘 일어나지 않지만테이블을 변경하게 된다면 ALTER 라는 명령어를 사용한다.ALTER라는 명령어로 테이블을 변경하는 종류로는 칼럼의 추가 / 삭제 / 수정, 제약 조건의 추가 / 삭제 가 있고,칼럼의 추가시 ALTER 라는 명령어는 ADD 와 함께 작성된다 → 1) 칼럼의 추가 ( ADD )새로 추가한 컬럼은 테이블의 맨 마지막에 추가된다.ALTER TABLE PLAYER_TEMP ADD ( ADDRESS VARCHAR2 ( 80 ) ); 2) 칼럼의 삭제 ( DROP COLUMN )- 삭제 후 최소 하나 이상의 칼럼이 테이블에 존재해야 한다.ALTER TABLE PLAYER_TEMP DROP COLUMN ADDRES.. 더보기
[ SQLD ] SQL - DDL 240815 - 테이블의 인스턴스를 변형하는 DML ( 데이터 조작어 )- 테이블의 스키마를 변형하는 DDL ( 데이터 정의어 ) 테이블 생성- 테이블명 ( 테이블 이름 ) 작성 규칙1) 객체를 의미할 수 있는 이름으로 단수형을 권고하며 ( 권장사항 ),2) 다른 테이블의 이름과 중복되지 않아야 한다 ( 필수사항 ).예를 들어 여러 학생의 정보를 담을 테이블을 생성할 경우 테이블 이름을 Student 라고 작성할 수 있다. - 칼럼명 ( 칼럼 이름 ) 작성 규칙1) 하나의 테이블 안에서 칼럼명은 중복되지 않아야 한다.→ 예를 들어 A테이블 내에 ID 라는 컬럼이 2개 존재할 수 없다.그러나 A테이블이 아닌 다른테이블에 ID라는 컬럼이 존재할 수 있다.하지만 여러 테이블을 통틀어 동일한 컬럼이 존재하는 것은 권장사항이.. 더보기
[ SQLD ] SQL_Basic DML 240814 LIKE 연산자 ( 복습 )일부 단어만 작성한 후 검색할 때 해당 단어가 포함된모든 결과를 반환하기 위해 사용되는 LIKE 연산자LIKE 연산자만 사용한다면 작성한 단어가 완벽하게 일치하는 결과만을 반환하지만 ( = )와일드카드( %, _ ) 를 사용한다면 작성한 단어가 포함된 모든 결과를 출력할 수 있다.%는 임의의 문자 N개를 즉, 어떠한 문자든지, 문자 개수는 몇 개든 몇 백개든 상관없다._는 임의의 문자 1개를 의미한다. ROWNUM 컬럼을 사용하면 WHERE절에 출력개수를 지정할 조건을 작성하기 쉽다.- ROWNUM은 사용자가 아닌 시스템이 관리하는 Pseudo Column이다.번호를 획득할 때 ( 채번 ), 출력 개수를 지정할 때 활용이 가능하다. 테이블을 생성할 때 명시적으로 컬럼을 작성하지.. 더보기
[ SQLD ] SQL_Basic DML 240810 SQL ( Structured Query Language, SEQUEL )SQL은 관계형 데이터베이스에서 데이터 정의, 조작, 제어를 위해 정의하는 언어고,데이터를 정의하는 DDL, 데이터를 조작하는 DML, 데이터를 제어하는 DCL, 트랜잭션을 제어하는 TCL 로 구성되어 있다. SQL 기본 작성 규칙- 문장 마지막은 세미콜론(;) 으로 끝남 → 세미콜론 단위로 한 문장이 끝남- 명령어, 객체명, 변수명은 대/소문자 구분이 없지만 데이터 값은 대/소문자를 구분한다.- 날짜와 문자열에는 작은 따옴표(')를 사용한다. ( ex. name = 'KIM' )- 단어와 단어 사이에는 공백 또는 줄바꿈으로 구분한다.- 주석문은 -- 또는 /**/ 사용하여 작성한다.한 줄, 두 줄인 경우 -(대시) 두 개를 연이어.. 더보기