1. DML(관계 데이터베이스) 이해와 활용
1-1. DML의 개요와 주요 언어
- DML은 데이터베이스 사용자와 관리 시스템 간의 인터페이스를 제공함
- DML은 크게 4개의 명령문(실렉트, 삽입, 삭제, 갱신)으로 구성됨
- DML 명령문은 프로그램이 데이터를 생성, 수정, 삭제하거나 변경하는 방법을 설명함
- DML 명령문은 조건에 따라 다양한 데이터를 추출하거나 생성함
1-2. DML 명령문의 구체적인 예시
- DML 명령문은 실제 사용자와 데이터베이스 관리 시스템 간의 인터페이스를 보여줌
- (중요) DML 명령문은 검색, 삽입, 삭제, 갱신의 4가지 핵심 명령문으로 구성됨
- 실렉트 명령문은 특정 데이터를 참조하거나 검색하는 데 사용됨
- 삽입, 삭제, 갱신 명령문은 데이터를 실제로 저장하거나 수정하거나 제거하는 작업에 사용됨
1-3. DML 명령문의 구체적인 예시
- 사원 테이블에서 모든 튜플을 검색하는 명령문 예시 제공
- DML 명령문은 프로그램이 데이터를 생성하거나 수정하는 과정을 보여줌
- (중요) DML 명령문은 데이터베이스의 데이터를 효율적으로 활용하기 위해 사용됨
- 각각의 DML 명령문은 특정 조건에 따라 다양한 데이터를 추출하거나 생성함
2. 실렉트 프람사원
2-1. 실렉트 프람사원의 검색
- 사원테이블에서 부서가 기획이고 기본급이 110만 원 이상인 데이터를 검색함
- 조건에 따라 사원테이블에서 모든 속성을 검색할 수 있음
- (중요) 실렉트 프람사원에서 오름차순 또는 디센딩을 사용하여 데이터를 정렬할 수 있음
- 정렬에 이용되는 구조는 오더바이임
- 카운트, 맥스, 미니멈, 썸, 에버리지 함수를 이용하여 그룹별 투플 수를 계산할 수 있음
2-2. 그룹별 검색
- 사원테이블에서 부서별로 기본급의 평균을 구하고, 오름차순 정렬한 SQL 문을 작성함
- 부서별로 평균을 내되, 오름차순 정렬을 통해 기획부서가 먼저 나와야 함
- 이 예제를 통해 그룹 바이의 조건을 오름차순으로 지정하여 검색할 수 있음
- 기본급이 100만 원 이상이고, 2명 이상인 부서와 그 부서 전체 사원 수를 검색함
2-3. 사원 수와 부서 수의 검색
- 사원테이블에서 부서별로 기본급이 100만 원 이상이고, 2명 이상인 사원이 있는 부서와 그 부서 전체 사원 수를 검색함
- 그룹 바이의 조건을 부서를 그룹으로 하고, 부서에 대해 카운트를 수행함
- 조건에 따라 기획부서와 편집부서임을 지정하여 부서별 사원 수를 계산함
3. DML의 검색과 테이블 삽입
3-1. 그룹 검색과 테이블 검색의 활용
- 그룹 검색을 활용해 데이터를 그룹별로 묶어 검색하는 방법 설명
- 그룹별 평균, 최대/최소값, 학계 등을 검색하는 방법을 소개
- 복수의 테이블에서 데이터를 동시에 검색하는 복수 테이블 검색에 대해 설명
- (중요) 검색 시, 결과를 대결조건으로 삽입하거나, 사원 테이블과 여가활동 테이블에서 동일한 조건을 만족하는 사람을 선택
3-2. 복수 테이블의 동시 검색과 통합
- 복수 테이블에서 동시에 검색할 때, 결과를 대결조건으로 삽입하는 방법 설명
- (중요) 사원 테이블과 여가활동 테이블에서 동시에 검색하고, 경력이 10년 이상인 사람을 선택하는 예제 제시
- 복수 테이블의 데이터를 통합하는 SQL 명령문 작성 및 결과 검증 방법을 소개
3-3. 테이블에 데이터 삽입의 활용
- 테이블에 새로운 튜플을 삽입할 때, 표기 형식인 '인투'에 대해 설명
- 테이블에 삽입할 데이터의 유형을 제한하거나, 데이터의 조건을 추가하는 방법을 소개
- 사원 테이블에 특정 조건에 따라 새로운 튜플을 삽입하는 방법을 제시
- (중요) 데이터 삽입 시, 결과를 특정 조건에 따라 대결조건으로 삽입하거나, 특정 데이터를 삽입하는 방법을 설명
4. 데이터베이스를 활용한 DML 이해
4-1. DML이란?
- DML은 데이터베이스의 조작 및 관리를 위한 전문 용어
- 데이터베이스 관리자가 데이터를 관리하는 목적을 위해 사용
- DBA(데이터베이스 어드미니스트)가 만든 테이블을 사용
- 사용자(데이터베이스에 속해있는 사람들)는 주로 DBA가 생성한 테이블을 사용
4-2. DML 명령문의 종류와 사용
- DML 명령문은 실렉터, 인설트, 딜리트, 업데이트, 그룹 바이 등 여러 종류가 있음
- (중요) 실렉터는 특정 테이블에서 데이터를 검색하거나 삽입하는 명령을 의미
- 인설트는 특정 데이터를 테이블에 삽입하는 명령이며, 외부 데이터를 테이블에 삽입하는 것도 포함
- 딜리트는 테이블에서 특정 데이터를 삭제하는 명령을 의미
- 업데이트는 테이블에 속성 값을 갱신하는 명령을 의미
4-3. DCL과 그 종류
- DCL은 데이터의 보안이나 무결성을 확보하기 위해 사용
- DCL은 사용자(데이터베이스 관리자)가 데이터를 관리하고 제어하는 데 사용
- DCL은 커미트, 노을베기, 그랜트, 리버의 네 가지 종류가 있음
- 커미트는 데이터베이스 조작자 영구적 반영, 노을베기는 종료 데이터베이스 조작자 비정상 종료를 의미
- (중요) 그랜트는 트랜잭션의 완료를, 리버는 트랜잭션의 취소를 의미
5. 데이터베이스 관리 명령어
5-1. 데이터베이스 명령어 종류
- DCL은 데이터베이스에서 사용자에게 권한을 부여하는 명령어임
- 커밋은 트랜잭션을 통해 데이터베이스 변경을 저장하는 명령어임
- 노얼백은 데이터베이스가 중단된 후 다시 시작할 때까지의 명령어임
- 그랜트는 사용자에게 권한을 부여하거나 다른 사용자로부터 권한을 빼앗아 버리는 명령어임
- 리보는 권한을 부여하거나 다른 사용자로부터 권한을 취소하는 명령어임
5-2. 그랜트와 리보 명령어
- (중요) 그랜트는 위드 그랜트 옵션과 그랜트 옵션 포 두 가지로 나뉨
- 위드 그랜트 옵션은 부여받은 권한을 다른 사용자에게 다시 부여하는 권한임
- 그랜트 옵션 포는 다른 사용자의 권한을 부여하거나 그 권한을 취소하는 권한임
- 리보 명령어는 권한을 부여받은 사용자와 다른 사용자에게 권한을 연쇄적으로 취소하는 명령어임
- 캐스케이드는 권한을 부여받은 사용자와 다른 사용자에게 권한을 연쇄적으로 취소하는 명령어임
5-3. 명령어 예제
- 사용자 아이디로 데이터 생성할 수 있는 권한을 부여할 때, 위드 그랜트 옵션을 사용함
- 연결 권한은 전체 권한이며, 그랜트는 투, 리보는 프라임임
- 그랜트는 투, 리보는 투를 전치사로 삼음
- 위드 그랜트 옵션은 부여받은 권한을 다른 사용자에게 줄 수 있는 권한임
- 그랜트 옵션 포는 다른 사용자의 권한을 부여하거나 그 권한을 취소하는 권한임
6. 데이터베이스의 원리와 권한 관리
6-1. 데이터베이스와 권한의 기본 이해
- 데이터베이스 관리자들이 테이블 생성, 수정, 삭제 등의 행위를 수행함
- 이러한 작업들은 주로 '그랜트'와 '리버크'라는 권한을 통해 이뤄짐
- 그랜트 권한은 다른 사람에게 테이블에 접근하는 것을 의미하며, 리버크 권한은 테이블을 생성하거나 수정하는 것을 의미함
- 권한을 부여하거나 제거하는 것 외에도 권한의 취소가 가능함
- (중요) 권한의 취소는 그랜트의 취소와 리버크의 취소로 나뉘어짐
6-2. 그랜트와 리버크의 구체적인 이해
- 그랜트는 권한을 부여받은 사람에게 부여되는 권한을 의미함
- 리버크는 원래 권한을 가진 사람이 권한을 잃는 것을 의미함
- (중요) 그랜트와 리버크를 이해하는 것이 데이터베이스 관리에서 중요함
- 권한을 주고받는 것 외에도 권한을 취소하는 것 또한 중요함
- 권한을 부여하거나 제거하는 것 외에도 권한을 취소하는 것이 가능함
6-3. 데이터베이스의 원리와 권한 관리
- 데이터베이스의 원리를 이해하면 데이터베이스를 만들고 조작할 수 있음
- 관계 데이터베이스의 언어인 SQM을 이해하면 데이터베이스를 만들고 조작할 수 있음
- (중요) MS SQL을 이용해 데이터베이스를 만들 수 있음
- 데이터베이스를 만든 후에는 모든 사용자에게 권한을 부여하거나 제거할 수 있음
- 이러한 권한 관리에 대한 이해는 고급 DBA이며, 실제 데이터베이스 실무에서 중요함
화자 1
00:10
자 전국에 계시는 우리 M2M 생방송 안방 가족 여러분 계속해서 뜨거운 감동의 수업을 함께 하겠습니다. 아 좋습니다. 아 밥 1그릇 먹고 나니까 힘이 넘쳐 흐르죠 자 우리 전국에 계시는 내 사랑하는 병태 순자 자 오늘 또 화이팅 합시다. 이제 좋아요. 자 앞 시간에 우리가 이제 관계 데이터베이스의 언어 그죠 표준언어인 에스큐엘로 들어갔죠 그렇죠. 그래서 이 에스큐엘을 제대로 배우면은 뭐 데이터베이스 즉 케이블 데이타베이스를 만들고 삭제하고 수정하고 운영할 수 있는 힘이 생기는 거죠. DBA인데 그죠 이 에스큐엘을 우리는 단 2시간 만에 짝살내죠 그죠 그래서 시험은 너무너무 쉽게 나옵니다. 그래서 인제 앞 시간에 우리가 음 어 에스큐엘 데이터베이스 관계 데이타베이스 언어는 크게 뭐 DDL과 DML과 DCL로 구성되잖아요.
화자 1
01:08
그죠 DDL은 뭐다 데이터를 정의하는데 이용되는 언어에서 우리가 커리에이터문 생각나라 그리고 이제 엘트문 그리고 드랍문을 했습니다. 그래서 크리에이터 5가지를 크리에이트 시키고 이제 엘트 문은 테이블 도메인이고 그죠 그다음에 삭제도 덜한 문보다 5가지 다 우리가 각각을 받는 거다 이 말이고 자 오늘은 뭐야? 지금 계속 이어선 이제 뭐요 DML 자 이 시간에는 DML과 DCL을 정리하겠습니다. 그렇죠. 자 따라와 보세요. 좋아요.
화자 1
01:47
예 야 DML 관계 데이터베이스 너 DML은 데이타 메뉴플레이션을 랭기직 해 가지고 데이터 조작을 주죠 이제 실제 우리 사용자가 데이타베이스 안에 들어있는 데이터를 조장하는 데 이용되는 조작 그죠 자 이 DML은 데이터베이스 사용자가 응용 프로그램이나 지리어 퀴리링 기지를 통해 가지고 실제 저장된 데이터를 실질적으로 관리하는데 사용되는 언어다 실제 조작하는 언어다 이 말입니다. DML은 데이터베이스 사용자와 데이터베이스 관리 시스템 간의 인터페이스를 제공합니다. 뭐 당연한 이야기고 중요한 건 아니고 자 DML은요, 크게 4개의 명령문으로 구성되지 SLECTOR 문 검색 데이터에서 속에 들어있는 특정 데이터를 참조 검색해 주는 명령어 실렉트문 실렉트문은 반드시 프라임이라는 전신사 실렉트 프람 외화 조건 절이죠.
화자 1
02:41
SELECTFRAM 외화 요런 형식이고 삽입은 뭐고 인설트 인투 데이터베이스 테이블에 특정형을 삽입시키는 거 인투니 인투죠 삽입은 삭제는 뭐고 딜리트 프라임이고요. 갱신은 업데이트 입니다. 이 4가지 명령문을 살펴보는 거다 그죠 이것만 알면 다 돼요. 그렇지만 하나하나 보자 이 말이야. 자 검색은 테이블에서 특정 투플 특정 행을 검색하는 거지 특정 레코드 특정 데이터 특정 튜플 특정행 좋아요. 자 삽입은 뭐가 테이블에 데이터베이스에 새로운 튜플을 삽입하는 거 인투 테이블 속으로 자 그다음에 삭제는 테이블에서 튜플을 삭제하는 거 그죠 필요없는 튜플 튜프를 하나의 데이터 값을 삭제해 주는 거 그다음에 갱신은 테이블에서 투표 내용을 변경하는 거 갱신 업데이트 하는 거죠.
화자 1
03:34
그죠 자 이 4가지 명령문 실제 이것만 알면서 이미 끝났어 끝났지만 하나씩 하나씩 경우의 수를 보자 이 말입니다. 하나씩 하나씩 살펴봅니다. 좋아요. 자 실렉트 문 자 에스큐엘의 실렉터 문 실렉트 문은 테이블을 구성하는 투플들 중에서 전체 또는 조건을 만족하는 특정 테이블을 검색하여 메인 메모리에서 임시테이블 형태로 구성하는 명령의 내 필요한 투플만 뽑아내는 명령의 검색 실렉트 문이다. 그죠 자 실력트의 일반 형식 이 명령문의 형태제 그리고 야 뭐 이거는 뭐냐 생략 가능한 옵션이죠. 옵션들은 이 안에서죠 에 실렉터 그다음에 쭉 이 테이블 실렉터 쭉 있죠. 실렉터 요건 지금 옵션명입니다. 옵션 중요한 건 아니고 실렉터 프람 테이블 명 외화 조건이 주로 많이 나옵니다.
화자 1
04:31
외화조건 그래서 실렉터 프람 테이블 특정 테이블에서 이 테이블에서 어 이런 속성을 실렉트화 한다. 그죠 그리고 어떤 조건에 만족하는 조건 조건 저는 외화다 외화 그래서 실렉트 프라임 외화입니다. 그리고 또 그룹 바이 그룹 바이라는 절이 따라오고요. 그룹 바이에 따라붙는 게 해빙 조건입니다. 해빙조건 그다음에 정의를 위해서 오더바이 오더바이 어센딩으로 정리를 할 것인가? 디센딩으로 할 것인가? 그래서 셀렉트 프람 테이블명 외화 조건 오더바이 해빙 조건 그룹 바이 해빙 조건 오더바이 그죠 요 정도만 우리가 눈으로 살짝 쿵 봐 놓으면 됩니다. 실렉트 프람 테이블명 외화조건 그룹 바이 절 헤이빙 조건 절 오더바이 절 그죠 이렇게 보고 실제 하나하나 경우의 수를 한번 살펴보자 이 말입니다. 친절하게 내가 다 만들어 놨습니다.
화자 1
05:27
자 가장 기본적인 검색어 현재 사원 테이블이 있고 사원테이블과 여가 활동 테이블이 있네 2개의 테이블이 있다. 그죠 2테이블이 있네 사원테이블과 여가활동 테이블이 있습니다. 여가활동 테이블이 있는데, 이 테이블과 이 테이블은 이름이라는 키로 연결할 수가 있겠네요. 그죠 자 일단 두고 예지해 봅시다 사원 테이블에서 모든 튜브 투플 모든 핸들을 검색하는 에스큐일문을 작성하시오. 이 말이죠. 그러면 이 사원 테이블에서 어떻게 실렉터 모든 건 아세테리드 거죠. 모든 거 모든 거 어떻게 프람 사원 테이블에서부터 모든 것 아테레르드 모든 속성을 실렉트 하라 모든 투플들을 실릭터 하라 요게 이거죠. 어 이거예요. 검색하는 에스큐엘 요렇게 쓸 수도 있고요. 음 어 또 여러 가지가 있네요. 또 실렉터 요런 경우 또 사원 테이블에서 뭐야?
화자 1
06:22
사원 테이블에서 사원의 모든 속성을 또 하는 거고, 이 실렉트는 또 뭐야? 이름 부서 생일 주소 기본급 프람사원 이렇게 할 수도 있죠. 그러니까 다 같은 거다 요로케 요게 제일 쉽고 요로케 표현할 수도 있고 요로케도 맞고요. 또 요렇게 돼 요거 사원 테이블에서부터 모든 속성을 다 나열할 수도 있습니다. 알겠나 제일 간단한 게 이거죠. 어 이거고, 요렇게 표현할 수도 있고요. 에 사원 테이블로부터 모든 걸 요렇게 할 수도 있고 또 사원의 사원 테이블에 모든 것 같은 거다 그리고 각 속성들을 다 나열할 수도 있고요. 그다음에 또 요렇게 요렇게도 사원 테이블에 사원 테이블의 이름 사원 테이블에 부서 사원 테이블 생일 사원 테이블 주소 사원 테이블 기본급 요렇게 표현할 수도 있고 다 같은 표현인 겁니다. 그죠 그래서 어 요런 명령문 다 같은 거다 요 내가 2가지가 다 같은 경우예요. 그러니까 표기 방법만 다른 거죠. 이렇게 할 수도 있다는 거죠.
화자 1
07:17
그럼 요 명령문에서 컴퓨터는 사원 테이블에 있는 모든 데이터를 여러분 화면으로 보여준다는 거지 알겠나 검색해 줍니다. 알게 슬랙터 아스트리스급 프람사원 이 제일 안 나는 방법이죠. 또 슬랙터 사원 테이블의 모든 걸 요거 실렉터 프람 요놈 각 다 쓰는 거고, 요놈은 4원 테이블에 뭐 4원 테이블에 뭐 이렇게 할 수도 있습니다. 됐죠 그래서 여러분들 요런 경우 한번 봐놓고 자 요걸 계속 요 테이블을 쓸 건데 자 넘어갑시다 그럼 좋아요. 실은 요것만 알면 되는데 쪼도 또 조건 지정 검색 경우 같은 경우의 수를 보는 거예요. 예제를 통해 가지고 그리고 컴퓨터 프로그램 공부는요 예문을 통해서 하는 게 제일 좋아요. 그러니까 우리가 개발자들 보면 처음에 우리 회사 입사를 하면은 맨땅에 히딩 안 시켜요 이미 만들어져 있는 소스 코드를 줘가지고 거기서부터 프로그램을 개발하게 하거든. 그러니까 보통 IT 기술자가 되려면요 아무리 공부하는 것보다 현장의 야전 전쟁터에서 전쟁터에서 싸움을 익히는 게 최고다 그렇죠.
화자 1
08:16
예 그래서 어 그 전쟁터의 대장 야전 사령군의 대장이 JH 여러분들은 이제 훈련소에서 훈련하는 친구들이고 좋습니다. 자 여전히 사원 테이블에서 부서가 기획인 투플을 검색하는 에스큐엘 그러니까 아까 사원테이블 참조 한번 해볼까요? 자 1번 더 넘어가 봅시다 예 고 예 사원 테이블에서 뭐야? 부서가 기획 부서만 해라카면 요 3가지만 추출되겠죠. 요런 명령을 어떻게 쓰는지 한번 보시죠. 다시 넘어가요 자 그러면 실렉터 프람사원 사원 테이블의 모든 속성을 검색하는데 어떤 조건 외화 이 외화를 물으면 외화 어떤 조건 부서가 기획 기획부서 조건에 맞는 것만 추출해라 이 말입니다. 그러면은 부서 중에 기획부서 기획부서의 데이터만 색출되겠죠. 검색됩니다. 결과가 요렇게 화면에 뿌려주겠제 알겠나 이런 뷰로 가상 테이블로 만들어 줍니다.
화자 1
09:11
이해되나 요게 비우죠 뷰 실제 테이블에서 뽑아내는 특정 테이블 가상의 테이블 이렇게 보여주는 거고요. 너무나 쉽고 그다음에 또 사원테이블에서 부수는 기획이고 동시에 기본급이 110보다 큰 튜프를 검색하라 그러면은 조건이 2개 걸리죠 사원테이블에 사원 테이블로부터 모든 속성 중에 요 조건 외화 외화 뭐 부서가 기획이고 앤드 동시에 기본급이 110만 원 이상인 데이터만 뽑아내라 카면은 결과가 요렇게 나온다네요. 그죠 120만 원인 효자동 홍길동이만 추출되겠습니다. 알겠습니까? 각각의 경우를 살펴보고 있죠. 너무나 쉽지 예 조건 지정 조건절이 뭐다 실력도 프라운 반드시 외화 외화 이하의 조건을 걸어주는 거죠. 외화 조건절이다. 다음 넘어갑시다 실제 요렇게 보니까 너무 쉬워요 예제로 공부하는 게 최고다 따봉이다.
화자 1
10:06
그 다음에 정열시킬 때 자 사원 테이블에서 부서가 기획인 투플 행을 검색하되 이름을 기준으로 뭐 오름차순 에 에 샌딩 소트를 정의란 에스큐엘 문을 작성해 봐라 이런 거죠. 그럼 이러 이런 거죠. 사원 테이블로부터 모든 속성을 검색하는 어떤 조건 부서가 기획인데 뭐 오토바이 이름 이름 어 이름을 이름을 기준으로 정의를 하라 인제 여기 안 쓰면은 요게 뒤에 그죠 오름차수는 디포트 돼 있는 거죠. 그죠 ASC 안 써도 좋아요. 그런데 내름차순 같은 경우는 반드시 이렇게 써줘야 됩니다. DSC 그죠 오름 차수는 생략해도 된단 말이에요. 그러면은 이제 어떻다 이름을 기역 니은 디귿 순으로 이름을 중심으로 기획 부수 중에 이름이 소팅되어 가지고 그죠 시옷 이응 히을 그죠 이름이 소팅돼서 데이터가 요렇게 검색이 됩니다. 그래서 데이터를 정렬하는데 쓰이는 구간보다 오도바이고 오더바이죠.
화자 1
10:59
오토바이 오드바이 그러니까 어센딩 할 수도 있고 디센딩 할 수가 있고 어센딩은 디포트 돼있기 때문에 안 써도 되고요. 디센딩을 써줘야 되고 대개나 이름을 중심으로 정렬해서 뽑아내라 이 말입니다. 되겠나 실렉트 프람 위아 오더바이 저를 썼습니다. 오도바이는 언제 오다 오다 정의를 시킬 때 정의를 시켜서 보여줄 때 오드바이 대겠나 조건은 위하죠. 됐습니다. 다섯 번째 예제 또 한번 보자 예문을 보고 한다. 아까 앞에서 만든 사원 테이블에 모든 투플을 검색하되 모든 걸 뽑아내는데 부서를 기준으로 부서를 기준으로 오름 차순 정의를 하고 같은 동시에 같은 부서에 대해서는 이름을 기준으로 내린 차순 정의라는 SQA를 모입니다. 바로 이거지 뭐 시렉터 사원 테이블로부터 모든 속성을 슬랙트 하는데 어떤 오더바이 모든 하는데 오드바이 뭐 부스는 어센딩으로 하고요. 이거 어센딩을 안 써줘도 되죠. 이름은 디센딩으로 하라 이 말입니다. 그러면 결과가 뭐다 이름은 히옷부터 나오죠. 이렇게 히어부터 디센딩 소트가 돼 있고 부스는 뭡니까? 기억부터 나오겠죠.
화자 1
11:58
예 요거는 디센딩 소트 그리고 요는 어센팅 소트 돼서 모든 결과가 나오기 시작합니다. 알겠나 그래서 여러분 정열에 이용되는 구머 오더바이 정렬 오드바이 어센딩 또는 디센딩으로 쓸 수가 있다. 이 말이야. 쉽지 좋습니다. 예문을 보고 공부를 하라 예문을 보고 공부를 하라 정일에 이용되는 절 오토바이절 좋습니다. 그다음에 이제 그룹별로 검색할 수 있는 실리트 문도 있죠. 그죠 그래서 요게 이제 실리트 문 이용자 함수인데 잠깐 눈을 보면 됩니다. 카운트함수 맥스함수 미니멈 썸 에버리지 말 그대로요 카운트 속성 가 뭡니까? 그룹별 투플 수를 구하는 함수예요. 그룹별로 투플의 카운트 갯수를 구해주는 거죠. 갯수 개수를 구해준 함수예요. 속성의 갯수고요. 맥스는 그 그룹 중에서 최대값을 구하여주는 함수 맥스 어떤 속성 쓰면 맥스 붙었으면 부서에서 가장 큰 값을 구해주는 함수고 미니멈에서 채소값을 구해주는 거고요.
화자 1
12:57
썸은요, 그룹의 합계를 구해주는 함수입니다. 아이 그러나 에버리지는 평균 되겠죠. 아주 쉽지 카운트는 개수 MAX 맥스는 최대값을 구해주고 MI는 뭐 최소값 그 그룹 내에 최소 값이고요. 썸은 그룹의 합계 그다음에 에이브이지는 에버리지에서 그룹의 평균을 구해주는 함수다 자 요런 걸 좀 이용하겠죠. 뭐 그룹 검색에 있어서는 요건 참고로 잠깐만 보면 되더라 그래서 이거 역시 예제로 한번 보자 이 말입니다. 예를 들면 사원 테이블에서 부서별로 기본급의 평균을 구하여 부서를 기준으로 오름차순 정렬한 SQL 문은 어떻냐 이 말이지 자 그러면 어떻다 보면 실렉터 부서 프람 사원이라는 테이블에서부터 사원 프람 사원 테이블로부터 부서 그 다음에 에버리지 기본급의 평균 어 뭐 에버리지 평균은 뭡니까? 평균은 에버리지로 한다. 이 말이에요.
화자 1
13:56
이거 생략도 가능하고요. 하되 그룹 바이 그룹 바이 부서의 부서를 중심으로 뭐하라 어센딩 소트 연구를 하라 이 말입니다. 자 그러면 어떻게 된다. 이제 어떻게 돼요. 부서가 부서별로 부서 아까 부서가 뭐야? 아니 그 처음에 사원 테이블에 보면 부서가요 기획부서 인터넷 부서 한번 가보죠. 예 요거 가봅시다 앞부분 예 안 가봐도 되는데 한번 가봅시다 1번 더 앞부분 더 앞부분 더 한번 가봅시다 앞부분 더 가봅시다 예 여기 요 보면 부서가 기획 부서 에 인터넷 부서 그죠 편집부서 3개의 부서로 구성돼 있잖아요. 자 한번 넘어가 봅니다. 다시 죄송해요. 예 이게 좀 계속 따라와야 되는데 좋아요. 자 그러면 인제 요 부서별로 기획부서의 기본급이 나오는 거예요. 기본급의 평균이 나오는 거예요. 인터넷 요 명령문에 의해서 인터넷 부서 그룹별로 평균을 내는 거죠.
화자 1
14:50
인터넷 부서의 기본급 평균 기본급은 85만 원이고 편집부서의 기본급은 103 103만 103만 점 3 뭐 얼마예요. 아이 어렵다 103만 원 정도 103만 3천원이가 뭐 이렇게 된다. 이 말이죠. 요 명령문 뭔 말인지 알겠제 사원 테이블로부터 이제 그 뭐여 부서의 부서를 그룹별로 평균을 구하되 그룹 바이 뭐 부서 부서를 가지고 하되 오센딩으로 그것도 기획 어센딩이니까. 뭐다 기획부서 먼저 나오고 인터넷 편집해서 그 부서에 뭡니까? 기본급 기본 평균 값들이 나오는 거예요. 그죠 그런 거 이제 그룹 검색을 하는 거다 다시 한번 더 보자 앞부분에 사원 테이블에서 기본급이 100 이상인 사원이 2명 이상인 부서와 그 부서 전체 사원 수를 검색해라 사원 숙 하면 무슨 함수 쓰노 오케이 무슨 함수 쓴다 오케이 뭐요 카운트 함수죠 카운트 아까 평균은 구하라 하니까 무슨 함수 썼노 에버리지 함수를 썼죠 그죠 그럼 됐습니다.
화자 1
15:48
자 실렉터 실렉트 프람 이제 사원 테이블로부터 이제 뭐 응 부서와 그 부선데 뭐 그 부서의 수 사원수 사원수를 구하라 이 말입니다. 근데 어떤 조건 기본급이 100만 원 이상이 그룹 바이 부서 헤비 카운터죠 요래되는 거죠. 그러니까 100만 원 이상이고 어 100만 원 이상의 사원이 2명 이상인 부서와 그 부서에 전체 사원 수를 검색하는 에스큐리 문을 작성하라 가는 거죠. 그러면 그룹 바이의 조건 저런 해빙 해빙입니다. 해빙 그룹 바이의 그룹 바이의 조건은 해빙입니다. 부서를 부서를 그룹으로 하고 그 부서에서 회비 어떤 조건 카운터가 즉 부서 인원이 2명 이상이고인 걸 구하라 이 말이죠. 그러면 이제 부서 사원이 2명 이상 있는데, 뭐다 기획부서와 편집부서다 이 말입니다. 되겠나 요렇게 검색이 됩니다.
화자 1
16:45
그룹 검색 이제 그룹 검색에 이용되는 함수 창고를 알아놓고 그룹별로 묶어서 검색하는 거죠. 그럼 그룹별 평균이라든지. 그룹별 그룹 속에서 최대값이라든지. 그룹 속에서 최소값이라든지. 그룹별 학계라든지요 요런 에스큐엘 명령문으로 검색할 수가 있는 거다 그죠 자 중요한 건 아니고 예제를 살짝 보면 되겠다. 자 넘어가 봅니다. 에스큐엘 재밌제 요러는 거 자꾸 재미를 느껴야 돼 자 하위 질의 여기까지는 잘 안 나오네 이왕 하는 거 지금 시험을 떠나가서 정리를 다 해버리는 거다 이왕에 QA하는 거 그래서 우리가 정무처리 기사 이론에서는 여기까지는 잘 안 나오지만 그래도 혹시 나올 수도 있죠. 그래서 한번 살짝살짝 보면 돼요. 하위 질의는 여가 활동 테이블에서 아까 여가테이블이 앞부분 있었어요. 취미가 나이트 댄스 나이트 댄스 나도 이거 댄스를 좀 하기는 하는데 옛날에 이거 6.25 복고풍이 좀 합니다.
화자 1
17:42
이게 춤 한번 춰볼 출까 이건 뭐 말춤 토끼춤 이런 게 있었어 요즘은 뭐, 뭐 통과 나이트 댄스인 사원에 대해서 사원 테이블에서 해당 사원의 이름과 주소를 검색하는 거 쉬운 거요 실렉터 뭐야? 사원 테이블에서 많은 소송 중에서 이름과 주소만 슬랙터라 이 말이지 이거는 사원 테이블에서 근데 어떤 조건 어 뭐 자 요거예요. 어떤 조건 다시 물어요. 어떤 조건이냐 여가 활동 테이블로부터 테이블로부터 어떤 조건 취미가 나이트 댄스 나이트 댄스인 조건을 가지고 있는 사람 속에서 사람 속에서 있는 이름과 주소를 발찰해요. 그러니까 아까 테이블에서 고 조건에 해당하는 게 성춘향 후평동 요거예요. 성춘향이가 나이트 댄스 여가 활동이 나이트댄스라 카네 그죠 그래서 뭔 말인지 알겠나 요 테이블 한번 있었죠.
화자 1
18:35
한번 더 넘어가 보자 넘어가 봅시다 예 다시 한번 그 테이블로 가볼까 예 자 요 보면은 여가 활동 테이블에서 나이트 댄스 취미가 나이트댄스 누구고 성춘향 이제 그 요 성춘향이가 어딨노 바로 사원테이블의 성춘향이가 있잖아요. 금 이 성춘향이 뭐 이름과 뭐 주소만 발치해라 이 말이죠. 결과가 자 여가활동 대입을 했어. 여어 활동 테이블에서 취미가 나이트 댄스인 성춘향의 정보를 얻어서 사원테이블에서 성춘향의 정보 중에서 뭐 이름과 주소만 발췌해라 검색하라는 거죠. 자 다시 봅니다. 다시 봅니다. 그쪽으로 예 어디죠 여기죠 그죠 그러니까 무슨 말인지 알겠죠.
화자 1
19:23
여가활동 테이블에서 라이트 댄스가 취미인 사람인데 그 사람이 어디에 사원 테이블에서 그 성취자가 있는데, 그중에서 많은 것 중에서 이름과 주소만 끄집어내라 이 말입니다. 되겠나 하위 질의죠 하위 질의 밑에서 질의를 해서 끄집어내는 거죠. 다시 한번 볼까 여가 활동을 하지 않는 사원들을 검색하는 것은 그러면 실례됐던 사원 테이블에서 모든 소송 중에서 어떤 조건 자 여가활동 테이블에서 여가 활동 여가활동테이블에서 이름을 하는데 낮 낮 저 뭐야? 여가 활동을 하지 않는 사람들만 끄집어내는 거예요. 그럼 여가 활동 없는 사람들 이제 이거죠. 그죠 여가 활동이 없는 사람들 우리가 사원 테이블에서 가져올 수가 있습니다. 사원 테이블 중에서는 여가 활동이 있는 사람이 있고 없는 사람 없는 사람만 끄집어 내주는 거다 이 말입니다. 됐죠 예 넘어가면 됩니다.
화자 1
20:13
하위 지리 예절을 보고 공부하는 게 최고다 그 다음에 실렉트문 현재 우리는 아주 중요한 DML의 첫 번째 명령문 실렉트 프람 외화 그렇죠. 어 오더바이 그룹 바이 이런 걸 공부하고 있습니다. 자 복수 테이블 검색 2개 이상의 테이블에서 데이터를 동시에 끄집어내는 실제 우리가 모든 걸 다 해본다 실제 전문가들도 이 정도 이 정도 하면 아주 전문가예요. 그러니까 시험을 떠나서 한번 해보자 복수테이블 검색 예절해 보자 경력이 10년 이상인 사원의 이름 사원의 이름 부서 취미 경력을 검색해라 그러면 어떻게 된다. 이제 실렉터 자 2개의 테이블에서부터 사원테이블과 여가활동 동시 복수제 2개의 테이블이죠. 사원 테이블과 여가활동 테이블로부터 두테이블에서 뭐 두테이블에서 어떤 조건 여가활동 뭐야?
화자 1
21:10
경력이 10년 이상 경력이 경력이 10년 이상 여가 활동 테이블에서 경력이 10년 이상인 사람과 동시에 사원 사원테이블에서 그중에서도 뭡니까? 아 동시에 뭐예요? 사원 이름 그러니까 사원 테이블의 이름과 여어 활동 이름이 같은 사람 에 경력이 10년이면서 사원테이블에서도 이름이 있고 여가 활동의 이름 여가활동 테이블에 이름이 있고 사원 테이블의 이름이 같은 사람 같은 사람 중에 10년 이상을 잡아내라 말이죠. 그 사람이 뭐 사원테이블에서 이름 부서 취미 경력을 잡아내라 그러면 김순달과 일지매각 어 사원 테이블에도 있고 여가 활동 테이블에 있는 사람 중에서도 이 2사람은 뭐다 경력이 10년 이상 됐다는 거예요. 그죠 경력이 2사람이 10년 이상이 된 2개의 테이블에 동시에 존재하면서 경력이 10년 이상 됐다는 겁니다. 그렇죠.
화자 1
22:06
그러면은 두 테이블에서 에스큐엘은 두 사람의 정보를 뽑아서 여러분한테 보여줄 겁니다. 됐나요? 그래서 복수테이블 동시에 2개의 테이블 데이터를 검색하는 거고, 하나 더 볼까 사원들의 명단이 임원 테이블과 직원 테이블에 저장되어 있다. 두 테이블을 통합하는 SQM 문을 작성하시오. 단 같은 레코드 같은 튜플이 중복되어 나오지 않도록 해라 튜플은 배제해라 즉 중복은 배제해라 이 말이네 요거는 인제 테이블을 만들었네요. 그죠 임원 테이블 있고 직원 테이블 2개의 테이블이 있습니다. 임원 테이블과 직원 테이블이 있다. 그죠 그러면 두 테이블을 통합하라 카면 어떻다 실렉터 뭐야? 통합 명령문은 유니온이에요. 이거 옵션 유니온 유니온입니다. 유니온 그러니까 직원 테이블에 모든 데이터를 검색하 했는 거 하고 임원 테이블에 모든 테이블 검색했는 걸 유니온하라 합집합하라 이 말입니다. 그죠 일반 관계 연산 자리에서째 그러면은 이 2놈이 합해집니다.
화자 1
23:01
유니온 돼 가지고 요런 결과가 나와 실제 2개의 테이블을 통합하는 거 두 테이블이 배웠죠 유니온 에이라는 거 에이랑 에이 유니온 비 배웠죠 에이는 임원 테이블이고 비는 직원 테이블이고 어떤 연산자를 썼다 유니온 연산자 그죠 요렇게 해서 2개의 테이블을 복수의 복수테이블을 검색할 수도 있고 통합할 수도 있고 또는 뭐 교집합을 구할 수도 있는 거고, 우리 앞에서 배운 어 그 연산자들을 이용해서 다 적용 가능하다는 말씀이에요. 자 넘어가 보자 병태야 좋아요. 자 실렉터 문은 이 정도면 된다. 여러분 아주 많은 경우를 봤습니다. 그래서 실제 실제 시험은 SELECTRUM 웨어 이 정도밖에 안 나오는데 우리는 다 봤죠 각각의 옵션을 다 봤다. 그죠 오더바이 정렬시키는 옵션도 봐왔고 그룹 바이 해빙절도 봤고 그저 복수 테이블 검색하는 거 또는 연산자를 이용하는 거 구석구석 다 봤다. 됐죠 어떤 문제 나와도 좋다.
화자 1
24:01
그 다음에 두 번째 명령문 에스큐엘의 인설트 명령문 테이블의 특정 횡 특정 투플 특정 레코드 특정 데이터를 삽입시키는 거 인설트 문은 테이블에 새로운 투플을 삽입할 때 사용합니다. 표기 형식은 막 인설트 인투다 인투 테이블 명입니다. 그죠 그래서 밸류 실제 갑을 갖다가 가르쳐줄 수도 있어요. 그래서 뭐 중요한 건 이거는 한번 읽어보면 되는 거고, 살짝 중요한 건 아닙니다. 읽어보시고 예절을 함 봅시다 자 사원 테이블 있죠. 사원 테이블 얼굴에 이름 부서 생일 주소 기본급이라는 속성이 있고 형이 몇 개고 하나 둘 셋 넷 다섯 여섯 일곱 여덟 여덟 개 있습니다. 홍길동부터 강호도에까지 강호도가 또 나오네 강호도의 호도에 예 좋아요.
화자 1
24:46
자 요 테이블을 기준으로 예절을 한번 보자 이만 요 테이블 뒤에 나오면 좋겠는데 자 예절을 한번 봅시다 요 테이블을 기준으로 예절을 한번 보자 자 방금 앞에서만 사원테이블에서 이름이 이순신이고 동시에 부서가 디비인 사원을 삽입하는 에서 기회를 작성하십시오. 이 말이죠. 그러면은 요거죠. 인설트 인투 사원 에 사원 테이블에 인투 인설트 특정 데이터를 삽입하는데 뭐 이름이 뭐다 이름이 이순신이고 부서가 DB 부서 DB고 이름 이순신 테이블을 삽입해라 이 말입니다. 그러면은 아까 테이블에 이순신 이름을 가진 디비 부스가 삽입이 되겠습니다. 쉽죠 실제 안 봐도 되고요. 두 번째 함 볼까 사원 앞에서는 사원 테이블에서 장보고 이 뭐야?
화자 1
25:34
기획 날짜가 있고 구의도 90을 삽입하는 거 쉽죠 인설트 인투 삽입하라 인설트 인투 그리고 어디에 사원 테이블에 삽입을 하는데 어떤 어떤 갑 장보고 기획 요 요 요 5개의 갑을 집어넣으라 이 말입니다. 그러면 사원 테이블에 이름이 장보고 부서고 기획이고 이거는 무슨 날짜는 날짜가 요거 들어가고 구이동 주소가 들어가고 90은 뭡니까? 기본급위가 요게 요 5개의 데이터 값이 들어갑니다. 알겠어요. 삽입을 바로 밸류로 밸류는 실제 값을 집어넣는 하는 거죠. 인설트 사운 인투 테이블명 인설트 인투테이블명 그래서 요런 경우 여러 가지 경우일 수가 있겠죠. 자 넘어가 봅니다. 자 인설트 보면 되겠죠. 인설트 인투 테이블명 좋고요. 그다음에 SQL의 뭐 딜리트면 딜리트는 뭐다 테이블에서 특정 투풀을 필요없는 투풀을 삭제하는 거죠. 그죠 투풀을 하는 명령 형식은 뭡니까?
화자 1
26:34
딜리트 프람 테이블명 조건 이 조건에 맞는 데이터를 삭제하라 이 말이죠. 모든 튜프를 삭제할 때는 위아즈를 생략합니다. 그래 딜리트 프라임 테이블명 해버리면 모든 거 어 테이블 전체가 없어진다 이 말이지 자 예절을 한번 봅시다 사원 테이블에서 이름이 임꺽정인 투플을 삭제할 수 있죠. 딜리트 프람 사원 사원 사원 테이블부터 어떤 조건 이름이 임꺽정인 데이터를 삭제하라 카면은 임꺽정의 이름을 가진 투플은 삭제가 돼 버리겠죠. 너무나 쉽다 딜리트 프람 테이블명 외화 조건입니다. 역시 자 예제 이 사원 테이블에 모든 투플을 삭제하라 뭐다 말 그대로 딜리트 프람 사원 테이블 명만 써버리면 되죠. 어 그럼 이 사원 테이블 전체가 삭제가 되어 버립니다. 실제 딜리트문 너무나 쉽더라 딜리트문 너무나 아쉬워요 자 몇 분 정도 지났습니까? 좋아요. 좋습니다. 아하 아 너무나 좋아요. 자 업데이트 문은 뭐다 이제 투플을 갱신 값들을 변경시켜 주는 거죠.
화자 1
27:33
업데이트 테이블에 있는 투풀 중에서 특정 투표 내용을 갱신하는 거다 표기 형식 쉬워요 업데이트 테이블 셋이다. 업데이블 테이블 셋 속성 내가 설정하고 싶은 속성명입니다. 역시 조건은 외화다 외화조건절이다. 자 모든 투플을 삭제할 때는 외화절이 생략한다. 이거 잘못됐네요. 자 요거 지워주세요. 관계없는 이야기고 좋습니다. 업데이트 자 예절을 직접 한번 보자 이 말입니다. 사원 테이블에서 홍길동의 주소를 퇴계동으로 갱신하면서 자 홍길동의 주소가 아까 뭐 무슨 동인지 모르면 예를 들면 가산동이다. 이놈을 퇴계동으로 바꿔라 할 때는 어떻게 한다. 아 아 업데이트 사원 사원 테이블에 어떤 특정 속성을 업데이트하는 데 뭐 주소 세티 주소가 퇴계동 퇴계동으로 세팅시키라 이 말입니다.
화자 1
28:27
셋 어떤 이름이 홍길동 홍길동인 홍길동인 레코드 중에 데이터 중에 투플 중에 그 홍길동이 뭐 지 주소가 가산동이든 상관없는데 이름이 홍길동인 데이터 속에 그 주소를 뭐 퇴계동으로 세트시켜라 이 말입니다. 세트 세트시켜서 갱신하라 이런 뜻이죠. 되겠나 업데이트 테이블명 세트 세트 시키고자 하는 그렇죠. 그리고 외화 조건입니다. 뭔 말인지 알겠나 그럼 요 명령문에 의해서 홍길동의 주소가 가산동에서 뭐로 변경돼 버리노 갱신되노 퇴계동으로 갱신이 될 거 아닙니까 맞나 안 맞나 그렇죠. 그런 거고, 예정일 함 볼까 역시 사원 테이블에서 황진이의 부서를 기획으로 변경하고 기본금을 5만 원 인상하는 SPO를 작성하라 2개의 조건을 묻네요.
화자 1
29:16
그죠 자 그러면 뭐 업데이트를 시키는데 갱신 속성 값을 갱신하는데 수정하는데 뭐 어디야 사원 테이블에 있는데, 뭐 부서를 기획이죠. 부서는 기획이고 부서는 기획이고 기본급이 뭡니까? 현재 5만 원이니까. 5만 원 인상시키니까 현재의 기본급에서 5만 원 인상하제 그리고 이름이 황진이 황진이 이름이 황신인 조건을 가지고 있는 데이터 중에 그 기본급 5만 원 인상시키고 부서를 기획으로 쇠퇴 시켜서 갱신하라 이런 뜻이죠. 쉽죠 예 요런 거 해서 여러분들 업데이트문 쉽습니다. 자 방금까지 했는 것들이 실렉터에 뭐다 저 DML이죠. 에스큐엘 명령문에 DML입니다. DML은 뭡니까?
화자 1
30:06
특정 테이블 어떤 테이블 속에 특정 투프를 검색해 주는 거 뭐 실렉터 프람 외화 조건 또는 오더바이 절 또 그룹 바이 뭐 이런 걸 쓸 수가 있고요. 그다음에 두 번째 특정 투플을 삽입하는 거 인설트 인투 테이블 명이었죠. 그죠 조건을 쓸 수가 있었고요. 인투 그다음에 뭐야? 지우는 거 뭐고 지우는 거 딜리트죠 딜리트 프람 테이블명 외화조건이고 그다음에 속성 값을 수정하는 게 뭐다 업데이트죠 업데이트 그저 업데이트 테이블명 세트 세트시키고 가자 하는 속성값 됐나 고 정도만 정리하면 되고요. 자 이제 DCL에 대해서 배워보자 DCL DCL은 뭐야? 아까 여러분 실제로 DML은요, DML은 주로 사용자가 많이 씁니다. 사용자 사용자나 프로그래머가 많이 쓰고요.
화자 1
31:01
이 DCL 명령문은 사용자 잘 못쓰죠 이거는 DBA가 자 우리가 데이타베이스에 해당하는 사람들이 누가 있었노 데이터베이스는 DBA가 제일 전문가죠 데이터베이스 어드미니 스트레이터 그리고 프로그램 응용프로그램 뭐 ASP나 뭐 신이나 비주얼 베이직이나 자바나 이런 거 프로그램 있잖아요. 응용 프로그램 보고 그다음에 우리 사용자들 그죠 사용자들은 대부분 DBA가 만들어 놓은 테이블을 응용 프로그램 뭐 프로그램에서 우리 사용자는 사용을 합니다. 요렇게 되지 요런 구조인데 특히 DCL은 뭡니까? DBA가 사용하는 명령어입니다. 그죠 자 어떤 거냐 D셀은 데이터의 데이타베이스 안에 들어온 데이터의 보안이나 무결성 결함이 있는지 없는지 그다음에 회복이나 병행 제어 등을 정의하는데 사용된 언어입니다. 데이터베이스 자체에 보안 또 허가권을 준다든지 그런 거죠. 데이타베이스 전체를 관리해주는 명령어 제어해주는 명령어가 뭐다 DCL이다. 이 말입니다.
화자 1
32:01
그죠 DCL은 데이타베이스 관리자가 데이터 관리를 목적으로 만든 여기 나오네 TBA가 데이타관리 데이타베이스 안에 들어있는 데이터를 관리를 목적으로 사용하는 언어다 일반 사용자는 DCL을 사용 안 한다. 이 말이죠. 에 아 그래요. 어떤 게 있냐 커미트라는 명령문과 노을베기라는 명령문 그리고 요래 묶어요. 요래 묶고 그랜트라는 명령과 리버 요 4가지만 배워보자 이 말이죠. 그래서 커미트는요 다시 뒤에 나온다 고급 데이터베이스에서 나옵니다마는 데이터베이스 조작자 영구적으로 반영하여 완료 즉 데이터 DB에 DBS에서 활동 단위인 TRENDICAZM 트랜젝션 트랜 트랜젝션 예 이 OS에서 프라세스예요. 트랜젝션의 완료 완료 완료를 시켜주는 명 완료됐다는 걸 알려주는 명이 없습니다. 완료 완료 동그라미 뒤에 다시 합니다. 놀백은 뭐냐 하면 종료 데이터베이스 조작자 비정상적으로 종료 이게 정상적인 완료예요.
화자 1
32:59
이건 정상 완료고 정상 완료 이용되는 명령이 커뮤트 커뮤니터 연산은 뭡니까? 비정상 종료입니다. 중단 그래서 원래 상태로 복구되는 거 요거는 노벨백 연산이고 그랜트는 뭐냐 하면은 데이터베이스에서 사용자에게 사용 권한을 부여 그랜트 부여해주는 명령문이고요. 리복은요, 빼앗아 버립니다. 사용권한을 취소해주는 명령문입니다. 되겠나 요 4가지 살짝 나오면 커뮤트 완료 노을백 비증상 종료고요. 그랭트는 권한부여 리복은 권한 취소입니다. 됐나 여기만 아니면 된다. 자 하나씩 한번 더 볼까요? DCL 자 DCL 한번 보자 커뮤니터는 트랜젝션에 트랜젝션 하는 거 뒤에 배웁니다. 데이타베이스에서 활동 단위 즉 현재 수행 중인 원자값 속성 값들 현재 수행 중인 데이타예요.
화자 1
33:51
어 즉 운영체제에서 프로세스죠 이 트랜젝션의 모든 변경 내용들을 영구적으로 데이터베이스에서 반영하는 명령어 컴퓨터 트랜젝션이 성공적으로 끝나면 DB가 새로운 일관성 상태를 가지기 위해서 수행된 모든 변경을 DB에서 반영하는 완료 명령어다 완료 그러니까 커뮤니터 연산은 컴퓨터 명령어는 완료다 정상적인 완료를 의미합니다. 요건 뒤에 다시 한다고 했다. 1파트로 합니다. 노을벽은 뭡니까? 자 봐봐요. 이제도 자 보면 노을벽은 다 치우고 그죠 이 뭐예요? 이 비정상 그 말도 안 나오네 자 요거 한번 읽어보시고 노얼백은 이제 완료가 아니고 비정상 완료가 안 되고 중단돼 버린 거예요. 비정상적인 종료 종료입니다. 노을백 종료돼 가지고 다시 복구 시켜주는 거예요.
화자 1
34:42
노을백 노을베 간다 비정상적인 종료다 그죠 그래서 요거를 한번 읽어보시고 이 트랜젝션과 아 저 노얼백과 커미터 연산은요, 마지막 파트에서 또 다룬다. 그래서 여러분 잠깐 컴퓨터는 성공적인 완료 명령어 노벨백은 비정상적인 종료해서 다시 되돌려준다는 생각을 하면 되겠지 좋습니다. 그다음 명령으로 넘어가 볼까요? 자 그랜트완 리본은요, 문제는 거의 안 나오지만 하나만 혹시 나오면 요것만 나온다 자 디 어 데이터베이스 관리자가 뭐고 DBA다 DBA가 DB 사용자에게 권한을 부여하고 취소 확인 명령어 그랜트는 이제 권한부여죠 이 데이터베이스를 니가 사용해도 좋다. 권한부여를 누가 하나 DBA가 해줍니다. 알겠나 그 권한취소를 누가 합니까? DBA가 해준다. 그래서 그랜트와 리본 명령문으로 그랜트 권한 부여 리보 권한 취소 그죠 어 그래서 요런 거요 그랜트 사용자 등급 투 뭐 요 형식인데 저 이렇게 쭉 있죠. 그랜트 리보입니다.
화자 1
35:42
그랜트는 투고요. 그랜트 또 누구에게 주고 리복은요, 누구로부터입니다. 그래서 그랜트는 투다 투란 왜 누구에게 권한을 준다니까 그랜트 투다 그런 리복은요, 누구로부터 권한을 빼앗으니까 리복 프라임이죠. 프람 되겠나 그랜트는 투라는 전치사 당연하지 리보건 프라임이라는 것만 아시면 된다. 자 예절을 직접 한번 보자 이 말입니다. 사용자 아이디가 나비 나비 나비 부위가 나비인 사람에게 데이터베이스는 데이터 생성할 수 있는 권한을 준다고 할 때 뭐 그랜트 이 소스 모든 권한을 주는데 투 누구에게 나비에게 나비라는 아이디 그럼 나비 아이디는요 이 데이터베이스의 모든 권한을 가지고 부여돼 버리는 거죠. 그랜트 투 그다음에 요거를 한번 봅시다 요거는 어 그 이건 뭐 사용자 등급은 여러분 알 필요는 없습니다. 리소스는 권한 부여고요.
화자 1
36:36
그랜트는 그냥 연결 그랜트 투 여기도 권한을 부여하는데 스타라는 아이디어한테부터 이제 연결 권한만 준다는 거고, 요거는 니소스는 전체 권한이고 연결 권한인데 몰라도 좋습니다. 역시 그랜트는 투라는 것만 아시면 되겠죠. 예 좋습니다. 자 다음에 한번 넘어가 보죠. 테이블 속성 매우 중요한 건 아니고 자 요거는 무슨 말이냐 뭐 권한의 종류가 여러 있는데, 알 필요는 없고 자 요거요 이 그랜트는 여러분들 그랜트는 위드 그랜트 옵션이라는 절을 하나 붙고요. 리복은요, 그랜트 옵션 포가 나와 요 2가지 한번 구분을 해보자 이 말이거든 요거 요 2가지가 뭐냐 하면은 그랜트 중간 다 몰라도 좋아 위드 그랜트 옵션 자 그랜트에서 부여 따르는 옵션은 뭐다 위드 그랜트 옵션이고요.
화자 1
37:22
리복에 따른 옵션은 뭐다 아 요게 어디 어디 가버렸 니복은 니복은 어디가 니복인데 여기 뭐 빠져버렸냐 캐스케이더 아 예 요거 아 여기 있네 죄송 예 요거 요거요 요거죠. 리복은 그랜트 옵션 포입니다. 그죠 그랜트 옵션 폰입니다. 그러면 위드 그랜트 옵션은 뭐냐 하면 부여받은 권한을 다른 사용자에게 다시 부여할 수 있는 권한입니다. 자 그랜트 이 사람한테 그 권한을 줬는데 이 사용자의 권한을 줬는데 이 사용자가 이걸 붙여버리면 이 사용자가 또 권한을 제3자에게 줄 수 있는 겁니다. 알겠나 미드 그랜트 옵션 그랜트죠 승인을 할 수 있는 걸 또 주는 거예요. 이해되나 이 사용자에게 권한을 부여했는데 또 이 사용자가 다른 사람에게 권한을 줄 수 있는 거 요거 붙으면 되겠나 됐죠 요것만 알면 돼요. 그다음에 그랜트 옵션포는 다른 사용자의 권한을 부여할 수 있는 권한을 취소하는 겁니다. 취소 그러면은 취소는 뭐예요?
화자 1
38:19
이 사람부터 취소를 하는데 부여돼있는 이 사람이 준 그것까지도 취소할 수 있는 거요 그랜트 뭔 말인지 알겠죠. 요렇게 하시면 되고 다른 사용자의 권한을 부여할 수 있는 권한은 취소하는 겁니다. 이 권한까지 취소하는 거고, 자 캐스케이트는 앞에서 배웠죠 권한 취소 시 권한을 부여받았던 사용자와 다른 사용자에게 부양권한도 연쇄적으로 취소되는 게 캐스케이드죠 캐스케이드 연쇄적으로 그러니까 활동 중이더라도 캐스케이드는 연속적으로 내가 권한을 자 내가 자 봐보세요. 에이한테 권한을 줬습니다. DBA가 줬고 또 에이는 자 DBA가 그랜트 명령으로 권한을 줬지 근데 또 에이가 비한테 권한을 줬습니다. 자 요 명령에 의해서 권한을 줘버렸어 권한을 줬죠 그러면 캐스케이드 써버리면 뭐 내가 이 사람만 취소를 캐스케이드를 쓰면은 이 사람만 취소되는 게 아니고 캐스케이드 써 버리면은 내가 이 사람은 취소하지만 이 사람이 부여됐던 권한 자동으로 취소돼 버리는 거예요. 자 다시 이야기한다. 캐스게이드 쓰면 뭐야?
화자 1
39:18
야가 부여한 권한까지도 취소돼 버립니다. 됐나 연쇄적으로 취소돼 버립니다. 그렇죠. 자 그래서 요거 한번 보시면 되겠죠. 그랜트 올 옹 자 투 나비에게 줬는데 뭐 요거 주면 뭐다 나비는 나비라는 아이디는요 딴 사람한테도 권한을 줄 수 있는 거죠. 그 말이고 요거는 뭐야? 리버크 자 요거 요거는 뭐다 자 스타라는 것부터 인제 스타 스타 스타라는 아이디로부터 권한을 빼앗는 거죠. 권한을 빼앗는데 이 여름 이놈이 이 사람이 준 그 난 또 빼앗아 버린다는 거죠. 그죠 요런 이야기다 중요한 건 아니고 그래서 여러분 그랜트에 따라오는 거 위드 그랜트 옵션과 이복에 따라오는 구 그랜트 옵션 포 그랜트 옵션포 2가지만 아시면은 된다는 이야기입니다. 그렇죠. 그래서 실은 시험이 여기까지 잘 안 나오는데 가끔 나오면 이 그랜트와 리보크죠 그래서 여러분들 그랜트 투 리보프 불안 실제로 이것만 알면 돼요.
화자 1
40:15
그래서 여러분 실제 데이터베이스 실무에서 이 정도 쓸 수 있으면 아주 고급 사용자입니다. 자 고급 DBA예요. 그래서 여러분들이 데이터베이스 관리자들이 이런 명령문을 가지고 테이블을 만들고 테이블을 지우고 테이블에 들어있는 데이터를 조작하고 테이블의 보안을 걸고 이 테이블에 대한 권한을 주고 이런 행위들을 다 하는 거지 알겠나 그래서 여러분들 현재 우리가 데이터베이스 중에 관계 데이터베이스의 언어를 정리가 다 됐습니다. 아 신기하다 2시간 만에 여러분들 표준 SQM 에 그러니까 어 여기 에스큐엘의 영영문 다 배웠는 거야. 이것만 배우면은 이거 배워가지고 이제 여러분들 요렇게 요렇게 두드리면은 여러분도 데이타베이스 만들고요. 데이터 조작할 수 있고 할 수 있다는 겁니다. 알겠나 어 그래요. 그래서 자 여러분들 어렵지 않죠 이제 원리를 파악하니까 그래서 오늘날 이런 에스큐엘 중에서도 가장 늘 이용되는 게 역시 마이크로소프트에서 개발한 MSSQL이죠.
화자 1
41:15
그렇죠. 그래서 MSSQL을 모두 어떤 기업에서는 MSS QL을 가지고 데이터베이스를 만들어서 그 기업의 그 조직의 모든 데이터를 통합 관리 합니다. 맞나 그래서 데이터베이스를 만들어 놓고 어 모든 이제 사용자들이 전 직원들이 사용하는 거죠. 아마 여러분들도 공무원이 되든 취업을 하든 어떤 조직에 가면은 싫던 좋던 어떤 그 조직의 데이터베이스를 이제 응용 프로그램에 의해서 여러분들이 핸들링을 합니다. 근데 뜻도 모르고 핸들링 하는 게 아니고 내가 비록 공무원이 되더라도 이런 원리를 알고 어 데이타베이스의 원리를 알고 여러분들 일을 하면은요, 완전히 달라진다 알겠나 고급 공무원이 되고요. 기술공무원이 된다는 거예요. 알겠어요. 그래서 아마 시험은요, 내한테 요리를 배우고 가면 정말 쉽다 그래서 아마 내 강의 노래 듣고 어 시중에 나오는 교재도 보면 이 정도 깊이 있게 나오는 교재는 없다. 대부분 교재 넘겨보면은 아까 뭐 그랜트 투어만 나오고요.
화자 1
42:11
설명도 없이 그냥 리복 프람 이제 이미서도 나올 거예요. 그죠 뭔지 알겠나 그래서 예제를 통해서 정리를 했습니다. 그죠 데이타베이스 재밌나 좋습니다. 좋고요. 자 오늘 또 여러분들 2시간 동안 자 요번 주는 내가 저번주에 몸이 안 좋아서 생방송을 이제 우리가 펑크를 냈는데 요번 주도 인제 여러분의 성운에 힘입어 가지고 음 펑크 안 내고 계속적으로 잘하고 있지 그렇지만 몸 상태가 아직도 정상이 아니데 뜨거운 박수를 방구석에서 뒤늦어서 치시고 자 오늘은 일어서라 자 일어서서 전국에서 우레와 같은 박수를 치자 좋습니다. 자 요렇게 오늘 정리하고 내일 또 뜨거운 가슴으로 만나 뵙기를 기원하면서 오늘은 여기까지 하겠습니다.
'전진하(JJH)교수님의 강의 > 정보처리기사 산업기사' 카테고리의 다른 글
[정보처리] 데이터베이스 - 고급데이터베이스 (0) | 2024.08.06 |
---|---|
[정보처리] 데이터베이스 - 정규화 (0) | 2024.08.06 |
[정보처리] 데이터베이스 - 관계데이터베이스언어1 (0) | 2024.08.05 |
[정보처리] 데이터베이스 - 관계데이터모델 (0) | 2024.08.05 |
[정보처리] 데이터베이스 - 데이터모델링 (0) | 2024.08.05 |