비전공자 공부일기
-
[한기교] SQL 활용 필기(12) - 순위 계산비전공자 공부일기/:: DB - SQL 2020. 5. 5. 07:38
ㅁ Top 함수 : 질의 결과 튜플 수의 제한하는 함수 - Top(n) --- 질의 결과는 ORDER BY 절의 이용하여 정렬할 수 있음 --- ORDER BY 정렬 기준에서 특정 등수 / 비율까지만 보고 싶은 경우 SELECT TOP(n) 속성명 … ORDER BY 속성명 - WITH TIES : 동률이 있을 때 모두 보고 싶은 경우 SELECT TOP(n) WITH TIES 속성명 … ORDER BY 속성명 - Top(n) PERCENT : 정렬 기준 특정 비율까지만 보고 싶은 경우 --- 상위 n%까지만을 출력 --- WITH TIES와도 같이 쓸 수 있음 SELECT TOP(n) PERCENT [WITH TIES] 속성명 … ORDER BY 속성명 ㅁ RANK 함수 - TOP()..
-
[한기교] SQL 활용 필기(11) - 집합연산자, 집단연산자비전공자 공부일기/:: DB - SQL 2020. 5. 4. 14:44
ㅁ 집합 연산자의 개념 : 테이블을 구성하는 튜플 집합에 대한 테이블의 부분집합을 반환하는 연산자 ㅁ 집합 연산자의 종류 - UNION : 합집합 - INTERSECT : 교집합 - EXCEPT : 차집합 (Oracle에서는 MINUS로 사용) ㅁ UNION과 UNION ALL - 집합 연산자를 대상 테이블을 집합으로 봄 - 따라서 결과도 집합임 (중복을 허용하지 않음) - 필요에 따라서 중복된 결과도 보고 싶은 경우 (UNION ALL을 사용) ㅁ 합병 호환성 - ∪, ∩, - 연산의 피연산자(릴레이션)들이 지켜야 할 제약 조건 ㅁ 합병 호환성의 불일치 - 두 질의 결과는 합병 호환성을 만족하지 않음 - 합병 호환성이 만족되지 않는 두 테이블의 합집합 구하기 : ..
-
[한기교] SQL 활용 필기(10) - 중첩 질의문비전공자 공부일기/:: DB - SQL 2020. 5. 4. 14:08
ㅁ 중첩 질의문의 개념 - 하나의 SQL문의 결과를 다른 SQL문에 전달함 - 두 개의 SQL문을 하나의 SQL로 처리함 - 이론적으로 중첩 질의문은 조인 구문과 표현능력이 동일함 - SQL문 안에 SQL문이 포함되어 있음 ㅁ 조인 질의문과 중첩 질의문 이론적으로 중첩 질의문은 조인 구문과 표현능력이 동일. 따라서 중첩 질의문의 필요성 = 조인의 필요성 상황에 따라 취향에 따라(?) 조인 or 중첩 질의문이 더 편한 경우가 있기 때문에 사용 중첩 질의문이 좀더 직관적인 너낌적인 너낌 ㅁ 중첩 질의문의 표현 : SQL문 안에 SQL문이 포함되어 있음 ㅁ 단일행 서브 쿼리와 다중행 서브 쿼리 - 단일행 서브 쿼리 : 서브 쿼리의 결과로 하나의 튜플만이 반환됨 - 다..
-
[한기교] SQL 활용 필기(9) - JOIN비전공자 공부일기/:: DB - SQL 2020. 5. 4. 12:52
ㅁ 조인 JOIN의 개념 : 하나의 SQL 질의문에 의해서 여러 테이블에 저장된 데이터를 한번에 조회할 수 있는 기능 두 개 이상의 테이블을 '결합'한다는 의미 ㅁ SQL에서 간단한 조인 표기법 1) FROM절에 조인에 참여하는 두 테이블을 기록 (점. 으로 구분) 2) WHERE절에 조인 조건을 기술 (ex) 사원 정보: EMPLOYEE 부서 정보: DEPARTMENT 조인 조건: EMPLOYEE.DNO = DEPARTMENT.DNO ㅁ 조인문 작성시 규칙 1) 테이블 이름.컬럼 이름 : 서로 다른 두 테이블의 컬럼(속성)명이 같을 경우, 어느 속성이 어느 테이블에 있는 것인지 DBMS가 알 수 없음 ---> 컬럼 이름 앞에 테이블 이름을 접두사로 사용 / 테이블 이름..
-
[한기교] SQL 활용 필기(8) - 트랜잭션, TCL비전공자 공부일기/:: DB - SQL 2020. 5. 3. 16:21
트랜잭션 ㅁ 트랜젝션의 개념 : 논리적인 일의 단위 => 일반적으로 하나의 SQL은 하나의 트랜젝션이지만, 여러 개의 SQL문들이 합쳐져서 하나의 트랜젝션이 될 수도 있다 ㅁ 동시성 실생활에서는 항공기 예약, 은행, 신용카드 처리, 대형마트 등 대규모 데이터베이스를 수많은 사용자들이 동시에/여러부분에 접근한다 ===> 동시성 ㅁ 트랜잭션 단위 동시성 제어 : 동시에 수행되는 트랜잭션들이 데이터베이스에 미치는 영향 = 이들을 순차적으로 수행하였을 때 데이터베이스에 미치는 영향과 같도록 보장 - 다수 사용자가 데이터베이스를 동시에 접근하도록 허용하면서 데이터베이스의 일관성 유지 - 여러 사용자나 여러 응용 프로그램들이 동시에 수행되어도 서로 간섭하지 못하도록 보장함 ㅁ 트랜잭션 단위 회복 :..
-
[한기교] SQL 활용 필기(7) - DML (INSERT, UPDATE, DELETE)비전공자 공부일기/:: DB - SQL 2020. 5. 3. 13:10
데이터 삽입과 변경 ㅁ 단일행 입력 : 한번에 하나의 튜플을 테이블에 입력하는 방법 INSERT INTO 테이블명 [(속성명, ..., 속성명)] VALUES (값, ..., 값) - INTO 는 생략 가능 - 테이블명에 명시한 속성에 VALUES절에 지정한 값을 입력 - 테이블명에 속성을 명시하지 않으면 테이블 생성시 정의한 컬럼 순서와 동일한 순서로 입력함 ㅁ NULL의 입력 : 데이터를 입력하는 시점에서 해당 속성값을 모르거나, 미정일 때 사용 : NOT NULL 조건이 지정된 경우 입력이 불가능 1) 묵시적 방법 : INSERT INTO절에 해당 속성명 생략 2) 명시적 방법 : VALUES 절에 있는 속성값 대신 NULL 입력 ㅁ 서브 쿼리를 이용한 데이터 삽입 : 서브 ..
-
[한기교] SQL 활용 필기(6) - 데이터 검색비전공자 공부일기/:: DB - SQL 2020. 5. 3. 12:10
데이터 검색 1) 무조건 검색 SELECT 속성명1, 속성명2, ... FROM 테이블명 2) * (모든 속성) SELECT * FROM 테이블명 3) AS 키워드 (속성명 부여) - 질의 결과의 속성명을 바꾸어서 나타나게 하고싶을 때 - 질의결과에 수식을 사용했을 때 - 속성명이 없을 때 SELECT 원하는 속성(수식가능) AS 부여하고 싶은 속성명 FROM 테이블명 1) WHERE 절 (조건검색) SELECT 속성명 FROM 테이블명 WHERE 조건 2) 연산자 3) DISTINCT 키워드 (중복제거) - SQL은 Bag을 기반으로 하므로, 원래 중복된 것들도 모두 제시됨 - DISTICT를 이용하면 중복값을 제거한 결과를 조회 가능 SELECT DISTIN..
-
[한기교] SQL 활용 필기(5) - 제약조건 상세비전공자 공부일기/:: DB - SQL 2020. 5. 2. 19:57
ㅁ 데이터 무결성 NOT NULL : NULL값 허용 불가 UNIQUE : 하나의 테이블 내에서 한번만 나옴 주로 대체키 설정 시 사용됨 PRIMARY KEY : 기본키 = UNIQUE + NOT NULL 서로 같을 수 없으며 / NULL값 허용 X FOREIGN KEY : 외래키 CHECK : 도메인 무결성 ㅁ 제약조건의 설정 테이블을 만들 때 속성에 제약 조건 지정하기 CREATE TABLE 테이블명 (속성명 속성타입 [[제약조건명] 제약조건] 속성명 속성타입, ... ) ㅁ 참조 무결성 제약조건 - 외래키 값은 다른 테이블의 기본키 값들 중에 하나여야 함 속성명 [CONSTRAINTS 제약조건명] REFERENCE 참조테이블명(속성명) ㅁ 도메인 무결성 제약조건 : 입력 값의 제한 ..
-
[한기교] SQL 활용 필기(4) - 데이터 구조비전공자 공부일기/:: DB - SQL 2020. 5. 2. 19:06
ㅁ 데이터베이스 생성 : 테이블(그릇)을 올리기 전에 데이터베이스(밥상)부터 만들어야 함 ㅁ MS-SQL에서 데이터베이스 만들기 1) T-SQL (Transact-SQL) : MS-SQL 서버에서 제공하는 질의문 ==> Text 입력 ex) DB이름: test01 - 사용자 DB를 생성하려면, master DB를 사용해야 함 --- USE master --- CREATE DATABASE test01 2) SSMS(SQL Server Management Studio) ==> GUI 이용 - DB이름: test02 - 논리적 DB -> 물리적 파일 (확장자: .mdf(for data), .ldf(for log), .ndf(for large DB-optional) ㅁ 테이블 생..
-
[한기교] SQL 활용 필기(3) - SQL 기본구문비전공자 공부일기/:: DB - SQL 2020. 5. 2. 17:54
ㅁ SEQUEL(Structured English Query Language) ---'시퀄'이라고 읽음 - 1974년, IBM San Jose Lab(현재 IBM Almaden 연구소)에서 최초의 관걔형 데이터베이스 관리 시스템 프로토타입인 SystemR을 만ㄷ름. 이것을 위한 데이터베이스 언어로 개발된 것이 시퀄 - 그 이후 여러가지 언어들이 나왔다가, 1986년 ANSI에서 SQL-86(=SQL1)이 관계형 데이터베이스 표준언어로 인증 1. SQL이란? : 종합 데이터베이스 언어 => DDL, DML, DCL (정의, 조작, 제어) - 무엇(What)을 표시하며 어떻게(How)는 표시하지 않음 - 어떻게는 DBMS가 알아서 처리함 2. 관계 대수식 대신 SQ..