'2024/08/05'에 해당되는 글 6건
- 2024.08.05 :: [오라PC]2024년 04월_고○호(7534)고객님 조립영상
- 2024.08.05 :: [정보처리] 데이터베이스 - 관계데이터베이스언어2
- 2024.08.05 :: [정보처리] 데이터베이스 - 관계데이터베이스언어1
- 2024.08.05 :: [정보처리] 데이터베이스 - 관계데이터모델
- 2024.08.05 :: [정보처리] 데이터베이스 - 데이터모델링
- 2024.08.05 :: [정보처리] 데이터베이스 - 데이터베이스시스템의개요
'PC 조립' 카테고리의 다른 글
[오라PC]210127 _최ㅇ수(5464)고객님 조립영상 (0) | 2024.08.07 |
---|---|
[오라PC]210127 _장ㅇ래(0620)고객님 조립영상 (0) | 2024.08.07 |
[오라PC]210121 _이ㅇ현(0557)고객님 조립영상 (0) | 2024.08.04 |
[오라PC]200814 _임ㅇ훈(3076)고객님 조립영상 (0) | 2024.08.04 |
[오라PC]21년09월 _최ㅇ호(5752)고객님 조립영상 (0) | 2024.08.04 |
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 |
1. 관계 데이터베이스 언어(SQL)의 이해
1-1. SQL의 특성과 용도
- SQL은 표준 관계 데이터 언어로써 데이터의 정의, 조작, 제어 기능을 제공
- SQL은 비절차적 언어로 특정 언어가 삽입된 형태를 참조로 함
- (중요) SQL의 3가지 기능은 데이터의 정의, 조작, 제어
- SQL은 MSSQL과 MSSQL로 비교적 널리 사용되며, MSSQL이 가장 많이 이용
1-2. SQL의 세부 기능과 활용
- SQL은 데이터의 정의, 조작, 제어를 위한 다양한 명령어를 제공
- SQL의 주요 명령어는 DDL(데이터 정의, 데이터 조작, 데이터 콘트롤)로 나뉨
- DDL은 테이블이나 스키마 생성 명령어로, 데이터의 생성과 조작에 주로 사용
- (중요) MSSQL은 데이터의 저장과 통합, 제어를 위한 명령어로 사용
1-3. SQL의 사용 사례와 시험 준비
- SQL은 데이터베이스의 설계, 운영, 통합에 광범위하게 활용됨
- SQL의 명령어는 데이터의 생성, 조작, 제어를 통해 데이터베이스의 효율성과 정확성을 높임
- SQL의 이해와 사용 능력은 데이터베이스의 성능과 효과적인 운영에 중요
- SQL 시험은 강의 내용을 바탕으로 만들어지며, 주요 데이터베이스 관련 개념을 주로 다룸
2. 데이터베이스의 데이터 정의 및 조작 작업
2-1. 데이터 정의 및 조작 작업의 개요
- 데이터 정의어(DDL)는 데이터베이스의 구조와 제어 규칙을 명세하는 언어임
- DDL의 주요 요소로는 스키마, 도메인, 테이블, 인덱스, 뷰, 인덱스 값 등이 있음
- 데이터의 생성, 변경, 제거 작업은 DDL의 명령문에 의해 이뤄짐
- (중요) 데이터의 생성은 새로운 테이블을 생성하거나, 기존 테이블의 열값과 행값을 변경하는 작업을 포함함
- 변경의 대상은 도메인과 테이블이며, 제거의 대상은 동일하게 스키마, 도메인, 테이블, 인덱스 뷰임
2-2. 데이터 조작 작업의 종류 및 적용
- 데이터 조작 작업에는 검색 작업인 '실렉트', 삽입 작업인 '인설트', 삭제 작업인 '디트', 갱신 작업인 '업데이트'가 있음
- '실렉트'는 특정 테이블에서 어떤 특정 열 값을 생성하거나 변경하는 작업을 의미함
- '인설트'는 특정 테이블에 새로운 행을 삽입하는 작업임
- '디트'는 테이블에서 특정 열 또는 행을 삭제하는 작업임
- (중요) '업데이트'는 데이터의 내용을 변경하는 갱신 작업임
2-3. 데이터베이스의 관리 및 로컬 로컬 환경
- DBA는 DB가 사용자에게 권한을 부여하고, 해당 권한을 제어하는 작업을 함
- 그랜트, 리보트, 롤백 명령문을 사용해 DBA의 권한 제어를 제어함
- 트랜젝션은 데이터베이스에서 활동하는 프로세스로, 현재 수행 중인 프로그램의 상태를 나타냄
- (중요) DBA의 로컬 환경과 이에 적용되는 다양한 명령문들을 이해하는 것이 중요함
3. 데이터베이스 생성
3-1. 데이터베이스 생성 개요
- 데이터베이스를 생성하는 데 필요한 절차를 설명함
- 사용자 정의를 통해 스키마를 생성하고, 권한을 지정하는 방법을 소개함
- 도메인을 정의하고, 도메인에 속성과 제약 조건을 설정하는 방법을 가르침
- (중요) 에스큐엘 랭귀지에서 지원하는 데이터 타입과 기본값, 제약 조건을 이해하는 것이 중요함
- 도메인의 제약 조건을 통해 도메인의 무결성을 보장하는 방법을 설명함
3-2. 데이터 타입과 제약 조건
- 데이터 타입을 정의하고, 각 타입에 해당하는 숫자, 문자열 등의 값을 설명함
- 기본값, 제약 조건, 무결성에 대해 이해하는 것이 필요함
- 제약 조건을 통해 도메인의 무결성을 보장하고, 이를 위배하는 경우 에러를 발생시킴
- 남성과 여성이라는 각각의 문자로 표현되는 성별 도메인의 제약 조건을 예시로 듬
- 도메인의 무결성에 위배되는 경우, 에러 메시지를 통해 그 원인을 제공함
3-3. 에스큐엘 지원 데이터 타입
- 에스큐엘에서 지원하는 데이터 타입과 기본값, 제약 조건을 가르침
- 정수 데이터를 아이엔티와 스몰 아이엔티로 표현하고, 실수 데이터를 아이엔티, 스몰 아이엔티로 정의함
- 고정 길이 문자를 비트, 가변 길이 문자를 밸리 유브 비트라고 명칭함
- 데이터 타입에 따라 처리되는 데이터의 범위를 이해하는 것이 중요함
4. 데이터베이스와 SQL 명령문 이해
4-1. 데이터의 타입과 테이블 생성
- 데이터의 타입에 따라 데이터의 유형을 지정함
- 문자, 숫자 등 데이터의 타입에 따라 정수, 실수 등으로 표시함
- 테이블을 생성하는 명령어 형식과 테이블의 속성명 데이터 타입으로 언급함
- 프라이머리 키, 유니크, 대체 키, 포링키 등 테이블 생성의 속성들에 대해 설명함
- (중요) 테이블의 속성명 데이터 타입으로 봐야할 부분은 크리에이터 테이블 테이블
4-2. 테이블의 속성과 제약사항
- 테이블의 속성명과 데이터 타입에 대해 언급함
- 프라이머리 키, 유니크, 대체 키, 포링키 등 테이블 생성 시 고려해야 할 제약사항에 대해 설명함
- 속성의 길이와 제약사항에 대해 이야기함
- (중요) 데이터의 긴 이름이나 빈값 허용 여부, 데이터 테이블에서의 생년월일 기준 등의 예시 제시함
4-3. SQL 명령문의 예시와 결과
- SQL 명령문을 이용하여 테이블을 생성하는 예시를 제공함
- 테이블의 속성과 제약사항에 대해 설명함
- 명령문의 각 속성에 대해 설명하고 그에 따른 테이블 생성 결과를 언급함
- 테이블의 속성명과 제약사항에 대한 이해의 중요성을 강조함
- (중요) 테이블 생성 시 고려해야 할 점들과 명령문의 예시를 통해 이해를 돕고 있음
5. DBA를 이용한 데이터베이스 생성 및 관리
5-1. DBA를 이용한 데이터베이스 생성
- DBA는 데이터베이스를 생성하는 프로그래밍 언어임
- 사용자에게 직접 DB를 생성하는 대신, DBA가 생성 명령을 내릴 수 있음
- (중요) DBA의 주요 명령어로는 테이블 생성, 테이블 속성 추가, 테이블 검색, 테이블 생성 등이 있음
- DBA를 이해하고 사용할 수 있어야 데이터베이스를 안정적으로 생성 및 관리할 수 있음
5-2. DBA의 다양한 활용과 뷰의 정의
- DBA를 이용해 테이블을 생성하면, 그 테이블을 '크리에이터 뷰'라고 부름
- 크리에이터 뷰는 외부 스키마를 활용하여 가상 테이블을 생성하는 것과 같음
- 사용자가 볼 수 있는 테이블을 뷰라고 하며, 이는 서버 스키마라고도 함
- 테이블에서 필요한 정보만 추출해서 뷰로 만들어 사용함
5-3. 인덱스와 테이블의 변환
- 인덱스는 검색을 빠르게 하기 위해 만들어진 데이터 구조로, 크리에이터 명령문을 통해 생성 가능함
- (중요) 인덱스 테이블의 형식은 '키', '유일', '중요' 등의 특성에 따라 다름
- 테이블의 변환 명령을 통해 필요한 속성을 추가하거나, 속성의 값을 변경하거나, 속성을 제거할 수 있음
- 엘트 테이블 명령은 새로운 속성을 추가하는 것을, 드랍 테이블 명령은 속성을 제거하는 것을 의미함
6. 데이터베이스 관계 명령어
6-1. 데이터베이스 명령어 종류
- DDL은 데이터를 정의하는 첫 번째 명령어임
- DDL은 크리에이트, 에이트, 드랍, 캐스케이트, 리스트릭의 네 가지 유형으로 나뉨
- 크리에이트는 데이터를 생성하는 것을 의미함
- 에이트는 데이터를 변경하는 것을 의미함
- 드랍은 데이터를 삭제하는 것을 의미함
- 캐스케이트는 활동 중이더라도 데이터를 삭제하는 것을 의미함
6-2. DDL 명령어 이해
- 엘트는 테이블에 추가, 변경, 삭제하는 것을 의미함
- (중요) 드랍은 테이블의 어떤 속성을 추가하거나 제거하는 것을 의미함
- 캐스케이트는 활동 중이더라도 데이터를 삭제하는 것을 의미함
- 리스트릭은 활동 중이면 데이터 삭제가 불가능함
- 캐스케이트와 리스트릭의 사용은 시험에 나올 수 있음
6-3. DDL 명령어 예제
- 학생 테이블을 지우라는 명령은 '드랍 테이블 학생 캐스케이드'로 표현할 수 있음
- 학생 테이블에 사용 중인 캐스케이드를 모두 삭제하면 테이블 전체가 삭제됨
- '어떻게'는 제거하고 싶은 속성을 지정하여 제거할 수 있음
- '활동 중이더라도 제거'는 '캐스케이트'를 사용하여 이뤄짐
- '역시 삭제가 불가능하다'는 '리스트릭'을 사용하여 이뤄짐
화자 1
00:10
자 전국에 계시는 우리 엠투엠 생방송 안방 가족 여러분 오늘 또 뜨거운 가슴으로 두사부일체의 정신으로 감동의 수업을 함께 하겠습니다. 아 좋습니다. 예 자 이제 아이고 오늘 목요일입니까? 좋아요. 이제 오늘 내일이면 또 즐거운 공휴일이네 그죠 좋습니다. 현재 우리가 데이터베이스의 세계에서 환상적으로 우리가 정리하고 있지 그래서 지난 시간에 우리가 이제 데이터 모델링에 대해서 배웠죠 그죠 데이터 모델링 특히 가장 널리 이용되는 DB가 뭐다 RDB 관계 데이터 모델까지 우리가 배웠잖아요. 그죠 그래서 출제가 많이 되죠.
화자 1
00:54
그쪽에서 데이타 모델링 그리고 음 관계 데이터 베이스 모델링인데 정리하자면 어떤 거고, 현실 세계에 이 무질서한 데이터를 데이터들 개체들 객체들 이 객체들은 전부 다 뭐 속성을 가지고 있고 또는 이 개체와 개체들은 많은 관계로 이 세상이 이루어지잖아. 그래서 이놈의 일대 컴퓨터에 이제 이놈을 이 관계를 다 규명해서 컴퓨터의 데이타베이스화 하려면 뭐다 제일 먼저 우리가 정보 모델링 즉 개념적으로 설계를 해야 된다. 이 개념적 설계에 이용되는 게 뭐다 이알 다이아그램 알겠나 엔티티 릴레이션 다이어그램 생각나나 그리고 이 개념적 설계를 통해서 즉 이알 다이아그램을 보고 뭘 한다. 우리가 이제 논리적 설계를 한다.
화자 1
01:43
즉 데이터 모델링을 하제 그래서 논리적 데이터 설계를 해야 되는데 논리적 설계 방법은 이제 우리가 계층 구조인 계층 DB로 계층 데이터 모델로 할 수도 있고 그다음에 망으로도 할 수가 있고 그다음에 행렬 즉 테이블로 할 수 있잖아. 근데 가장 늘 이용되는 게 뭐다 오케이 RDB 관계 데이터 모델이 가장 좋더라 그래서 어 관계 데이터 모델도 우리가 설계를 하고 어 이 데이타 설계가 끝나고 난 뒤에 이놈이 뭐다 바로 물리적인 저장소의 1과 0으로 물리적 설계로써 들어가는 거죠. 맞나 그래서 우리가 ER DIARGRAG을 보고 테이블을 만들고 이 테이블을 케 이 테이블이 뭐다 이제 컴퓨터에 포팅이 되는 그래서 우리가 크게 어떤 거 분석을 하고 개념적 설계 논리적 설계 물리적 설계 단계를 거쳐서 뭐가 된다. 구현이 되고 이 데이터베이스는 실제 저장이 되고 통합이 되어서 운영되고 하죠. 데이터들이 이제 갱신이 되고 이렇게 합니다.
화자 1
02:41
오케이 그래서 지난 시간에 데이터 모델링의 개념 그리고 특히 관계 데이타 모델에서도 배아체 그래서 우리가 테이블을 두고 어트리뷰처 레코드 저 뭡니까? 튜플 그죠 도메인 생각나나 그 다음에 차수 카디널리티 릴레이션스 키마 또 릴레이션 인스턴스 생각납니까 그리고 각종 중요한 것들 키에 대해서도 배웠죠 그죠 정리한다. 케이 씨케이 후보키 그 다음에 기본 키 피K4링키 에프케이 그리고 뭐야? 슈퍼킥 에스케이 아직 몸이 좀 안 좋은데 껄걱거리네 좋습니다. 그래서 그런 정의를 다 했고 특히 관계 연산 관계 대수연산과 관계해석연산 정의를 잘 해놓기 바랍니다. 문제 꿀이다. 그래서 됐습니다.
화자 1
03:33
자 오늘은 실제 우리가 이제 가장 관계 RDBS에서 가장 널리 이용되는 실제 언어 데이터베이스의 언어를 배워보자 그죠 관계 데이타 언어로 들어갑니다. 관계 데이터베이스 언어 DBMS를 배워보자 이 말입니다. 오케이 자 뭔 말인지 알겠나 앞부분에서 설계를 해갖고 테이블을 만들었잖아. 이 테이블을 만든 걸 가지고 실제 데이터베이스 언어예요. 보통 우리가 이 관계 데이터베이스 언어를 배우는데도 실제 실무에서는 몇 달 걸리지 이걸 오늘 2시간 만에 자살됩니다. 한번 봐라 여러분 비록 2시간이지만 1학기예요. 대학에서는 알겠나 해서 완벽 속성으로 정리한다. 그죠 그래서 시험은 너무나 단순하게 나오지만 이왕 에스큐엘이란 언어 하나를 배웁니다. 오늘 2시간에 걸쳐서 헐렐루야 끝내 주제 어떻게 강의하는지 기대해도 좋습니다.
화자 1
04:22
자 에스큐엘 스트럭처 필히 랭겨지죠 그죠 에스큐엘 스트럭처더 목이 퀴리 랭귀지 구조적 지리 언어 악해가지고 RDBS에서 사용하는 표준언어입니다. 표준언어 그리고 앞에서 배운 관계 대수와 관계 해석에 기초한 데이터베이스를 실제 테이블을 정의하고 조작하고 제어하는 언어가 SQL이죠. 그죠 이 SQL 중에서 가장 늘 이용되는 게 마이크로소프트에서 개발한 MSSQL이 오늘날 가장 늘 이용됩니다. 우리 회사의 데이터베이스도 SQL 특히 SSQL로 만들었고 MSSQL 즉 이 퀴리 랭귀지로 질의를 하고 또 데이터를 운영하고 통합하고 저장하고 처리를 합니다. 알겠나 또 인제 SQL 외에도 많이 이용되는 게 오라클 하는 곳 있습니다. 오라클 유명한 어 RDB 언어예요.
화자 1
05:18
오라클 그러니까 보통 에스큐엘은 윈도우 환경에서 많이 탑재가 되고요. 오라클은 이제 유닉스 또는 뉴스에서 많이 이용을 합니다. 그래서 보통 아직까지는 인제 에스큐엘 막 이거 외에도 뭐 하나 또 피씨 단위에서는요 마이 엑세스 가능하죠. MS 엑세스 요런 어 관계 DB 언어도 있고 또 마이에스큐엘 하는 것도 있습니다. 마이 에스큐엘 좀 소규모 컴퓨터에서 하는 거죠. 그러니까 표준 관계 데이터 언어가 뭐다 MSSQL과 오라클인데 우리는 뭐 배운다 MSSQL 즉 스트라처 퀴리 랭귀지의 원리를 배우는 거다 이해되나 그럼 여러분들 데이타베이스를 배우면 바로 이거 배우는 거거든요. 이 언어를 데이타베이스 언어를 배우면 뭐다 DBA가 됩니다. 그래서 이미 정보처리 내 강의를 여러분 들으면은 DBA로 탄생된다. 이런 말이야. 알겠어 좋습니다. 자 이 어으 에스큐엘의 특성은 뭐 그렇죠.
화자 1
06:16
관계 대수와 관계 해석 즉 관계 연산을 기초로 한 고급 데이터 언어고요. 이해하기가 쉽습니다. 오늘 배워보면 공부할 것도 없다. 너무나 쉬운 언어로 되어 있고요. 특히 대화 방법이다. 컴퓨터한테 이렇게 하라 저렇게 하라 대화식 지리언어로 사용하고요. 그 다음에 데이타의 정의를 하고 즉 데이타베이스를 정의하고 또 디비를 조장하고 또 제어하는 데이타베이스 언어의 모든 기능을 다 가지고 있죠. 데이타 데이터베이스 언어의 기능이 뭐고 정의하는 것 데이타 데이터를 정의하고 조작하고 제거하는 이 3가지 기능이 데이터베이스 언어의 기능이지 여는 이 3가지 기능을 모두 가지고 있는 게 SQL입니다. 좋죠. 그리고 코볼이나 씨 파스칼 다른 컴퓨터 언어와 언어의 삽입이 돼서 사용합니다. 그렇죠. 이렇게 다른 특정 언어에 삽입되는 DB를 참고로 인베디드 임베디더 에스큐엘이라 합니다. 그죠 임베디더 이런 특정 언어와 삽입되어서 처리되기도 합니다. 참고로 하나 있어요. 임베디드 내장 에스큐엘이다.
화자 1
07:15
이렇게 하고 역시 비 절차적 언어입니다. 그죠 남 프리시저 비 절차적 보통 프로그램 언어는 절차적 언어거든요. 에이는 으하고 비하고 요렇게 이거 없이 바로 질의에 의해서 퀴리 질의에 의해서 디비하는 데이터를 조작할 수 있는 언어다 이 말입니다. 그죠 비절차적 언어다 절차가 중요하지 않다 한방에 데이터를 어색해서 한다. 이 말이죠. 그래서 요런 특징을 가지고 있는 게 지금 배우고자 하는 뭐 에스큐엘이다. 이름 말씀이다. 알겠어요. 자 넘어가 봅니다. 간단간단하게 하면 된다. 실제로 여러분들 정무처리 기사 사안의 기사 이것만 알면 돼요. 이게 이것만 알면 다 끝나는데 하나씩 내가 다 해줄게 출제 이론에 출제 범위를 이것밖에 안돼요. 그건 다 끝났어 끝났지만 하나씩 보는 건데 일단은 어 음 정의와 조작의 분류 이거보다는 SQLSQL 스트라이식 퀴리 랭귀지에 분류 이렇게 하세요.
화자 1
08:13
예 요거 요거 이 수라치냉지는 크게 뭐 데이터 정의어 DDL과 데이터 조작업 데이타 메뉴 프레션 랭귀지 그다음에 데이타 컨트롤 랭귀지 크게 3개의 언어 집단으로 SQL 랭귀지는 구성이 됩니다. 즉 데이타베이스의 표준 언어죠 데이타베이스 언어의 3가지 기능을 다 포함하고 있는 스트락슈킬이 된 거지 에스큐엘이다. 이 말이야. 자 DDL은요, DDL에 포함되는 명령어 명령문은 3개밖에 없어요. 생성 크리에이터 이건 말하면 돼 새로운 데이터베이스 즉 테이블이나 스키마나 도메인이나 이런 새로운 걸 생성해주는 명령어 크리에이트 말 그대로 생성하라 창조하라 이 말이죠. 지리자 지리 질문식 대화식입니다. 그리고 변경은 엘트물입니다. 변경하라 엘트 변경이죠. 변경하라 기존에 있던 테이블 뭐 어떤 거 열값을 변경한다든지 행값의 변경하라 이런 뜻이고 제거는 뭡니까?
화자 1
09:10
어떤 테이블 특정 도메인 이놈을 제거 드랍 두랍이 떨어뜨려라가 아니고 제거하라 이런 뜻이 삭제 명령어요. 그죠 그래서 생성은 다른 말로 정의죠 정의 변경 삭제 이 3가지 명령문이 데이터 에스큐엘에 뭐 데이터 정의어에 해당한다. 실제로 이것만 알면 돼요. 이것만 어 근데 생성의 대상 정의의 대상은 뭐냐 스키마 도메인 테이블 인덱스 뷰 이 5가지다잉 테이블만 생성하는 게 아니고 스키마도 생성하고요. 도메인도 생성하고 도메인 알제 열값들의 집합 그리고 인덱스 어떤 검색을 위한 인덱스 값도 생성해내고 특히 뷰 가상 테이블 사용자 테이블도 생성하더라 이 말이야. 뒤에 보자 변경의 대상은 뭡니까? 도메인과 테이블이다. 그죠 도메인을 변경할 수 있고 테이블을 변경할 수가 있습니다.
화자 1
10:08
알겠나 그리 제거의 대상은 역시 똑같애요. 스키마 도메인 테이블 인덱스 뷰 그죠 그래서 변경의 대상만 요거 나머지는 다 같다 이 말이에요. 그죠 요것만 하면 돼 시험은 이것밖에 안 나와요. 에 그리고 데이터 조작업 데이터 매니플레이션 앵귀지는 뭐예요? 가장 중요한 검색 데이터베이스에 들어있는 특정 데이터를 질의 검색하는 명 용어가 뭐다 실렉트물 실렉터 텔렉트 또는 실렉트 멋대로 씨부리면 된다. 실렉터 프람 반드시 실렉트의 정도 그래서 프라임이다. 실렉트 프라임 외화 조건이죠. 외화조건 그러니까 실렉트문이 이제 데이터를 데이터베이스인 데이터를 조작해주는 것 중에서도 특정 데이터를 찾는 검색 명령문입니다. 가장 많이 쓰는 명령문이다. 실렉터 특정 테이블에서 어떤 특정 투풀을 생성해 내는 거죠. 실렉트 검색 실렉트 프라임이다.
화자 1
11:01
그리고 테이블에 새로운 행을 집어넣는 거 뭐 삽입 명령문은 뭐 인설트 인투입니다. 속으로 오니까 인투죠 실렉트 프라임은 그 테이블에서 붙으니까 프라임이고 인설트 왜 인투냐 속으로 테이블 속으로 테이블 속으로 인투입니다. 여기 시험에 나오지 삭제는요 테이블 속에 들어있는 특정 튜프를 삭제하는 거 딜리트 프라임입니다. 테이블로부터 무엇무엇을 삭제하라 딜리트 프라임 이제 갱신은 업데이트입니다. 갱신은 업데이터 특정 내용을 변경하는 거 테이블 속에 내용을 변경하는 거 그래서 데이터 조작 후에 이용되는 거는 뭐 검색 셀렉트문 삽입명령문 인설트 인투 셀렉터 프라암 갱신 업데이트 됐습니다. 요거 자 우리는 SK를 다 배우고 있다. 환상적이죠. 2시간 만에 에스큐엘을 다 배우고 있습니다.
화자 1
11:59
이런 놀라운 하나도 빠짐없이 그죠 그래서 에스큐엘을 에 예 딴 데서 이래 배워본 사람 내 강의 듣고 깜짝 놀란다 우째 저걸 2시간 만에 조지노 카면서 그죠 네 목이 안 좋아요. 우리 또 꼬꼬 피디님이 우리 보조 피디 그 도가 통하면 이게 원리가 터득대면은요, 남들 20시간 만에 가르칠 거 2시간만에 작살내는 거 어 뜨거운 가슴 좋아요. 그리고 이제 데이터베이스에 들어있는 데이터를 제어하는 데이터 컨트롤 랭귀지는 뭐겠냐 어 특 인제 DBA가 주로 이건 DBA가 사용하죠.
화자 1
12:37
DBA가 권한 부여 사용자한테 이 테이블을 사용해도 좋다는 권한 부여해주는 거 그랜트물 그랜트 권한을 부여하고 권한을 취소시키는 건 리복 리보크 취소문 그다음에 이제 나중에 트랜젝션 데이터베이스에서 활동하는 활동은 단위죠 트랜젝션 저 OS에서 프로세스하고 똑같은 개념의 프로세스 현재 수행 중인 현재 수행 중인 프로그램이 프로세스고 현재 데이터베이스에서 활동 중이고 액션 중이고 수행 중인 데이터베이스의 원자값을 트랜지오션이라 합니다. 하나의 속성과 트랜조션을 제어하는데 쓰이는 게 커미터 완료 명령문 롤백 예 비와 요 명령문 종요 명령문 그죠 나중에 합니다. 그래서 요런 것들이 자 시험에는 아 요 종류가 나오지 저 위에서 그죠 그랜트 문 리보 요렇게 하나의 상이고 커미터와 놀백이 하나의 상이에요. 그죠 자 요거 눈으로 한번 살짝 보죠.
화자 1
13:32
실은 정보처리 기사 산업기사의 어 정도는 이 정도만 해요. 그렇지만 이제 지금부터 하나씩 하나씩 실제 예절을 보면서 이거 배우면 뭐야? SQ를 다 배우는 거야. 자 보자 이 말입니다. 응, 예 자 자 전반적인 거 이야기 다 됐고요. 어 예 강의하기 참 좋죠. 여기 아주 뭐 교재가 잘 돼 있고 어 아주 좋습니다. 자 에스큐엘 정의어 DDL 데이터 데피니션 랭귀지 중에서 그죠 이 DDL은 다시 한번 정리해볼까 스키마 도메인 테이블 뷰 인덱스를 정의하거나 변경하거나 제거할 때 사용하는 언어이다. DDL은 그죠 DDL로 정의된 내용은 메타 데이터 땡그래미 메타 데이터가 되며 이게 뭐냐 메타 데이터는 뭐냐면은 메타 데이터 있네 정보 데이터입니다.
화자 1
14:28
메타 데이터는 데이타베이스 안에 들어있는 한 데이터에 대한 정보를 가지고 있는 데이터가 뭐다 메타데이터 정보 데이터라니까 이런 정보 데이터를 수록하는 게 뭐냐면 시스템 카달로그입니다. 이 정보 데이터는 뭡니까? 시스템 카달로그에 시스템 카달로그는 다른 말로 약간 차이 납니다마는 요건 데이타 디셔널이라고 나와요. 데이터 사전 데이터 디셔너리라고도 하고 또는 약간 의미는 다릅니다마는 데이타 디렉토리라 합니다. 디렉토리 같은 말이에요. 의미는 약간 달라도 시스템 카달로우 데이터 디렉토리라고 하지 요 정보 데이터를 기록하는 저장하는 게 시스템 카달로그지 즉 여러분들 뭐야? 우리가 자동차 살 때 카달로그 보면은 그 자동 내가 사고자 하는 자동차에 대한 정보를 다 알 수가 있죠. 자동차 카달로그 맞죠. 그러면 데이터베이스에 들어있는 모든 데이터의 정보를 가지고 있는 테이블이 뭐야?
화자 1
15:26
시스템 카드 그러니까 시스템 카달로그를 조사하면은 현재 데이터베이스에 들어있는 모든 데이터의 정보를 알 수가 있는 거 아닙니까 그렇죠. 요런 메타 데이터를 기록하는 게 뭐다 시스템 카달로그 다른 말로 데이터 디렉토리 창구라는 것입니다. 가끔씩 출제가 됩니다. 대개나 어쨌든지 이런 DDL의 형태는 타입은 3가지 크리에이터 생성시키는 거죠. 생성 생성은 다른 말로 정의죠 정의 테이블을 생성한다든지 5가지를 생성하죠. 변경 변경이죠. 변경 드랍문 삭제죠 그죠 예 정의 변경 그다음에 제거 삭제입니다. 그죠 계속 반복되는 이야기지 몇 분 반복됩니다. 시스템 카들로그 메타 데이터 좋습니다. 자 하나씩 함 볼까나 아 너무너무 쉬운 이야기야 자 크리에이터 스키마 스키마 스키마를 정의하는 명령문 스키마는 뭡니까? 우리 사용자가 볼 수 있는 저 뭐야?
화자 1
16:25
데이터베이스에 어 뭡니까? 구조와 제어 규칙을 명세완이라는 게 스키마라고 했죠. 그죠 사용자가 볼 수 있는 테이블이라 생각하면 돼요. 이런 스키마 스키마는 하나의 사용자 또 응용에 속하는 테이블과 기타 구성 요소도 그룹 주기 위한 것이 중요한 이야기는 아니고요. 스키마의 석배를 위해서 스키마 명과 해당 스키마 소유권자 이건 뭐 중요한 건 아닙니다. 표기 형식만 잠깐 보면 돼요. 크리에이터 스키마를 어떻게 하느냐 크리에이터 생성하라 정의하라 스키마 스키마 스키마 이름이죠. 스키마 이름은 유저 디파인 여러분들이 정해 놓으면 됩니다. 스키마 이름 예를 들면 요기 있네 대학교라는 스키마를 만들어라 어 스키마 그리고 권한은 어 어스리제이션 권한은 누구다 이 말 그 스키마 테이블에 대한 권한은 누구다 이 말이죠. 그죠 스키마랑 테이블의 이름이라고 보면 되겠죠. 자 예를 보자 이 말이야. 아이디가 홍길동인 사용자의 스키마 스키마 대학교라는 스키마를 정의하는 에스큐엘 문은 어떻냐 이거예요.
화자 1
17:20
크리에이터 생성하라 창조하라 뭐 스키마를 창조하라 어떤 스키마 대학교라는 대학교라는 이름의 스키마에 대한 권한은 누가 있다. 홍길동 아이디가 홍길동으로 들어오는 사람이 이 스키마의 권한을 가지고 있다는 거예요. 알겠나 그래서 요 잠깐만 뭐 시험은 여기까진 안 나옵니다. 근데 간혹 스키마의 표기 형식 쉽죠 크리에이터 그냥 스키마 하면 돼 그리고 스키마 이름 나오고요. 스키마 이름은 뭐다 유저 디파인드죠 여러분들이 사용자 즉 스큐엘 랭귀지를 가지고 스키마를 만들어내는 사람이 지정하는 거죠. 그리고 권한 사용자 아이디 홍길동이 이 권한을 가지고 있다. 이런 이야기죠 할 거 없죠 좋습니다. 크리에이터 스키마 좋고요. 그다음에 어 크리에이터 도메인 도메인을 정의하는 영역 도메인이 뭡니까?
화자 1
18:10
여러분 도메인 하나의 테이블에서 하나의 속성 학번이면 학번 하나의 속성이 취할 수 있는 동일한 타입의 원자값들의 집합이 도메인 이제 그죠 학번 학번 속성에 학번이 뭐 001부터 1002 그러면 고 도메인은 학본 도메인은 데이터는요 100개죠 100개 요 도메인 에 하나의 속성이 가지고 있어 아주 어 속성의 값들이 집합이죠. 하나의 속성 원자값들의 집합 원자값은 속성이니까. 어트리뷰터죠 어트리뷰터 ATTRI 빅뮤티 어터리뷰터 너무나 잘하는 이야기 자 정의된 도메인은 다른 테이블에서도 그 도메인 맞죠. 도메인 중요한 거 아니죠. 자 표기 양식을 한번 보자 역시 만들어내라 뭐 도메인을 만들어라 그리고 도메인명은 여러분이 쓰고 데이터 타입 타입이요. 데이터 타입 있죠. 그죠 이게 정수냐 실수냐 문자냐 뭐 이런 거 뒤에 나옵니다. 그리고 디포트 기본값 여기는 이건 생략 요렇게 쓰는 건 생략 가능한 거예요. 원래는 크리에이터 도메인 도메인 명만 있으면 됩니다.
화자 1
19:07
요거 요런 것도 생략할 디포트 기본값 그다음엔 컨센트레이트 제약 조건 도메인의 제약 조건을 이게 뭐 제약 조건이 있는 거죠. 체크 범위 값인데 체크 범위값 범위 값이에요. 그래서 요런 양식인데 여러분 크리에이터 도메인 도메인명 데이터 타입 요 정도만 알면 되는 거고, 체크라는 구가 들어간다는 거 체크 이 범인값이 뭐 와이냐 노냐 남자냐 여자냐 요건지 한번 보죠. 그래서 데이터 타입은요, 에스큐엘에서 지원하는 데이터 타입 있죠. 데이터 타입 이 데이타가 숫자냐 문자냐 뭐 이런 거예요. 뒤에 나옵니다. 요거는 뒤에서 내가 보고 데이터 타입은 고거 들어가고요. 기본값은 데이터를 입력하지 않았을 때 자동으로 입력되는 값 디포트값 기본적으로 지정되는 값이죠. 너무나 쉬운 이야기고 그다음에 예를 들어보자 성별을 남 또는 여와 같은 정해진 1개의 문자로 표현되는 도메인 섹스를 정의하는 에스큐엘 문을 만들어라 이 말이죠. 그죠 요거 보고 그러면 크리에이터 도메인인데 도메인 매우 뭐다 섹스다 이 말이에요.
화자 1
20:06
섹스인데 데이타 타입은 뭐다 문자죠 캐릭터 문자 1자죠 이게 문자 1자 섹스라는 도메인에 문자 1자가 들어가는데 그 디포트는 뭐예요? 집어넣지 않으면 내가 특정으로 지정하지 않으면 남이라는 글자 남자 남이라는 글자가 지정돼 있고 여자일 때는 여를 써라 안 쓸 때는 남이 지정된다는 거지 그리고 제약 조건은 뭐냐 제약 조건은 뭡니까? 어 제약 조건은 이제 체크를 하는데 뭐 요 안에는 이 섹스라는 어트리뷰티에 들어가는 제약 조건은 남아이면 여다 이 말이야. 남아이면 여다 이 말이지 그지 남 아니면 여 남자라는 글자 아니면 여자 딴 거 뭐 남자 여자 외에 아들 이래 나오면 이거 뭐야? 이거는 뭐요 도메인 무결성에 위배되는 거예요. 에러다 이 말이죠. 자 그리고 남녀 외 딴 데이터가 들어가는 건 이게 뭐다 이런 이 제약 조건을 이 컨센트레이트 제약 조건을 위배하는 게 뭐야?
화자 1
21:02
무결성 중에서도 도메인 영역 무결성 도메인 무결성에 위배된다는 겁니다. 알겠나 그래서 뭐 그렇게 중요한 건 아니고요. 크리에이터 도메인 도메인 도메인을 생성하는데 섹스라는 이름으로 생성하는데 그 섹스라는 항목이 들어가는 도메인의 체크값은 뭐다 나날머니다. 되겠어요. 디포트는 남이다. 이 말입니다. 됐지 예 어려운 거 아닙니다. 우리가 어제 무게성에 대해서 배웠죠 데이터베이스에서 정확한 데이터가 들어가야 되고 오류 없는 데이터 그 성질이 뭐다 무게성 이제 데이타베이스의 잘못된 데이타 무게성에 위배돼 버리면 그 데이터는 가치가 없는 거죠. 가짜 정보는 모르는 것보다 못 해요. 잘못된 거는 이 무계층 중에 우리가 뭐 배웠노 참조무계층 생활하라 프라이머리 퀴즈 나 프라이머리 키즈 낳는 그다음에 그 안에 결체 무결성 프라이머리 키즈는 안 누리고 참조무결성 생각나죠. 그러고 우리 영역 무결성이라 했죠.
화자 1
21:59
도메인 무결성 바로 이야기죠 아까 됐습니다. 도메인 무결성 어 그 범위 안에 없는 값들이 들어가면은 도메인 무결성에 유배되기 때문에 에러다 이 말입니다. 자 참고로 에스큐엘 랭귀지에서 지원하는 기본 데이터 타입이 어떠냐 데이터 형태가 어떻냐 자 정수 정수 데이터는 이제 아이엔피 인테저 인테저고 그죠 인테즈는 4바이트 4바이트니까 32비트 정수를 의미하고 스몰 인테주어라는 건 뭐다 2바이트 정수 값을 의미합니다. 정수 데이터는 뭐야? 아이엔티나 스몰 아이엔티로 표현합니다. 그래서 아이엔티는 32비트 정수 값이고 스몰 아이엔티는 뭐다 2바이트 그냥 눈으로 살짝 보면 되고 플루트 실수 값 뭐로 표현한다. 데이터 타입은 플루트 플루트로 표현하고 또는 리을이라는 것도 쓰고 또는 더블 프리전이라도 씁니다. 플루트 플루트 뭐 카면 이거야. 정수 데이터다 이 말이죠. 또는 니의 뭐 카면은 정수 되어 있죠.
화자 1
22:55
실수 데이터라는 거고, 더블 프리즌은 뭐요 배정도 64비터를 의미하는 거예요. 64비터 64비터의 실수값을 의미합니다. 실수값이고 프로트와 니얼은 32비트의 실수값을 의미합니다. 그죠 참고로 나눠 놓으시고 어 실수 데이터 아니죠. 우리 앞 시간에 배웠잖아. 이거 어떻게 표현해야 돼요. 부오비터 그다음에 지수부 가속으로 요렇게 64비터 그다음에 요거는 반 정도 반 정도 고용배 정도죠 반 정도 예 요거는 더블 프리즈는 배 정도 생각나죠. 옛날에 요거는 뭐야? 단 정도 단 정도는 32비터 방식이다. 이런 거고, 형식화된 숫자 하는 게 뭐야? 어 뭐 이건 중요한 건 아닌데 이제 아이 점 뭐야? 아이 전체 자리수 점 이게 예 제이는 소수부자릿수입니다. 그죠 형식화된 숫자 해가지고 이게 대시머리라 그죠 중요한 건 아니고요. 고정 길이 문자 캐가지고 문자는요 캐릭터랍니다.
화자 1
23:52
캐릭터 캐릭터 하면 문자 5자리 이 말이죠. 캐릭터 SHAR로 표현하고요. 가변 길이는 뭡니까? 어 밸리 유브 캐가 언 밸리 오브 캐릭터 캐 가지고 예 가변 길이 문자도 고정 길이냐 가변 길이냐 이렇게 나타내는 거고요. 어 비트는 뭐야? 고정 길이 비트 열은 VOLIUV 비트 앤 날짜는 데이터 그다음 시간은 타일 데이터라는 거 데이터 뭐 15 이러면은 15일 이래 의미하죠. 타임 뭐 타임 식 하면 10시 이렇게 이야기하는 것이 되겠나 그래서 요런 데이터 타입을 SQL에서는 지원하더라 그죠 그래서 다시 한번 보자 정수 열이 가면 정수 데이터를 아이엔티와 스몰 아이엔티로 표현하고 실수는 요것만 알면 됩니다. 그죠 형식화된 이거는 별 필요 없고요. 문자는 요거 가변 길에는 요거 비트 요거 됐죠 됐습니다. 요 정도만 데이터 타입을 아시면 됩니다.
화자 1
24:47
또 이게 다다 에스큐엘에서 지원하는 데이터의 형태 요런 거로 데이터를 데이타의 타입을 지정하더라 이 말입니다. 문자냐 숫자냐 숫자 중에서 정수냐 실수냐 이런 뜻이지 됐습니다. 아 좋아요. 자 그다음에 뭐 크리에이터 테이블 됐죠 테이블을 정의하는 거 생성해주는 명령어 형식은 뭐다 크리에이터 테이블 테이블명이 나오고 이제 요거야. 속성 그 테이블의 속성명 데이터 타입으로 쭉 나오는데 프라이머리 키는 뭐고 유니크 대체 키는 뭐고 포링키는 뭐고 그리고 뭐 체크는 조건식이 있고 이걸 좀 생략 가능하지 여러분 아는 거는 크리에이터 테이블 테이블 요것만 체크하면 됩니다. 알겠어요. 그래서 나머지는 쭉 읽어보면 되고요. 자 프라이머리 키는 알죠 그죠 기본키를 뭘 하는 거냐 기본 키를 뭐라는 거고, 유니큐는 기본 키를 제외한 후보 키가 유니크죠 대체 키는 뭐라 하는 거고, 포링키는 어떤 거고, 그다음에 체크 속성값에 대한 제약사항을 지정합니다. 그렇죠.
화자 1
25:45
그래서 이거 다 외울 필요 없다. 필요 없고 크리에이터 테이블 테이블명 이것만 알면 돼요. 그리고 요런 옵션들이 있다는 거 옵션들이 옵션들이 있는데, 눈으로 살짝 눈으로 살짝 쿵 보면 안개할 필요 없다. 이거 어허 이런 게 있구나 이러면 된다. 그래서 알 필요 없습니다. 우리가 전문적인 실무를 하는 게 아니니까 기사 이론에서는 실제로 시험에 내가 요것만 가르켜주면 돼요. 하지만 이왕이면은 형식의 모든 걸 잡아내는 거죠. 그래서 나머지는 옵션이다. 이거는 생략 가능한 거거든요. 옵션들 옵션이라면 옵션 눈으로 봐놔라 이 말입니다. 암기도 하지 마라 1번만 봐 놓으면 됩니다. 됐습니다. 넘어갑니다. 예를 한번 보자 예를 자 어떤 거 이름 학번 전공 성별 생년월일로 구성된 학생 테이블을 만들어라 정의하는 에스큐어를 작성해 봐라 이런 거예요. 학생 테이블을 단 이름은 느리 올 수 없다. 그럼 이름이 느리 올 수 없다. 카는 이름은 뭐다 피케이다. 알려주는 거죠.
화자 1
26:40
올 수 없고 학번은 아 이름은 느려올 수 없고 늘 이름은 느리면 할 수 없고 학번을 기본끼리 했네 그죠 학번을 기본끼리 해라 이 말이네 피케이고 이름은 늘 너잇값을 가지면 안 된다네요. 이름 반드시 들어가는 조건이 있고 전공은 학과 테이블에 학과 코드를 참조하는 외래키로 사용되면 아 전공은 외래키로 사용되는구나. 생년월일은 뭐 1980년 1월 이후에 데이터마저 뭐 1980년 이후 이전은 뭐 사람도 아이가 그냥 80년 이후만 저장해라 이 말이네 그럼 나는 사람도 아이가 아 나는 80년생 이제 나이 29이다. 원래 좋습니다. 자 그러면 이 명령문을 어떻게 하나 이 말야 이렇게 크리에이터 테이블 학생 테이블을 만드는데 뭐 학생 테이블을 만들어라 이 말 아닙니까 이거 다예요. 그런데 뭐 이름은 이름이라는 속성은 자 속성은 뭐야?
화자 1
27:30
이름 학생 테이블 밑에 이름 학번 전공 성별 생년월일 어허 이 5가지 속성이 있는데, 자 그럼 이 명령을 위해서 컴퓨터를 어떻게 만들어보자 한번 만들어 볼게 테이블이 만들어지네 그 테이블 이름을 뭘 알아 크리에이터 테이블 만들어라 어떤 학생이란 이름으로 이름의 테이블을 만들어라 릴레이션을 만들어라 이 말은 아니고 근데 거기에 속성은 뭐 있단 말이고 속성은 5개 속성이네요. 뭐 이름이라는 속성 그죠 그다음에 학번이라는 속성 여러분들이 SQL 언어로 요렇게 명령을 내리면 컴퓨터를 요런 테이블을 만들어주는 거예요. 뭐 SQL 명령문에 의해서 오케이 어 그리고 어 뭐야? 전공이라는 속성 전공이라는 속성 그리고 성별이라는 속성 성별이라는 속성 그다음에 마지막 뭐고 생년월일 그렇죠. 생년월일 길기도 길다 생년월일이라는 속성 이렇게 만들어주는 거예요.
화자 1
28:27
되나 근데 이름을 만들 때 뭐 이름은 15자리 어 가변 가변 길이 문자네 그죠 15자리로 만들어라 15자리로 최대 값 만들고 아 15자리 안에서 이름을 표현해라 이 말이에요. 이름 데이터는 변한다. 이 말이에요. 이름 승 자도 있을 거고, 노 자도 있고 15자리 문자급이고 이름 그러면 난 늘 반드시 뭔가 채워져 있어 빈값은 들어가면 안 된다는 거죠. 그러면 여기에 인제 뭐 JJH 이름이 더 하지 15자리 정해놓고, 그다음에 홍길동이도 들어갈 끼고 막 들어갈 거 아니야. 이 테이블에 어잉 그다음에 이름은 선우원숙 누구가 어디서 많이 되는데 이름이 긴 이름도 있을 끼고 동그래미 이런 이름도 있디 우리 여직원 이름 중에 동그래미가 있습니다. 동그래미 진짜 다 이름이 동그래미예요. 뭐 이래 이름이 있고 또 외자도 있어있죠. 전철 요즘은 요즘 사건 많이 치는 이철 이철이가 뭐 이래 있겠죠. 여기 이제 데이터들 쭉 들어가겠죠. 이름 만들어지는 거죠.
화자 1
29:25
그다음에 학번 전공 성별 만들어지는데 학번은 15자리고 전공은 또 20자리고 20자리 성별은 섹스 어 성별은 섹스니까 이제 체크값이 남자아이면 여겠네 생년월일은 데이터 데이트로 넣어라 이 말입니다. 그리고 프라이머리 퀴즈를 뭘 알아 학번 어 학번을 PK로 해라 이 말이야. PK 그리고 포린키는 뭡니까? 전공 어 전공은 뭡니까? 포링키가 된다. 이 말이에요. 근데 이 포링키는 뭐야? 레퍼런스 학과 코드 뭔가 이거 외에 또 무슨 코드가 있겠노 학과의 학과라는 테이블에 뭔지는 모르겠는데 이게 학과 코드가 있어요. 학과 코드 학과 코드를 전공으로 참조한다는 거요 어 그럼 이 테이블에서 피케이는 학번이고 전공은 뭐다 포링키요 그러면 이 테이블에서 이 학과 테이블 참조할 때 무슨 키로 오케이 전공이라는 포링키로 이 테이블을 참조하겠다는 겁니다. 그죠 근데 이 전공이라는 이 포링키가 학과 테이블에 학과의 학과 코드라는 이름으로 매핑 하겠다. 하는 겁니다. 이해되나 요런 거예요.
화자 1
30:25
이런 테이블과 테이블을 연결하는 게 데이터베이스 아니야. 오케이 좋습니다. 그래퍼런스 아까 코드 그리고 체크는 뭡니까? 생년월일은 어떻게 기준이 1980년 1월 2일 이 1월 1일보다 같거나 크다 이게 같거나 크다 그죠 어 근까 1월 1일부터 집어넣어라 그러니까 1980년 1월 1일 뭐 이렇게 나머지는 넣지 마라 이 말입니다. 이런 체크값을 두는 거죠. 그럼 요 조건에 의해서 이 테이블이 만들어지고 이 테이블에 들어와 있는 데이터는 이 옵션에 의해서 데이터들이 쭉 15자리 위배하면 안 되고 학번도 15자리고 전공은 몇 자리라 해서 20자리로 들어가고 성별은 남자 아이면 여자고 그죠 남자아이면은 여자고 어 뭐 그다음에 생년월일은 80년 1월 이후부터 들어가겠죠. 에 79년 81년 이런 신세대들이 들어가겠습니다. 만들었습니다. 뭐로 크리에이터 테이블 명령문으로 되겠나 여러분들이 프로그램으로 요렇게 SQL 언어를요 컴퓨터한테 명령을 주면 컴퓨터는 요런 테이블을 만들어냅니다.
화자 1
31:22
요 조건에 맞는 알게 나 여러분의 시키는 대로 하는 테이블을 만들어내는 크리에이터 테이블 됐나요? 여러분 직접 사용 안 해도 좋습니다. DBA는 이런 거 다 잘 사용하겠죠. 이제 이런 명령문으로 프로그램을 즉 SQL 언어를 사용할 수 있으면은 여러분은 컴퓨터한테 직접 데이타베이스를 만들어라는 명령을 내릴 수 있는 거 그죠 이런 걸 배워야 되겠지 그래서 인제 정보처리 기사 이론에는요 여기까진 안 나옵니다. 여러분 아 크리에이터 테이블 테이블명 이런 옵션들 속성 됐나 프라이머리 킥 포링킥 체크됐습니다. 아 깔끔하게 하네 그다음에 커리에이터 뷰 가는 게 뭐야? 뷰 지금 하나씩 나오는 거야. 왜 이런 뷰는 뭐고 여러분 우리가 스키마 중에서 외부 스키마 외부 스키마 또 다른 말로 이건 뭐다 서버 스키마를 뷰라 하죠.
화자 1
32:21
어 가상 테이블이죠. 가상테이블 가상 릴레이션 에 뷰 우리 사용자가 볼 수 있는 테이블 그죠 외부 스키마 서브스키마 붓 뷰 뷰는 하나 이상의 테이블로부터 유도되는 이름을 갖는 가상의 테이블을 뷰라 합니다. 버철 테이블로써 크리에이터 뷰라는 명령으로 뷰를 정의하는 명령문이다. 알겠죠. 왜 가상테이블이고 원래 웨이브 스키마 비우는요 존재하지 않아요. 실제 존재하는 거는 뭐야? 실제 테이블 있죠. 테이블 예를 들면은 이 테이블에 여러분 이거 봐 학번이 있고 이름이 있고 전공이 있고 여기에 생년월일이 있답시다 있어요.
화자 1
33:03
그러면 자 이 실제 테이블에서 나는 학번하고 이름만 따로 보고 싶다 그러면 여기에 학번하고 여러분들 이름만 요렇게 일시적으로 내가 실제 큰 테이블에서 내가 필요한 데이터만 딱 해 가지고 임시적으로 만들어지는 테이블 요놈이 뭐다 뷰예요. 뷰 내가 볼 수 있는 거 가상테이블입니다. 존재하지 않아요. 실제 실제 물리적 테이블에서 내가 원하는 정보만 엑기스 추출해서 내가 필요한 데이터만 테이블에서 보이는 테이블 가사 그리고 내가 보고 난 뒤에 없어져 버린 테이블 이게 뷰예요. 그니까 사용자가 느끼는 테이블입니다. 알겠나 해서 요 가상테이블이다. 요런 가상테이블도 만들어내죠 무슨 명령문으로 크리에이터 뷰로요 실제 이렇게 명령문을 다 써야 되는데 우리는 그냥 클릭으로만 하요 어 사용자는 클릭이고 DBA는 여러분 클릭하면 뷰가 보일 수 있도록 요런 명령문으로 다 만들어 놨겠죠.
화자 1
34:00
그 뷰를 이해되나 프로그래머나 DBA는 이거 만드는 사람이고 우리는 만든 거 그냥 클릭으로 보는 사람 아니야. 어 사용자 사용자 어 사용자하고 나는 개발자 알겠나 이런 개발자가 많이 존재해야 됩니다. 우리나라에 그 말이죠. 사용자만 해봐야 안 되죠. 사용자는 3800만 명이에요. 지금 우리나라 인터넷 사용 인구가 어 그런데 개발자는요 이 100만 명도 안 되니까. 이게 무슨 난리고 그죠 그래서 그런 이야기 그래서 크리에이터 뷰 뷰 이름 또 이 뷰라는 테이블에 들어가는 또 속성 이름들 그다음에 에저 시렉트 뭐 이래 있는데, 크리에이터 뷰만 아시면 됩니다. 예 그래서 요걸 한번 읽어보시고 중요하지는 않고요. 자 예절을 함 볼까 실제 고객 테이블에서 주소가 안산시인 고객들의 성명과 전화번호를 안산고기라는 뷰로 임시 임시뷰로 정의하시오. 이 말입니다. 실제 고객테이블에는 인제 여러분 뭐야? 어 그 많은 게 들어있는데, 그 고객테이블 실제 고객 실제 테이블 이름은 뭐야? 고객 테이블 있죠.
화자 1
35:00
고객테이블 고객테이블에 이제 뭐 많은 값들이 있겠죠. 쭉 있습니다. 그중에서 성명이 있고 주소가 있고 전화번호가 있고 또 딴 것도 있는데, 이 중에서 나는 뭐야? 어떤 뷰를 만들어라 어 전화번호를 안산 고객이란 뷰로 정의해라 그죠 안산뷰 안산 고객 왜 안산 고객이고 안산 고객 이라는 테이블을 일시적으로 만들어라 어 이 명령이 이거예요. 자 이게 뭐야? 크리에이터 뷰 뷰 이름은 뭐다 안산 고객 그럼 이 안산 고객은 뭐다 뷰가 되겠죠. 뷰 어 가상 테이블이 돼 가지고 고객 테이블에 집필요한 거 성명과 전화번호 성명과 전화번호만 가져오죠 성명과 전화번호만 가져오죠 가져와서 가상적으로 만들어졌다 그죠 그리고 에즈 실렉터 성명 전화번호 프라운 고객 테일러부터 이 고객 테이블로부터 이 뷰를 만들어라 이 말입니다.
화자 1
35:53
그리고 외화 주소가 단 안산시인 조건 어떤 조건 주소가 안산시인 그러면 고객 중에서 안산시 주소가 아산시로 돼 있는 사람만 여기 다 땡긴다는 거예요. 이해되나 요렇게 가상 테이블을 만드는 게 크리에이터 뷰입니다. 크리에이터 뷰예요. 다 해 주네 내가 지금 크리에이터 뷰 되겠나 예제만 보시면 되겠습니다. 자 그다음 볼까요? 좋아요. 크리에이터 인덱스 요거는 인덱스는 검색을 빠르게 하기 위해서 만든 보조적인 데이터 구조이며 크리에이터 인덱스를 정의 만들어낸다 인덱스를 왜 만드는 인덱스 테이블은 검색을 빠르게 합니다. 그죠 그래서 검색을 위해서 인덱스 테입을 또 뭐로 만들 수 있다. 크리에이터 명령문으로 그죠 자 형식은 크리에이터 복잡한 거 채워뿌고요. 이거 생략 가능한 건 옵션이죠. 옵션은 크리에이터 유니크 대체 키입니다마는 뭐 크리에이터 인덱스 인덱스명 하면 돼요. 보면은 뭐 유니키는 어 한번 유니크 한번 보고요.
화자 1
36:52
그 정렬 여부 인덱스를 인덱스 값을 뽑아내는데 정렬을 ASC 하면 어센딩 소트 오름차 순으로 정렬시켜서 테이블을 만들고 인덱스 테이블을 만들고 DSC는 합니다. 디센딩 내림차 순으로 알죠 어센딩 오름 잡으면 알죠 그러면 1 2 이렇게 하는 거고, 어센딩 디센딩은 뭐야? 이렇게 내려가는 거 알겠죠. 클러스터는 됐고요. 자 요거 한번 보자 요 잠깐 보자 고객 테이블에서 유니크한 특성을 갖는 고객번호 속성에 대한 내림차순으로 정렬하여 고객번호 인덱스라는 이름으로 인덱스를 만들어 그러면 크리에이터 유니크 유일한 인덱스다 이 말이죠. 유니크 인덱스 인덱스는 뭐다 고객 번호를 인덱스로 하라는 거죠. 그리고 이제 그 고객을 뭐다 고객번호가 내림차순으로 그 고객번호만 인덱스 테이블을 만드는데 거기에 들은 데이터는 어떤 식으로 내림 차순으로 큰 것부터 작은 걸로 테이블을 구성하라 이런 뜻입니다. 중요한 건 아니다.
화자 1
37:46
그래서 자 이 크리에이터 명령문이 이제 테이블 인덱스 도메인 뷰 뭐 이런 걸 만들 수 있는 스키맘 그죠 5가지를 어떤 개체를 만들 수 있는 게 그레이트 문입니다. 하나씩 다 봤다. 그 다음에 엘트문입니까? 엘트문 아니 알트문 쉬워요 엘트문은 뭐냐 변경이죠. 테이블에 이제 이미 정의된 테이블을 변경해 주는 거 리뉴얼 해주는 거 변경해 주는 거 우리가 인테리어로 이미 집을 만들어 놨는데 이걸 다시 내가 좀 바꾸는 거 아 마음에 안 드는 테이블을 잘못 만들었는 거야. 그래서 뭐 빠졌다든지 이럴 때 변경해주는 명령문이 뭐다 엘트 엘트 테이블 엘트 테이블입니다. 엘트 테이블 표기 형식은 엘트 테이블 테이블 이름 그리고 에드 동그래미 또 엘터테이블 나머지 다 필요 없습니다. 엘트 동그래미 또는 드랍 동그래미 그죠 엘트 애들은 새로운 속성을 추가하는 거예요. 하나 빠졌는 거예요.
화자 1
38:41
속성값이 테이블을 이래 만들었는데 테이블을 이렇게 만들어 가지고 한 속성을 학번 이름 뭐 주민번호 만들었는데 아 전공이 빠졌어 요럴 땐 뭐냐 엘터 엘트 애드를 씁니다. 엘트 애드 그럼 요놈 속성이 추가가 되겠죠. 되겠나 어 그리고 또 엘트 엘트문은 뭐냐 속성의 묵시적 값을 변경합니다. 디포트 되어있는 값을 변경해버려 예를 들면 내가 아까 성별을 남자로 디포트 했는데 이제 여자로 하고 싶다. 했을 때 요건 액트로 변경해 주는 거죠. 속성값을 변경해 주는 거고, 드랍은요, 속성을 제거하 어 내가 만들 때 학번 이름 주민번호를 만들었는데 아 이 주민번호가 필요 없어 주민번호 속성을 없애 버려야 되겠다. 뭐 엘터 드랍입니다. 되겠나 엘터 테이블 테이블명 쓰고 삭제하고 싶은 속성명을 쓰면 됩니다. 됐나요? 예 좋아요.
화자 1
39:31
자 고는 뜨시고 자 얘를 함 볼까 학생 테이블에서 최대 3문자로 구성된 학년 속성을 추구하는 에스큐엘보다 쉽죠 엘터테이블 학생테이블에서 뭐 학년과 학년 학년인데 뭐 3억짜리 문자 3억짜리 더 갈 수 있는 학년이라는 속성을 만들어라 이 말입니다. 추가하라 이 말이죠. 그래서 엘트 애드입니다. 되겠나 자 엘트 에더 엘트 엘트라 됐죠 되나 속성을 추가 속성의 변경 속성을 삭제됐습니다. 할 거 없데이 엘트 문은 요겁니다. 예 좋고요. 그 다음에 드라마 문은 뭡니까? 이제 스키마라 만들어 놓은 스키마나 또 필요없는 도메인 테이블 뷰 인덱스를 뭐 삭제 드람 삭제하는 거예요. 아까 그리 히트는 만드는 거고, 또 이 드랍은요, 이미 만들어져 있는 거 필요 없는 건 뭐 삭제시키는 것이 쉽죠 그래서 표기 양식을 간단하게 보죠.
화자 1
40:27
드랍 스키마 스키마를 삭제하고 드랍 도메인 도메인을 삭제하는 기구 DRAP 가상테이블 뷰를 삭제하는 기구 인적성 테이블 삭제하는 거 됐나 끝났습니까? 공부할 거 없고요. 끝났고 그다음에 요거는 조금씩 한번 봐요. 요거 약간 어려우신데, 여기에 구가 옵션으로 뭐 들어갈 수 있냐 하면 캐스케이트라는 구와 리스트릭이라는 구가 들어가요 자 캐스케이트는 뭐야? 내가 지금 어떤 도메인을 삭제하는데 이 내가 삭제한 대상이 지금 참조 중에 있어 사용 중에 있어 그러면 캐스케이드를 써버리면 현재 활동중인 도메인까지 삭제하라 이 말입니다. 활동 중이라도 수행 중인 수행 중인 사항을 예를 들면 뭡니까? 제거하라 수행 중이더라도 제거해 버리라 계속 헤이드는 상관없다. 그리고 리스트릭은 금시상 다른 게이처가 제거할 개체를 참조 중일 경우 참조 중이더라도 참조 중이면 제거가 안 돼요. 이 뭔 말인지 알겠나 이거는 수행 중이면은 제거가 안 돼요.
화자 1
41:25
수행 중이면 제거를 할 수 없는 거예요. 수행이 끝나야 제거되는 게 미스테릭을 써버리면 삭제를 하는데 뭐다 그 삭제 대상이 활동 중이면은 뭐 삭제가 안 된다는 거야. 그니스트릭을 써버리면 금지 조건 지우지 마라 어 이놈 사용 다 하고 죽이더라도 밥 다 먹고 죽이라 이 말이야. 그런데 캐스케이드를 써버리면 밥 먹더라도 죽여버려 이 말입니다. 됐나 요래 설명해도 틀리면 안 되겠죠. 캐스케이드 밥 먹고 있어도 죽여버려 요거는 밥 다 먹고 죽이라 이 말입니다. 됐지 그래서 요런 구 여러분 시험에 나올 수가 있습니다. 그죠 그래서 요거 한번 봐봐라 학생 테이블에서 모아봐 요거는 뭐야? 드랍 테이블 학생 테이블을 지우라 이 말이죠. 그런데 학생 테이블에 사용 중인 캐스케이드 사용 중이더라도 다 지워버려 그러면은 뭐 사용 중이니까. 학생 테이블 학생 테이블에 모든 게 삭제돼 버리는 거죠. 그죠 드랍 테이블 학생 캐스케이드 뭔 말인지 압니까 좋습니다.
화자 1
42:21
어렵지 않죠 그래서 여러분들 요렇게 자 방금 봤는 것들이 우리가 뭐다 오케이 바로 SQL 이라는 데이터베이스 관계 데이터베이스의 표준 언어다 SKL이 STRAPPURE 퀴리 랭귀지의 첫 번째 명령어 뭐 DDDLB아스입니다. 데이터를 정의하는 정의어죠 이 DDL은 뭐가 있노 크리에이트가 있었죠. 또는 뭐고 에이트가 있었죠. 그 다음에 뭐가 있노 드랍이 있었습니다. 그죠 크리에이터의 대상은 뭐다 5가지 스키마 다시 한다. 도메인 테이블 뷰 인덱스입니다. 알겠나 엘트는 주로 테이블에만 하는 거예요. 엘트는 테이블을 추가합니다. 테이블에 어떤 속성을 추구합니다. 엘트 애드죠 테이블에 어떤 속성을 제거합니다. 엘트 드랍이죠. 테이블의 어떤 속성 값을 변경 합니다. 엘트 엘트죠 됐나 주로 테이블 많이 하고 그 다음에 삭제는 뭡니까?
화자 1
43:18
역시 스키마 도메인 뷰 테이블 인덱스를 삭제해 주는 명령이 뭐 드랍이죠. 그런데 뒤에 캐스케이드구나 리스트릭 구 이야기한다. 캐스케이트는 활동 중이더라도 삭제하는 거고, 리스트릭은 활동 중이면 삭제가 안 되는 겁니다. 댓 니껴 아주 좋습니다. 자 뒤에 없죠 뒤에 있습니까? 함 넘겨보죠. 혹시 있나 예 없습니다. 자 오늘 또 여러분들 깔끔하게 정리했죠. 남들 몇 달 배울 걸 이거 무슨 말이고 아주 간단하게 실제 여러분들 SK 이거 다 하다 이런 거 인제 여러분 뚝딱뚝딱 편집기로 에스큐엘 깔아 가지고 하면 돼요. 여러분 컴퓨터의 데이타베이스를 만들고 데이타베이스 지우고 변경하고 다 할 수 있습니다. 어 할렐루야 그죠 환상적이죠. 실무에서 해보면 되는 거겠죠.
화자 1
44:08
그죠 쉽다 그죠 그래서 에스큐엘 문제는요 이렇게만 공부해 놓으면 진짜 부처님 손바닥 젤리츠 손바닥 뭔 말인지 알겠나 그래서 여러분 정리를 잘해 주시고 그래서 오늘 에스큐엘의 디디엘에서 배웠구요. 잠시 한 10분 쉬고 나머지 언어 에스큐엘을 다 정리하도록 하겠습니다. 됐죠 잠시 쉬고 10분 뒤에 다시 돌아오겠습니다.
'전진하(JJH)교수님의 강의 > 정보처리기사 산업기사' 카테고리의 다른 글
[정보처리] 데이터베이스 - 정규화 (0) | 2024.08.06 |
---|---|
[정보처리] 데이터베이스 - 관계데이터베이스언어2 (0) | 2024.08.05 |
[정보처리] 데이터베이스 - 관계데이터모델 (0) | 2024.08.05 |
[정보처리] 데이터베이스 - 데이터모델링 (0) | 2024.08.05 |
[정보처리] 데이터베이스 - 데이터베이스시스템의개요 (0) | 2024.08.05 |
1. 데이터 모델링
1-1. 데이터 모델의 유형과 용어
- 데이터 모델링이란 데이터를 개념적으로 설계하는 과정임
- 데이터 모델링 도구로는 R(D) 관계, 망(R), 계층(R), 객체 지향(R) 모델이 있음
- 개념적 데이터 모델을 논리적 데이터 모델링으로 표현하면 RDB 관계 데이터 모델이 됨
- RDB 관계 데이터 모델은 물리적 DB를 이용해 표현한 DBMS의 도움으로 함
- (중요) 데이터 모델링에서 가장 많이 출제되는 부분이 이 챕터임
1-2. 관계 데이터 모델의 이해
- 관계 데이터 모델은 테이블로 표현한 데이터 간의 관계를 다룸
- 테이블은 행(행)과 열(열)로 이루어진 2차원 구조임
- 릴레이션 또는 테이블은 릴레이션 또는 테이블로 이야기는 개체와 속성 사이의 관계를 의미함
- 릴레이션의 속성은 속성의 이름(어트리뷰티), 속성의 값(터널), 개체의 관계(스키마)로 구성됨
- 데이터 모델링에서 행과 열의 값은 튜플(데이터 인스턴스)로 나타냄
1-3. 데이터 모델링 용어 정리
- 데이터 모델링 용어는 릴레이션, 어트리뷰티, 투플, 스키마, 행, 열, 열값, 튜플로 구성됨
- 릴레이션 또는 테이블은 데이터의 관계를 나타내는 개념임
- 어트리뷰티는 데이터의 속성, 열값은 데이터의 값, 행은 데이터의 관계를 의미함
- 스키마는 데이터의 관계를 표현한 것으로, 개체와 속성, 관계의 맵을 의미함
- 열은 데이터의 행, 값은 데이터의 열을 의미함
2. 데이터베이스와 릴레이션의 이해
2-1. 데이터베이스의 개념과 특징
- 데이터베이스는 컴퓨터에 저장된 정보의 집합임
- 각 데이터는 고유의 속성과 값으로 구성되며, 이는 투플로 표현됨
- 각 투플은 특정한 속성에 해당하며, 이를 릴레이션이라 함
- 릴레이션은 다양한 속성에 대한 데이터를 표현함
- (중요) 데이터의 주소를 포함한 모든 데이터가 포함되어 있는 것이 바이너리 데이터임
2-2. 릴레이션의 구성 요소와 역할
- 릴레이션은 속성, 차수, 카디널리티 등의 요소로 구성됨
- 속성은 튜플이 갖는 속성이고, 차수는 투플의 수를 의미함
- 카디널리티는 투플이 가진 속성의 수를 의미함
- 각 요소들은 릴레이션의 특성을 표현하고, 데이터베이스의 효율성과 정확성을 보장함
- (중요) 릴레이션의 이해는 데이터베이스의 효율적이고 정확한 관리를 위해 필수적임
2-3. 릴레이션 스키마와 릴레이션 인스턴스
- 릴레이션 스키마는 릴레이션 테이블의 구조를 설명함
- 릴레이션 인스턴스는 릴레이션 테이블의 전체 튜플을 의미함
- 파일은 릴레이션 인스턴스를 이용해 테이블의 정보를 표현함
- (중요) 릴레이션 스키마와 인스턴스 이해는 데이터베이스의 효율적이고 정확한 관리에 중요함
- 공무원이 되기 위해서는 릴레이션의 개념과 원리를 이해해야 함
3. 데이터베이스의 키와 제약사항 이해
3-1. 데이터베이스에서 불친절과 공무원의 역할 이해
- 데이터베이스에서 불친절이 관계 데이터베이스 생성의 어려움으로 이어짐
- 공무원이 주민등록 등본팀에 불친절할 경우, 그 마음을 이해하는 것이 필요함
- 공무원이 화가 나면, 인사를 통해 화해하려는 노력이 필요함
- (중요) 공무원의 역할은 기술적이고 능력적이며, 시험을 통해 선발되어야 함
3-2. 데이터베이스에서의 제약사항 이해
- 데이터베이스에서 중복성과 유일성이 중요함
- 투플은 중복이 없어야 하며, 순서는 관계 없이 됨
- (중요) 속성은 원자값으로 구성되어야 하며, 속성은 분해나 쪼갤 수 없음
- 키는 테이블에서 유일하게 존재하며, 최소성을 만족하는 것
3-3. 키의 종류와 그 중요성
- 키는 후보키, 캔디데이터, 킥 등 5가지 종류가 있음
- (중요) 후보키는 유일하고 최소성을 만족하는 키로, 학번과 주민번호가 해당함
- 캔디데이터는 유일하게 존재하며 최소성을 만족하는 키임
- 킥은 테이블에서 유일하게 관계를 나타내는 키임
4. 릴레이션 키
4-1. 키의 종류
- (중요) 후보키는 개체 구별을 위해 선택한 키로, 주민번호와 학번이 해당함
- 키는 PT 키, PK 키, 외래키, 슈퍼키로 나뉨
- PT 키는 카테고리 키, PK 키는 올터네이트 키, 외래키는 데이터를 기준으로 연결하는 키, 슈퍼키는 여러 개의 속성을 통합한 키임
- 대체키는 기본키를 제외한 단어로, 참조키는 다른 릴레이션의 기본키로 사용되는 키임
- 참조는 하부에서 상부로 이루어짐
4-2. 키와 무결성
- 키는 암기하지 않아도 되지만, 원리만 알면 됨
- 데이터베이스는 무결성, 즉 결함이 없어야 함
- 무결성은 개체 무결성, 참조 무결성, 영역 무결성으로 나뉨
- 개체 무결성은 기본키의 속성은 넓어야 하고, 값이 없으면 안 됨
- 참조 무결성은 다른 릴레이션을 참조할 수 없는 경우를 말함
4-3. 무결성
- 무결성은 테이블의 데이터가 정확하고 정밀하며 유효해야 함을 의미함
- 개체 무결성은 기본키의 속성은 값이 없으면 안 된다는 뜻임
- 참조 무결성은 다른 릴레이션을 참조할 수 없는 경우를 의미함
- 영역 무결성은 데이터의 결함, 오류가 없어야 함을 의미함
5. 테이블과 관계 연산에 대한 이해
5-1. 테이블과 키에 대한 이해
- 테이블은 데이터의 집합인데, 테이블의 학번은 키로 사용됨
- 키는 참조 무결성에 따라 특정 데이터와 연관되야 함
- (중요) 테이블의 학번과 실제 데이터가 동일해야 참조 무결성이 유지됨
- 테이블의 범위를 벗어나는 값은 도메인 무결성에 위배됨
- 참조 무결성과 도메인 무결성의 이해는 데이터베이스 설계에서 필수적임
5-2. 관계 연산의 종류와 특징
- 관계 연산은 테이블 간의 연관성을 표현하는 연산임
- 관계 연산에는 절차적 연산(관계 대수 연산)과 비절차적 연산(관계 해석 연산)이 있음
- 관계 대수 연산은 논리에 의해 결정되며, 관계 해석 연산은 질의로 이루어짐
- (중요) 일반 집합 연산자와 순수 관계 연산자는 주로 데이터 조작에 사용됨
- 실렉터 연산자는 교집합, 차집합, 서집합 등을 포함하며, 각각 다른 두 테이블 간의 연관을 나타냄
5-3. 관계 연산의 적용 예
- 교차곱은 두 테이블 간의 연관을 나타내는 연산임
- 프로덕트 연산은 두 테이블의 각각의 값들을 곱하는 연산임
- (중요) 연결 고리(관계)를 구성하는 각각의 연산자들은 실제 데이터를 다루며, 데이터 베이스 설계에서 핵심적임
- 관계 연산의 이해는 데이터베이스의 성능과 효율성을 결정짓는 중요한 요소임
- 연산자에 따라 결과는 데이터의 형태와 구조가 달라질 수 있으므로, 정확한 이해와 효율적 사용이 중요함
6. 수학 공부법
6-1. 수학 공부의 중요성
- 수학은 컴퓨터 공학 설계 등 다양한 분야에서 사용됨
- 수학, 통계, 기초 학문 등 기본 수학 지식이 필요함
- 우리나라는 수학을 입시 위주로만 공부해왔음
- 시험을 잘 치르는 데 집중해 실제 문제 풀이를 잊어버림
- 수학 문제의 답을 암기하는 공부법이 아니라 의미 있는 공부법을 알아야 함
6-2. 수학 교육의 문제점
- 우리나라에서는 수학 교육이 암기 위주의 방향으로 이루어지고 있음
- 수학의 원리를 이해하는 데에 치중하여 실제 문제 풀이를 간과함
- 수학 문제의 풀이 원리를 제대로 이해하지 못하면 정확한 답을 찾을 수 없음
- 예를 들어, 삼각형의 면적을 구하는 문제의 풀이 원리를 이해하지 못하면 오차가 생김
- (중요) 수학 공부의 목적은 암기보다는 문제 풀이의 원리를 이해하는 것임
6-3. 올바른 수학 교육의 방향
- 수학 교육은 입시 위주의 암기 위주의 공부에서 벗어나야 함
- 수학 공부의 목적은 문제 풀이의 원리를 이해하고 문제를 해결하는 것임
- 수학 공부를 통해 얻은 지식을 바탕으로 문제 풀이에 응용할 수 있어야 함
- 고등학교 때 수학을 배울 때, 문제 풀이의 원리를 이해한 뒤 실제 문제 풀이에 도전해야 함
- 수학 공부는 우리나라의 공부법에서 벗어나, 문제 풀이의 원리를 이해하는 것에 집중해야 함
7. 관계 대수 연산
7-1. 관계 대수 연산 개괄
- 관계 대수 연산에는 일반 집합 연산자, 순수 관계 연산자가 포함됨
- 관계 대수 연산의 개괄적인 이해가 중요함
- (중요) 순수 관계 연산자는 '선택 조건을 만족하는 튜플을 선택하는 연산'으로, 속성값을 추출하는 수직적 연산과 같음
- 동일 조인 연산은 중복을 허용하면서 결합시키는 연산으로, 동일한 속성끼리 결합함
- 외부 조인 연산은 중복을 허용하지 않고, 상대 릴레이션을 포함함
7-2. 조인 연산과 디비전 연산
- 조인 연산은 두 릴레이션의 결합을 의미하며, 중복을 허용하는 동일 조인과 중복을 제거하는 자연 조인으로 나뉨
- 외부 조인 연산은 중복을 제거하지 않고, 상대 릴레이션을 포함함
- 디비전 연산은 하나의 테이블에서 조건에 맞는 속성을 선택하여 삭제하고 새로운 슈퍼를 구성하는 연산임
- 시험에 자주 출제되지 않으나, 강의에서 다루는 내용임
7-3. 관계 대수 연산의 종류
- 관계 대수 연산에는 절차적 연산자와 비절차적 연산자, 관계 대수 연산자 등이 있음
- 절차적 연산자에는 차집합 연산과 '관계의 생성'을 포함하는 연산자들이 있음
- 비절차적 연산자에는 '관계의 결합'을 포함하는 연산자들이 있음
- 관계 대수 연산에는 일반 집합 연산자와 순수 관계 연산자가 포함됨
8. 데이터베이스 모델링과 관계 데이터 모델
8-1. 데이터베이스의 이해
- 데이터베이스의 기본 개념과 중요성을 강조함
- 데이터베이스의 원리를 이해하는 것이 중요함을 강조함
- 데이터베이스는 실제 데이터를 관리하고 활용하는 데 필요한 도구임을 강조함
- (중요) 데이터베이스의 효율적인 활용을 위해서는 데이터 모델링과 관계 데이터 모델을 이해해야 함
- 데이터 모델링과 관계 데이터 모델은 데이터베이스를 이해하는 데 핵심적인 요소임
8-2. 관계 해석 연산자와 관계해석
- 관계 해석 연산자에 대해 설명함
- 투플(튜플) 관계 해석과 도메인(도메인) 해석에 대해 강조함
- (중요) 해석식을 이용하여 데이터를 검색하고 조건에 맞는 결과를 추출함
- 관계 해석의 원리를 이해하는 것이 중요하다고 강조함
- 투플과 도메인 두 종류의 해석 방식에 대해 설명함
8-3. 데이터베이스의 실제 활용과 전망
- 데이터베이스의 실제 활용을 위한 실무 경험의 중요성을 강조함
- 데이터베이스에 대한 이해를 바탕으로 DBA(데이터베이스 관리) 직업의 중요성을 강조함
- (중요) DBA는 실무에서 중요한 역할을 하며, 데이터베이스 관리의 핵심 기술임을 강조함
- 데이터베이스 강의를 듣고 DBA를 익히는 것이 중요하다고 강조함
- DBA를 통해 데이터베이스의 효율적인 활용이 가능함을 강조함
화자 1
00:10
자 전국 예시는 우리 엠투의 생방송 안방 가족 여러분 계속해서 뜨거운 감동의 수업을 함께 하겠습니다. 예 여러분 좋습니다. 자 아이고 한 몇 분 쉬었나 10분 쉬죠 쉬고 그죠 자 밥 먹고 병태순자 이제 고만 고만 고만 먹고 자 이제 합시다. 앞 시간에 우리가 어 데이타 모델링에 대해서 공부했다. 그죠 그래서 데이터 모델링 바란 이야기다 그죠 그래서 데이터 모델링 우리가 개념적 설계 예 정보모델링 아 아유 내 아주 기침 아직 나오네 정보 모델링의 도구 ER DIARGRAG 그렇죠. 그리고 이제 논리적 설계 이제 그죠 데이터 모델로 하는 거 그래서 우리가 앞부분에서 전체 개념을 잡았고 특히 ER DIARGRAG에 대해서 정리를 했다.
화자 1
01:08
그죠 출제는 거기서 된다는 이야기 자 계속해서 이제는 뭐여 몇 강 넘어가 봅시다 예 이제 오늘 30강이나 보세요. 관계 데이타 모델에 대해서 공부합시다. 되겠나 앞 시간 정리 잘 됐제 자 한번 들어가 봅니다. 빠져봅시다 자 데이타 모델의 종류 다 배웠죠 우리가 개념적 데이터 모델 어 개념적으로 데이터 모델을 우리는 정보 모델링이라 한다. 정보화 모델링이라 하고 또는 개념적 설계를 하죠. 개념적 설계를 하고 이 설계 도구로 이용되는 게 뭐다 ER 다이아그램을 우리가 앞 시간에 빼앗습니다. 예 그러면 개념적 ER DIARGRAG으로 표현해 놓은 놈을 이제 논리적 데이터 모델화 해야 되거든. 논리적 데이터 모델링을 해야 됩니다. 정보 모델링이 아니고 이거는 데이타 모델링을 해야 되고 요놈을 논리적 설계죠 논리적 설계를 해야 된다는 말씀 다 했죠.
화자 1
02:02
이런 논리적 설계 데이타 모델링의 도구로 이용되는 게 뭐다 RDB 관계 데이터 모델 RDB 망 데이타 망 저 네트워크 데이타 모델 그다음에 계층 데이타 모델 객체 지향 모델이 있는데, 가장 늘 이용되는 게 뭐다 오케이 관계 데이터 모델로 하자 이 말이죠. 봤나 그리고 요번 시간에는 용어 배우겠다. 이 말입니다.
화자 1
02:27
앞시간에 뭐 배웠노 ER 다이아가 요거 배웠죠 요거 환상적으로 했지 요번 시간에는 요게 문제가 나오는 관계의 데이터 모델 왜 망과 계층과 객체는 거의 사용하지 않죠 이런 종류가 있다고 하는 거고, 실제 실무에서는 RDB 시험은 뭐다 릴레이션 데이터 모델 이 릴레이션 데이터 모델로 만든 DB가 뭐다 물리적 데이터 모델을 해버린 DB가 우리는 릴레이션 디비 데이타 베이스죠 그죠 관계 데이터 모델을 이제 표현해 버리면 DBMS의 도움을 받아서 표현하면은 RDB가 된다는 거 되겠나 그래서 집중적으로 출제가 많이 됩니다. 데이터베이스에서 가장 출제가 많이 되는 게 요번 챕터라는 말씀 되겠어요. 좋습니다. 자 논리적 데이타 모델 이미 다 됐죠 뭐 여러분도 살짝 눈으로 보시면 되겠죠. 논리적 단계에서 이런 모델을 읽어보면 되겠죠.
화자 1
03:19
원리는 이미 다 알고 있으니까 자 원리만 아니까 자 여러분 데이타베이스는 우리 컴퓨터의 정보처리의 모든 과목 머리로 하나 뜨거운 가슴으로 하나 숫자야 그렇죠. 가슴으로 공부를 해야 되제 특히 데이타베이스는 여러분들이 원리만 아니까 이런 지저분한 내가 왜 이런 말에 현혹되지 마 출제자가 이런 거는 이렇게 물을 수도 있고 저렇게 물을 수가 있습니다. 원리만 딱 이렇게 아니까 이런 거는 눈으로 어 이렇게 표현했구나 그렇죠. 어 어 그죠 우리가 그렇잖아요. 이렇게 사람이 이렇게 누워있는 걸 누워 있는 걸 누워 있다는 거 의미만 알면 되지 표현을 달라고 누워있는 거 어떤 사람은 점마 디디져 있네 이러한 사람도 있고 점마 자빠져 있네 어 그럼 자빠져 있네 하는 거 아나 점막 깔리져 있네, 뭐 표현이란 여러 가지야 어 그럴 때마다 암기하는 거예요. 아 저 누워있는 거 누워있는 거 어 그거 알면 돼요. 1가지다 이 말이에요. 뭔 말인지 알겠나 이거 절대 이런 글의 텍스트에 현혹되지 마세요.
화자 1
04:14
그리고 이런 논리적 데이터 모델의 유형이 다 했는 거 또 나오네요. 그죠 RDB 관계형 망 계층 객체 지향 나머지 한번 읽어보세요. 원리는 다 파악되었기 때문에 넘어가 봅니다. 아유 꺾어 하고 아직 상태가 완전히 안 돌아왔습니다. 자 그중에서 이제 논리적 데이터 모델이 가장 늘 이용되는 게 관계형 데이타 모델의 개념 자 관계 데이터 모델은 뭐야? 우리가 어 계층은 뭐다 우리 앞에서 배운 추리 구조로 표현했는 거고, 망은 뭐였습니까? 오너와 그래프로 표현하는 거고, 맞나 그리고 지금 배우는 관계형 데이터 모델을 행과 열 행렬로 표현했는데 행렬 즉 테이블로 표현하는 거예요. 테이블 모든 데이터들의 관계를 이런 식으로 표현했는 거 에 에 이런 식으로 이게 뭐다 관계형 데이터 모델이다.
화자 1
05:08
데이터 간의 관계를 표 테이블 즉 행과 연료로서 표현한 구조로서 개체와 속성들 사이의 관계를 사상 매핑의 개념으로 나타냈습니다. 연결을 해 놨는 거죠. 자 직접 보면 되는 거지 자 이런 관계 데이터 구조의 용어부터 정리를 좀 해야 된다. 자 용어를 정리를 해야 되는데 자 일단 보고 그림으로 작살내자 그죠 관계 데이터의 구조 릴레이션의 구조 관계의 구조를 보자 자 릴레이션 가는 거 테이블을 의미하죠. 릴레이션 정보 저장의 기본 형태가 2차원 구조의 테이블이다. 그죠 릴레이션 어 릴레이션 테이블 이 테이블 전체를 릴레이션 또는 테이블 같은 말입니다. 릴레이션 또는 테이블로 이야기한다는 거야. 그리고 속성은 어터리뷰터 도메인 튜플 디그리 카디널리티 릴레이션 스키마 릴레이션 인스턴트 요런 게 관계 데이터베이스에서 용어예요. 용어부터 알아야 되거든. 자 그러면은 이 용어를 암기하지 말고 그림으로 보자 이 말입니다.
화자 1
06:07
그죠 그림 보면서 설명하도록 하겠습니다. 넘어가 봅니다. 좋아요. 자 근데 어디서 많이 보던 사람 이게 제이치입니다. 이게 전부 다 여러분들을 위해서 고생하는 스탭입니다. 박수 한번 쳐줘라 우리 우리 에 우리 스탭들이 스탭들 이런 스탭들이 고생한다. 그죠 근데 이건 문제 안 나오면 다음 중 엠투엠의 스탭은 이런 문제 안 나온다 이거는 외우지 마라 이수남은 누구예요? 이러지 이런 문제 안 나와요. 자 인제 이 데이터들의 관계를 이제 테이블로 만들어라는 거지 학생테이블이죠. 전체를 뭐라 한다. 이 전체를 릴레이션 어 릴레이션 어 닐레이션 이라고 학생 릴레이션 또는 학생 테이블이랍니다. 오케이 전체를 뭐라 한다.
화자 1
07:01
현재 학생 테이블 또는 학생 릴레이션이라는 거 쉽죠 하나의 릴레이션 하나의 테이블 돼 있습니다. 그리고 여기에 이제 뭐야? 학번 학번 이름 학년학과 이놈이 어트리뷰티야 어떻게 비용이냐 속성 어 속성 어트리뷰티 더러운 성질 그 하나의 계체가 갖는 성질 학번이라는 속성에 요런 5개의 속성이 들어가 있고 자 자 그렇죠. 그리고 행 열값들을 속성이라 하고 이 행을 뭐라 한다. 튜플이랍니다. 튜플은 행을 의미하죠. 버터리뷰티는 열을 열면 칼럼을 의미하고 행 알겠나 그러면 이거 1사람이죠. 1사람 학번 백 이름 JJH 학년 4학년 학과 컴퓨터 1사람분 요걸 하나의 개체라 하죠. 투플 또는 요걸 인제 NTTNTTNTT 하나의 개체 또는 요걸 이제 우리는 튜플 NTTO브젝트 하나의 오브젝트 해도 되고요.
화자 1
08:01
또 하나의 데이타 또 하나의 원소 하나의 요소 그죠 하나의 노드 다 같은 말이제 생각나나 또는 그래프에서 이거 뭐다 하나의 정점 버틱스 다 같은 말이에요. 이 같은 말을 막 꼬아내는 게 헷갈리는 거야. 응 하나의 데이타 전진아라는 데이타 김원정 이라는 데이타 수남이라는 데이타 영삼이라는 데이터 5개의 데이타가 5개 형이 하나의 테이블을 학생테이블을 형성했군요. 학생 릴레이션을 형성했군요. 되겠나 그래서 요 행 어 행 요걸 투플 다섯 개의 투플이 있네요. 그죠 요걸 투플이라고 요 각 투플들은 네 개의 속성을 갖네요. 학번 이름 학년 학과라는 속성으로 하나의 투플들이 형성돼있네 그죠 이 뇌가 열 그러니까 현재 이 릴레이션 이 테이블은 4개의 속성과 5개의 투플로 구성되어 있네요.
화자 1
08:54
그죠 4개의 속성 즉 5개의 투플과 4개의 속성으로 구성된 오바이사 행렬로 표현돼 있네요. 다 같은 마이삭 다 같은 말이다. 이 말입니다. 그죠 그래서 어 음 대게나 튜플 어 어트리뷰터 릴리에이션 그리고 이제 여 이 학번이 갖는 값 값의 집합 100에서 학번이란 속성에 100에서 500 5개의 데이터가 있군요. 요 요걸 도메인이랍니다. 도메인 도메인 같은 속성의 집합 도메인 요거는 학번 도메인 요놈은 이름 도메인 용어는 학년 도메인 도메인 영역 범위란 말이에요. 도메인 어 그다음에 학과 도메인 예 이런 용어 때문에 여러분 용어 이거 원리만 알면 되죠. 알겠나 하나의 속성이 갖는 10값들의 집합 알겠나 10갑의 범위를 도메인이라 합니다. 도메인 도메인 도메인 도메인 되겠나요?
화자 1
09:54
도메인입니다. 자 그 다음에 어 앞장으로 잠깐 넘어가 볼까요? 앞장으로 예, 예 여기 보면은 릴레이션 됐죠 속성 됐제 테이블에 갖는 각 여러의 의미 도메인 대체 그 속성에 취할 수 있는 값들이 지파 릴레이션은 하나의 테이블이고 튜프는 뭡니까? 1행 됐죠 어 한행 차수는 뭐냐 하면은 자 차수는 아까 속성의 개수예요. 어 속성 속성이 4개의 속성으로 돼 있었죠. 이놈이 현재 아까 학생 테이블에 차수예요. 차수 카디널리티는 행리의 수입니다. 한닐레이션에서 투 플레이 수 행위의 수예요. 카디널리티 자 그럼 다시 한번 넘어가 봅니다. 예 다시 한번 넘어가 봐요. 자 됐다. 다시 중요하다 튜플 되겠나 행거 하나의 행글 튜플이라 하죠. 다른 말로 NTTO브제가 됐고 그다음에 요것들을 속성이라 하죠. 어트리뷰어트 학번이라는 속성 속성이 됐고 그다음에 속성의 값들의 집합 도메인 돼 있죠. 도메인 됐고 이 전체를 테이블 용어 돼 있죠. 그다음에 차수는 뭐예요?
화자 1
10:53
차수 요게 학번 이름 학년 학과 현재 이 테이블에 차수 디그릭 하면 얼마 차수는 차수는 4차 4차죠 4차 에 차수는 뭐다 12개 수 즉 튜프리의 수 아주 저 뭐야? 어터리뷰티의 수 이러면 차수로 할게요 그 다음에 카디널리티 카디널리티 카디널리티는 뭡니까? 헨리의 수 오차죠 오차 여기서는 저 투플의 수 투플의 수를 우리는 뭐다 카디널리티 그러니까 이 테이블은 5개의 카디널리티와 4개의 차수로 해서 카디널리티가 오차고 차수는 뭡니까? 디거리는 4차입니다. 되겠나 그래서 카디널리티 차수 요놈도 알아놓으시기 바랍니다. 그 다음에 릴레이션 스키마는 뭐냐 자 스키마 릴레이션 스키마는 요 이름 학번 이름 학년 요놈의 릴레이션 테이블에 스키마라 합니다.
화자 1
11:49
스키마 표현 그죠 이 테이블은 학번 이름 학년 학과의 속성으로 표현됐다. 그래서 릴레이션 스키 말하죠. 릴레이션 스키마 요 제목 제목 타이틀 이 타이틀 뭐 미션의 테이블이라면 릴레이션 테이블 되겠나 그리고 이런 릴레이션 인스턴트는 뭐냐 이 투플들 전체를 릴레이션 인스턴트라 합니다. 인스턴트 요놈은 뭡니까? 도메인 요거 속성의 전체 집합을 도메인이라고 하고요. 그다음에 요 투플의 전체 집합을 우리는 뭐라 릴레이션 인스턴스 됐죠 테이블에 인스턴스 테이블에 제목을 쓰키면 됐죠 자 요 정도 용어 좋습니다. 어 뭐 파일 파일로 보면 뭐예요? 파일에서는 릴레이션은요, 이 전체가 뭡니까? 하나의 파일이죠. 테이블 어 이거 이거 학생 파일이랍니다.
화자 1
12:37
파일 구조에서는 어 그다음에 릴레이션은 파일 즉 테이블은 파일이고 투플 이건 우리가 파일에서 뭐라 캐나 레코드죠 네코 첫 번째 레코드 반 레코드 투 레코드 3 레코드 4 레코드 5 근데 데이타베이스에서는 뭐 이걸 레코드를 안 하고 뭐냐 투플 원 투플 똑같은 용어만 다른 거예요. 투플사 투 프로 되겠어요. 그리고 어트리뷰티를 파일러스는 뭘 합니까? 바로 필드라 하죠. 아이폰 필드 어 필드 원 학번 필드 이름 필드 학년필드 학과 필든데 데이터베이스에서 뭐라 한다. 어트리뷰트 학번 어트리뷰트 이미 파일 구조에서 내가 이야기 다 해줬다 똑같은 건데 파일에선 어트리뷰트 저 파일에서는 튜플이고 DBS는 어트리뷰터라는 것 되겠습니까? 하나의 테이블 하나의 이런 테이블들을 엮어 나가는 건 뭡니까? 데이터베이스고 요 하나만 표현해 놓으면 뭐다 파일이죠.
화자 1
13:29
파일 이제까지는 이런 파일 단위로 컴퓨터에 저장했는데 데이터베이스는 이런 파일들을 전부 다 하나로 통합했는 큰 데이터의 집합이 뭐다 우리가 배우고 있는 데이터베이스라는 거예요. 아주 쉽죠 그래서 데이터베이스가 막강 합니다. 전 세계의 데이터를 다 통합 합니다. 우리나라의 모든 데이터가 통합 그래서 이제 여러분들 주민번호만 두드려버리면 여러분의 모든 데이터가 통합 DB화 돼 있다 하면은 여러분 주민번호에 여러분 모든 게 다 나오는 거예요. 여러분 전과기로 연예기로 뭐 여러분은 세금 관계 여러분의 금융관계 여러분의 친구 관계 모든 게 학교 관계 알겠나 지금 우리나라가 전체가 데이터베이스화 하고 있습니다. 그 데이터베이스를 회사 단위로 사회 단위로 마지막에 국가 핵망 행정전산 막 되어버리면 동사무소 없어져 버립니다. 이 동사무소 없어지는데 거기에 취업 이러면 안 되겠죠.
화자 1
14:28
화이팅 국가학 공무원 대세 이야기 압니다. 좋아요. 어 그래서 여러분 뭐 여담으로 이제 저 강의는 인제 전국에 이제 많은 전공자들 그리고 취업을 위하는 학생들 또는 가산점 위해서 여러 형태의 시험을 쳐요 특히 요번에는 또 공무원 입 닦으라고 우리 비리 계급품 물었다고 예 공무원 가산점 공무원을 위해서 또 하는 사람 많은데 그게 공무원도 여러분 아주 요즘은 인텔리전트 해야 됩니다. 그죠 아주 컴퓨터를 잘 달아가지고, 공무원은 뭡니까? 각 어 이제 민원 서비스 아니에요. 그죠 이게 데이타베이스 굉장히 중요하죠. 그죠 데이터베이스를 잘 다뤄야만이 훌륭한 공무원이 된다. 그죠 시험 쳐가지고 1문제에서 다 떨어져버리는 공무원이 아니구요. 그래야 이 공무원 국가공무원 생활도 재미있어요. 어 데이터를 조작하고 데이터를 전부 다 하는 거거든.
화자 1
15:23
근데 이런 걸 잘 모르면 여러분들 공무원 돼도요 큰일 납니다. 공무원 돼 가지고 만날 하는 게 동사무소에 앉아가 주민등록 등본이나 띠주고 그러면 되겠어요. 그렇죠. 그래서 공무원은 되더라도 아주 지적이고 우리 국가를 아주 현명하게 운영할 수 있는 그런 공무원이 되기 위해서는 컴퓨터 특히 데이타베이스 잘 알아야 된디 병태 공무원 순자 공무원 알겠나 이거 모르면요 여러분 어렵게 어렵게 공무원 됐는데요. 여러분 회의를 느껴요 공무원들 하는 게 자기 딴에 대학 나오고 요즘 공무원이 얼마 어렵노 한 문제에 막 수십 명 수백 명 떨어져 뿌잖아. 그래 어렵게 됐는데 만날 한다는 게 주민등록 등본 띠지고 그리 여러분 자꾸 불만이 생겨요 불만이 생겨가지고 얼굴이 어두워져요 그리고 소급적이 되고요. 어 그래가 막 뭐 그러다 보니까 불친절하게 되고 불친절하게 되고요. 그래서 나는 이제 동사무소에 주민등록 등본팀 모든 공무원이 내한테 좀 불친절하면 난 그 마음을 이해하거든.
화자 1
16:17
자기 딸은 대학 나오고 어렵게 시험 쳤는데 맨날 하는 게 뭐, 뭐 주민등록 등본을 뒤지고 그래 화가 나지 그래서 내가 공무원이 나한테 화나면요 나는 이해하기 때문에 인사를 합니다. 이해합니다. 그래 인사를 해요. 그래서 무슨 소리냐 공무원 공무원이 되더라도 아주 혁신적이고 이노베이션적이고 그죠 여러분들 열정적이고 애정이 많고 국가를 사랑하는 마음 이런 공무원이 돼야만이 이 나라가 활기차지 그죠 공무원 됐다. 해야 6시 퇴근하고 어 그러면 되나 안 되죠. 국가 세금으로 여러분들이 우리 국가를 운영하는 건데 그래서 공무원 가산점을 위해서 내 강의 많이 넣었기 때문에 내가 먼저 선배로서 스승으로서 그죠 공무원이 되더라도 아주 기술적이고 능력적이고 암기해서 시험쳐서 하는 공무원보다 이런 기술적인 데이터베이스를 알고 민원 서비스를 효과적으로 할 수 있는 공무원이 데소스라는 말씀 아 좋습니다.
화자 1
17:08
근데 이런 이야기 하면 안 되는데 진도 넣었는데 이거 괜히 그런 이야기 나와 예 자 근데 이런 관계 데이터베이스를 만드는 데 재약 사항이 조금 있습니다. 재약사항이 아주 중요한 데거든. 자 이런 릴레이션 하는 거 아니죠. 하나의 테이블을 만드는데 그 특성은 뭐냐면요 자 이거 지켜야 된다는 거죠. 제약 제약 조건을 안 지키면 에러가 터진다는 그 말이거든. 제약사항 자 투플 인제 테이블에서 인제 테이블 쌓고 투플들이 형성되죠. 형들이 이렇게 형성되는데 투플은 주복이 없고 순서가 없습니다. 중복이 중복 일어나면 안 돼 중복성이 중복 예를 들면은 1번에 제이제이치가 있는데, 저 5번에 제이제치가 있으면 안 됩니다. 맞나요? 여러분 한 동네에 자 공무원이 동네에 어 똑같은 데이터가 있으면은 여러분 민원 민원대장의 우리 그 동네 사람들 이름에 일본 배구인데 중복이 되면 안되죠. 그럼 에러잖아요. 그죠 그니까 중복이 되면 안 됩니다. 투플은 중복이 없다.
화자 1
18:06
중복이 될 수는 없고 또는 순서는 괜찮아요. 순서는 뭐 1번이 2번 가도 3번이 오면 그건 상관없는 거예요. 무순서 그러니까 순서는 관계없다. 무순서고 중복은 일어나 있으면 안 됩니다. 중복 어 중복은 허용을 하지 않습니다. 투플의 성질이제 알겠나 당연한 거 속성도 뭡니까? 무슨 순서는 없습니다. 아까 학번이 먼저 오고 이래 여기에 전공의원 먼저 오고 상관없다는 거예요. 그죠 순서는 관계없습니다. 속성은 그리고 속성은 반대로 테이블 내에서 모든 값을 원자값으로 한다. 원자값 하는 게 뭐냐면 어타믹 밸류 해 가지고 최소성입니다. 최소성 최소성 더 이상 3분 되면 안 돼요. 예를 들면 예를 들면 이름을 이름이라는 속성을 다시 쪼갤 수가 없죠 이름은 이름 자체예요. 학번을 학번 자체가 최소성이죠. 즉 원자값 어타믹스틱 어타믹 원자성 그러니까 속성은 뭡니까? 원자값으로 구성돼야 된다는 원자값 아주 기본 값으로 구성돼야 된다는 거죠. 이 원자값은 최소성을 의미합니다.
화자 1
19:06
최소성 그죠 중복이 없다. 이거는 유일성을 유일성 그러니까 투풀은 뭡니까? 유일성과 무슨 수고요. 속성은 말이 어렵네요. 무 순서와 뭐다 최소성을 의미합니다. 속성이 가져야 될 제약사항 조건 되겠나 자 암기해 놓죠 투플은 유일성이죠. 중복에는 유일해야 된다. 한 테이블에 형량의 값은 하나의 데이터는 유일해야 된다. 이 세상에 여러분 2개 존재 모호하잖아요. 복제 인간 제이 제치는 하나밖에 없잖아요. 현실 세계에 J 제치가 2개 있으면 안 되죠. 그 유일성 그다음 순서는 관계없다. 어 속성은 뭡니까? 최소성 더 이상 쪼개 분해되면 안 된다는 그런 말이고 자 키가 중요합니다. 키 이 테이블의 조장은요, 키로 형성되거든. 자 데이터베이스는 여러분 어떻게 하느냐 하면은 이런 테이블들을 수많은 테이블들을 엮어 버립니다. 엮어버려 어 그럼 예를 들면 아까 여기 뭐 있었어요.
화자 1
20:02
학번 이름 전공 여기 있고요. 그럼 여기 또 학번 학번 이름 주민번호 뭐 학번 이름 뭐 출신 고교 출신고교 이렇게 답시다 출신곡 그러면 과거에는 파일은요, 따로따로 저장을 했거든. 디비는 뭡니까? 학번으로 연결해 버립니다. 연결해 버리죠 그럼 이거 하나로 보는 거죠. 하나로 보이죠. 학번만 치면은 그놈의 전공 그놈의 주민번호 그놈의 출신곡 한꺼번에 쫙 나오는 거예요. 이게 디비 아니야. 파일은요, 파일 단위로 여러분 데이터를 관리할 때는 이거 뭐야? 전공 전공 파일 전공 테입을 디자인이 돼요. 전공 파일을 봐야 이 학생의 전공을 알 수가 있고요. 그리고 닫아놓고 그럼 다시 주민번호 파일을 봐야 이 학생의 주민번호를 알 수가 있고 또 닫아놓고 그리고 출신 고등학교 이 파일을 봐야 알 수 있었어요. 이래 이렇게 놀았거든요. 이제까지는 그렇지만 학번으로 연결해 버리면 이만 학번 쳐버리면 다 나오는 거예요. 쭉 따라나오는 게 데이터베이스예요.
화자 1
21:01
그러다 보니까 파일에서 중복성 이름 이런 중복성이 다 필요 없죠 중복 일어나지 않고 데이터베이스가 아주 좋아지는 거예요. 뭔 말인지 알겠나 데이터베이스가 안 되면 여러분들 입사할 때 학교 증명 뛰려다 다 다녀야 돼요. 제주도 가서 국민학교 졸업장 저기 강원도 태백에 중학교 졸업장 어 저 또 어딥니까 저저 어디고 포항에 가가지고 포항 고등학교 졸업장 다 이래야 되는데 DB화 돼 있다. 카면 바로 한방에 다 모든 데이터를 억세스 할 수 있다는 거죠. 맞나 자 그런데 이런 테이블과 테이블을 조작할 때 뭘 이용한다. 키를 이용한다는 거예요. 키 키 자 각각의 투표를 유일하게 구분할 수 있는 개념 자 식별성과 최소성을 가지고 있어야만 이건 필요 없다. 자 보자 키의 종류를 한번 봅시다 키는 테이블에서 데이타베이스에서 키는요 5가지 그죠 후보키 후보키 캔디데이터 킥 해가지고 CK라 합니다. CK CK 좀 쓰면 좋겠다.
화자 1
21:58
CK 캔디데이트 후보키 후보키는 뭐냐 하면은 하나의 테이블에서 유일성과 최소성을 가지는 모든 속성 유일하고 최소성한 거 즉 예를 들면 여러분 봐봐요. 어 아까 고 이거 얘가 어 요 하나 그려놓고 해야 되겠다. 그러면 할 수 없다. 아까 앞부분 있으면 좋은데 키 설명하기 위해서 그죠 자 학번이 있고 학번이 있고 예를 들면 이름이 있고 예를 들면 주민 번호가 있고요. 주민번호 그다음에 전공이 있고 뭐 전공 요리따 합시다. 요렇게 그럼 학번 001 이름 제이지에이치 주민번호 내 806생이다. 전공 컴퓨터 뭐 이렇게 쭉 있겠죠. 요래 있는 거야. 그러면 후보 키는 뭐냐 현재 속성은 뭐여 학번 속성 이름 속성 주민번호 속성 전공속성이 있는데, 이 개중에 후보키가 뭐냐 하면은 유일하고 최소적인 것 유일성과 최소성을 동시 만족하는 거 뭐예요? 학번은 여러분들 뭐야? 학번이 동일한 학번 하면 안 되죠.
화자 1
22:57
그러니까 학번은 뭐야? CK가 됩니다. 이름 또 이름은요, 이름은 여러분들 CK가 될 수 똑같은 이름이 나올 수 있잖아요. 우리 학과에도 김민정이라는 이름 지금 3명이 있다. 내가 죽겠다. 그래가 추석 보내면 김민정 하면 동시에 예 전화를 하거든. 그래서 내가 큰 민정 중간 적응 아니면 이쁜 민정이 보통 민정 모생김 모생긴 민정 하니 난리 났어 그래가 막 난리 한번 났어요. 이름은 여러분 CK가 될 수가 없지 근데 주민번호는 뭡니까? CK가 되제 후보 키가 됩니다. 왜 주민번호와 똑같은 사람은 없습니다. 있다면 에라예요. 맞나 맞나 어 내가 80 뭐든데 똑같 여서 학번 이름 주민번호 전공 중에 CK는 뭐다 학번과 주민 전공은요, 전공은 똑같은 사람 많잖아. 1번도 컴퓨터 공학 2번 학생은 국어 국문 3번 학생은 또 컴퓨터공학 그렇죠. 그래서 학번 이름 주민번호 전공 중에 CK가 될 수 있는 건 뭐야? 학번과 주민번호다 이 말입니다.
화자 1
23:51
뭔 말인지 알겠나 뭐 그 테이블에서 유일하게 존재하는 최소적인 거 유희성 특히 유희성이죠. 그러니까 유일성을 만족하는 키를 무슨 키 캔디데이터 후보키라 합니다. 대체 암기할 거 없다. 그런 이야기고 그 다음에 기본키는 아주 프라이머리 키가 피케이래요. 피케이 축구 골키퍼가 아니고 프라이머리킥 해 가지고 후보키 중에서 개체 구비를 위해서 선택한 1개의 키 자 이건 무슨 현재 후보 키가 뭐야? 여기서는 학번과 주민번호가 후보키입니다. 그죠 이 후보키는 다 기본키가 될 수가 있는데, 이중에서도 특별히 테이블 어 이런 개체들을 어 구분하는데 이용되고 또는 테이블을 연결하는 데 이용되는 키가 뭐다 PK입니다. 그러면 학번도 피케이가 될 수가 있고 주민번호도 피케이 될 수가 있는데, 이왕이면 짧은 게 좋죠. 그래서 주민번호보다는 학번을 피케이라는 게 좋다는 거예요.
화자 1
24:45
악연하 즉 후보 키 중에서 개체 구별을 위해 선택한 1개의 키 선택 조건은 물론 주민번호 가지고도 여러분 PK를 만들 수가 있는데, 피케이는 간단하고 또 명확하게 개체들을 구별할 수 있는 거 그죠 투풀을 구별할 수 있는 것 대개나 이왕이면 학번을 기본치로 하는 게 좋겠습니다. 됐죠 후보키 자 대책키는 뭐냐 하면 올트네이트 키 해가지고 AK라고 합니다. 대체키는 올트네이터키 AKAK 영어가 뭐냐하면, 후보 키 중에 기본 키를 제외한 단어 현재 학번과 주민번호가 후보 키였죠 이 중에서 기본키를 뭐라 해버렸나 학번으로 해버렸죠 그러면 주민번호가 뭐가 되노 올터네이트 키 데이트의 키 나중에 기본키가 무슨 이상 있으면 지가 기본키로 대체될 수 있는 키 대개나 올터네이트 키 됐습니다.
화자 1
25:33
에이케이 공 마이크 없제 얼마나 쉽게 설명하노 이걸 내한테 강의 안 들으면 외워야 돼 외워도 안되면 손바닥에 들이 서재키고 그 따위 공부는 산업화 시대 공부다 공무원 공부도 그래 하면 안 돼요. 원리 국어든 국사 등 이게 하나의 이야기처럼 쫙 영어도 안 가져요 영어도 여러분들 팔품사 나도 영어하면 팔품사만 가지고 난 다 해버려 품사 시간만 있으면 해주겠는데 그래서 여러분 공부는요 뜨거운 가슴을 암기하면 안 돼 이 봐가 이거 뭐예요? 그러잖아. 자 외래키는요 포링키거든요. FK입니다. FK 포링킥 해가지고 요거는 유의성을 가진 후보 키 중에 다른 릴레이션의 기본키로 사용되는 키 이게 뭐냐 결국은 이런 테이블과 테이블 연결하는데 이 연결하는 데 이용되는 키가 뭐다 포링키입니다. 포링키 근데 이 포링키는요 주로 PK가 많이 돼요. 근데 참조를 할 때 여러분들의 상위에서 밑으로 참조하는 게 아니고 항상 데이터베이스는요 하부에서 위로 하부에서 위로 참조를 합니다.
화자 1
26:34
이래 테이블과 테이블 테이블과 테이블을 연결하는 데 이용되는 기 이 테이블에서 인뮬레이션 테이블 원 테이블 투 테이블 3였을 때 이 테이블에서 이 테이블을 참조하는데 연결하는 데 이용되는 키가 무슨 키다 FK 포링키라니까 여기서 여기서 참조하는데 알겠나 연결하는데 이 포어링키입니다. 왜 이래 키 나무 집을 쑤시는 데 이용되는 키 포링키라고 하는 거죠. 되겠나 이 포링키는 주로 기본 키를 포링키로 많이 삼고요. 참조하는 원리는요 위에서부터 항상 밑에서부터 이게 맞죠. 밑에 사람 위의 사람한테 도와주소서 참조를 해야 되지 밑에 사람이 이렇게 할 수는 없는 거죠. 그죠 위에 사람이 그래서 참조의 원리는 이렇게 이렇게 되는 거예요. 참고로 하나 놓고 자 외래 키 어 후보 키 중에 다른 릴레이션의 기본 키로 사용되는 키 이 말이 좀 어렵네 딱 다른 테이블을 참조하는 데 이용되는 키 그게 좋겠습니다. 자 슈퍼키는 뭐냐면 에스케이죠.
화자 1
27:25
에스케이 텔리콤이 아니고 슈퍼키 에스케이 타임 슈퍼키 투플을 식별하기 위해서 1개 이상의 속성들을 짚어 자 이제까지는 모든 속성을 그죠 내가 만약에 이 테이블을 참조하는데 학번으로 했다. 근데 학번과 이름을 하나로 뭉쳐 가지고 우리가 참조 서로 개체를 구분한다든지 테이블을 구분할 수가 있어요. 이렇게 2개 이상의 속성을 뭉쳐놔 버리는 이런 키가 뭐다 슈퍼키다 이 말입니다. 슈퍼 여러 개 합해졌다. 이 말 슈퍼마켓이다. 이 말입니다. 슈퍼마켓에 가면은 새우깡만 파는 게 아니죠. 요즘 슈퍼마켓보다 더 좋은 건 뭡니까? 하이퍼마켓 댓길이 하는 게 있는데, 나중에 데이터 통신에서 이야기를 해줄게 자 여러분 키 중요합니다. 자 암기하는 건 아니죠. 절대로 C케이 되겠나 피케이 되겠나 AKFKSK 좋습니다. 이 키에 대해서는 출제가 많이 된다. 그래서 여러분 원리만 알면 되는 거고요. 자 이제 몇 분이 지났습니까? 여기에 시간이 예 아유 말이야.
화자 1
28:23
자 또 그다음에 릴레이션 관객 테이블에서 테이블 리레이션에서 또 제약 조건 중요한 사항이 뭐냐 하면 무결위성 인테그리티 무결성 결함이 없어야 됩니다. 이 테이블에 있는 데이라는 결함 오류가 있으면 안 된다는 거예요. 말 그대로 무결성 깨끗해야 되는 깨끗 결함이 없어야지 사람도 그렇고 어 그래서 이 무결성 그 이야기했는데 데이터베이스에 있는 데이터 값의 정확성과 정밀성 유효성을 보장하는 걸 우리 무결성이다. 자 디 데이터베이스 안에 들어있는 데이터는요 정확한 데이터여야 되죠. 가짜 데이터가 들어가면 신세 조직이죠. 그 회사 DB에 정확한 데이터가 들어가면 회사 말아먹어요. 알겠나 그런 이야기 무결성 하는 게 그거고요. 이 무결성의 종류는 뭐 시험은 이제 개체 무결성 정도가 많이 나오죠. 참조 무결성 영역 무결성 그다음에 뭐 고교 무결성도 있는데, 이런 거는 대학원 과정에서 하는 거고, 보통 요 2가지만 알면 됩니다. 자 개체 무결성은 뭐냐하면, 엔티티 인테그리티죠 기본키에 있는 속성은 너잇까 일 수 없다.
화자 1
29:21
자 이게 개체 무결성은 뭐냐 하면은 자 우리 앞에서 보면 기본키죠 기본키 어 기본키 아까 학번 뭐 이름 계속 이거 그림을 그려야 되니까. 이게 학번 이름 아까 뭐였어. 주민번호 어 그다음 전공 이래 있었나 그러면은 객체 무리성은 뭐냐 하면요 자 이 학번을 우린 PK로 정했죠. 아까 PK 오케이 자 모든 데이터가 들어가면 근데 학번에는 데이터가 없으면 안 된다는 이야기요 간혹 주민번호는 몰라도 좋아요. 주민번호는 뭘 모르는 걸 비워놔도 된다는 거예요. 너희값 너희값 넣을 값 하면 없는 값 구분이 안 되는 값 전혀 모르는 값 이게 참 너윗값이거든. 공백값 에 근데 딴 딴 거는 PK 아닌 딴 키들은 마 이름 혹시 모를 수가 있어요. 그렇지만 이거 학번을 PK라 했다. 카면 학번에 있는 데이터들은 반드시 뭐다 갑이 들어가야 된다는 거야. 학번이 없으면 이게 참 좋아 안 되거든. 이 개체 무결성입니다.
화자 1
30:19
알겠나 그래서 이게 뭐냐 피케이 이즈 피케이 이즈 난늘입니다. 난얼 어 알겠나 프라이머리 키는 반드시 너희 값을 너희 값이 되어서는 안 된다는 거죠. 어 프라이머리 이해되나 이 기본키가 값이 없다면은 이 테이블은 이미 개체 무게일성에 위배해야 된다는 겁니다. 개체 무결성 어렵지 않죠 프라이머리 키 낮는 프라이머리 킹이죠. 낮늘 이게 개체 무결성의 구호입니다. 구호 되겠나 자 뜻은 뭐다 기본 키의 속성 기본키는 너윗감을 가지면 개체 무결성에 위배된다는 거예요. 됐습니다. 개체 무결성 좋은 이야기죠 자 참조무결성은요, 자 이게 어려운 건 아니다. 근데 이거 원리 모르면 굉장히 어려운 말이에요. 자 시험에 참조무결성은 표현을 이래 할 수가 있지만요 여러 가지 형태로 표현할 수가 있거든. 릴레이션 다른 테이블은 릴레이션을 참조할 수 없는 왜 이렇게 값을 가질 수 없다. 이게 참 말이 더러운데 이런 말이에요.
화자 1
31:14
이런 말 자 잘 봐 참조 무기성은 어떤 거냐 자 자 이거 데이터 변수는요 강의 잘못 들으면 클라 학번 이름 예를 들면은 여기에 전공 출신 고교 이렇게 합시다. 테이블은 그러면 이제 어 이 학번과 2학번과 학번으로 연결해요. 그럼 이 학번은 이 테이블 원 이거 테이블 투를 합시다. 이 테이블 안에서 피케이고 그럼 이 학번은요, 이 테이블 투에서 피케이면서 이 테이블을 참조하는 데 이용되는 무슨 키가 되네 그놈은 FK 포링키가 되는 거야. 근데 포링키에 자 여기에는 001 002 003이 있는데, 여기에 001 002 004 어 00 뭐 003이요. 004가 있어요. 이러면 안 된다는 거야. 어 여기에 001 002 003이 있으면 여기도 002 004가 있으면 안 된다는 거예요. 어 이게 뭡니까? 참조 무결성에 위배되는 겁니다.
화자 1
32:12
어 그러니까 내가 참조하는 테이블의 학번 데이터와 똑같애야 된다는 거예요. 만약에 다른 값으로 참조할 수 없죠 004가 없는데 뭐 이런 게 참조무결성입니다. 됐나 그래서 이 말은 더럽다 이건 말을 막 하시지만 이런 원리는 이거예요. 그죠 참조무결성이고 되겠나 참조무결성 도메인 무결성은 뭐냐 하면 아까 속성 답들의 집합이 뭐야? 도메인이라 했죠. 도메인 그러면 우리가 테이블에서 도메인의 범위를 정해서 범위 예를 들면은 뭐 성별이랍시다 성별 성별 도메인은 남자 아니면 여자 남자 아니면 여자 이렇게 들어가야 되는데 이 범위예요. 성별이 가질 수 있는 성별이라는 항목을 가지고 여기에 케이가 들어왔다 이건 뭐야? 도메인 무결성 즉 영역무결성에 위배된다. 즉 속성갑들의 범위를 벗어나 버리는 거죠. 이해되나 여기까지는 문제가 잘 안 나오는데 혹시 알아 놓으십시오. 도메인 무결성은 뭐 그 도메인이 가질 수 있는 범위가 있거든요.
화자 1
33:08
범위가 그 범위를 넘어버리면 예를 들면 성별이라는 도메인은 남자 아니면 여자 외에는 없잖아요. 음 여기 이상한 거에 딱 들어와 있으면 이거는 도메인 무결성의 위배된다는 거예요. 그럼 에러다 이 말입니다. 되겠나 자 무결성의 종류 개체무결성 즉 이런 무결성을 위배해 버리면 그 테이블은 이미 가짜 테이블이다. 에라 디비는 잘못된 DB다 이런 이야기죠 어렵게 공부하지 마라 자 너희 값은 알겠죠. 데이터베이스에서 알려지지 않고 모르는 값 해당 없는 부재 정보 부재를 나타내 사용한 특수 데이터를 말한다. 참고로 나눠놓고 됐습니다. 너윗값 없는 값 좋아요. 자 그러면은 아 이제 우리가 이제 테이블에 대한 걸 배웠죠 테이블 이제 특히 논리적 데이터 모델에서 행과 열 테이블로 데이터들을 전부 집단화시킨 게 뭐다 RDB 아니야. 관계형 DB인데 자 그러면 이런 테이블과 테이블을 이제 뭐 인제 결합을 해야 되잖아. 이런 테이블과 테이블 결합하는 거예요. 뭐라 관계 데이타 연산이라 합니다. 연산 알겔라 이런 연산에 의해서 서로 다른 테이블이 이제 연결이 되잖아요.
화자 1
34:08
연결이 알겠어요. 연결 안되면 뭡니까? 파일이죠. 파일 이 파일로 이제까지 처리하는 거예요. 현재 여러분 집에 컴퓨터는요 데이터를 파일 단위로 저장했잖아. 파일로로 저장했으니까 여러분만 사용할 수 있죠. 우리 회사의 모든 데이터는 뭐다 데이타베이스화 돼있거든. 오늘 내 모든 강의도 데이터베이스화 돼 있기 때문에 여러분들이 전국에서 수많은 클라이언트가 수많은 내 제자들이 우리 회사의 데이터베이스를 공동 사용하고 있잖아요. 내 강의가 데이터베이스화 돼있잖아. 그렇죠. 보통 요즘은 회사에서는 데이터를 DB화해 놓고요. 여러분 아직까지 데이터베이스크 조사해보면 전부 다 파일로 되어있거든. 여러분도 데이터베이스 배워 가지고 여러분의 개인 데이타지만 DB화 해버리면 끝나 버리죠 DB화하면 어떻게 되노 여러분 키만 딱 쳐 버리면은 여러분 하드디스크에 있는 모든 정보가 팍 다 한꺼번에 알 수가 있습니다.
화자 1
35:04
에 1번 데이터베이스로 설계 함 해봐 내 강의 듣고 하드디스크를 데이타베이스화 하세요. 그럼 이렇게 해버리면 여러분 어떤 회사에 갔을 때 막강합니다. 공무원이 됐을 때 실력 있는 JJZ한테 강의 듣는 이 공무원들은요, 정말 1등 나라를 건설할 수 있는 공무원이 된다는 거예요. 자 그래서 인제 요렇게 됐는데 요걸 이제 이런 테이블들을 널려있는 파일들을 합해야 되잖아요. 합하는 게 뭐고 연산이죠. 관계 데이터 연산이 됐죠 관계 데이터 연산은 2가지가 있다. 관계 대수연산과 관계 해석연산이 있는데, 여기 쓰지 이 연산은 관계 대수 릴레이션 알제브릭 연산이 있고 관계 해석연산이 있습니다. 관계 해석연산 그러니까 주로 관계대수연산이라면 아니죠. 관계 해석은 거의 이용하지 않죠 관계대수연산을 우리는 절차적 연산이 절차 절차적 연산이라고 관계해석연산은 비절차적 연산이에요.
화자 1
36:02
절차적 프로시저 연산 뭐 관계대수연산은 논리에 의해서 노직에 의해서 이제 테이블들을 인제 합해 나가는 거고, 관계 해석은 질이 질의로써 한다는 거 요 정도만 알아 놓으시면 되고 자 관계대수 연산은 또 일반집합 연산과 순수관계 연산자 가볍게 보면 됩니다. 문제 나오면 1문제 나올 수가 있죠. 자 관계대수는 뭐죠 릴렉션 테이블 조작을 위한 연산의 집합 연산자를 이용하여 표현된다. 절차적 연산 언어보다는 절차적 연산이 좋겠죠. 구체적 연산 일반집합연산자와 순수관계 연산자가 있다. 일반집합연산은 우리가 이미 다 배우는 거죠.
화자 1
36:41
뭐 서로 다른 테이블 합하는 거 합집합 유니온 어 서로 다른 테이블에서 공통 사항을 뽑아내는 거 교집합 미터 캡 그죠 그다음에 서로 다른 테이블에서 에이테이블에서 이 테이블 에이가 있고 이 테이블을 비라면 여기서 빼는 거 그죠 차지파 예 차지파 디퍼런스 차지파 그다음에 교차고분 프로덕션 요렇게 표현을 하죠. 요런 게 일반 집합 연산이고 순수 관계 연산자는 실리트 연산 선택 연산자 실리트 연산 어 프로젝트 연산자 추출연산자 추출연산자 쪼인 연산자는 뭡니까? 합하는 연산이죠. 이렇게 합하는 연산이니까. 쪼인 연산 추출연산이 합하다고 하는 게 뭐야? 이거 막 합친다면 합하는 연산 디비전을 나누는 연산 거죠. 예 그러니까 실렉터 여기 있는데, 하나씩 보자 이 말입니다.
화자 1
37:31
아주 쉬워요 자 직접 한번 보면은 자 일반집합 연산자에서 합집합연산 이거 너무나 쉽죠 유니온 에이라는 알이라는 테이블과 에스라는 테이블 2개의 테이블이 있을 때 이 두 사람을 합하면 어떻게 해요. 유니온 알 유니온 에스 알 유니온 에스 해 버리면 요런 새로운 테이블이 생성되겠죠. 그죠 여기 합하제 항 에이 비고 요 여기 합해지죠 이렇게 됩니다. 바보라도 알겠죠. 바보라도 니은 현상 서로 다른 테이블을 합해 버리는 거 그다음에 교집합 인터셉션 뭡니까? R이라는 테이블과 S라는 테이블을 이제 교집합 해버림이 뭐다 공통사항을 뽑아내죠 공통사항이 뭐고 이 바보 한단 안 하게 에이 하고 뭐고 공통사항이니까. 에이 비죠 ABAB 예 공통사항을 뽑아내는 거 에이 쪽에 에이 비를 뽑아내는 겁니다. 예 좋습니다. 간단하게 보고요.
화자 1
38:26
그 다음에 그다음 한번 보자 그 다음에 넘어가 봐요. 차집하면 빼는 거죠. 이 테이블에서 이 테이블을 빼는 거예요. 뭐 바보 환자는 알겠죠. 빼는 거 R 뭐 아유 에이 비 하면 좋겠는데 뭐 에 뭐 A- 비 하면 이건 원래는 에이 미터 비의 컴프리먼트죠 즉 알 마이너스 S는 알 미터 S의 컴프리먼트예요. 그죠 요런 거 요 이미 우리가 사안수 시간에 다 있는 것 아니야. 더 이상 설명 안 해도 되겠제 지금 몇 분 지났습니까? 아 예 시간이 좋네요. 에 이거 뭐 다 있는 거 아니야. 여러분들 설명을 자 프로덕트 카티션 프로덕트 교차곱이죠. 교차곱 자 교차곱은 전부 다 곱하는 거야. 저 그래서 알 곱하기 에스가 교차곱이다. 교차곱 해 가지고 야 이 다 곱하는 거예요. 이렇게 이렇게 그리고 또 이거 다 곱하는 거예요. 자 이렇게 돼 버리면은 항이 몇 개 나온다 8개 나오겠죠.
화자 1
39:24
8개 1 2 3 4 5 6 8개 요렇게 시험을 딱 이거 다음 교착합의 결과는 여기 이 8개 딱 나오면 답이에요. 이거 어 여러분 이거 다 곱해 봐라 밤이 기니까 밤이 기니까 잠 안 오니까 해봐라 스승이 해줘야 되겠나 할 수 있겠죠. 우리는 원리만 알면 된다. 그죠 교차고 서로 다른 테이블에 데이터들을 곱하는 거고, 사집합은 빼는 거고, 그렇죠. 유닝은 합하는 거고, 교집합 공통 부분을 뽑아내는 거 요런 게 일반 집합 연산자입니다. 연산자 예 그러니까 우리가 컴퓨터를 하다 보니까 여러분 기본 수학 산수가 좀 많이 나오지 그건 어쩔 수 없습니다. 왜 이 컴퓨터를 만든 사람 컴퓨터 학문을 만든 사람들이 전부 다 수학자죠 그죠 최초의 컴퓨터를 설계한 사람이 폰노이마 유명한 수학자죠 그렇죠.
화자 1
40:12
또 최초의 컴퓨터를 만든 모클리와 에커트도 아주 유명한 패실비니아 주립대 수학 교수죠 그래서 이 컴퓨터를 잘하려고 하면은 수학이나 통계나 뭐 이런 기초 학문이 많이 필요한 거제 여러분 뭐 수학 하면 뒷골 땡기잖아. 맞제 병태순자 수학과 왜 이거 한 5분만에 이야기할게 참 우리나라의 학문이라는 게 아주 잘못됐어요. 하 막 내가 강의만 열 받아 가지고 내가 내가 지금 심장병이 내가 이게 무슨 말이냐 하면요 여러분 이거 학교도 배웠더니, 수학이요. 정말 재미있는 과목입니다. 환상적이야 정말 사회생활도 표현하고 이걸 만날 대학 입시 위주로 공부해 놨더만 예를 들어 수학 하면 생각나는 거 아무것도 없잖아. 두드겨 맞는 것밖에 없죠 무조건 특히 우리 때는 더 심했어. 우리 때는 나는요 수학하면 배워본 적이 없습니다. 맞았는 기억밖에 없어요. 이거 이런 소리 하면 우리 특히 고등학교 때 내가 이거 유명한 고등학교 나왔어요.
화자 1
41:09
어 어 고향이 남쪽이지 근데 우리 그때 수학선생님 성함이여 이 성함 밝혀도 되나 모르겠지만, 아유 선생님 죄송합니다. 예 수학선생 성함 이 방식이었습니다. 수학생이 성함 이 방식이었다니까 방식 공시 엿제의 별명 참 잘 가르쳤어요. 근데 내가 개인적으로 존경합니다. 거론하면 안 되는데 우리 또 우리도 순자 중에 딸내미 있는 것 아이가 어 아주 근데 존경하는 선생이에요. 딱 수업시간에 들어올 때예요. 검은 그 출 우리 우리 때는 무식해서 일제시대 교복 입고 했기 때문에 이 검은 출석부 있죠. 출석부 이래가지고 들고 몽디를 들고 들어옵니다. 이 몽디도 보통 납사바니 회초리가 아니고요. 여러분 곤장하는 거 하나 맨날 박달나무로 이렇게 박달나면 곤장 곤장 이게 있어요. 그거 어 그걸 가지고 그걸 헝겁을요 헝겁을 탁 맵니다. 그 때가 묻어서 새카맣습니다. 하도 많이 빼가지고 그거 들고 탁 들어옵니다.
화자 1
42:04
특히 겨울 같은 경우는 그걸 찬물에 적셔가지고, 더 이래 두고 들어오면 물이 툭툭 떨어집니다. 아 심장이 막 툭툭 떨어집니다. 그래 가지고 이 몽둥이를 갖다 놓고요. 인사도 안 받아 탁 인상 그리고 딱 돌아와서 공식을 쫙 적습니다. 적고 난 뒤에 딱 돌아서면서 그 다음부터는 공포의 순간 병태 건너뛰고 너 나와 풀어 어이 순자야 건너뛰고 너 나와 풀어 풀죠 몸을 엎어 5박 이게 설명 없어 무조건 맞아 우리는 하루에 5방씩 안 맞으면 입안의 가치가 매일 맞아야 돼요. 그래서 몇 집이 그렇게 좋습니다. 하루에 5방씩은 풀스윙 이 앞사박이 이거 아니다. 풀스윙 그때 그 시절이다. 지금 시대하고 하면 우리 때 6.25 때 이야기 6.25 때 이야기 그런데 신기한 게요 예 야 정말 제일 좋은 공부는 두드려 패야 됩니다. 수학을 전부 1등 합니다. 우리가 에 하루에 5방씩 맞으니까 진짜 진짜 근데 시험은 잘 쳤는데요. 아는 거 하나도 없어요.
화자 1
43:03
그래서 지금 우리 고등학교 동기들 이렇게 모이면 며칠 전에도 모였는데 우리 총무가요 계산을 잘 모여요. 배운 김 더하기를 잘한대 그럼 아들이 이래 모여 가지고 항상 빨간 약을 먹어요. 와 먹노 카니까 전부 심장약 먹어 왜 고등학교 때 그 아들 심장병 다 걸려버려 애들이 심장병이 다 걸렸는 거야. 막 두들겨 맞으니까 어 근데 심장병에 안 걸린 사람은 내 혼자밖에 없는 거예요. 내 혼자 내가 어떻게 심장병에 안 걸렸느냐 나는 장면이 있었습니다. 왜 여러분 이거 그거 맞는 걸 기다리는 것 정말 고통이야 그거 어차피 다 두들겨 맞거든. 나는 먼저 이제 이 머리를 쓰지 참 내가 머리가 좋았어요. 응 선생님 공식을 딱 쓰죠 공식을 뚝딱 서고 돌아서 가지고 딱 지정하는 순간 질문 있습니다. 뭐야? 이 방식으로 풀까요? 저 방식으로 자기 이름 부르거든. 선생님 이 방식으로 풀까요? 저 방식으로 풀까요? 너 이만 나와 엎어져 무조건 막고 시작합니다. 맞아 그 때리는 사람도 안 때리거든. 여러분 난 그때 행복이 뭔지 알았어.
화자 1
44:01
어 맞고 난 뒤에 그다음 60분 나는 정말 행복 안 와 나는 즐깁니다. 맞는 애들 심장병이 안 걸리는 거야. 딴 애들은 뭐야? 60분 내내 공포의션 언제 내가 맞을까? 이해를 뭐 무슨 말인지 이제 묻는데 문제 같은 게 에 이게 무슨 말인지 잘 모르나 예 아주 재미있는 이야기가 많은데 근데 아주 수학을 잘 가르쳤습니다. 근데요. 내가 대학에 와서 수학을 컴퓨터를 하면서 내가 인제 수학 동화 통해서요. 응 너무너무 재밌는 건데 참 이게 우리가 너무 입시 위주로 공부했기 때문에 암 위주로 공부하기 때문에 수학은 앙위 과목이라 캐 가지고 공식 달달 돼야 문제 풀잖아. 그러니까 우리나라에서 수학 1등인 아를요 적분 문제를 시켜 즉 적분 인테그램 뭐 어디에서 어디까지 어떻고 저떻고 이 문제 풀어 문제는 잘 풀어 답은 딱 맞죠. 답은 딱 맞거든. 그래 학생한테 이 답이 의미가 뭐고 하니 몰라요. 그 학생이 이게 우리나라의 공부 방법입니다. 수학 문제는 잘 푸는데 그 풀어야 답을 뭐고 이거 뭐 몰라요.
화자 1
45:01
적분은 공식은 달달 외워가 열심히 공부하는데 이 적분이 뭔지를 몰라요. 왜 선생님들이 강의를 안 해요. 적분 공식만 써가 시험만 치게 만들거든. 근데 이 적분이요. 진짜 중요하더라니까요? 참 미치겠다. 미치겠어 공부를 이런 식으로 가르켜가 우리 아들을 전부 암기 위주로 만들어 가지고 암기의 강국으로 만드는 이게 적분이 뭐고 여러분들 사의 인테그랄이거든. 우리가 살아가면서 삼각형 동그래미 사각형 이런 면적은 다 구할 수 있거든. 가로 곱하기 세로 뭐 그런데 살다 보이 뭐 땅을 이렇게 살아갔는데 땅이 이리 이따구로 생겼어요. 이 지라 이래 생겼는 거야. 이거 좀 면접을 하고 싶은 면적 도저히 면접할 수가 없습니다. 안을 알 수 있는 방법 이것밖에 없어요. 이건 아주 요렇게 요렇게 작은 사각형으로 나눠요 이 고등학교도 많이 배웠죠 너가 작은 사각형으로 나눴습니다. 이거 나눠 가지고요. 그럼 요것들을 다 가로 곱하기 써 가지고 요거 구해 있는 값들을 합해버리면 거의 99프로 요 면적이 나와요.
화자 1
46:01
그래서 적분이 뭐냐 여기에 인테그라 이게 엑스고 와이라 카면 인테그라 엑스에서 와이까지 분해해라는 거 분 나눠 낳는 걸 즉 쌓아놔는 게 적뿐이야 그래서 인테그랄 발음도 안타 인테그리 저랄하고 이카드만 이게 적뿐이야 그래서 이 면적을 구하기 위해서 이제 공식들이 나오는 거예요. 어 이 말 한마디만 하면 되는데 이 말 한마디만 해놓고, 이제 강의가 아 그래서 이 면접 구할 때 구간 부적분이 있고 그리고 적분 오차가 생기고 이 적분오차들 또 합하면 정확한 값이 나오거든. 이래 강의를 해주고 원리를 뜨거운 가슴으로 강의를 해야 아들 어 공부하고 난 뒤에도 나중에 대학 졸업하고도 저거 집 땅도 이렇게 아는데 이놈의 거 이걸 어 이 뭐 무슨 짓이요. 이거 아들 조합해 가지고 몇 집 우리가 우리나라가 몇 집에 강국이야 이거 만들어 놓고 막 어 무조건 암기 잘해 가지고 시험 치는 놈이 출세하고 말이야. 이런 나라가 돼 이 시대가 그런 시대 아니에요. 이러면 공부를 그래 하면 안 됩니다.
화자 1
47:00
공무원 공부도 니 공부라는 거 내가 배워서 먹어야 되지 미쳐 지랄라 하나요? 공부하게 그렇잖아. 그래서 우리가 내가 조금 지난 옛날 보니까요? 우리가 공부를 중고등학교 때 공부를 딴 걸 했어. 영어요. 12년 동안 해놓고, 바로바로 아이브 보이도 잘 안 되잖아. 기가 막힌 이야기입니다. 기가 막힌 이야기 그걸 가지고 우수 학생을 평가하고, 그러니까 나처럼 개성 있고 이게 막 이런 사람들보다는 착하고 선생님 말 잘 듣는 아들이 성공하구요. 시험 잘 치면 뭐 최고고 이래서는 안 되지 예 그래서 가리키는 사람들 저도 그렇지만요 가리키는 사람들 공부를 많이 해야 됩니다. 그래서 원리를 터득해 가지고 뜨거운 가슴으로 공부를 해야 되는데 처음부터 입시 봐봐라 입시 사이트 들어가 봐 전부 암기다 암기하고 모서리 크고 뭐 이상한 거 전에 봐요. TNT는 터진다 이거 하여 명강사라 캐싸꼬 원리는 하나도 안 가르키고 그래 아들이 공부가 재미가 없잖아. 알아야죠 재미는요 알아야 재미 게임도요 여러분들 이렇게 알아야 재미가 모르면 재미가 하나도 없거든.
화자 1
47:58
뭐든지 지가 알아야 재미가 있는데, 암기하니 뭐가 재밌노 그래 죽을 지경입니다. 인생의 반을 막 아들이고 지옥에서 사는 거예요. 지금 조선시대가 훨씬 낫다 조선시대 에 이런 시대 그걸 재미있게 싹싹 가르치면 얼마나 재밌노 재밌으면 공부하지 마라 그러거든. 그래서 아이 인조이 재미 재미 앞에 따라가면 어딨노 게임이 재밌으니까 밤새도록 게임을 뒤지는 줄도 모르고 게임 하잖아. 그러니까 내 강의도 여러분 재미를 느껴버리면 게임 끝나는 거야. 뭐든지 아 인조이 알겠나 합창하자 좋아요. 그래서 가리키는 사람들이 반성을 많이 해야 됩니다. 공부를 많이 해야 돼요. 선생님 되는 게 중요한 게 아니고 되고 난 뒤에 내 사랑하는 제자를 위해서 진짜 공부를 어 어떻게 하면 이 원리를 지켜야 할까 예 근데 그런 것들이 무너지는 나라가 돼서는 안 된다. 괜히 또 열받았네 예 참 재밌는 이야기가 많은데 다이어트 넘어갑시다 본연은 안하고 자꾸 예 몇 번이 지났습니까? 이 생중계니까 이거 말이에요.
화자 1
48:57
자꾸 시간에 쫓겨 가지고 좋습니다. 이야기 좀 되나 에 아 참 이런 일집을 거의 좋은 이야기가 많은데 그렇죠. 좋습니다. 자 순수관계 연산자는 여러분들 공부를 좀 해야 돼 그죠 일반 집합연산자는 이미 상함수 시간에 수학시간에 두텁게 맞으면서 했기 때문에 됐고요. 자 순수관계 연산자는 자 예를 보자 요런 학생 테이블이 학생 릴레이션이 하나 있습니다. 역시 우리 스탭들이네요. 보자 예 자 실렉트 연산은 뭐냐 선택 조건을 만족하는 리액션의 투플을 선택하는 것으로서 수평적 연산이라 합니다. 즉 어떤 조건을 만족 여 투플 중에 조건을 만족하는 걸 선택하는 거예요. 또 아주 쉽죠 표기 형식은 실렉터 시그마 선택 조건이 있고 테이블 이름이 있어요. 예를 들면 현 이 테이블에서 시그마 실렉터 선택을 하는데 어떻게 점수가 80점인 조건 80점 이상인 학생만 떼내서 새로운 테이블을 만들어라 이 말이거든. 그러면 학생 테이블에서 점수의 속성값이 80점 이상인 거 뭐야?
화자 1
49:53
80점 누고 승우하고 순환이밖에 없네 이 뭐예요? 80점입니다. 예 우리 피디님하고 보조피디님밖에 없네요. 그래서 이 두 사람만 추천해 내는 게 뭐다 실렉트 연산이 쉽지 예 요거 요거 셀렉트 연산 그죠 그러니까 선택의 조건을 만져보는 릴레이션의 투플을 선택하는 것 조건을 만족하는 투플을 선택하는 연산이 뭐다 SILENT 연산 장난이지 뭐 이리 쉬운 걸 암기하나 그래서 다른 말로 수평적인 연산이야 수평 행을 추출하는 거죠. 그래서 SILACT 이렇게 대상은 뭐다 행 즉 튜플 OKOK 요게 문제 나옵니다. 좋습니다. 그 다음에 프로젝트 연산 파이 연산해야죠 이건 추출연산 추출연산이죠. 풀어줘 요거는 선택연산이고 같은 개념 요거는 말 그대로 니네 열행이 아니고 열 즉 어터리뷰터 속성 어터리뷰티를 추출해내는 거예요. 그래서 수직적 연산이다. 이게 수직적인 연산이라고 합니다.
화자 1
50:49
자 한번 보자 표기형식은 파이 추출하라 뭐 어 자 요거 속성 리스트 중에서 추출하는데 테이블 이름 짜 봐봐요. 추출하는데 뭐고 그 테이블에 학생테이블에서 이름과 전공만을 빼내라 이 말입니다. 그러면 학생테이블에서 이름하고 전공만 빼내라 이 말이에요. 빼내면 뭐다 요렇게 되겠죠. 이름하고 전공만 추출되겠죠. 요런 연산이 요런 수직적 연산이 뭐다 파이 추출연산 다른 말로 프로젝트 연산이라 합니다. 됐으니까 아주 쉽다 아주 쉽다 이 말입니다. 그다음에 넘어가 보죠. 참 이 얼매 쉬운 걸 말이야. 조인 연산 짱구 모양 쪼인 연산 2개 이상의 릴레이션 해서 합치는 어떤 조건에 맞춰서 합하는 연산 결합해서 하죠. 그러니까 합한다는 게 결합이지 결합 이 결합을 몰라 가지고 자꾸 합한다. 캐싸꼬 국어 실력이 짧아가지고, 하 참 이래 무식합니다. 결합연산 그래서 인제 요 테이블 테이블 안에 있고 테이블 2개가 있어요.
화자 1
51:44
이 결합에는 또 종류가 이거 뭐 이렇게까지 깊이있게 할 필요는 없는데 이 조인 현산은 또 동일 조인이 있고요. 동일 조인이 있고 자연 쪼인이 있고 이러는데 자 동일 조인은 뭐냐면은 중복을 허용 자 중복 허용 동그래미 중복을 허용하면서 결합시키는 게 동일 조인입니다. 동일한 것도 쪼인 시킨다. 이 말이죠. 동일 조인 연산 해버려라 에 쪼인 연산 해버리면 어떻게 된다. 이 두 놈을 합하는데 전부 다 합해 버리는 겁니다. 합집함하고 똑같애요. 근데 동일한 거도 중복되는 것도 합한다. 이 말이에요. 9801 이 중복되잖아. 이것도 같이 해버리면 9802 에 그래서 쪼인 연산해 버리면 이 2개를 합해 버리면 이렇게 나오죠. 동일한 것도 다 다 합하는 거예요. 합하는 거죠. 1 2 3 4 5개 동일한 것 다 합하는 겁니다. 그러면은 요 2개 테이블을 쪼인 연상해 보는 결과는 이렇게 나오는 겁니다. 자 보면 알겠죠. 자 동일 쪼이는 뭐다 중복을 허용해서 결합하는 것 대체 똑같은 것도 똑같은 것도 결합을 해 버리는 겁니다. 자 좋습니다. 그 다음에 한번 볼까요?
화자 1
52:43
그 다음에 자연 조인 있죠. 자연 쪼인 자 자연 조인은 동일 조인 중복되는 속성은 제거 중복은 제거죠. 아깐 동일은 중복은 여버리고 그래서 고거죠. 그러니까 여기서 아까 중복되는 거 빼버리는 거죠. 아까 결과 중복되는 거 빠졌는 겁니다. 고 보시면 되고요. 자 외부 조인이요. 쪼인션 조인할 상대 뉴레이션 없는 경우 늘 투표로 만들어 결과 릴렉션을 포함한다. 자 2개 테이블에 조인을 하는데 이쪽에 에이는 없고 비엔 있으면요 그거 그대로 같이 합해버리는 건데 여봐 이런 분 너희 값도 포함해 버리는 거죠. 그렇죠. 그래서 너희 값 포함입니다. 이거는 알겠나 요런 걸 외부 조인이라 합니다. 되겠나 근데 아웃조인 아웃조인이라 하고 내추럴 조인이고 그죠 동일조인 예 있고요. 그래서 조인에는 자 동일조인 막 자연 조인 외부 조인이 있더라 그죠 자 그래서 동일 조인은 뭐다 중복을 허용하는 거고, 외부 조인은 중복을 허용하지 않는 거고, 왜 아니 저저 저 자연조인은요, 외부 조인은 뭐다 넣을 값도 조인해 버리는 거죠.
화자 1
53:42
어떤 테이블에 값이 없는 것까지도 너희 값도 포함 넣을값 포함 늘 됐죠 요 단어만 알면은 되겠지 핵심 공약 그죠 길게 공부하지 말자 자 이렇게 조인을 했고 자 디비전 연산은 우리가 앞에서 배운 차집합하고 거의 똑같습니다. 차집합 연산 자 요 말만 알면 돼요. 하나의 테이블에서 조건에 맞는 속성을 선택하여 삭제한 다음 새로운 슈퍼를 구성하는 연산 어떤 조건에 맞는 속성을 빼버리고 A- 비제 그렇게 하는 거예요. 디비전 연산 그래서 디비전 연산 자 그래서 여러분들 시험에는 여기까지 잘 안 나옵니다. 내가 하는 김에 핵심은 내가 잡아줬는 거고요. 자 여러분들 이제 관계 대수 연산에 대해서 말하면 되죠. 관계대수연산에는 이제 그게 우리가 저저 관계 데이터 연산에는 관계 대수연산과 관계 회수가 해석이 있다. 대수연산은 절차적이고 해석은 잘 안 쓰죠 비절차적이고 관계대수 연산에는 뭐가 있다.
화자 1
54:39
일반 집합 연산자가 있고 순수 관계 연산자가 있다. 일반 집합은 여러분 합집합 교집합 차집합 교차고 그죠 그 다음에 순수관계 연산자에는 뭐다 CYLITOR 어 그다음에 프로젝트 조인 뭐 있다. 디비저 됐으니까 자 그럼 관계 해석을 잠깐만 보고 보죠. 시험은 안 나오지만 관계해석 연산은 뭐냐 하면 지리 질의 질문 형태로 절차가 아니고 그냥 툭 던져서 데이터를 참조해 내는 거죠. 지리 형태로 테이블을 정의 비절차적 연산이라고 하고 투플 관계 해석과 도메인 투플 해석식과 도메인 해석식이 있다. 이 관계 해석식은요, 요렇게 결과값의 조건이에요. 그러니까 예를 들면 수강 테이블에서 과목이 뭐 요런 조건이 있으면 뭐 요렇게 표현하는 거죠. 수강 테이블에서 과목이 과목이 C413 코드이고 코드이고 성적이 에이인 학생의 학번을 추출해라 그럼 요 연산에 의해서 고 요 조건에 맞는 학생만 똑탁 튀어나오는 거죠. 요거 투플 그러니까 투플 중심으로 했고 도메인은 뭡니까? 10갑이죠.
화자 1
55:38
투플은 행을 중심으로 요거는 열을 중심으로 역시 같은 원리죠 그죠 그래서 요런 식으로 요런 식으로 요런 표기 방법으로 결과값 어떤 뭐 뽑아보면 요런 조건에 맞는 요런 결과를 뽑아내라 항상 이렇게 집합표의 자료 요 요 조건에 맞는 요 결과를 뽑아내라 이런 식으로 질의 형태로 데이터를 뽑아내는 이런 해석이 관계해석입니다. 그래서 깊이는 몰라도 좋고 두 종류가 있다. 투플 해석 방법이 있고 도메인 해석 방법이 있고 해석식은 요 정도고 그죠 시험은 거의 안 나오는데 가끔 혹시 나오면은 해석식 결과값 조건 요거 있고 종류 튜플과 도메인이 있는 겁니다. 그래서 예제까지 갖다 놨죠 그죠 참조를 하시기 바랍니다. 좋죠. 아주 핵심적으로 데이터베이스 최고의 강의죠 이거 아주 원리 왜 근데 이 데이타베이스는 실무를 안 해보면 이런 강의 모호합니다.
화자 1
56:27
여러분 대한민국 어디에서 강의를 듣더라도 내처럼 이렇게 핵심적으로 강의하는 사람이 원리 모르는 사람 세띠 앞에 책이나 이렇게 먼저 해 가지고 하는 사람은 데이터베이스는 실무를 안 해보면 이런 강의가 나올 수가 없습니다. 그죠 그래서 데이터베이스 여러분 실무에서는 내가 더 환상적으로 또 가르켜 주고요. 실제 데이터베이스 실무를 다루는 사람 DBA 그죠 우리 회사의 모든 테입은 내가 만드니까 DBA가 부족합니다. 여러분들 그래서 요번 기회에 공무원도 좋고 취업도 중요하지만 데이터베이스요 저한테 강의 잘 듣고 한 번 DBA 데이타베이스 어드미니 스테이트로 거듭나 소스 그죠 괜찮은 직업입니다. 앞으로 모든 조직과 모든 기관과 모든 데는 DBA가 없어서 난리다 데이터베이스 어드민센터의 그 위치도 굉장히 높아요. 데이터 시스템을 관리하는 사람이니까. 내가 이거 무대학에 총장보다 더 빼기 좋은 게 누구라 했노 DBA죠 총장은 보내도 그 친구는 못 보내요. 보따리 살 때마다 월급이 올라갑니다. 근무 태도 불량하고 아무도 이야기 못 합니다.
화자 1
57:26
가입질을 못 합니다. 갈 바쁘면 갚으면 큰일 나거든. 그래서 그게 바로 기술입니다. 그죠 우리나라도 전 세계에 따돌림을 받지 않으면 바로 기술 강국이 돼야 되지 클리닉 많이 하는 인터넷 강국이 돼서는 안되고 고스톱만 치고 채팅 많이 하고 메신저 많이 하는 그런 나라가 아니고 정말 JGH에 대한 강의를 듣고 기술강국 이런 DBA 프로그램머 그죠 이 기술자가 양성이 돼서 휴머니어를 실천하는 게 JZ 강의에 마지막 목표다 알겠나 그래서 우리 사이트에 보면 여러분들 기술 파트 자격증 강의도 있고 영어 강의도 왜 해외 가면 영어는 돼야 되지 IMFO 정도는 돼야 되지 알겠어요. 조금 더 기본이 체인지 체인지 이래서는 안 된다. 이 이야기예요. 그래서 영어 그리고 다른 여러 가지 많은 내용을 가지고 휴머니어를 여러분 실천하자는 그 말씀 좋습니다. 그죠 요렇게 해서 또 오늘 강의 거의 환상적으로 데이터베이스 모델링과 관계 데이터 모델까지 정리를 했습니다. 출제는 많이 됩니다. 요정도를 하고 이제 아 오늘 여러분 또 2시간 동안 방구석에서 수고했나 좋습니다. 좋고요.
화자 1
58:26
자 오늘도 여러분들 고생하셨고 특히 내일 뜨거운 가슴으로 만나 뵙기를 약속드리며 오늘은 여기까지 하겠습니다.
'전진하(JJH)교수님의 강의 > 정보처리기사 산업기사' 카테고리의 다른 글
[정보처리] 데이터베이스 - 관계데이터베이스언어2 (0) | 2024.08.05 |
---|---|
[정보처리] 데이터베이스 - 관계데이터베이스언어1 (0) | 2024.08.05 |
[정보처리] 데이터베이스 - 데이터모델링 (0) | 2024.08.05 |
[정보처리] 데이터베이스 - 데이터베이스시스템의개요 (0) | 2024.08.05 |
[정보처리] 데이터베이스 - 자료구조4 (0) | 2024.07.09 |
1. 데이터 모델링
1-1. 데이터베이스 정의
- 데이터베이스는 거대한 데이터 집합이며, 공용 데이터임
- 데이터베이스는 통합, 저장, 공용, 운영의 4가지 특징을 가짐
- 과거 파일 단위로 데이터를 저장했지만, 파일의 중복성과 종속성이 문제점이 있음
- 데이터베이스는 계층형 DB, 그래프 개념을 이용한 망디비 네트워크 DB, 관계형 DB를 포함함
- (중요) 가장 널리 이용되고 보편적으로 이용되는 DB 모델은 관계형 DB임
1-2. 데이터 모델링 개요
- 데이터 모델링은 현실 세계의 데이터를 컴퓨터에 저장하기 위한 과정임
- 현실 세계의 데이터를 개념화하여 데이터베이스 모델로 만드는 과정을 정보 모델링이라 함
- 정보 모델링에 이용되는 데이터베이스 도구는 ERP, AR, GPL 등임
- (중요) 데이터 모델링의 결과물인 RDB(관계형 DB)는 가장 널리 이용되고 보편적으로 이용되는 DB 모델임
1-3. 데이터 모델링 과정
- 데이터 모델링은 현실 세계의 데이터를 개념화하는 과정임
- 현실 세계의 데이터를 RDB 모델로 모델링하는 과정을 통해 데이터베이스화됨
- RDB 모델링은 데이터의 속성과 관계를 도식화하는 것임
- 데이터 모델링의 결과물인 RDB는 데이터베이스의 기본이 됨
- 데이터 모델링은 데이터 관리자에게 중요한 직업임
2. 데이터 모델링과 데이타베이스 구현
2-1. 데이터 모델링과 논리적 설계
- 데이터 모델링은 개념적 설계를 논리적 설계로 전환하는 과정임
- (중요) 데이터 모델링은 RDB, ODB 등 다양한 방식으로 표현될 수 있음
- 데이터 모델링은 테이블화 과정을 통해 이루어짐
- 이 데이터 모델링을 통해 실제 DB와 데이타베이스의 구현이 이루어짐
2-2. 물리적 설계와 데이터베이스 구현
- 물리적 설계는 실제 데이터베이스를 구현하는 과정임
- 데이터베이스의 구현은 하드디스크 DB화를 통해 이루어짐
- (중요) 이 과정을 통해 통합된 데이터와 저장된 데이터, 공동 사용할 수 있는 데이터가 생성됨
- 데이터 모델링을 묻는 문제는 정보 모델링에 대비되어 중요함
2-3. 유비쿼터스 시대의 데이터베이스
- 유비쿼터스 시대는 모든 객체가 데이터 중심으로 움직이는 시대임
- 이 시대에서는 데이터베이스가 현실 세계와 가상 세계를 연결함
- 모든 사물과 사람은 하나의 객체로 인식되며, 각각의 객체가 데이터로 표현됨
- 유비쿼터스는 홈 네트워크부터 가상세계로 들어갈 수 있는 전자세계를 의미함
3. 데이터베이스 설계
3-1. 데이터 베이스 설계 과정
- 데이터베이스 설계는 현실 세계의 업무 분석과 요구 조건 분석을 통해 시작함
- (중요) 데이터 분석을 통해 데이터베이스의 구현 과정인 개념적 설계 단계에 들어감
- 개념적 설계 단계에서는 RDB(관계형 DB)를 이용하여 데이터 관계를 도표화함
- 도표화된 데이터 관계를 실제 데이터베이스 구현에 적용하는 과정을 데이터 모델링이라 함
- 데이터 모델링은 하드디스크에 저장하는 물리적 설계와 동일함
3-2. 개념적 설계와 데이터 모델링
- 개념적 설계 단계에서는 개체와 속성, 관계를 분석하여 데이터 모델링 과정을 진행함
- 데이터 모델링 과정에서는 RDB를 이용하여 데이터 관계를 도표화함
- 데이터 관계를 도표화하는 도구 중 하나가 'E-R-D-가칭 다이어그램'임
- (중요) RDB는 개념적 설계의 도구이며, 데이터 모델링은 논리적 설계 과정임
- 논리적 설계는 물리적 설계를 통해 실제 DB를 구현하는 과정임
3-3. 논리적 설계와 운영
- 논리적 설계 단계에서는 개념적 설계를 기반으로 RDB를 이용하여 논리적 설계를 진행함
- 논리적 설계에서는 개체와 속성, 관계를 더욱 체계적으로 표현함
- 물리적 설계는 실제 컴퓨터 세계를 저장하고 운영하는 과정임
- 분석, 설계, 구현, 운영의 과정을 통해 데이터베이스를 완성함
- 프로그램화에서는 코딩을 통해 데이터베이스를 구현함
4. 데이터베이스의 모델링
4-1. 데이터베이스 구성 요소
- 데이터베이스의 구성 요소는 '번호', '주소', '계좌' 등 여러 항목으로 이루어짐
- 이들 간의 관계는 '예금관계'와 같이 명확한 규칙에 따라 연결되어야 함
- 이러한 데이터 관계를 도식화한 것이 'E-R-D 모델링'임
- 데이터베이스 모델링에는 '개념적 설계'와 '논리적 설계'가 있음
- '개념적 설계'는 현실 세계의 데이터를 개념적 다이어그램으로 표현하는 것임
4-2. 논리적 데이터 모델링
- '논리적 데이터 모델링'은 논리적 설계를 통해 실제 DB로 구현하는 과정임
- 이 과정은 스키마 설계로, 데이터베이스의 스키마를 정규화하고, 정규화된 스키마를 바탕으로 DB를 생성함
- 이렇게 생성된 DB를 '논리적 DB'라고 부름
- 데이터베이스 모델링 단계에서 사용되는 소프트웨어의 특성과 효율적인 DB 관리를 위한 데이터 분석이 중요함
- (중요) DB 개체를 정의하고, 정규화된 DB 스키마를 구축하는 것이 중요함
4-3. 데이터 모델링의 종류
- 데이터 모델링에는 '개념적 데이터 모델링'과 '관계 데이터 모델링'이 있음
- '개념적 데이터 모델링'은 현실 세계의 데이터를 논리적 다이어그램으로 표현하는 것임
- '관계 데이터 모델링'은 데이터의 관계를 표현할 때 사용하는 RDB, RDL, R다 등 표준화된 용어임
- 가장 널리 사용되는 것은 '관계 데이터 모델링'임
- DB 스키마를 명세화하는 것이 중요하며, 사용자 요구사항을 충족해야 함
5. 데이터베이스 스키마와 개체 관계도 이해
5-1. 외부 스키마와 개념 스키마
- 사용자 관점에서 볼 수 있는 데이터베이스를 외부 스키마라 함
- 사용자 뷰(서브스키마)와 개념 스키마(개념 스키마/논리 스키마)로 나뉨
- (중요) 사용자가 볼 수 있는 테이블이 외부 스키마에 속함
- (중요) 강의 테이블의 논리회로 누르면 논리회로가 나타남
5-2. 내부 스키마와 데이터 모델링
- 컴퓨터에 저장된 데이터가 일과형으로 저장되는 것을 내부 스키마라 함
- 데이터베이스 관리 시스템을 이용하여 논리 스키마를 컴퓨터 내부에 저장하는 것이 내부 스키마
- (중요) 3종류(외부 스키마, 개념 스키마, 내부 스키마)로 나뉨
- 데이터 모델링은 외부 스키마와 개념 스키마를 바탕으로 함
5-3. 개체 관계도의 개념과 표기 기호
- 개체 관계도는 개체와 개체 간의 관계를 도표와 다이아그램화하는 방법
- 피터 챔피언에 의해 제안되었으며, 현실 세계를 개념적으로 표현함
- 개체 릴레이션(연결), 속성(데이터), 관계(선), 기본 키(명시하는 개체)로 구성
- (중요) 네모는 개체, 타원형은 개체가 가지는 속성을 표현함
6. 데이터 모델링
6-1. 데이터 모델링 개요
- 데이터 모델링은 데이터베이스를 통한 정보 관리 및 표현 기술임
- 데이터베이스는 개체, 속성, 관계로 이루어짐
- 개체는 데이터의 주체, 속성은 데이터의 특성, 관계는 개체 간의 의존성 및 영향을 의미함
- 데이터 모델링의 목표는 통합된 데이터 관리 시스템을 구축하는 것임
- 데이터 모델링의 도구는 통계, 알고리즘, 그래프, 다이어그램 등이 있음
6-2. 데이터 다이어그램
- 데이터 다이어그램은 개체와 속성, 관계를 표현한 도식임
- 개체-속성-관계 형태로 데이터의 관계를 시각화함
- (중요) 데이터 다이어그램은 현실 세계의 복잡한 데이터를 관리하고 이해하는 데 도움을 줌
- 다이어그램을 통해 개체 간의 연관성과 관계 유형을 파악할 수 있음
- 관계 유형은 1대1, 1대N, N대N으로 나뉨
6-3. 개념적 설계
- 개념적 설계는 데이터 모델링의 한 과정으로, 현실 세계의 데이터를 관리하고 이해하는 기술임
- 개념적 설계의 도구는 통계, 알고리즘, 그래프, 다이어그램 등이 있음
- 이론적인 내용과 실무에서 데이터를 활용하는 방법을 함께 공부해야 함
- 문제를 풀기 위해서는 개념적 설계를 통해 데이터를 관리하고, 현실 세계의 데이터를 다이어그램으로 표현해야 함
- 이알 다이어그램은 개념적 설계의 도구이며, 실제 데이터를 다이어그램으로 만들어 문제를 해결하는 방법임
화자 1
00:10
자 전국에 계시는 우리 M2M 생방송 안방 가족 여러분 오늘 또 뜨거운 가슴으로 감동의 수업을 함께 하겠습니다. 아 예 여러분 좋습니다. 아 예 좋아요. 자 현재 우리가 데이터베이스 하고 있습니다. 그죠 자료 구조 예 우리가 6에서 7문제 나오는 거 환상적으로 정했고 이제 데이터베이스 그래서 우리가 지난 시간에 데이터베이스의 총괄적인 이야기 개요를 했다. 그죠 그래서 한번 정리하면은 자 오늘날 데이터베이스는 뭡니까? 거대한 데이터의 집합입니다.
화자 1
00:47
즉 통합된 데이타 데이타 통합된 데이터고 이제 큰 하드디스크나 테이프에 저장된 데이타 모든 조직에 또 모든 데이터를 저장한 저장된 데이터고 그리고 이 데이타베이스 안에 들어있는 데이터 항상 살아있더라 항상 운영되더라 고정되어 있는 게 아니고 살아 움직이더라 운영된 데이터요 그리고 이 데이터베이스에는요 여러 사람이 공동으로 사용하더라 공용의 데이터다 이 4가지가 통합 저장 공용 뭡니까? 운영 이 4가지가 데이터베이스의 정의제 맞나 그래서 과거에는 우리가 나의 데이터를 컴퓨터에 저장할 때는 파일 단위로 저장했죠. 그래서 우리가 자료 구조는 파일 구조를 배웠는 거예요. 그죠 자 정리한다. 그래서 이 어 자료 구조는 뭡니까?
화자 1
01:39
관련 있는 데이터들을 이제 집단화시킨다는 리스트 리스트죠 선정 리스트 비선형 리스트 이 리스트의 이름을 붙이면 파일이 이제 과거에는 이 네트웍이 활성화되지 않고 그죠 1998년 이전에는요 우리가 전부 다 컴퓨터의 파일 단위로 데이터를 저장했습니다. 리스트 단위로 그렇죠. 그래서 이 파일을 컴퓨터에 저장할 수도 있고 아예 싸음으로 저장할 수도 있고 또 직접 파일 댐으로 저장할 수 있어요. 이제 파일 구조에서 해서 배웠죠 그죠 근데 이 파일로 데이터를 저장하다 보니까 어떤 문제점 많습니다. 파일의 중복성 똑같은 놈들이 계속 저장되더라 파일의 중복성과 또 파일의 종속성이 발생되더라 그래서 이 중복성과 종속성을 없애고 이런 파일들을 모아놓은 거대한 데이터의 집단이 뭐다 바로 우리가 배우고 있는 데이타 베이스다 개념을 잘 잡아야 됩니다.
화자 1
02:34
데이터베이스는 원리만 알면은 데이터베이스는 만점이야 만점 알겠나 원리 모르면 안 돼요. 그래서 인제 이 데이타베이스를 우리가 배우고 있습니다. 그죠 근데 이런 데이터베이스 데이터베이스는 이제 뭡니까? 모델 데이타베이스를 만드는 방법은 몇 가지고 3가지다 그죠 우리가 아 파일도 파일도 파일의 모델이 몇 가지요 3가지였습니다. 쌈파일 아이산파일 직접 파일 대신 이 데이터베이스도 이제 뭡니까? 모델이 원래는 4가지인데 크게 3가지를 많이 이야기하죠. 뭐요 계층형 DB 데이타베이스에 있는 데이터들을 집단화할 때 계층 추리 구조로 데이터들을 엮어 나가는 계층형 DB HDB라 하죠. 그리고 또 뭡니까? 우리가 뭐 앞에서 배운 그래프 개념으로 데이터를 만들어 나가는 걸 망디비 네트워크 디비라 하지 그렇죠. 오케이 그래서 우리는 망디비 NDB 이라고 했습니다.
화자 1
03:30
어 중요했지 그리고 가장 널리 이용되고 가장 보편적으로 이용되는 게 뭐다 RDB 우리 행과 연료소 모든 데이터를 테이블 테이블을 묶어서 만든 데이터베이스가 뭐다 RDB 관계형 DB라 하지 그죠 그리고 또 객체 지향 DB도 있다. 그죠 근데 가장 늘 이용되는 게 RDBDA의 말입니다. 됐나 그래서 우리가 데이터를 이제 모델화 이렇게 하는 거고, 지난 시간에 이런 데이터베이스를 구성하는 구성 요소들 뭐 데이터는 항상 개체 엔티티 다른 말로 객체 또는 하나의 데이터 이 객체와 또는 뭡니까? 이 객체들은 모든 더러운 성질 뭐 어트리뷰터 속성을 가지고 있죠. 그죠 그래서 개체와 속성과 또는 개체와 개체 간의 관계가 있는 거죠. 관계 릴레이션 그죠 관계 관계는 개체관계와 속성 관계가 있다고 했는 거예요. 자 지난 시간에 이런 걸 정리한다. 그렇게 구성되어있고, 저 이런 인제 데이터베이스를 이제 우리 사람 측면에서 보면 뭡니까?
화자 1
04:25
일반 어 데이터베이스의 데이터를 공용하는 일반 유저들이 있고요. 프로그램머들이 있고 그다음에 실제 데이터베이스를 전문으로 다루는 사람이 뭐다 DBA 데이터베이스 어드미니스트레이트 맞나요? 그래서 데이터베이스 관리자도 이제 중요한 직업이다. 그래서 여러분들 이 DB 공부 요번 기회를 틈타 가지고 데이터베이스 전문가로 탄생할 수 있는 기회가 됐소스 이런 이야기도 했습니다. 지난 시간에 개괄적인 이야기를 하고 오늘부터 조금 구체적으로 오늘은 데이타 모델링 자베이스를 어떻게 모델로 할까 모델로 할까 모델링으로 들어가 봅니다. 좋습니다. 자 1편의 이야기처럼 나오고 있다. 자 데이타모델링 여기서도 문제 나올 거는 빤하다 봅시다 데이타 모델의 정의는 뭐냐 이 어려운 이야기 다 치우구요. 실제 이제 우리가 현실 세계에 수많은 데이터들이 있죠.
화자 1
05:23
현실 세계의 데이터들 현실 세계는 뭡니까? 리얼 워더 이 데이터들의 집합이요. 다른 말로 오브젝트 객체들이 모여져 또는 우리가 DBS NTT 다 같은 말이다. 엔티티 또는 오브젝트 어 개체 데이터 엘리먼트 요소 같은 말이에요. 그다음에 뭐 에이텀 뭐 같은 말이죠. 근데 이런 현실 세계는 이런 작은 데이터들의 집합이잖아요. 그죠 이거 분필도 데이터고 나도 데이타고 어 카메라도 데이타고 순자도 데이타고 이런 데이터들이 모여가지고 뭡니까? 하나의 현실 세계를 이루는 거야. 맞나 어 이 세계가 다 그리 돌아가거든. 또 이런 데이터들은 이 엔티티들은 전부 다 뭘 가지고 있노 속성 응 우리 순자도 성질 있죠. 어 성관있제 나도 성격이 있고 이 분필도 아 이 속성이 있습니다. 뭐 흰색이라든지. 선자 속성이 다 있는 거예요. 그죠 그래 현실 세계 이런 데이터의 집합이에요.
화자 1
06:21
자 이놈을 어떻게 이제 컴퓨터 세계 컴퓨터 1과 0밖에 모르는 이런 컴퓨터의 포팅 표현할 것인가? 이게 데이타 모델링이다. 데이타 모델링이다. 그러니까 현실 세계에서 일단은 이놈을 어 이런 데이터들을 1과 0의 집합인 컴퓨터 세계에 데이타로 집단화시키기 위해서는 그죠 정보 모델링 과정을 먼저 거쳐요 정보 모델링 현실 세계의 아주 카오스한 데이터들을 개념적 설계를 해야 되거든요. 개념세계로 표현해야 돼요. 이 현실세계 실제 데이터를 개념색으로 어떤 도구로 표현할 것인가? 이게 정보 MODELING이야 그래서 정보 MODELING을 하는데 가장 많이 이용되는 게 ER DIARGRAM 시험에 많이 나오죠. NTP 릴레이션 다이아그램 있습니다. 곧 배우겠습니다. 요게 시험 문제 나오죠.
화자 1
07:11
정보 MODELING의 도구라 할까 도구 정보 MODELING은 뭐고 현실세계 이 데이터와 데이터의 관계 또는 이 데이터가 가진 속성들을 이제 뭡니까? 모델링 모델링하는 걸 원한다. 정보모델링이라 한다니까 정보모델링 이 정보 모델링에 이용되는 데이터베이스 도구가 뭐다 엔티티 릴레이션 다이그램 ER DIARG이야 시험은 요게 나오는 거야. 알겠어요. 그럼 ER DIARGRAG으로 이 개념 세계로 현실 세계의 데이터들을 이제 뒤에 하겠습니다마는 이알 다이어그라면서 개체는 네모 안으로 표현합니다. 개체 개체 여름 학생이라는 개체가 있다. 어 그러면 이 학생은 속성들을 가지고 있습니다. 학생들은 속성들이 있죠. 속성 어떤 속성들이 있는 거야. 어 그럼 이런 개체와 개체가 가지고 있는 속성 또는 이런 개체와 개체와 관계가 있는 거죠. 관계 관계 뭐 교수다 이 교수도 속성을 가지고 있죠.
화자 1
08:06
에 요런 현실 세계의 데이터 개최 그리고 속성들 개최와 개최의 관계 속성과의 속성과 관계를 이제 뭡니까? 도표 도식화한 과정을 뭐다 요게 개념적 설계죠 즉 정보 모델링입니다. 정보 모델링 알겠나 이 정보 모델링으로 이렇게 이 뭐 다이아그램화 해야 돼요. 그래서 여기서 많이 이용되는 게 ER DIARGRAM입니다. 정보 MODELING 하는 걸 우리는 출제자는 묻고 싶다는 거야. 어 출제자 입장에서 공부를 하는 거제 그래서 요렇게 표현되면요 자 데이터 모델링은 어떤 거냐 하면은 요 개념 설계를 현재 이제 실제 모델화해야 된다. 모델하우스 만들어야 된다는 거야. 이제 이 데이터 모델링은 개념적 설계를 이제 데이타 어 논리적 설계로 이 데이터 모델은 이제 정보 모델링에서 이거 설계하는 걸 개념적 개념이에요.
화자 1
08:58
개념 컨셉션 어 컨셉셜 디자인 개념적 설계를 하고 이 개념적 설계 개념 요렇게 돼 있는 놈을 이제 데이터 모델로 하는 걸 우리는 논리적 설계를 합니다. 논리적 설계 논리적 설계를 한꺼번에 다하죠. 이 데이타 모델링은 이제 이놈을 이제 실제 이게 뭐냐 이거예요. 우리 앞에서 배운 HDB로 표현할 것인가? 계층으로 이걸 표현할 것인가? 또는 뭐고 NDB로 할 것인가? RDB로 할 것인가? 또는 오브젝트 ODB로 할 것인가인데 가장 늘 이용되는 게 뭐다 RDB다 이 말입니다. 그죠 그래서 요놈을 RDB RDB는 어 이런 게이체와 게이츠의 관계 속성들을 전부 다 뭐 테이블화해서 표현하는 거지 테이블화 어 그래서 요놈을 테이블화 하는 과정 요걸 데이터 모델링이라는 거야. 현실적으로 이야기한다. 이 데이터 모델링을 하는 게 이게 논리적 설계예요.
화자 1
09:57
논리적 설계 정보 MODELING이 뭐다 개념적 설계고 그럼 이렇게 표현이 딱 데이터들을 다 집어넣으면 요놈은 뭐다 실제 컴퓨터에 1과 0으로 물리적으로 데이타를 여기 인제 DB 데이타 구조와 또는 데이타베이스 구현이죠. 그죠 실제 구현 데이타베이스 실제 구현하는 과정을 우리는 뭐다 물리적 설계라 합니다. 물리적 설계 물리적 설계를 한다. 자 요 그림 하나 자 요번 챕터에서는 요 과정에 대해서 뭐한다. 문제가 나온다 이 말이야. 알려나 그럼 실제 컴퓨터에서 데이타베이스로 구현이 되겠죠. 구현 구현이 돼 가지고 하드디스크의 DB화되어 가지고 이 데이타베이스 실제 일과 영문을 물리적으로 표현돼서 이놈이 뭡니까? 통합된 데이터요 그다음에 저장된 데이타요 공동 사용할 수 있는 공용어의 데이터요 항상 이 안에 있는 데이터는 업데이터 수정됐다가 새로운 게 들어갔다가 나갔다가 뭡니까?
화자 1
10:55
운영되는 데이터로 돼 가지고 어 여러분들이 아무 불편함 없이 현실 세계에서 이 모델과 DB화 돼 있는 데이터들을 조작하고 운영하고 통합하고 공동 사용할 수 있도록 거대한 데이타의 집단으로 탄생된다는 이런 이야기야 응 그니까 정보처리 기사에서는 이걸 묻는 거죠. 정보 모델링 데이타 모델링을 묻는 겁니다. 자 이해되나 아 이거 다 치워뿌고 이런 말은 개념이에요. 개념 그래서 요게 바로 문제가 나온다는 거예요. 이야기 다 끝났어 요번 시간 끝이야 이거 자 다시 한 번 정리하자 자 여러분 현실 세계에는 수많은 데이터들이 모여서 현실 세계를 이루자 데이터들의 집단 아니야. 여러분 나 모니터 의자 어어 유비쿼터스로 가는 겁니다.
화자 1
11:43
유비쿼터 써 앞으로 세상은 여러분 잘 봐라 내가 티브이 특강 유비쿼터 특강 해도 저 여러분한테 깨그품 물고 이야기했지만, 여러분들 블루오션 세상이 어떻게 변하는지를 미리 알고 반 발짝 빨리 움직여줘야 성공한디 요즘 성공은 정보다 과거에 여러분 성공은 돈이죠. 어 많이많이 뭐니뭐니 해도 많이 나가는 그런 게코로 옛날 이야기입니다. 요즘은 뭡니까? 더 인포메이션 이즈 아닙니다. 정보가 돈이고 콘텐츠 이즈만 입니다. 미리 알아야 되는 거요 어 옛날은요, 이게 무식하게 몸으로 떼왔지만 요즘은요, 여러분들 가는 길 어 세상이 어떻게 변한다. 바로 한 치 앞판 내다볼 수 있는 게 있으면은 성공을 하는 거예요.
화자 1
12:30
응 그러니까 이 JGH 강의에는 성공강의야 반발짝 항상 여러분들 내가 강의하고 나면요 신문하고 텔레비전이고 내 강의 듣고 항상 보도 IT 쪽은 보도를 낸다니까 그래서 우리 여 스탭들은 이상합니다. 사장님 이야기 딱 하고 난 뒤에 몇 달 있다가 신문이 나오는 거야. 그래서 내가 유비쿼터스 특강을요 저는요 2004년부터 했습니다. 그 당시에 유비쿼터스 가니까 먹는 긴가 하고 나를 이상하게 보는데 이제는 현실화 돼 가죠 어 예를 들면 이게 무슨 앞으로는요 블루오션 블루오션 쪽빛 바다에서 움직이게 되지 똥물 네드 오션에서 움직이면 안 돼 그래서 이 강의를 통해서 여러분들 데이터베이스를 통해서 이게 무슨 말이냐 앞으로 세상은요, 객체 중심입니다.
화자 1
13:14
과거의 산업화 시대 또 지금은요, 국가 중심이고 조직 중심이고 사회 중심이지만 앞으로 세상은 객체지향이라니까 오버젝트 모든 하나하나 개인이 소중하고 하나의 물건이 소중하고 하나의 데이터가 소중하다니까 그러니까 이런 객체들이 중심이 돼서 움직이는 세상이 유비쿼터스야 실은 유비쿼터스입니다. 객체 중심이라니까 지금은요, 이게 참 사회학 이건 엘빈 토플러트 이런 이야기 뭐예요? JJH만이 할 수 있는 이야기입니다. 지금은요, 국가 중심이고 사회 중심이고 음 컴퓨터 시스템을 구성하더라도 국가 단위로 사회의 단위로 회사 단위로 하죠. 유비 코드 시대는요 현재 어떻게 하느냐 이 현실 세계와 가상세계가 하나가 되는 거죠. 에 여기 집중적인 문제는 안 나오지만 데이터베이스가 그런 이야기들을 하기 시작합니다.
화자 1
14:07
에 뭔 말인지 알겠는데 앞으로는 유비쿼터스 슬리건이 뭐고 어 애니타임 애니플레이스 애니 온 더 디바이스거든. 어떤 시간이든 어떤 장소든 어떤 장비로든 내 위주로 모든 걸 만들어 나가는 게 유비쿼터스야 과거에는요 이 강의 듣더라도요 내가 강사한테 맞춰야 되거든. 학원에 맞춰야 되고 학교에 맞춰야 사회 중심 아니야. 기관중심 아니야. 장소는 뭡니까? 나는 집에서 디그즈가 수업하고 싶은데 어 디그즈가 수업하고 싶은데 학교라는 조직에 가야 되는 거고, 맞나요? 이렇게 전부 다 기관 중심이고 사회중심이었어요. 그래서 지금은요, 인터넷 자 봐 지금 데이타베이스가 돼 있기 때문에 여러분 중심이잖아. 이 강의 여러분 중심 아이가 우리 순자 니 내 강의 듣고 싶으면 새벽에 눌러와도 강의 듣고 집에서 듣던 중국에 있던 제주도에서 뭐 애인하고 그 놀러 가서 수업듣든 전부 여름을 중심으로 가는 겁니다. 자 이게 세상이 변화하는 거거든.
화자 1
15:06
이런 세계가 실은 유비쿼터스의 개념이야 어 그래서 가는 곳곳마다 컴퓨터와 네트웍이 존재하는 세상 공기처럼 공기는 여러분 애니타임 애니플레이스 하면 가는 곳곳마다 공기가 다 있잖아. 그죠 이제는 유비쿼터스에서 이 컴퓨터의 개념은 뭐냐 가는 곳곳마다 모든 객체의 컴퓨터와 네트워크가 들어간다는 거야. 어 그래서 이제 전자세계로 가상 세계로 들어갈 때 여러분 그죠 지금은 컴퓨터를 찾아가야 되고 근데 이 컴퓨터 인터넷으로 연결되고 컴퓨터를 치고 인터넷을 클릭해야만이 전자세계 가상세계로 들어가지만 유비쿼터 시세는 아니요. 아무 데나 모든 객체가 컴퓨터의 칩과 IP가 부여돼 가지고 가는 곳곳마다 어 그게 있는 거야. 이거 여러분 냉장고 앞으로는요 유비쿼터스는요 홈 네트워크부터 오거든.
화자 1
15:57
어 이렇게 전자제품의 컴퓨터 기능이 들어가는 전자제품이 뭐다 정보 가전이란다 참고로 정보가전 냉장고에 컴퓨터 칩이 들어가고 IP가 부여돼 가지고 여러분 미국에서 여러분 집에 있는 냉장고 온도를 올렸다가 낮췄다가 문을 닫았다가 열었다 하다가 귀신처럼 아무도 없는데 냉장고 혼자 왜 여러분을 조작을 다 하는 겁니다. 왜 그 냉장고는 정보 처리를 할 수 있는 냉장고 즉 거기에 컴퓨터의 프로세스 기능과 네트워크 기능이 부여돼 있거든요. 모든 객체에 컴퓨터의 칩과 IP를 부여해 버립니다. 이 세상은 모든 사물들 모든 사람들이 하나의 인제 등을 형성하는 시대 이게 유비쿼터스 월드입니다. 그죠 그래서 이런 세계가 여러분 다가오고 있는데, 이런 시대에 여러분 과연 어떻게 여러분 행위를 해야 될까 어떤 마음가짐으로 대처해 나가야 되느냐 이거다 유비쿼터스 하는 말 아주 중요한 양입니다.
화자 1
16:50
유비쿼터스 왜 이게 지금 데이타베이스가 유비쿼터스 시대를 앞당기는 하나의 매체야 그래서 뭐 이런 이야기들은 옛 특강 티비 특강에 다 나가기 때문에 우리가 사이트에도 무료로 여러분 들을 수 있도록 15편 마련돼 있다니까 그 강의 한번 들어봐. 아주 재미있습니다. 예 정말 개콘보다 재밌다 예 근데 무슨 자 자 이게 무슨 소리냐 자 이 세상은 여러분 그렇잖아요. 모든 게 객체 중심이 오버젝트 또는 이것 같은 말로 데이터 오버젝트 NTTL리먼트 원소 이런 거죠. 또 이런 데이타들은 각각의 더러운 성질 어트리뷰트 속성을 가지고 있잖아요. 속성 맞죠. 나도 성격있어 성질 급하고 싸움 잘하고 자라고 성질이 다 있단 말야 이 분필도 성질이 있다. 이 말이에요. 그죠 이 속승들이 있는데, 또 이런 개체들은 전부 서로 각기 어떤 관계를 가지고 있습니다.
화자 1
17:44
여러분과 나는 두사부일체 스승과 제자의 관계고 순자하고 병태는 애인관계고 병태하고 병태 아버지는 부모 자식 관계고 맞나요? 이래면서 세상이 이루어지는 거예요. 재밌다 이 학문이 그럼 현실세계 이놈을 컴퓨터로 표현해 보자 이 데이타 데이타들의 관계를 이제 전부 집단화시켜서 하자 그게 뭐다 데이타 모델링이야 어 그럼 데이타 모델링 과정 먼저 정보 모델링부터 하거든. 정보 모델링은 어떤가 한다. 이런 이런 엔티티 개체와 또 어트리뷰어 속성과 또 이런 관계들 릴레이션 릴레이션식 이런 관계들을 ER DIARGRAM으로 도표화하는 과정을 정보 모델링이라는 겁니다. 도표 이런 도표하는데 가장 많이 이용되는 게 뭐다 ER DIARGRAM이거든. 엔티티 릴레이션 다이어그램입니다. 그래서 요렇게 설계하는 걸 개념적 설계를 한단 말이에요. 개념적 설계 그리고 요놈을 이제 뭡니까?
화자 1
18:35
이제 데이터베이스로 구현을 해야 되는데 논리적 데이터베이스를 구현하는 과정을 뭐다 데이터 모델링이야 그러면 어느 것으로 구현해 볼까 모델 하우스 만들어볼까의 굉장히 가장 늘 이용되는 행과 열려서 이런 개체들 또 속성들 관계를 규명하는 게 RDB야 RDB로 표현하는 과정을 데이터 모델링이고 이런 걸 논리적 설계 단계라 하고 그러면 구현되어 있는 걸 실제 하드디스크에 저장하는 게 뭐다 실제 컴퓨터에 포팅시키는 게 물리적 설계고 이걸 데이타 구조화 단계나 이래 얘기하는 거예요. 알겠나 요 전체 과정을 데이타 모델링이라 합니다. 끝냈죠 자 이런 이야기들 이 개념만 알고 있으면 되는 거예요. 살짝살짝 눈으로 여러분들 보시면 된다. 그 이야기다 좋아요. 자 넘어가 봅니다. 자 여기 뭐 이야기 다 됐으니까 자 업무 분석 또는 요구 조건 내가 인제 DB화해야 될 데이터들이 있다.
화자 1
19:31
요구 조건이 있으면은 이걸 먼저 분석을 해야 되겠죠. 현실 세계의 업무를 또는 데이터를 분석을 하는 과정 데이타베이스의 구현과정 또는 설계 단계다 아주 분석을 잘하고 난 뒤에 이걸 뭐다 개념적 설계를 해야 되겠죠. 그죠 개념적 설계하는 걸 우리는 모델링 과정에서는 뭐다 정보 MADLING이라 한다. 정보 MODELING 그래서 이 개념설계의 도구로 많이 이용되는 게 뭐다 오케이 즉 ER DIARGR 또 했던 거 또 나와요. 이 개념적 설계를 하고 난 뒤에는 다시 뭐다 논리적 설계로 표현해 논리적으로 표현해요. 이 개념 개념은 개념은 생각이잖아요. 생각 이놈을 이제 논리 아주 로지컬하게 표현한 과정을 우리는 뭐다 이걸 모델링 입장에서는 데이터 모델링이라죠 모델링 모델링이라 하죠.
화자 1
20:18
이 데이터 모델링에 가장 늘 이용되는 게 뭐다 RDB죠 RDB 관계형 DB로 하는 거고, 이놈을 실제 하드리스크로 구현하는 거 컴퓨터에 구현하는 것 즉 어 실제 DB와 DB로 TV로 하는 과정을 우리는 뭐다 물리적 설계 어 물리적 설계를 합니다. 물리적 설계 그죠 어 그래서 실제 구현이 되고 컴퓨터 세계 표현에 대해서 저장되고 저장되고 그죠 통합되고 다시 한다. 운영되고 공용되고 이렇게 되는 거예요. 알겠나 앞에서 했는 거 근데 실제 아 우리 컴퓨터는 그래요. 이거는 DB만 나오는 이야기가 아니고 소프트웨어 공학 시스템 분석 설계에서도 한 가지죠 어 우리 인간의 업무를 전사나 컴퓨터화 하기 위해서는 제일 먼저 분석 단계 어 ANALISIS 어넬시스 단계 분석단계를 거치고 분석하고 난 뒤에 이걸 이제 뭡니까?
화자 1
21:18
그럼 밑으로 바로 코딩이 안 되니까. 뭐 한다. 설계를 합니다. 설계 분석 화상 그려요 설계 디자인 하자 디자인 설계를 잘 해야 되죠. 디자인 그리고 설계한 거 설계대로 이제 뭡니까? 구현 구현을 하는 거예요. 구현 실제 컴퓨터로 구현을 합니다. 분석설계구현 이걸 프로그램에서는 코딩이라죠 코딩 어 데이타베이스에서는 뭡니까? DB화합니다. DB화 그렇지 그럼 구현되고 난 뒤에 이걸 인제 사용을 운영을 하는 거군요. 운영 오퍼레이팅을 합니다. 오퍼레이팅 실제 아 오프레이팅 실제 컴퓨터를 이제 사용을 하는 거죠. 항상 컴퓨터는 프로그램이든 데이타베이스든 먼저 분석 단계를 거치죠 분석 그리고 설계 단계를 거칩니다. 디비 설계는 뭐다 바로 그거예요. 개념적 설계를 하고 논리적 설계를 하고 물리적 설계를 하는 거예요. 게논문 게논문 어 개념적 설계 논리적 설계 물리적 설계를 하는 거예요. 그죠 이제 요거 요걸 배우는 것 아니야.
화자 1
22:15
개념적 설계를 어떻게 하는 거고, 그럼 설계가 되면 이걸 그대로 이제 구현하는 코딩 또는 DB화하고 그럼 구현되어지면 뭐야? 만들어지면은 이 시스템을 이 DB 시스템을 또는 프로그램 시스템을 우리는 사용을 합니다. 컴퓨터의 도움을 받아가지고, 그렇죠. 그리고 전산화 컴퓨터화 된다는 이야기야 그래서 분석설계 구현 운영 분석설계 구현 운영이 컴퓨터의 CYCLE이에요. 알겠어요. 근데 요건 지금 데이터베이스에서는 이제 설계를 어떻게 한다. 개념적 설계 개념적 설계를 하는 도구는 뭐다 ER DIORGRAM 자 이것만 아니면 어떤 문제냐? 그리고 논리적 설계를 하는 도구가 뭐다 DATA MODELING RDB 그리고 물리적은 실제 이제 컴퓨터로 굽어내는 거죠. 일과용으로 만들어서 저장하는 겁니다. 됐나 바로 요 이야기 그래서 이야기 다 됐네 나머지 읽어봐. 하여간 업무분석 무조건 명세서 산출 됐죠 어떻게 구현할 것인가?
화자 1
23:09
나머지는 여러분 눈으로 읽어보시면 된다는 말씀 좋아요. 자 그래서 인제 요 봐봐요. 개념적 설계에 들어가자 분석을 하고 난 뒤에 이 데이터들 이 데이터들의 속성 또 데이터와 데이터의 관계를 이제 설계를 해야 되는 게 그거 뭐다 개념적 설계 또는 개념적 데이타베이스 모델링 어 이걸 뭐야? ER DIARGRAG을 이용합니다. 그래서 ER DIARGRAG 뒤에 나와 NTT NTT 계체 릴레이션 릴레이션 맞나 다이아그램이요. 이알 다이아그램 음 그래서 실세기의 정보구조의 모형을 변화를 일반화시키는 거 뭐 이거 마음 중요한 거 아니죠. 그래서 뒤에 다시 나옵니다. 고객이라는 게이트가 있는 거예요. 고객 이 고객에는 또 고객번호 고객의 이름 고객 주소라는 속성이 있죠.
화자 1
24:05
그죠 항상 ERDIARGRAG에서 하나의 GATT 이 개체도 좋고 NTNTT 어 NTT 요 개체를 또 다른 말로 오브젝트 해도 되고요. 또 하나의 데이터 어 다 같은 말이라는 개체 하나의 원소 하나의 요소 같은 말입니다. 뭐 고객이라는 개체가 있으면은 요게요 속성은 동그래미 타원형으로 하죠. 속성 고객은 번호라는 속성 이름이라는 속성 주소란 속성을 가지고 어 또 요거는 계좌라는 또 요것도 하나의 엔티티죠 그럼 고객과 어 계좌의 관계는 뭡니까? 요거 요거 마름모로 요 관계를 예금관계죠 예금관계 에 요런 식으로 요런 식으로 현실 세계의 데이터와 데이터 이 데이터의 속성들 이걸 하나의 도식화했는 다이아그램이 뭐다 ERDIARGRIM이다. 그죠 알겠나 그래서 데이터베이스의 구성 요소가 뭐였습니까?
화자 1
24:56
NTT 계체 음 아 그다음에 어터리뷰터 속성 어터리 뷰처 속성 그다음에 관계 릴레이션 요 3가지가 데이터베이스를 형성하는 구성효소 아니야. 했나 그래서 개념적 데이터베이스 모델링 즉 다른 말로 어 개념적 설계죠 개념적 설계 개념을 계속했던 말 반복하는 거야. 이게 다니까 어 요렇게 표현하는 걸 현실 세계의 데이터를 요렇게 표현하는 걸 개념적 설계고 요런 다이어그램이 뭐다 이알 다이어그램입니다. 오케이 그다음에 논리적 데이터 모델링은 뭐다 논리적 설계 논리적 설계죠 그죠 다른 말로 논리적 설계 단계다 응 그래서 이놈은 실제 개념적 설계에서 추출된 실체와 NTTY 실체 속성들의 관계 ER 다양하면 구조적으로 설계하는 단계 즉 스키마 설계로써 완벽한 정규화 과정을 수행한 이름만 치워버리고 스키마는 뒤에 나옵니다.
화자 1
25:50
즉 이놈은 뭐 바로 이제 데이터베이스로 어 논리적 DB로 생성해내는 거죠. DB로 생성 논리적 DB다 논리적 물리적 DB가 아니고 논리적 DB로 생성한다. 즉 이걸 이런 걸 이제 뭡니까? HDB로 한번 해보느냐 NDB로 하느냐 RDB로 하느냐 주로 하는 게 뭐다 RDB죠 그렇죠. RDB 자 이놈을 이제 전부 다 테이블화하는 겁니다. 테이블화 테이블로 하는 거야. 알겠나 고객번호 고객번호 이름 주소 뭐 고객 이렇게 하는 걸 요런 과정을 논리적 데이터베이스 모델링 다른 말로 논리적 설계 다른 말로 논리적 DB로 구현하는 단계 RDB로 하는 거예요. 이걸 다 배워 이거 배우고 이거 배우는 거죠. 자 좋습니다. 좋아요. 가봐라 개념을 잡아 놓으니까 할 게 없잖아. 눈으로만 후뚜박 눈으로 말해요. 살짝쿵 말해요. 되겠나 좋아요. 자 이거고요. 물리적 데이터베이스 모델링을 뭡니까?
화자 1
26:50
말 그대로 물리적 설계죠 물리적 설계 물리적 설계 실제 컴퓨터에 저장하는 단계 즉 논리적 데이터 모델링의 정의된 정규화된 모델을 정규화 노멀리적 표준화된 모델을 개발 DBMS 데이타베이스 매니지메이션 시스템 알겠죠. 에스큐엘 이런 소프트웨어의 특성 및 효율적 DBS 되기 위한 데이터 분석 말이 어렵네 실제 데이타베이스 스키마를 구축하는 단계 실제 실제 DB로 구현한 논리적이 아니고 실제 DB로 구현하는 과정이에요. 구현하는 과정 그 단계다 뭐 이거는 중요한 건 아니에요. 눈으로 개발 DBS 선정을 이걸 뭐 에스큐엘이라 할까 오락클럽 할까 선정을 하고 칼럼 데이터 타입과 사이즈 정의하고 중요한 건 아니고요. 데이터의 사용 분석과 사용자들 업무 프로젝트 분석 역정규화도 하고 정규화 표준화를 다시 검사하는 거죠.
화자 1
27:40
인대도 설정 및 데이터 분산 등의 정의 각종 DB 개체를 정의 실제 데이터베이스 생성 그죠 실제 실제 논리가 아니고 실제 가능한 게 뭐냐 물리죠 물리 현실 세계 표현하는 거 에 그래서 요렇게 정리하면 되고 중요한 건 아닙니다. 얘는 이미 개념을 잡았기 때문에 됐어요. 자 데이터 모델의 종류는 뭐 또또 나오네 개념적 데이터 모델 이걸 정보 MODELING이라고 하고 개념적 설계를 하고 여기 이용되는 것보다 개체 관계 모식도 즉 ER DIARGRAM이 이용되고 논리적 데이타 모델을 우리는 데이타 모델링 하고 논리적 설계를 하고 어떤 관계 요걸 이제 표현할 때 RDB로 할 건가 망디비로 할 건가 계층 디비로 할 건가 객실화할 건가 가장 널리 이용되는 게 뭐다 관계 데이터 모델로 하죠. RDB로 한다. 이 말입니다. 물리적 데이타 모델은 이제 데이터 구조와 실제 구현이죠. 물리적 설계를 하는 거죠. 알겠나 계속 했던 거 반복되는 겁니다.
화자 1
28:37
이런 것들을 들이 섞어 가지고 문제 내는 거야. 요것만 알면 되겠네 요거 요게 핵심이네 이해되나 여러분들 이해를 해야 된다. 머리로 하는 게 아니고 뭐 뜨거운 가슴 원리로 하는 거요 좋습니다. 공부할 게 없네 딱 개념을 잡고 나니까 에 이런 걸 들이 암기하면 안 되겠제 좋아요. 자 데이타베이스 스키마와 데이터 모델링 관계 뭐냐 데이타베이스 스키마가 뭐냐 이 스키마는 출제 빈도가 높다 스키마 스키마 다시마가 아니고 스키마 어떤 스키마 말 잘 다시마요 하더라고요. 스키마 자 이 스키마는 데이터베이스의 어떤 구조와 어떤 제약 조건을 명세화해 놨는 거예요. DB의 명세화라 할까 스펙화해라는 겁니다. 그죠 표현화해라는 거요 아 그래서 뭐 어 DB의 데이터베이스에 뭐 어떤 구조 구조와 조건 제약 조건 계약 조건을 명세화했다.
화자 1
29:35
명사화 했는 걸 우리는 스키마라 한다. 이렇게 생각하면 명세 스펙시케이션 명세 딱 모든 사람들이 한눈에 알아볼 수 있도록 도식과 해놨는 걸 스키마를 합니다. 어 스키마 음 디비의 구조화 제격을 명세화했다. 이 스키마의 종류와 세종왕에서 외부 스키마 익스터나잇 스키마 그다음 개념 스키마 왜 외부 개념 내부 순서 틀리면 안 됩니다. 외부 스키마 개념 스키마 자 어 개념 컨셉츄얼 스키마 인터나잇 스키마 자 암기할 거 하나도 없어요. 자 외부 스키마는 뭡니까? 사용자 요구사항을 즉 사용자 관점입니다. 관점이 어 사용자 관점이야 그래서 우리 사용자가 볼 수 있는 테이블 볼 수 있는 DB를 외부 스키마라 합니다. 외부 자 그래서 이걸 우리 사람이 볼 수 있는 테이블이라고 해 가지고 데이터베이스라고 해 가지고 뷰란 일명 사용자 뷰라 합니다. 유저 뷰로 합니다.
화자 1
30:33
뷰 또 다른 말로 서브스키마 에 자 여러분들 외부 스키마를 다른 말로 서브스키마 또는 사용자 뷰 뷰라 합니다. 뷰 서브스키마 또는 뷰 이게 무슨 말이냐 일단 다음 이야기하자 자 에 에 외부세요. 우리 중심이 사용자야 우리 사용자가 현재 여러분들 자 이거는 설명해 버릴게 그러면은 자 이런 이야기입니다. 자 요거 여기 좀 볼까요? 뒤에도 나오지 싶은데 아니 아니 그러면은 요거 설명하고 뒤에 하면 내가 그림을 그림이 그려놨어 예 그래서 설명부터 하고 일단은 봐봐 외부 스키마는 우리 사용자가 사용하는 데이터베이스입니다. 자 사용자 관점에서 볼 수 있는 테이블이야 알기비로 말하면은 우리 사용자가 사용하고 볼 수 있는 데이터베이스를 우리는 뭔다 외부 서키마라는 거예요. 알겠습니까? 현재 여러분들 우리 우리 이제 우리 사이트에 들어와 보니까 뭐야?
화자 1
31:30
강의 테이블을 쭉 보이자 그 강의테이블에 JGH에 논리회로 누르면 논리회로가 나오잖아요. 그죠 이렇게 여러분이 볼 수 있는 그 테이블이 현재 거기 사용자 뷰 예 그래서 요걸 다른 말로 서브 스키마 뷰라고 하고요. 개념 스키마는 이제 뭡니까? 이제 논리 어 다른 말로 논리적 스키마라고도 하며 외부 스키마를 분석하여 데이터베이스 데이터베이스에 저장해야 할 필요 정보를 도출하고 데이터베이스를 구조로 설계한 것 이 개념 스키마는요 조직입니다. 고조 조직 관점이 조직이에요. 어 그러니까 여러분이 보는 거는 외부 스키마하고 우리 회사에서 내가 볼 수 있는 테이블이 내가 전체 테이블이죠. 전체 개념 스키마는 이게요 서브스키마 아니고 이거 이제 그냥 그냥 스키마로 하면 그냥 스키마 스킴하고 논리적 논리적 데이터베이스의 전체입니다. 통합이에요.
화자 1
32:25
예 논리적 어 그러니까 데이타베이스는요 수많은 테이블들이 수많은 테이블들이 RGB 연결되거든요. 연결 연결 연결되는 거예요. 여러분이 딱 볼 수 있는 요거 하나 요건 외부 섞임하고 이 전체를 보는 걸 뭐다 내 개념 섞임합니다. 개념 섞기마 에 개념 스키마 이 나는 다 볼 수 있어요. 우리 회사의 테이블 이 논리적 개념을 여러분들은 요거 하나밖에 못 보거든. 어 그니까 외부 스키마 이 뷰 이 외부 스키마 아 이 서브스키마라 하죠. 이 전체를 논리적 전체를 우리는 뭐란다 개념 스키마 다른 말로 논리 스키마로 그리고 내부 스키마는 뭐냐면 이게 실제 컴퓨터에 들어갈 때는 이렇게 뭘 완전히 일과형으로 들어가 버렸죠 하드디스크에는 일과형으로 일과형으로 저장돼 있는 스키마를 뭐다 내부 스키마 즉 물리적 스키마라고도 하며 데이타베이스 관리 시스템을 이용하여 논리 스키마를 컴퓨터 내부에 저장할 수 있는 물리적 저장 구조로 변환된 테이블 에 데이터베이스를 내부 서키마로 합니다.
화자 1
33:23
그죠 이 관점은 컴퓨터 관점이죠. 컴퓨터 이놈은 이제 조직관점이고 이놈은 사용자 관점이에요. 되겠나 사용자가 보는 여러분이 보는 데이타베이스의 하나의 데이터베이스를 외부 스키마 그래서 다른 말로 서브 스키마 또는 뷰라 하고요. 이제 어떤 조직에 DBA가 요건 뭐 쉽게 조직이니까. 다른 사람으로 말하면 DBA예요. DBA 데이터베이스를 전체 관리하는 사람 DBA가 볼 수 있는 즉 조직이 보일 수 있는 데이터 논리적 데이터베이스의 전체를 개념 섞기만 하지 에 개념 스키마고 이제 컴퓨터 일과형으로 표현돼 들어가 버리는 테이블을 뭐라 한다. 내부 스키마를 합니다. 알겠나 그러니까 데이타베이스는 이제 관점에 따라서 3종류 외부 스키마 디비 개념 스키마 내부 스키마는 뭐다 데이타베이스를 명세화해 놓은 거 도식화 해놨는 거라고 보면 되잖아요.
화자 1
34:13
그죠 어 요런 이야기 자 이런 스키마와 데이터 모델링 관계 다죠 논리적 데이터 모델링을 즉 외부 스키마 즉 분석 내부 스키마를 하고 물리적 데이타 모델링을 개념 스키마를 대상으로 하는 거죠. 그죠 쉽죠 그래서 요렇게 정리해 주면 되고 자 이제 그림을 보면 더 쉽습니다. 자 스키만은 출제가 많이 된다. 봅시다 자 이런 이야기다 이 말이오 어 자 요 이야기예요. 컴퓨터에 저장된 이 데이타베이스가 그대로 표현되면 여러분들이 데이타베이스 사용모하자 일관형으로 탁 모아니까 이게 3단계가 있다. 이 말이에요.
화자 1
34:52
그죠 외부 스키마 개념 스키마 내부 스키마로 자 외부 스키마는 뭐고 사용자들이 볼 수 있는 거 어 사용자가 그러니까 데이터베이스가 어떻게 구조화되어있나 하면 뒤에 배우겠습니다마는 자 이런 파일들을 파일 뭐 이건 알디비다 이런 파일들을 이렇게 연결해 놨지 에 전체를 우린 데이터베이스라 하잖아요. 그죠 어 음 그래서 여러분이 보는 하나의 이 테이블 하나의 데이터베이스를 우리는 외부 스키마로 한단 말야 어 외부 스킴하고 내부 스키마는 뭡니까? 이 전체 연결된 전체를 전체 스키마를 뭐 DB를 개념 스키마 다른 말로 논리 스키마라 하는 거야. 그 이놈이지 컴퓨터에 들어갈 때는 어떻게 들어가 지금 1과 0으로 탁 여기 들어가겠지 이런 DB를 뭐라 한다. 어 바로 내부 스키마랍니다. 내부 스키마 알겠어요.
화자 1
35:45
이런 내부 스키마가 이제 DBMS에 의해서 데이타베이스화 돼 가지고 핸들링이 되는 거죠. 알겠나 그러니까 여러분 이거 뒤에 외부 스키마 뭐 인제 요 사용자의 테이블이야 테이블 그리고 이건 전체죠 전체 요놈 각자고 봐라 학번 성명 우편번호 주소 전화번호인데 요놈은 다 통합해라는 거죠. 학번 성명에 학번 성명 학번 성명에 이 데이터들이 좀 달라요. 그건 하사람 부인이지 아 하사란 분인데 요런 것들이 자 통합이 되는 거예요. 요거 요놈이 이제 컴퓨터 할 때는 요렇게 표현되겠죠. 그러니까 요거 사용자 1 요거 요 테이블 외부 스키마 전체 테이블 내부 스키마 이거 인제 컴퓨터에 표현되는 거 내부 스키마 개념 되겠나 해서 이 그림만 보면 아시겠죠. 예 그래서 실제적으로 이런 표현을 해 놨고요. 어 자 그리고 다음 페이지 있나 예 스키마 아 좋아요.
화자 1
36:44
자 여러분 이 데이타베이스는 또 우리 기사 실기에 산업기사 실기에도 한 30문제쯤 나온다 실기에서도 그대로 반복됩니다. 근데 실무 위주로 그때 이야기를 할 거고, 그죠 그래서 잘 해 놓으시길 바랍니다. 자 요렇게 전체적인 걸 알고 이제 개체 관계도 잠깐 보자 볼 것 없다. 개체 관계도는 뭐다 바로 우리가 정보 모델링의 도구지 정보 모델링의 도구예요. 알겠나 정보 모델링의 도구고 앞에서 엔티티 릴레이션십 모델이라 하죠. 그래서 개체 관계도 어 이 데이터와 데이터에 그 관계를 도표와 다이아그램화 하는 게 개체관계다 개체 타입과 관계 타입의 기본 개념으로 현실 세계를 개념적으로 표현하는 방법 피터 체인에 의해서 제안되었습니다. 그죠 피터 체인에 의해서 제한되었고 자 이 알 다이아그램의 표기 기호를 한번 보자 이 말이야. 네모가 뭐다 개체 엔티티를 의미하죠.
화자 1
37:38
네모 안에 개체들은 다 여기에 교수라는 개체 학생이라는 개체 에 뭐 다 이렇게 개체들은 네모 안으로 쓴다 타원형은 뭡니까? 이 개체가 가지는 성질 어트리뷰터 속성을 이제 타원형으로 표현하죠. 이 개체 뭐 학생은 학번이라는 속성이 있고 이름이란 속성이 있고 뭐 이런 게 있겠죠. 요렇게 하는 거고, 그다음에 개체와 개체의 관계는 뭡니까? 요 마름모로 요거 도면 개체 간의 관계를 표현합니다. 개체 속성 관계 릴레이션쉽 그다음에 속성과 개체 집합을 연결시킬 때는 뭡니까? 연결해 이거 뭐야?
화자 1
38:13
선 선이 선 그리고 이제 요거는 뭐냐 하면 기본 키 자 예를 들면은 어 이 학생이라는 속성이 학생이라는 개체의 학번이라는 속성 이름이라는 속성 전공이라는 속성이 있다면은 이 학번과 이름과 전공이란 속성 중에 예를 들면 기본 키 기본 속성을 만약에 학번으로 정해 버리면은 이 기본 속성은 뭡니까? 특히 타원형에다가 기본 속성은 줄을 하나 더 칩니다. 그럼 학번을 요렇게 학번이 기본 기본 속성이다. 기본 키다 프라이머리 키다 즉 이 학생의 많은 성질 중에 가장 대표적인 성질이다. 이랬을 때는 요거 하나 친다는 거예요. 나머지 속성은 뭡니까? 요렇게 뭐 이름 어 그다음에 전공 요렇게 하는 거고, 알겠나 이 속성 중에 가장 대표적인 속성 여러분 성질 중에 가장 제일 예측하면 뭡니까?
화자 1
39:08
더럽다 뭐 한마디 딱 나오는 속성 있지 이 더럽다는 속성이 뭐다 프라이머리 더럽기는 뭐 더럽노 스마트하다 스마트 더티가 아니죠. 뭔 말인지 알겠나 그래서 요런 속성 중에 대표적인 속성은 뭐다 기본키 기본키 프라이머리 키 소성이랍니다. 요거는 요렇게 표현해야 된다는 거예요. 그죠 그리고 개체 타입과의 연관성은 전부 요렇게 하죠. 연관성 뭐 엔디엠 이게 관계가 관계라고 하는 게 여러분 뭐예요? 관계 에 뭐야? 이 어 자 우리가 데이타베이스는 개체들 엔티티 그다음에 속성 그다음 관계로 규명되죠. 관계는 1대1 관계도 있지만 1대 다관계도 있고요. 또는 N 대엔 관계도 있죠. 맞지 교수와 학생은 나와 지금 여러분의 관계는 1대 엔 관계입니다. 내 하나의 전국에 수많은 병태 손자가 관계를 가지고 있는 거야. 1대 앵위제 여러분이 병태하고 순자 관계는 뭐고 1대1 관계세요. 아버지하고 여러분의 관계는 1대1 관계예요.
화자 1
40:05
그리고 또 N 대엔 관계가 돼 있어 우리 회사와 여러분들 N 대 1 그래 관계의 그 관계는 뭡니까? 관계 연관성은 그죠 1대1 관계도 있고 1대1이 있고 N 대엔 그죠 1대1 1대 N NDM 알겠나 요걸 이제 연관성을 이렇게 표기해 준다는 거예요. NDM 되겠어요. 그래서 요런 심벌을 가지고 이제 현실 세계의 모든 데이터를 ER 개체와 속성과 관계로 표현해버리는 다이아그램 이알다이아그램입니다. 정보 모델링의 도구였습니다. 한번 볼까 예를 함 봅시다 예를 자 이런 거 이거죠. 이게 바로 ER DIARGRAM의 예다 여러분들이 어떤 현실 세계 데이터를 딱 보고 이렇게 이알 다이어그램으로 만들 수 있느냐 요게 문제가 나오는 거죠. 그죠 이론적인 문제는 필기에서 나오고 실제 실무에서는 요걸 여러분들은 어떤 데이터를 놔주고 요렇게 막 실제 만들어 보는 건 뭡니까? 실무입니다.
화자 1
41:03
정보처리 기사 실기에 나오는 거야. 그러니까 이 데이터베이스는요 내가 별을 실무까지 다 가져오는 거지 아주 쉬워요 자 그럼 이게 뭐야? 인제 학교의 어떤 순간관계를 나타내는 거죠. 그지 그러면은 학생이라는 개체가 있고 개체가 몇 개 교수라는 개체 그다음에 과목이라는 개체 3개의 개체를 이제 뭐다 관계화하는 ERDIUM으로 표현을 하는 거네요. 그죠 금 학생이라는 개체는 또 3개의 속성을 가지고 있네요. 그죠 학번 성명 정보인 그중에서 이 3개의 속성 중에서 학번을 프라이머리 키 피케이라 했는데 PK 프라이머리 키 기본 키 속성 대표 속성으로 만들었죠. 대표 속성이니까. 더 요렇게 되는 거죠. 그리고 교수는 이제요 교수는 뭐 속성이 없네 자 봅시다 그리고 과목은요, 과목번호와 과목명이 있는 거야. 이 과목번호는 여기에 또 PK가 되네 PK 프라이머리 키가 되고 학생과 과목은 이제 수강이라는 관계죠 학생과 과목은 학생은 어떤 과목을 수강을 하죠.
화자 1
42:02
수강이라는 관계고 교수와 학생은요, 교육이라는 관계고 그리고 1대1 N 관계고 학생과 과목은 N 대엔이죠. 다들다닥 여러 학생이 여러 과목을 할 거 아니야. 그리고 교수와 과목은 또 강의라는 관계에 1대 엔 관계죠 되겠나 그래서 요런 거 자 요런 걸 전부 다 도식화해 놓고 했는 게 이알다이아그램입니다. 자 관계 유형이 나오네요. 1대1 관계 1대 엔 관계 N 대엔 관계 자 이것도 문제라고 이런 게 문제가 나온다는 말씀 되겠나 그럼 이제 현실 세계의 복잡한 데이터들 간의 관계를 이 그림 하나 딱 놔뿌면은 우리가 아 개념적으로 머리에 딱 들어옵니다. 개념적 설계요 이게 정보 MODELING 어 이런 개념적 설계 정보 MODELING의 도구가 뭐다 방금 ER DIORG이요. 개념적 설계 다른 말로 요런 과정을 정보를 MODELING한다. 정보 MODELING이라 한다는 겁니다. 됐죠 자 이렇게 공부해 놓으면은 어떤 문제 나와도 확실하잖아. 확실하잖아요.
화자 1
43:00
그죠 그래서 이 데이터 모델링에서 여러분 문제 나오는 거 부처님 손바닥 JJH 손바닥이라는 말씀 계속 같은 게 반복되잖아요. 근데 이걸 딴 데서 강의 들으면 전부 다른 걸로 암기하고 어 제대로 좀 강의를 해야 되는데 그래서 요렇게 아주 완벽 속성으로 가볍게 정리하고 실무에서는 진짜 한번 해보는 거예요. 그래서 우리 정보처리 필기에서는 이론적인 거 뭐 시험 그런 거 나오죠. 다음 중에 관계 유형이 아닌 거 1대1 또 1대1 관계의 대표로 만든 거 이걸 문제라고 내는 거야. 그리고 뭐 이알 다이아그램의 대화 다이어 뭐래 개체 속성 관계 뭐 이런 게 나오고요. 아까 도표 도면은 뭐 개체는 네모 뭐 속성은 동그라미 이질환 이거 문제 나온다 우리 이거 다 그리고 있는데, 벌써 뭔 말인지 알겠나 이것이 문제라 보내니까 요거 하나만 가지고 정리하면 됩니다. 이알 다이아그램 다시 이야기하자 개념적 설계 정보 모델링의 도구 됐습니다. 자 요렇게 정리하고요.
화자 1
43:59
뒤 페이지 있습니까? 함 볼까요? 없지 싶은데 좋아요. 좋습니다. 그래서 요번 시간 데이타 모델링 아주 깔끔하게 아주 환상적으로 정리를 했습니다. 좋지 다시 한 번 이야기합니다. 앞으로 가면 갈수록 유비쿼터스 과거에는 여러분들 농업화 그리고 산업화 에 그다음에 정보화 정보 지금 정보화죠 정보화에서 다 유비쿼터스 이 유비쿼터스의 시대에 여러분들은 죽을 거예요. 인제 앞으로 다가오죠 나는 엄청나게 유비쿼터스 밀려오는 걸 느끼는데 이 나라가 여러분의 회사가 여러분이 거의 못 느껴요 유비쿼터스를 앞당기는 나라 뉴 코리아를 건설하는 게 선진국으로 가는 거고요. 어 알겠나 그래서 유비쿼터스란 단어를 잘 보고요. 왜 전부 다 객체 중심으로 갑니다. 사용자 중심으로 이 세상은 그니까 이 강의도 뭐예요? 자 데이터베이스화 돼 있기 때문에 방구석에서 여러분들이 중심으로 강의를 듣잖아.
화자 1
44:54
여러분 멋대로 옛날에는 산업화 산업화 시대는 왜 했노 여러분 이 강의를 듣기 위해서 얘한테 학원으로 와야 돼요. 우리 MTM이 와야 돼 와야 막 천 명씩 막 들어가 가지고요. 어 뭐 자리 없다. 카니까 창문에 대가리 채우고 수업 듣고 전부 다 조직 중심이고 국가 중심이었고 회사 중심이었죠. 근데 이제는요 강의 한번 보세요. 유비쿼터스로 가고 있는 거죠. 방구석에서 여러분 입맛대로 눌렀다가 듣고 듣기 싫으면 차아뿌고 또 보고 싶으면 또 보고 새벽에 잠 안 오면 또 일어나갖고 제주도 와서 어 여자친구와 싸우고 난 뒤 화나 피시방에서 또 보고 어 알겠나 자 이렇게 세상은 객체 중심으로 가게 돼 있습니다. 할렐루야 오늘의 명은 자 앞을 어 앞을 내다보는 어 반발짝 빠른 여러분 삶을 살아가 되고 블루오션에 헤엄쳐야 되겠죠. 자 블루오션에서 헤엄쳐라 똥물 말고 요런 메시지를 주고 잠시 후에 돌아오겠습니다.
'전진하(JJH)교수님의 강의 > 정보처리기사 산업기사' 카테고리의 다른 글
[정보처리] 데이터베이스 - 관계데이터베이스언어1 (0) | 2024.08.05 |
---|---|
[정보처리] 데이터베이스 - 관계데이터모델 (0) | 2024.08.05 |
[정보처리] 데이터베이스 - 데이터베이스시스템의개요 (0) | 2024.08.05 |
[정보처리] 데이터베이스 - 자료구조4 (0) | 2024.07.09 |
[정보처리] 데이터베이스 - 자료구조3 (0) | 2024.07.09 |
1. 데이터베이스의 중요성
1-1. 데이터베이스의 정의
- 데이터를 보급하는 과정에서 나타나는 '데이터베이스'라는 용어를 소개함
- '데이터베이스'는 '미국 국무성'에서 '데이터를 보급하는 과정'을 뜻하는 말에서 유래함
- 과거에는 자료 구조와 리스트, 정렬 등 데이터 처리 방법을 배웠음
- 현재는 데이터베이스, 특히 데이터베이스와 실제 사이의 연동을 중점적으로 다룸
- 데이터베이스는 파일 단위로 저장되어 중복과 종속성 등의 문제가 발생함
1-2. 데이터베이스의 등장
- 파일 단위로 데이터를 처리했던 과거와 달리, '데이터베이스'는 파일을 통합한 집합임
- '데이터베이스'는 중복을 제거하고, 파일의 독립성을 보장하는 장점이 있음
- 예시로 학번, 성명, 출신 고등학교 등을 연결하여 저장했던 파일을 데이터베이스라 명명함
- 파일 단위의 중복을 해결하고, 데이터의 통합을 통해 효율적인 데이터 처리가 가능해짐
- 데이터를 보다 체계적이고 정확하게 관리하기 위해선 데이터베이스가 중요함
1-3. 데이터베이스의 역할
- 데이터베이스는 행정, 전산 등 다양한 분야에서 중요한 정보를 관리하는 기능을 함
- 국가 차원에서 국민 신상 명세서를 데이터베이스화하는 등 국가적 차원의 작업도 수행함
- 데이터베이스는 정보의 독립성을 보장하고, 데이터의 중복과 종속성을 해결함
- 데이터베이스는 데이터의 통합과 보존을 통해 효율적인 정보 관리를 가능하게 함
- (중요) 데이터베이스는 1문제도 틀려선 안 되며, 이번 강의의 핵심임
2. 데이터베이스의 정의와 특성
2-1. 데이터베이스의 정의
- 데이터베이스는 통합된 데이터, 운영 데이터로 정의됨
- 공용의 데이터, 중복을 배제하고 계속적으로 갱신되는 데이터 집합임
- (중요) 실시간 접근성, 내용에 의한 참조, 동시 공유, 변화의 실시성을 지님
- 데이터는 대규모 인터넷에 실시간으로 저장되며, 사용 시 DB에 저장됨
- 데이터베이스의 예로 주민번호, 졸업증명서, 학교 등 다양한 정보가 있음
2-2. 데이터베이스의 구성 요소
- 데이터베이스는 속성과 개체, 관계로 이루어짐
- 속성은 개체를 식별하는 성질을, 개체는 속성의 집합이며, 관계는 개체 간의 관계를 의미함
- 데이터베이스의 개체는 여러 개의 속성으로 이루어짐
- 개체 간에는 다양한 관계가 있으며, 이 관계는 데이터베이스의 동적 특성임
- 개체 간 관계는 다양한 속성과 성질을 통해 정의됨
2-3. 데이터베이스의 역할
- 데이터베이스는 회사, 공공기관 등에서 데이터를 관리하고 제공하는 역할을 함
- 취업, 공공 입사 등 다양한 분야에서 데이터베이스를 활용함
- 데이터베이스는 참조, 검색, 분석 등 데이터를 활용한 분야에서 중요한 도구가 됨
- 데이터베이스는 수집, 정제, 보존, 검색 등 다양한 기능을 수행함
- 데이터베이스를 통해 수집된 데이터를 보존하고, 분석을 통해 활용 가치를 창출함
3. 데이터베이스 개요
3-1. 데이터베이스의 개념과 구성 요소
- 데이터베이스는 논리적 구조로 이루어진 거대한 데이터 집합임
- 객체(오브젝트)와 속성(필드)으로 구성되며, 관계(어트)도 있음
- (중요) 개체는 객체, 필드는 데이터에 해당하며, 관계는 속성 간의 관계와 개체 간의 관계로 나뉨
- 관계는 행렬(테이블)로 표현하며, 객체 지향형 DB는 불편함
- 계층형 DB, 망 DB, 객체 지향형 DB의 3가지 종류가 있음
3-2. 데이터베이스 언어의 개요
- 데이터베이스 언어는 DDL(D 데이터 정의), DML(데이터 관계), DCL(데이터 제어)로 구성됨
- DDL은 데이터 정의(테이블 생성, 수정, 삭제)를, DML은 데이터 관계(삽입, 삭제)를, DCL은 데이터 제어(보안, 무게)를 다룸
- DDL은 큰 데이터를 만들고, DML은 데이터를 변경하거나 제거하는 명령어임
- DCL은 DML과 DCL을 포함하여 데이터에 대한 접근과 제어를 의미함
- 데이터를 삽입하거나 변경하는 명령어는 DML에 속함
3-3. 데이터베이스 언어의 구체적 예시
- DDL은 주로 테이블을 생성, 제거, 변경하는 명령어임
- DML은 데이터를 삽입하거나 변경하는 명령어임
- DCL은 데이터를 조회하거나 검색하는 명령어임
- DCL은 데이터를 조회하고, 필요 시 사용자에게 제공하는 명령어임
- DDL은 큰 데이터 집합인 DML과 DCL을 포함하여 데이터를 생성, 변경, 삭제하는 명령어임
4. 데이터베이스 관리 시스템(DML) 이해
4-1. 데이터베이스 관리 시스템(DML)의 개요
- 데이터베이스 관리 시스템(DML)는 데이터베이스의 종속성과 중복 문제를 해결
- (중요) DBM에서 데이터베이스를 전문으로 관리하는 프로그램이 존재
- DML은 데이터베이스를 선언하고, 제어하며, 데이터를 추출하는 역할을 함
- 사용자, 프로그래머, DBA(데이터베이스 관리자)로 구성
4-2. 사용자와 DBA의 역할
- 사용자는 응용 프로그램을 이용해 데이터베이스에 접근, 관리
- 프로그래머는 개발한 응용 프로그램을 DBA에게 제공
- DBA는 데이터베이스를 전문적으로 관리하며, 데이터베이스의 설계 및 운영을 담당
- (중요) DBA의 역할이 중요하며, 기업에서는 DBA의 역할이 점점 중요해짐
4-3. 데이터베이스 관리자의 중요성
- (중요) 기업에서는 데이터베이스 관리자(DBA)의 역할이 중요하며, 이에 대한 수요 증가
- DBA는 데이터베이스의 전반적인 운영을 담당하며, 보안과 투명성이 요구됨
- 시스템 전반에 대한 이해와 실무 능력이 필요, 관련 자격증이나 실무 경험 등이 요구됨
- 관련 자격증이나 실무 경험을 통한 DBA 역량 강화가 필요함
5. 데이터베이스의 중요성과 역할
5-1. 데이터베이스의 중요성과 DBA의 역할
- 데이터베이스의 중요성과 그 역할에 대해 강조함
- (중요) 데이터베이스를 전문적으로 관리하고 보완하는 DBA의 필요성을 설명함
- DBA의 역할과 DB를 구성하는 요소들을 정의함
- DBA가 데이터베이스의 실무를 종합적으로 관리하는 전문가임을 명시함
- DBA의 역할에 대해 강의가 이어짐
5-2. DBMS의 장단점과 문제점
- 데이터베이스 관리 시 파일 시스템의 문제점을 설명함
- (중요) DBMS의 필수 기능에 대해 강조함
- DBMS를 사용하기 위해 돈이 많이 드는 단점에 대해 설명함
- 데이터베이스 백업 및 회복이 어렵고, 물리적, 인터넷상의 문제로 인한 피해 가능성을 설명함
- 사이버 전쟁과 국가의 정보 보안에 대해 언급함
5-3. 사용자, DBA, 그리고 DB의 역할
- 사용자, DBA, DB의 역할에 대해 설명함
- (중요) 사용자는 DBL 데이터베이스를 전문적으로 관리하고 보완하는 역할을 함
- DBA는 중앙회 통제를 위해 데이터베이스의 생성, 관리, 운영에 대한 책임과 관련 있음
- DBA의 역할과 DB를 구성하는 요소들을 설명함
- DBA의 필요성과 그 역할에 대해 강조함
화자 1
00:11
자 전국에 계시는 우리 M2N 생방송 안방 가족 여러분 계속해서 뜨거운 감동의 수업은 함께 하겠습니다. 예 좋습니다. 자 여러분 좀 쉬었죠. 어 예 파이팅하고 예 좋습니다. 자 저도 이제 건강이 서서히 여러분의 성원에 힘입어서 좀 돌아오는 거 같애 좋습니다. 한번 해보겠습니다. 자 우리가 앞 시간에는 이제 드디어 자료 구조를 정리를 다 했죠. 그래서 과거에는 이 자료구조에서만 문제가 20문제 나왔다고 그러죠 왜 데이터베이스가 현실화되지 않았기 때문에요. 이제 그러다가 이제 지금은 데이터베이스가 훨씬 중요하다고 그죠 그래서 자료 구조에서는 문제보다는 지금부터 배울 데이타베이스가 훨씬 문제가 많이 나옵니다.
화자 1
01:02
그래서 자료 구조에서 보통 한 6~7문제 나머지는 모두가 지금부터 배울 데이터베이스에서 나온다잉 그럼 이 데이터베이스는요 그대로 실기에서 실무로 이어집니다. 그죠 그래서 실기까지 연동되는 과목이다. 생각하고 특별히 잘해야 되고 제가 확실히 보장해 줄게 완벽 속성으로 기대해도 좋습니다. 병태야 알겠나 순자야 알았제 자 들어가 봅니다. 좋아 좋아요. 자 데이터베이스 자 오늘 데이타베이스 전체적인 개념 이게 중요하다 개념만 잡으면 데이터베이스는 만점 먹어보죠. 그래서 특히 데이터베이스 과목은요, 1문제도 틀려선 안 된다. 왜 JH의 제자니까 셋째, 자 이 데이타베이스는요 원리부터 공부를 하자 이 말이에요. 자 이 데이타베이스 드디어 들어왔습니다. 데이타 베이스 디비 원래 이 데이터베이스는 군사 용어예요. 미 국무성에서 데이터를 보급하는 이 군수물 창고를 데이터베이스라 했거든.
화자 1
02:00
그래서 오늘날 이제 여러분 과거에는 우리 앞에서 배운 자료 구조가 중요했다니까 그러니까 우리가 앞으로 선정 리스트 비서류 리스트 다 배웠잖아요. 그죠 그 리스트 거기서 데이터를 찾는 작업 또는 이제 정렬시키는 것까지 앞 시간에서 정리를 했습니다. 그러니까 이런 이야기다 말이오 그래서 이 니스트 이 리스트는 관련 있는 데이터들의 집합이지 노드의 집합이고 정점의 집합이고 원소의 집합이고 요소의 집합이고 알겠죠. 근데 이 리스트에다가 이름을 붙여버리면 뭐가 되노 파일이 되죠. 파일 그죠 그래서 과거에는 모든 걸 파일 단위로 저장해서 저장하고 처리도 파일 단위로 했거든. 그러니까 파일 단위로 하다 보니까 문제점이 생깁니다. 그 문제점은 뒤에 합니다만 크게 데이터의 중복이 일어나고요. 파일 단위로 데이터를 쭉 저장하니까 컴퓨터에 저장하고 처리하다 보니까 그리고 또 종속성 이 종속성이 중요하지 않거든. 이거 좋잖아요. 가장 좋은 게 독립성이거든.
화자 1
02:58
독립 뭐든지 독립 독립 국가 간에 여러분도 독립적으로 노는 게 좋다. 어디 누구한테 종처럼 종속되면 안 좋잖아요. 그죠 그래서 이 2가지 문제점이 계속해서 대두되더라 그래서 이 문제를 해결하기 위한 게 고건 뭐다 이 문제를 해결을 하기 위한 게 바로 데이타 베이스입니다. 데이터베이스 그래서 이제 파일들을 모아 가지고 모든 데이터를 통합해 있는 가장 거대한 데이터의 집합이 뭐라 한다. 데이터베이스다 이런 이야기를 합니다. 자 이런 이야기다 이 말이요. 예를 들면 과거에는 이런 거예요. 자 요거 지우고 갈게 자 요거 원리를 알면 여러분 됩니다. 이런 이야기도 아니고 예를 들면은 뭐 이런 거죠. 간단간단하게 할까 자 학번이 있고요. 여러분 인제 학교에서 그럼 성명이 있고 예를 들어 출신 출신 고등학교로 합시다. 있고요. 그럼 요 학번 이제 001 성병 JJH 제 고등학교 어딘지 알아 저는 고향이 남쪽이다. 포항이다.
화자 1
03:57
포항 포항 그래서 이 포항고등학교 피고 뭐 공공이 홍길동 홍길동이 무슨 뭐 에스고 엘고 뭐 이렇게 쭉 있겠죠. 그래서 뭐 백 명이면 100명 천 명이면 천 명 뭐 100명까지 각각 백 번째 성춘야 성춘향이 뭡니까? 디이고 뭐 이래 되겠죠. 예 달고 뭐 이런 거 에 무슨 말인지 잘 모르나 이랬을 겁니다. 그리고 이놈을 이제 출신 고등학교 파일 캐 가지고 저장했습니다. 파일 이게 파일이제 파일이요. 그리고 또 어떻게 했습니까? 또 함 봐봐 학번 성명을 주민번호 주민번호를 합시다. 그러면 001 JJH 내가 몇 년생이고 내가 80년생이다. 80 어떻고 저떻고 쭉 나오죠. 그럼 002 홍길동 홍길동이는 뭐 몇 년생이고 저도 79년생이다. 합시다. 쭉 그다음에 쭉 100번에 있는 성춘향이는 나머지 데이터가 있겠죠. 성춘향이가 80년 내 동기네 이렇게 돼있겠죠.
화자 1
04:56
그래서 또 과거에는 주민번호를 파일 단위로 또 저장했습니다. 이것도 파일 주민번호 파일이에요. 뭐 이런 식으로 그리고 또 여기에는 예를 들면 어 함 봐봐 학번이 있고 성형이 있고 그다음에 전공이 있어요. 전공 그러면은 001 JJH 전공 컴퓨터죠 공공의 홍길도의 전공 홍길동이 뭐고 전공 무술 어 뭐 100번의 성춘야의 전공이 뭡니까? 어 전공이 뭡니까? 사기 뭐고 뭐 있겠죠. 이러대는 자 거기서 또 저장을 했습니다. 과거에는 이 파일 단위로 데이터를 처리했거든요. 저장하고 운영을 했어요. 자 그러다 보니까 어떤 거예요. 봐봐요. 이 파일에도 학번과 성명이 중복이 되고 이 파일에도 학번 성명이 중복이 되는 거예요. 따로따로 놀아 따로따로 따로따로 저장을 했습니다. 아 이 문제가 생기죠 그래서 각각 이제 따로따로 노는 거예요. 프로그램 또 뭡니까?
화자 1
05:54
이 데이터를 처리하기 위해서 또 프로그램 작성해야 되고 이놈도 또 작성 따로따로 했습니다. 에 그러니까 파일에 뭐 중복성이 생기죠 자 이거 이러지 말자 이 말이야. 와 이러란 말이에요. 어 이러지 말고 어떻게 한다. 이놈을 합해보자 뭐 학번으로 합해 버리라 어 묶어버려 이 파일들을 묶어 버립니다. 학번으로 묶으니까 여기 뭐예요? 묶어 버리면 되죠. 어 묶어버리면 이제 뭡니까? 파일의 중복성 예를 들면은 성명은 필요 없잖아요. 여기 성명이 필요 없잖아. 이거 필요 없죠 이거는 학부모들에 의해서 이 사람이 출신 고등학교 JGH의 주민번호 JGH의 전공 다 연결이 됩니다. 그죠 자 이렇게 파일을 연결한 이놈이 뭐다 이게 바로 우리가 배우고자 하는 거다 데이타 페이스다 디비다의 말입니다.
화자 1
06:43
뭔 말인지 알겠나 과거에는요 모든 데이터를 리스트에 이름을 붙인 파일 단위로 저장했다니까 파일 단위로 파일 다니는 하드디스크에 테이프에 저장을 당하다 보니까 파일의 중복성 같은 거 이러고 자 이걸 학번을 키로 해서 묶어버렸어요. 묶은 이 파일들의 집합이를 뭐라 한다. 바로 데이타베이스라 합니다. 그래서 오늘날은 모든 데이터를 통합해야 하는 과정이 컴퓨터라고 해도 과언이 아니다. 그래서 데이타베이스 작업이 굉장히 중요합니다. 과거에 회사도 안 가지죠 경리과 따로 자재과 따로 생산과 따로 각 부서마다 이 파일들이 따로따로 놀았거든. 그래요. 그래서 이제 어 이걸 이제 전부 다 묶어버리죠 데자베스입니다. 그리고 이제 조직에서 기관에서 국가는 뭡니까? 행정 전산만 가는 게 우리나라의 모든 여러분 국민에 대한 어떤 신상 명세서를 데이터베이스화 하는 게 행망이다.
화자 1
07:36
행마 그래서 이제 이렇게 DB화하는 거에 BB화하는 게 어 지금 아 국가적으로 굉장히 중요한 겁니다. 그죠 이런 시점에서 여러분들이 데이타베이스 문제를 공부하고 있는 거예요. 알겠나 자 그래서 차츰차츰 가면서 이야기하고 아 좋다. 이 말입니다. 자 그럼 이 데이터베이스의 정의가 뭐냐 이 말이에요. 데이터베이스는 어느 한 조직에서 다수의 응용 시스템들이 공유로 사항에 의해서 통합 저장된 운영 데이터의 집합 어떤 조직의 전체의 데이터의 집합 어떤 국가의 모든 데이터 현재 우리나라가 모든 게 DB화 됐다면요 여러분 주민번호 하나 쳐버리면은 여러분의 모든 게 다 나옵니다. 근데 아직까지 DB화가 다 안 됐죠 예를 들면은 여러분들이 지금 현재 하나만 더 예를 들자 보자 어떤 대기업에 이제 원서를 낼라고 합니다.
화자 1
08:31
그럼 어쩌나 대기업에서 초등학교 때부터 전부 다 이 졸업증명서 성적 증명서를 가져온다고 합니다. 그럼 여러분들 어떻게 하노 어 여러분 우리 순자 국민학교 어디 나왔노 강원도 나왔죠 강원도 강원도까지 갑니다. 가서 색생이 2모 사람들고 옛날 선생님 차린 인사 하고 졸업증명서 성적 증명서 뛰고요. 또 중학교는 더럽게 저쪽 전라도 남원이야 거까지 가서 또 졸업증명서 성적증명서 뛰고 또 고등학교는 저도 제주도에 제주도 가서 뛰고 그래서 전부 다 모아가지고, 여러분들이 지원을 했습니다. 근데 이걸 데이터베이스가 됐다. 카면 여러분 인터넷에서 여러분 주민번호 딱 치면은 여러분의 모든 학교 정보 여러분 전과 모든 게 다 나오는 거지 그래서 엔트에 의해서 한 방에 딱 모아서 입사를 원서를 내면 되는 거야. 근데 데이터베이스가 지금 서서히 되겠죠. 그죠 우리 회사 같은 경우는 전면 DB 작업이 다 돼 있습니다.
화자 1
09:26
데이터베이스 작업이 아마 여러분의 취업하는 회사도 또는 공공기관도 이제 거의다가 데이터베이스 작업하는 걸 데이터베이스가 딱 이루어졌을 겁니다. 알겠나 자 그래서 데이터베이스의 정의는 뭐냐 하면 요거예요. 딱 요것만하면 돼 데이터베이스를 통합된 데이터입니다. 예 통합 모든 조직의 모든 데이터를 통합한 걸 통합된 데이터를 데이터고요. 큰 디스크에 저장시키겠죠. 그리고 항상 이 데이터베이스에 대한 데이터를 운영이 돼야 돼요. 운영 데이터 그리고 그 조직의 모든 사람이 공동 사용할 수 있도록 공용의 데이터입니다. 그죠 자 데이타베이스의 정의 좋다. 통합된 데이타 운영된 데이타 공동 사용할 수 있는 공용 데이터 이 4가지가 뭐다 데이터베이스에 데피니션 정의다 이 말입니다. 그죠 통합된 데이터 어 통합시켜서 최소의 중복 통제된 중복이죠. 그렇죠.
화자 1
10:17
중복성을 배제시키죠 그리고 디스크에 저장되었고 항상 살아있는 데이터 그리고 여러 사용자들이 공동으로 이용할 수 있는 데이터 예 이 4가지를 만족하는 게 데이터베이스의 정의입니다. 알겠나 그러니까 그 조직의 모든 데이터를 합해 놨는 거예요. 그래서 통합시켜 놓고 저장해놓고, 여러 사람들이 사용하면서 늘 데이터베이스에 들어있는 데이터는 새롭게 갱신되죠. 새로운 사실로 데이타베이스는 정리됩니다. 이해되나 그래서 됐고요. 자 이런 데이터베이스의 특성은 뭐냐 데이터베이스는 항상 실시간 접근성입니다. 데이터베이스에 들어있는 데이터는 항상 내가 원할 때 바로 DB에 있는 데이터는 사용 가능한 거 실시간 접근성 그 다음에 데이터베이스는 중요하다 내용에 의한 참조다 주소에 의한 참조가 아닙니다. DB 안에 들어있는 데이터는 반드시 내용에 의해서 참조가 돼 줘야 돼 이 내용 그 데이터의 일부 데이터 키 데이터로 참조되는 거거든.
화자 1
11:16
자 주소가 하나만 나오면 안 된다. 컴퓨터에서는 CPU는 메모리의 데이터를 참조할 때 뭐다 반드시 주소에 의한 참조를 해야지만 데이터베이스 안에 들어있는 데이터는 반드시 내용에 의한 참조합니다. 됐나 내용에 의한 참조다 이 말입니다. 그리고 동시 공유 항상 데이터베이스에 들어있는 데이터는 동시에 공유가 됩니다. 알겠죠. 그리고 계속적 변화가 일어납니다. 자 현재 이런 거예요. 현재 여러분들 저희 사이트에서 내 강의 듣잖아. 내 강의가 데이터베이스화 돼 있거든. DB화 돼 있다니까 어 데이타베이스가 되어 있기 때문에 여러분들이 뭐고 에 바로 인터넷하고 실시간으로 눌러 가지고 내가 이 생중계도 보고 VOD 보고 있죠. 어 그리고 내용이 참여해요.
화자 1
12:12
여러분들이 여러분들은 클릭만 하지만 정보처리기사 1강 논리대로 딱 내용에 의해서 논리대로 데이터베이스에 들어있는 DB에 들어있는 내 강의가 여러분의 참조되는 거예요. 맞나 그리고 동시공유제 지금 내 강의를 경찰 니모차만 듣나 아니다. 전국에서 너무 많이 들어가지고 지금 서버 다운될라칸다 알겠나 동시 공유고 그리고 내 강의는 계속적인 변화죠 계속적인 변화 아니야. 30강 올라가고 31강 올라가면 계속 변화가 됩니다. 맞나 자 현재 뭐다 내가 하는 이 강의 정보치리 강의도 데이터베이스화 돼서 DB로 설계도 들어가 있거든. 그러니까 여러분들이 이 4가지 특성을 직접 몸소 느껴보는 거 아니야. 맞나 이런 이야기입니다. 이게 만약에 파일로 돼 있다면요 여러분 동시 공유가 안되죠. 병태가 내 강의가 파일로 돼있다면은 병태가 어 내 강의를 보고 있으면 순자는 못보는 거예요.
화자 1
13:07
그죠 그래서 데이터베이스로 이루어져 있기 때문에 여러분 네트워크를 타고 이 4가지 특성에 의해서 실시간 접근 내용에 의한 참조 동시 공유 계속적인 변화가 일어납니다. 됐나요? 넘어가 봅시다 데이터베이스의 특징 그리고 인자 선생님 데이터베이스의 구성 요소는 뭐냐 데이터베이스는 크게 속성과 개체와 관계로 이루어집니다. 나중에 합니다. 데이터베이스는 속성과 개체와 관계 속성 어트리뷰터 개체 관계로 형성되거든. 이 세상의 모든 데이터도 그래요. 이 개체는 바로 개체는 엔티티는 다른 말로 오브젝트 객체라고도 하고 하나의 데이터라고도 하고요. 어 하나의 데이타 또 여러분 이 모든 이 세상은 여러분보다 더 월드 이즈 컨시스트 오브젝트 이 세상은 객체의 이집합이지 객체지하 유비쿼터스의 가장 슬래곤입니다.
화자 1
14:05
이게 뭐냐 가면 갈수록 이 세상은요, 이것도 분필도 객체예요. 칠판도 객체고요. 이 지우개도 객체고 어 여러분 또 객체고 모든 걸 객체야 이런 객체들이 모여 가지고 더불어 하나의 세상을 이루잖아. 맞나 근데 이런 객체들은요, 전부 다 뭐야? 속성을 가지고 있어 속성을 자 이 세상은 모든 게 개체입니다. 개체 근데 우리 엔티티라고 하죠. 엔티티 이 계절도 속성을 더러운 성격을 다 가지고 있어 어 우리 손자들 성격이 있제 못됐다. 뭐 친절하다 이래 친절한 금잔치 분필이라는 어 이 개체도 속성을 가지고 있습니다. 속성 어 속성이 있죠. 흰색이다. 뭐 쓰여진다 제각기 나름대로 속성이 있다니까 어 개체들은 다 속성을 가지고 있어요. 그리고 이 세상은 개체와 개체의 관계로 이루어집니다. 여러분과 나 여러분과 나와 분필 나와 카메라 모든 게 관계로 형성되는 거죠.
화자 1
15:03
그러니까 데이터베이스도 크게 속성과 개체와 관계로 형성됩니다. 그죠 그래서 이걸 가지고 나중에 ER DIARGRAG이 나오는데 이런 이야기다 이 말입니다. 이게 하나의 개체라고 합시다. 개체 NTT이고 이 개체는 전부 다 속성을 가지고 있죠. 속성 이 속성도 여러 가지 속성을 가질 수가 있죠. 속성 하나의 개체는 여러 개의 속성 어트리뷰티를 가지고 있습니다. 어터리뷰트 원 어터리뷰티 투 어트리뷰티 엘을 가지고 있어 또 이런 개체와 이 개체 화해를 하자 이 개체와 또 이 개체 사이에 어떤 관계가 있을 거예요. 관계 이 개체 투도 나름대로의 속성 성질을 더러운 성질을 가지고 있다니까 어터리뷰티만 엔기가 가지고 있는 거예요. 어 그래서 데이타베이스는 요거 개체를 하죠. 개체와 속성과 관계의 관계는 뭐 여러분과 나 이거는 스승과 제자관계다 어 스승과 제자 관계든 어 그렇죠.
화자 1
15:54
주종의 관계다 그죠 뭐 애인 관계든 그래서 데이터베이스의 구성 요소도 3가지다 속성 데이터에 가장 작은 단위 가장 작은 논리적 단위 그죠 논리적 단위 파일 구조에서는 필드와 같은 개념 필드 아이톰 어 그다음에 격체의 성질이나 상태를 기술하죠. 이 하나의 개체에 성질이나 상태를 기출한다. 요게 속성이고 개체는 이제 파일 구조에서 네코드와 같은 개체죠 이 리스트 속에 하나의 데이터죠 에 그래서 오브젝트 데이타 또는 원소 뭐 요소 다 같은 말이지 또 네코드 다 같은 말이에요. 어 신세계에서 존재하는 하나의 사물이죠. 사물 또 하나 이상의 속성에 집합 반드시 개체는 여러 개의 속성을 가지고 있는 거고, 단독존재 및 구별이 가능하다 중요한 건 아니고요. 관계는 뭡니까? 속성 관계와 개체 관계가 있죠.
화자 1
16:51
속성 간의 관계 또 속성 간의 관계도 있는 거지 그래서 주로 속성 관계와 개체 관계가 있다. 자 데이터베이스는 크게 속성과 개체와 관계로 데이타베이스에 들어있는 모든 데이터는 형성이 되더라 이 말이죠. 예 좋아요. 좋습니다. 데이터베이스의 구성 요소 3가지 반드시 알아 놔라 자 그 다음에 넘어가 봅니다. 자 이런 데이타베이스의 종류는 이제 크게 3가지 4가지 좋습니다. 자 계층 디비 계층형 데이터베이스 이 계층형 데이타베이스는 뭐냐 하면은 데이터베이스 안에 데이터들을 어떻게 추리 구조로 묶어놨는 거예요. 추리구조 예 볼 필요도 없고요. 자 마 네트워크 디비는요 이 데이터 간의 관계가 뭐다 그래프로 아 이건 추리고요.
화자 1
17:42
추리 구조로 엮어놨는 거 이거는 앞에서 배운 그래프 구조를 만드는 그래프 그래프 이런 식으로 모든 개체들을 연결해 놔두는 거지 주로 이제 어느 멤버십 관계라 이래 이야기하죠. 중요한 건 아니고요. 가장 널리 이용되는 DB가 뭐다 바로 RDB 관계형 DB입니다. 릴레이션 데이터베이스 예 그래서 우리 지금부터 RDB에 대해서 배우는 거다 그래서 지금 계층 명 DB나 망 DB는 거의 사용하지 않고 가장 데이터베이스를 설계를 하고 실생활에 이용되는 DB는 뭐다 관계형 DB는 뭐야? 바로 앞에서 보면 행과 열 모든 데이터의 관계를 테이블로 행과 열로써 표현하는 DB가 뭐다 관계형 DB야 알겠나 관계형 DB 모든 데이터를 행과 열로써 그죠 행렬로 표현하는 것 즉 테이블로 표현하는 거 되겠나 자 이게 관계형 DB입니다. 그래서 관계형 DB 한번 읽어보면 되는 거고요.
화자 1
18:40
자 객체지향 디비는 이제 차세대 디비로써 뭐 늘 이용되진 않습니다. 관계형 데이터베이스의 장점을 포함하고 한문 정리된 개체들의 재사용 동그라미 리뷰전 재사용을 높도록 설계돼 있는 게 뭐다 객체형 DB다 근데 가장 늘 이용되는 건 뭐다 관계 모든 시험은 어디에서 나온다 이 관계형 DB에 대해서 나옵니다. 그죠 그래서 계층형과 망과 객체 지향을 눈으로만 살짝 반하면 된다. 이용되지 않고 가장 실무에서 현실 세계에서 이용되는 거는 관계형 DB고 시험도 어디에서 나온다 관계형 디비에서 나온다는 그런 이야기 관계형 디비는 뭐 행렬 즉 테이블로 모든 데이터베이스 안에 들어있는 데이터의 관계를 규명했다. 이 말이죠. 그죠 됐습니다. 다음에 넘어가 보죠. 자 이런 데이터베이스 언어 데이타베이스에도 모든 거 인제 데이타베이스 언어가 있거든. 우리가 인제 그중에서도 에스큐엘을 배웁니다.
화자 1
19:36
시퀀 셔트락시 퀴리 랭귀지 마이크로소프트에서 만든 걸 배웁니다마는 데이타베이스의 언어도 크게 뭐다 3단계로 있죠. 그죠 데이타베이스 정의역 DDL 동그라미 데이타 데피니셔널 랭귀지에서 DDL 그다음에 데이타 조작 DML이 난다 데이타 메뉴플레이션 매니플레이션 랭귀지 DML 그다음에 데이터 제어 데이타 컨트롤 랭귀지 해 가지고 데이타 제어 이 말이죠. 오늘날 데이터베이스는 3개의 언어로 구성된다. 그래서 다시 DDL 공약 DML 그다음에 DCL로 구성되더라 DDL DML DCL로 구성되어 있습니다. DDL은요, 뒤에 합니다마는 데이타베이스를 정의를 하고 데이터 테이블을 수정하고 삭제에 사용되는 언어들 즉 논리적 구조 물리적 구조 정의 및 사상정의 다시 스키마를 정해 스키마 뒤에서 배웁니다. 삼층 스키마 스키마 정의하는 언어고요. 조작어는 이제 뭡니까?
화자 1
20:33
데이터 부속어 즉 절차적 데이타 조작어와 질의어 퀴리 랭귀지 비절차식 데이터 조작입니다. 퀴리 퀴리 질문어 요렇게 다시 뒤에 나옵니다. 그리고 제어는 뭡니까? 데이터의 보안제어나 무게일성 제어나 데이터의 회복과 병행 수행 제어 제어 쪽에 데이터베이스에 들어있는 데이터를 제어하는데 이용되는 언어가 데이타 제어고 데이터를 조작하는데 이용되는 언어가 조작으로 말 그대로 데이터베이스를 정의한 이용되는 언어가 정의어입니다. 그죠 자 우선 여러분 눈으로 봐 놓죠 데이타베이스는 크게 DDL 다시 한번 중요하기 때문에 쓴다 DML DCL로 구성되더라 좋습니다. 됐습니다. 자 넘어가 봅니다. 데이타베이스 언어 좋아요. 아 여기 또 다 나오네 다시 한번 하자 말 그대로 DDL은 뭡니까?
화자 1
21:26
데이터 대표님 기준에서 데이터베이스의 정의하는데 데이터베이스 첫 테이블을 만든다던지 어 테이블을 지운다던지 필요 없는 테이블과 테이블을 합한다든지 이렇게 데이터베이스 전체에 테이블에 관한 명령어고요. DCL은 DML부터 하는 게 좋아요. DML은 그 데이터베이스에 들어있는 데이터들을 이제 뭡니까? 삭제한다든지 그죠 또는 뭐 데이터베이스를 어 뭐여 삽입한다든지 뭐 이런 거 데이터를 조장하는 그런 거고, DCL은 테이블을 제어하는 거죠. 말 그대로 데이터베이스 통제 조작어고요. 뭐 이 지리의 퀴리 랭귀지는 요 안에 다시 들어갈 수가 있다. 뺐네 요 안에 넣으면 돼 퀴리 랭귀지 주로 질문 지리 에스큐엘 그러니까 뭐 실렉트 문으로 어떤 질의에서 내가 원하는 데이터를 참조하는데 이용되는 명령어거든. 요 안에 포함할 수도 있고 따로 띄워놓을 수도 있네요. 그죠 요 안에 포함되는 게 좋습니다.
화자 1
22:21
그래서 이렇게 봐 주시면 되고 자 그러니까 우리 데이터베이스는 거대한 데이터의 집합인데 이놈을 이용하는데 어 이 논문 뭐다 우리 사용자는 어 사용자 데이터는 뭐예요? DML DML 이 DML은 주로 여러분들이 사용하는 명령어들이에요. 언어고 이 DDL은 에 그래서 주로 이게 뭐야? 야 이거 종류예요. 인설트 업데이트 딜리터 이게 DML의 종류인데 나중에 다시 봅니다. 예 이런 것들이고 이제 DDL은 뭐야? 크리에이터 드랍 크리에이터 서 만드는 거 정의하는 거고, 드랍은 지우는 거고, 엘트 명령어는 변경하는 거예요. 뒤에 다시 합니다. 대표적인 DDL이고 요거는 대표적인 DML이다. 이런 뜻이고 요거 그랜트 원 리보건 대표적인 DCL이다. 이 말입니다. 그죠 그럼 요런 사용자 DML과 DDL과 DC에 의해서 데이터베이스는 조작이 된다. 그렇죠.
화자 1
23:13
그리고 퀴리 랭귀지로써 실릭터 실릭터 해서 산출물 내가 원하는 데이터가 데이터베이스의 많은 데이터 중에서 빠져나온다는 거죠. 그죠 그래서 데이타베이스 언어를 그림으로 다시 한번 설명을 했는 겁니다. 그러나 이제 여러분이 주로 많이 하는 게 DNA를 가지고 이런 명령어들을 가지고 데이터베이스를 조작하고요. DDL 가지고 데이터베이스를 선언하고 DCL에서 제어해서 필히된 기지로 최종 시렉터 문으로 내가 원하는 데이터를 뽑아낸다는 그런 말씀 알겠어요. 나중에 다시 한번 계속해서 반복이 됩니다. 좋아요. 좋습니다. 자 데이터베이스 관리 시스템 자 이런 데이터베이스는 여러분이 직접 관리하는 게 아니고 또 친절하게 OS처럼 그죠 이 데이터베이스를 아주 전문적으로 관리해 주는 프로그램이 있습니다.
화자 1
24:08
어 이 데이터베이스를 관리해주는 전문적인 프로그램을 우리는 뭐다 데이터베이스 매니지먼트 시스템이라 하는 거예요. 대표적인 게 이제 마이크로소프사에서 에스큐엘 예 그다음에 여러분 오라클 들어봤나 오라클 어 뭐 이런 거 뭐 대표적인 가장 늘 이용되는 게 시콜 스트락슈킬 에스큐엘이고 그다음에 인제 오라클을 또 많이 쓰고요. 예 들어봤죠 이런 것들인데 이 데이터베이스 매니지먼트 시스템의 정의는 뭐야? 파일 시스템의 데이터의 종속성과 중복성 문제점을 해결하기 위한 방안 응 DBM에서 파일 시스템의 요 문제를 해결하는 거고, 응용 프로그램과 데이터의 중간 해결사 역할을 하면서 여러 응용 프로그램이 데이터베이스를 공유할 수 있게 해주는 소프트웨어를 데이타베이스라 한다. 그죠 그러니까 이런 이야기다 이 말입니다.
화자 1
24:55
이 데이터베이스 하드디스크나 하드웨어 테이프에 저장된 거대한 데이터 집합을 어 이런 응용 프로그램들 즉 여러분들이 직접 컨트롤하는 게 아니고 뭐냐 중간에서 뭐 인터페이스죠 이놈이 인터페이스 저거 누가 DBM에서 데이터베이스를 전문으로 관리해주는 소프트웨어입니다. DBM에서 SQL이나 이런 거예요. 이런 프로그램에 의해서 우리는 이 데이터베이스에 들어있는 데이터를 아주 쉽게 운영할 수 있다는 이런 이야기지 그러면 이런 DBMS를 누가 사용하느냐 이 말이야. 유저들 다양한 사용자 여러분들이 다양한 응용 프로그램을 이용해서 DBMS의 도움을 받아서 데이터베이스를 조장한다는 거고, 그다음에 실제 프로그램 어떤 프로그래머들이 또는 응용 프로그램을 개발해서 여러분들은 프로그램을 사용하는 거고, 프로그래머들은 개발해서 DBM 도움 받아서 하는 거고요. 그다음에 가장 중요한 게 DBA 데이터베이스만 전문으로 관리하는 사람을 데이터베이스 어도미니 스테이트라 하거든.
화자 1
25:52
이 DB만 그래서 여러분들 지금 현재 우리나라에서 그죠 사용자들은 3800만 명이야 컴퓨터 인터넷을 사용하고 어 여러분들 쇼핑몰 데이타베이스 가서 쇼핑몰도 데이타베이스의 집합이죠. 데이타베이스에서 수많은 옷이나 물건을 집어넣어 놓고 여러분들이 클릭해가서 퀴리로 어떤 특정 프로그램을 이용해서 그 물건을 사고 이래 하거든. 알겠나 이 사용자는 3천만 명 넘는다니까 지금 이 사용자 어 우리가 개발한 프로그램을 사용해 가지고 DBM에서 도움을 받아가 여러분 또 지금 여러분 현재 우리 어 우리 현재 사이트에서도 여러분 사용자잖아. 그렇죠. 우리 회사에서 만든 내 모든 강의는 데이터베이스에 들어와 있죠. 그니까 SPL 에 의해서 여러분들이 우리가 만들어 놓은 ASP 프로그램에 의해서 여러분 클릭하거든. JH의 정보처리기사 뭐예요? 지금 현재 데이터베이스 개요 클릭 딱 하면은 이놈이 DB에 들어있는 내 강의를 뽑아서 여러분한테 보여주거든. 에 이 사용자 여러분 사용자들이에요.
화자 1
26:52
아 근데 정보처리 기사 자격증 따면 여러분 뭐가 되노 프로그래머가 되겠죠. 프로그래머 어 자 프로그래머들은 이런 응용 프로그램을 개발하는데 응용 프로그램을 개발해줘요 개발 개발해서 DBM에서 도움을 받아서 이 데이터베이스에 있는 데이터를 조작하는 거예요. 그런데 현재 사용자는 많아요. 우리나라에서 여러분 이 사용자는 기능만 알면 되죠. 기능 어 컬링만 잘하면 되는 거예요. 어 근데 이제 프로그래머 정보처리 기사가 인제 프로그래머예요. 그래서 현재 우리나라에서 이놈하고 특히 DBA가 정말 부족합니다. 여러분들 내 말 잘 들어라 요번 기회에 내 강의 듣고 여러분들 DBA로 거듭났소스 현재 여러분 DBA가 부족합니다. 데이터베이스를 전문으로 관리하고 데이터베이스를 전문가가 잘 없는 거예요. 이제 여러분들 이제 모든 회사는요 데이터베이스 사업이거든. 우리 회사도 그렇고 국가도 그렇고요.
화자 1
27:47
여러분 앞으로 들어갈 조직도 한 가지야 그런데 그 데이터베이스를 전문 그 회사의 모든 DB 바로 해킹하는 게 그거든. 어떤 회사의 데이터베이스를 파괴하면은 해킹이 되는 거예요. 그럼 이제 기업체에서요 이런 데이터베이스가 굉장히 소중하다는 걸 이젠 알 겁니다. 모든 그러면은 앞으로 가장 취업이 잘되는 게 뭐냐 데이터베이스 쪽입니다. 여러분 무슨 말인지 알아 이 데이터베이스 공부를 잘해놔야 돼 데이터베이스는요 기업체에서 무조건 특채합니다. 관리자는 왜 그 기업의 모든 정보를 운영해야 되고 보완해 모아야 되거든. 그 사람이 최고예요. 근데 여러분들 대학에서 인제 이런 DB를 양성해야 되는데 어 6.25 때처럼 닦고 조이고 기름쳐 암기하고 하니까 치정이 안 되잖아. 그래서 현재 우리 IT 쪽에서는 이런 사람들이 이 사람 세수 3800만 명 있다니까 근데 이거 이게 잘 없어 프로그램도 잘 없고 현재 이게 없다는 거예요. 내가 말하는 백만장대설 이거 아니야.
화자 1
28:45
이거 이거 특히 데이터베이스 관리자 여러분요 내가 강의당하는 모 대학에요. 가장 힘 있는 사람이 누구냐 하면은 그 대학의 TBA입니다. 여러분 총장이 제일 힘 있는 줄 알잖아. 10 하나도 없다. 너 어떤 모 대학의 데이터베이스 관리자로요 내하고 친한 사람인데 그 사람은요, 근무 태도가 굉장히 불량하다 출근도 잘 안 하고 아나 그리고 기분 나쁘면 보따리 싹 들어 다음에 학교에서 난리 납니다. 니 와 카노 정신 차려라 와 어 뭔 말인지 알겠나 이 사람이 나가버리면 그 대학의 모든 데이터베이스를 누가 가냐 자기가 들어와서 데이터베이스 설계하고 그 대학의 모든 데이터를 학생 DB부터 다 만들어 놨는데 어 여 이 친구는요 만만하면 내한테 전화해 나중에 놀러 가자 카고 난 일하는 사람 예 그 업무도 옳지 않아 그래서 학교에서 꼼짝을 못 하는 거야. 왜 실력이 있으니까 이 사람 어 가뿌면 그 학교의 데이터베이스 엉망 되거든.
화자 1
29:41
그러니까 총장은 보내도 야는 못 보내는 기라 그러다보니 막 진짜 이거요 학교에 가면 웃겨요 다리 책상에 올려놓고요. 총장 와도 그 끄떡 압니다. 실력으로 실력이 있으니까 보따리 들면 월급이 올라가 한번 이거 들 때마다 월급이 더욱 올라가는 기라 알겠나 여러분들 오늘 직장에 가지고 보따리 들어보십시오. 월급 절대로 가라 카지 알겠나 실력 진짜다 이거는 그래서 음 여러분들 이거 데이터베이스 공부를 좀 많이 해야 됩니다. 그래서 내 강의 듣고 이 내 강의 충분히 이야기 나간다 그죠 이론적인 거는 그래서 우리가 정보처리 기사 실기에 또 DB가 실무만 나와요. 알겠나 그래서 이 JJ도 예 뭐예요? 뭐 데이터베이스 우리 지금 피디님 이상한 액션을 취하는데 맞다. 이 말이구나 예 뭔 말인지 알겠나 그래서 정보처리 기사는 바로 이 프로그램머와 DBA를 양성하는 거야. 어 요번 기회에 여러분 잘 알아야 됩니다.
화자 1
30:38
그래서 이게 이 데이터베이스 DB 데이터베이스 관리자 시스템으로 이 데이터베이스를 조작하는 사람이 3가지 여러분처럼 사용자들 사용자 뜻도 모르고 눌러 가지고 이 데이터베이스 안에 데이터를 여러분들 참조하는 거고, 또 프로그램머들은 자기가 만든 이 프로그램을 가지고 조작하는 거고, DBA를요 바로 직접 핸들링 하는 거죠. 이 델타베이스 실제 운영 관리를 하는데 DBM에서 도움을 받아 가지고 직접 핸들링을 하는 사람 진짜 전문가죠 그래서 이 DBA가 내 농담이 아니고 우리나라에서 많이 양성되어야 되고 앞으로 모든 기업체에서는요 무조건 데이터베이스 어드미니 스트레이트 관리자가 다 필요합니다. 예 왜 기업에서 인제 데이터베이스 생명력이거든. 그래서 이런 기회에 여러분들 이 데이터베이스 강의를 잘 듣고 DBA로 거듭나는 게 진짜 전산쟁의가 되는 거예요. 알겠나 얘 말 잘 듣고 정보처리기사 자격증도 중요하지만 데이터베이스 공부를 아 정보처리에서 충분히 이야기할 테니까.
화자 1
31:35
여러분 실무만 살짝 익혀버리면은 아주 전문가로 앞으로 여러분 유비쿼터스 시대 어떻게 살아 나가야 되나 내가 이야기 했죠. 인생 역전의 길은 2가지밖에 없 너또 복권 아니면 뭐다 기술 바로 프로그래머가 되든지 DBA가 되든지 되겠나 해서 이런 데이터베이스를 사용한 사람 3단계 다 사용자 여러분들 누굴 도움을 받았어. 자 그래서 DBMS에 대해서 여러분들 공부를 해야 됩니다. 좋아요. 예 좋습니다. 자 그다음에 어 이야기 됐죠 자 파일 시스템의 문제점 아까 봤지 아까 파일로 이 파일 구조로 데이터를 저장하다 보니까 뭐 데이터의 종속성과 중복성이 생기죠 에 더 이상 설명하는 거 알겠죠. 그래서 요런 문제점을 해결하기 위한 게 DB고 DBMS의 필수 기능이 뭐야?
화자 1
32:28
반드시 데이터를 정의하는 기능 정의 기능 조작 기능 제어기능 3가지 기능은 BBMS라는 이 소프트웨어다 이 3가지 기능이 없는 거는 DBMS가 될 수 없다는 거예요. 그죠 똑같죠 이 정의기능은 뭐다 아까 정의어 DDL로 표현되고 조작은 DML로 표현할 거고, 제어는 DCL로 표현합니다. 그죠 그래서 한번 읽어보시면 되고요. 자 이런 DBMS의 장단점은 뭐다 장점은 뭐고 데이터베이스 매니멀 시스템은 데이터의 중복을 최소화시키고 데이터를 공유하도록 만들어주고 데이터 일관성 컨시스턴스 그리고 무결성 그리고 보안이라든지. 표준화 기능을 제공하는 게 DBMS입니다. DBMS의 도움으로 우리는 데이터베이스에 있는 데이터들을 우리는 이런 식으로 기능화시킬 수가 있는 거고요. 단점은 뭡니까? 대신 돈이 좀 많이 듭니다. 많은 운영비 이 데이터베이스를 방대한 데이터를 교육관리원이 운영비가 들고 자료처리가 좀 복잡하죠.
화자 1
33:23
수많은 조직의 데이터를 연결시켜 놨기 때문에 그리고 예비조치적 백업의 회복 어 회복이 좀 어려워요 우리가 파일 백업이라 파일 리커버리는 쉬운데 데이터베이스를 백업하고 리커버 리커버리 회복시키는 거는 DBA만 할 수가 있다. 그죠 그래서 데이타베이스를 백업한다면, 상당한 전문가입니다. 그러니까 그저 그러니까 주기적으로 그 회사의 데이터를 백업 시켜 놓거든. 왜 데이터베이스는 해킹이 올 수도 있고 어떤 물리적으로 원인에 의해서 데이터베이스가 파괴되면 그 조직이 파괴되는 거죠. 여러분 사이버 전쟁 하는 게 뭔지 아나 이제는 국가의 사람 죽이는 것보다 국가의 정보 국가의 모든 정보가 데이터베이스화 돼있거든요. 미국무성 같은 경우 그 데이터베이스를 파괴시켜 버리면 게임 끝나는 겁니다. 어 게임 끝나는 거죠. 은행 은행이 전부 다 데이타베이스화 돼 있다니까 여러분 알겠나 에 여러분 농협 국민은행 거 이런 인터넷 뱅킹하는 게 전부 데이타베이스화 돼 있는 거예요. 그 DB를 침투해 버리면 해킹이죠.
화자 1
34:18
그래 뿌면 그 국민은행의 모든 돈을 여러분의 멋대로 조정할 수 있는 기야 어 돈을 갖고 튀어라 통장에 100원밖에 없는 놈한테 100억 넣어주고 또 여러분 통장에 막 200억 막 넣어주고 알겠어요. 그러니까 데이터베이스가 이젠 앞으로 시대를 시대의 관건이야 어 어떤 기업의 데이터베이스가 뚫혀버리면 그 기업은 다 뚫려 우리 회사에 여러분 DB 뚫어버리면은 어 우리 강의 전부 공짜로 다 듣는다 말라도 안 되고 들어노 또 여러분들 여러분 학교에 성적 DB 여러분 성적 시험 치면 너 이거 뭐 에이 뭐 비 막 올라가죠 그 데이터베이스 뚫어버려 공부할 필요 없다. 들어가 가지고 성적 조작하면 돼요. 에퍼묵은 A로 만들어 뿌면 되잖아. 어 성적이 나쁘다고 자살하지 마라 내한테 이야기해라 여러분 학교 데이터베이스는 굉장히 떨키시구요. 어 그래서 나는요 모 은행에 내가 어디라고 이야기 안 할게 모 은행의 데이터베이스는 내 손안에 있어요.
화자 1
35:08
그래서 밤마다 나 왔다 해 심심하면 어떤 사람한테 100억 넣었다가 뺐다가 장난치다가 새벽에는 정상화시켜놓고 내 허벅지를 꼬집으면서 참아야 하늘이라 카고 출근하고 이칸디 돈 없다고 죽은 사람들 전부 다 나에게 오라 그죠 내가 살짝쿵 DB를 조작해 줄게 여러분 국민은행에 계좌만 딱 개설해놔 봐 내가 국민은행이 우리 손자한테로 100억 탁 넣어주면 순자 아니라 그거 찾아가면 돼 찾아 가지고 날려뿌라잉 그래 버리면 게임 끝입니다. 알겠어요. 그래서 데이터베이스 가면 갈수록 중요됩니다. 데이터베이스의 보안 해킹하는 게 전부 다 뭐 DB 사이버전쟁이 뭐고 데이터베이스 파괴시키는 거예요. 어 이제 국가의 모든 정보도 DB와 만들고 그 데이터베이스 파괴되면 그 국가나 끝나버리는 거죠. 회사가 DB가 파악이 되면 그 회사 일 모하는 겁니다. 그래서 그만큼 중요하다 그래서 이런 중요한 과목을 여러분 배우고 있다는 거 알겠나 그래서 그걸 잘 아셔야 됩니다.
화자 1
36:06
그래서 요런 거 데이터베이스에 인제 또 장단점이 있는 거야. 그래서 개괄적인 이야기 개괄적인 이야기들 보고요. 그다음에 한번 볼까요? 자 아까 이야기했죠. 사용자 및 DB 사용자는 여러분들이 DBL 데이터베이스를 전문으로 관리하고 보완을 해주는 전문가죠 그니까 사용자는 크게 인제 단마의 사용자 일반 유저 그리고 응용 프로그래머 데이터베이스 관리자 이 세 사람이 데이터베이스에 관련된 사람이다잉 어 데이터베이스를 접근한다는 거는 사용자 아니면은 프로그램 모양이면은 DBA입니다. 그죠 그래서 가장 큰 분야는 뭐다 DBA한테 있고 그 다음에 응용 프로그램 여러분들은 그냥 시키는 대로 하지 예 클릭해서 제재치의 정보처리기사 논리베로 탁 눌르면은 이제 응용 프로그램을 만든 그 프로그램에서 우리 회사의 데이터베이스 즉 강의 DB 접근해서 그 논리대로 강의가 착 올라오는 거야. 알겠어요. 보시고 자 DBA는 정의나 이야기했죠.
화자 1
37:05
중앙회 통제를 위하여 데이터베이스의 생성과 모든 관리 OS의 운영에 대한 책임과 관련해 가지고 있는 사람 또는 집단적 사람이죠. 그죠 데이터베이스 전문가 그 역할은 뭡니까? DATA 베이스의 구성 요소를 결정하고 뭐 스키마 정의 보안 및 권한 부여 저장 구조와 접근 방식 예외 조치 및 회복 절차 무게성 유지 이런 데이터베이스의 모든 걸 종합적으로 관리하는 전문가가 뭐다 DBA입니다. 그죠 그래서 이 DBA가 앞으로 우리나라에서 많이 필요한데 이런 공부 이런 데이터베이스의 실무공부를 해 가지고 전문 DBA를 양성시켜야 하는 게 대학의 목표인데 대학에서는 아직까지 먼 나라 이야기입니다. DBA 가면 먹는 긴가 이 지를 하면 누가 교수님들이 이래서는 안 되겠죠. 그죠 그래서 여러분들 요런 용어 이 DBA의 역할 정의 이런 거도 문제가 출제가 되거든.
화자 1
37:58
그래서 오늘은 데이터베이스의 괴괄적인 개요를 이야기했고 자 충분하다 이 데이터베이스는 여러분 내 말 잘 들어라 이론에서도 나오지만 정보 처리 기사 실기에서도 많은 문제가 나옵니다. 삼십 문제는 나오죠. 그래서 강의를 특별히 잘 들어야 됩니다. 또 내가 멋지게 환상적으로 실무에 입각해서 이야기를 한다. 그래서 좀 기사 필기에서는 조금 이론적으로 이야기하고요. 실무에 가서는 환상적으로 실제 DB를 설계하는 것까지 다 가르켜 줍니다. 그리고 이거는 시험 끝나고도 여러분이 단순 유저로 생활하든지 프로그램으로 생활하든지 아니면 내 말 듣고 DBA로서 고연봉을 받고 이제 여러분들이 정말 실력자가 되던 이제 싫든 좋든 우리는 데이터베이스를 이용을 하면서 세상을 살아가야 합니다. 알겠나 해서 DBA는 확실히 해놔야 됩니다. 됐죠 그래서 오늘 디비 데이터베이스의 개괄적인 이야기를 하고요.
화자 1
38:54
이제 에 자 뭐 내일부터 또 DBA에 구체적으로 세계로 한번 빠져보도록 하겠습니다. 자 여러분 오늘도 2시간 동안 수고하셨고 자 그러면은 자 내일 또 기대하시고 오늘은 여기까지 하겠습니다.
'전진하(JJH)교수님의 강의 > 정보처리기사 산업기사' 카테고리의 다른 글
[정보처리] 데이터베이스 - 관계데이터모델 (0) | 2024.08.05 |
---|---|
[정보처리] 데이터베이스 - 데이터모델링 (0) | 2024.08.05 |
[정보처리] 데이터베이스 - 자료구조4 (0) | 2024.07.09 |
[정보처리] 데이터베이스 - 자료구조3 (0) | 2024.07.09 |
[정보처리] 데이터베이스 - 자료구조2 (0) | 2024.07.09 |