Day 027
원래 계획대로라면 오라클 클라우드 계정을 생성하는 날이었는데 강사님께서 진도에 차질이 생길 수 있다고 판단하셨는지 데이터베이스의 개념과 데이터 모델링 부분을 학습하게 되었다. 개념을 학습하는건 아무래도 실습보다 흥미도가 떨어지긴 하다만 새로운 내용이라 그런지 나름 집중하며 배웠던거 같다. 다만 교재가 있는게 아니다보니 책을보며 학습하는걸 좋아하는 나의 습관상 복습이 쉽지 않은데, 강사님께 책을 추천 받아 따로 개인적으로 해당 부분을 공부해야겠다!
---------------------------------------------------------------------------------------------------------------------
이번주 강사님 말씀!!
1. 5/7 금요일 능력단위 평가 시험!
- 데이터베이스 구현 (데이터 모델링)
- 관계 데이터 모델링 능력은 특히 금융계열 기업 채용시 우대사항
2. 금주 훈련방향
가. On-premise 방식의 Oracle XE/Enterprise Edition Installation
나. Oracle RDBMS에 대한 접속방법(EZCONNECT, TNSNAMES)
- 제대로 하지 못함. 그런데 상관없음(데이터 모델링 끝내고) 다음 능력단위부터 진행
- 더불어, 접속방식 익힌 후에는, SQL언어 배우기 전에, 바로 Oracle Cloud ATP 로 전환(***)
이때의 접속방식은 On-premise 하고 틀림
다. 채용시 우대 사항인 관계 데이터 모델링에 전념하시길 부탁드립니다. (조별 협업 중요->쇼핑몰 과제)
3. 기타
가. 이제 5/23일부로 만 2개월이 됩니다.. 어느덧 곧있으면 3개월차가 됩니다.(시간빠르죠!?)
앞으로는 더 빨라질 것입니다
나. 자바 언어 까먹는다 다들 그렇다 까먹으면 안 된다. 자바언어가 가장 중요하다.
자바언어만 잘 알면, 특히 배열, JCF 자료구조-제네릭-람다식 부분만 완벽히 알면 좋은 기업 갈 수 있다.
다. 30대에게 조언!!!!
어떻게서든 입사해서 2년 경력을 쌓아라 약속의 3년차에 이직해라 이것을 목표로해라
2년동안 버틸 수 있는 회사를 찾아야한다. 매출액 30억이상 직원수 40-50명 정도의 회사로 목표설정해라
ex) 최종이직 목표 : 증권회사 (경력직 채용 多, 50대가 대부분)
------------------------------------------------------------
*On-premise 방식 : 로컬 (본인의 PC, 노트북, 서버)에 직접 설치하는 방식
*Oracle Instance = Oracle Background Services + SGA (System Global Area)
Oracle Background Services : 클라이언트들의 모든 SQL 문장을 처리하고 데이터베이스를 관리하는 프로세스들
SGA (System Global Area): 오라클이 사용하는 전용 메모리 공간
데이터베이스는 소프트웨어를 말하는게 아니고,
실제 비지니스 데이터가 저장되어 있는 파일들의 모음을 의미
이 파일들은 보통 확장자가 xxx.dbf로 생성/관리된다.
데이터 : 관찰의 결과로 나타난 정량적 혹은 정성적인 실제 값 (ex) 8848m)
정보 : 데이터에 의미를 부여한 것 (ex) 에베레스트는 세계에서 가장 높은 산이다)
지식 : 사물이나 현상에 대한 이해 (ex) 에베레스트 등정보고서)
데이터베이스란 :
조직에 필요한 정보를 얻기 위해 논리적으로 연관된 데이터를 모아 구조적으로 통합해 놓은 것
신용카드 데이터 -> 카드사 데이터베이스
병원 데이터 -> 건강보험 데이터베이스
쇼핑몰 데이터 -> 쇼핑몰 데이터베이스
문헌정보 데이터 -> 도서관 데이터베이스
데이터베이스 시스템은 데이터의 검색과 변경 작업을 주로 수행함 (검색이 매우 중요)
변경이란 시간에 따라 변하는 데이터 값을 데이터베이스에 반영하기 위해 수행하는
삽입, 삭제, 수정 등의 작업을 의미함
공룡 데이터베이스 - 검색빈도 적음, 변경빈도 적음 -> 구축 쉬움
증권 데이터베이스 - 검색빈도 많음, 변경빈도 많음 -> 구축 어려움
데이터베이스의 개념
통합된 데이터(integrated data): 데이터를 통합하는 개념으로, 각자 사용하던 데이터의 중복을 최소화하여 중복으로 인한 데이터 불일치 현상을 제거
저장된 데이터(stored data) : 문서로 보관된 데이터가 아니라 디스크, 테이프 같은 컴퓨터 저장장치에 저장된 데이터를 의미
운영 데이터(operational data) : 조직의 목적을 위해 사용되는 데이터를 의미한다. 즉 업무를 위한 검색을 할 목적으로 저장된 데이터
공용 데이터(shared data) : 한 사람 또는 한 업무를 위해 사용되는 데이터가 아니라 공동으로 사용되는 데이터를 의미
데이터베이스는 운영 데이터를 통합하여 저장하며 공용으로 사용된다
학사 데이터베이스
등록 데이터베이스 -> 통합 데이터베이스
수강 데이터베이스
데이터베이스의 특징
실시간 접근성(real time accessibility) : 데이터베이스는 실시간으로 서비스된다. 사용자가 데이터를 요청하면 몇 시간이나 몇 일 뒤에 결과를 전송하는 것이 아니라 수 초 내에 결과를 서비스한다.
계속적인 변화(continuous change) : 데이터베이스에 저장된 내용은 어느 한 순간의 상태를 나타내지만, 데이터 값은 시간에 따라 항상 바뀐다. 데이터베이스는 삽입(insert), 삭제(delete), 수정(update) 등의 작업을 통하여 바뀐 데이터 값을 저장한다.
동시 공유(concurrent sharing) : 데이터베이스는 서로 다른 업무 또는 여러 사용자에게 동시에 공유된다. 동시(concurrent)는 병행이라고도 하며, 데이터베이스에 접근하는 프로그램이 여러 개 있다는 의미다.
내용에 따른 참조(reference by content) : 데이터베이스에 저장된 데이터는 데이터의 물리적인 위치가 아니라 데이터 값에 따라 참조된다. (SQL)
***데이터베이스 시스템의 3요소 (기술면접 질문 빈출)
1. DBMS : 사용자와 데이터베이스를 연결시켜주는 소프트웨어 (ex) Oracle)
2. 데이터베이스 : 데이터를 모아둔 토대
3. 데이터 모델 : 데이터가 저장되는 기법에 관한 내용
데이터베이스 시스템
DBMS를 도입하여 데이터를 통합 관리하는 시스템
DBMS가 설치되어 데이터를 가진 쪽을 서버(server),
외부에서 데이터 요청하는 쪽을 클라이언트(client)
DBMS 서버가 파일을 다루며 데이터의 일관성 유지, 복구, 동시 접근 제어 등의 기능을 수행
데이터의 중복을 줄이고 데이터를 표준화하며 무결성을 유지함
웹 데이터베이스 시스템
데이터베이스를 웹 브라우저에서 사용할 수 있도록 서비스하는 시스템
불특정 다수 고객을 상대로 하는 온라인 상거래나 공공 민원 서비스 등에 사용됨
분산 데이터베이스 시스템
여러 곳에 분산된 DBMS 서버를 연결하여 운영하는 시스템
대규모의 응용 시스템에 사용됨
데이터 모델
계층 데이터 모델(hierarchical data model)
네트워크 데이터 모델(network data model)
객체 데이터 모델(object data model)
관계 데이터 모델(relational data model) -> 가장 많이 쓰임! (Oracle, System R)
객체-관계 데이터 모델(object-relational data model) -> 관계데이터 모델과 객체 데이터 모델의 장점을 결합
모델링의 핵심은 데이터들 끼리의 관계!
***3단계 데이터베이스 구조 (기술면접 질문 빈출) (스키마=구조)
외부스키마
외부스키마 <-> 개념스키마 <-> 내부스키마 <-> 데이터베이스
외부스키마
사용자가 전체데이터 DBMS가
보는 데이터 보는데이터
*외부 스키마
일반 사용자나 응용 프로그래머가 접근하는 계층으로 전체 데이터베이스 중에서 하나의 논리적인 부분을 의미
여러 개의 외부 스키마(external schema)가 있을 수 있음
서브 스키마(sub schema)라고도 하며, 뷰(view)의 개념임
*개념 스키마
전체 데이터베이스의 정의를 의미
통합 조직별로 하나만 존재하며 DBA가 관리함
하나의 데이터베이스에는 하나의 개념 스키마(conceptual schema)가 있음
*내부 스키마
물리적 저장 장치에 데이터베이스가 실제로 저장되는 방법의 표현
내부 스키마(intenal schema)는 하나
인덱스, 데이터 레코드의 배치 방법, 데이터 압축 등에 관한 사항이 포함됨
구조를 개념스키마로 만들어 놓으면 실제로 저장하는건 내부스키마이다
외부스키마는 서비스를 하는데 필요한 일부분의 스키마만 개념스키마에서 제공
***논리적 데이터 독립성(logical data independence)
외부 단계(외부 스키마)와 개념 단계(개념 스키마) 사이의 독립성
개념 스키마가 변경되어도 외부 스키마에는 영향을 미치지 않도록 지원
개념 스키마의 테이블을 생성하거나 논리적 구조가 변경되어도 응용 프로그램에는 영향이 없도록 하는 개념
변경하여도 외부 스키마가 직접 다루는 테이블이 아니면 영향이 없음
***물리적 데이터 독립성(physical data independence)
개념 단계(개념 스키마)와 내부 단계(내부 스키마) 사이의 독립성
저장장치 구조 변경과 같이 내부 스키마가 변경되어도 개념 스키마에 영향을 미치지 않도록 지원
성능 개선을 위하여 물리적 저장 장치를 재구성할 경우 개념 스키마나 응용 프로그램 같은 외부 스키마에 영향이 없음
물리적 독립성은 논리적 독립성보다 구현하기 쉬움
--------------------------------------------------------------------------------------------------------------------
릴레이션(relation) : 행과 열로 구성된 테이블
relation : 릴레이션, 테이블 (관계라고 하지 않음)
relationship : 관계
테이블(표) - 릴레이션
행(가로) - 개체 (객체아님)
열(세로) - 집합 (테이블 또한 집합임)
수학의 집합의 성질
(1) 원소의 순서를 보장하지 않는다
(2) 원소의 중복을 허용하지 않는다 (열이 전부 같아야 중복임)
데이터 모델링의 핵심은 관계를 설정하는 것
표 - 릴레이션
행(가로) - 튜플 (갯수는 카디널리티로 표현)
열(세로) - 속성 (갯수는 차수로 표현)
튜플들의 모음 - 인스턴스
속성들의 모음 - 스키마
데이터 모델링 과정
1. 요구사항 수집 및 분석
2. 개념적 모델링
3. 논리적 모델링
4. 물리적 모델링
5. 데이터 베이스구현
'국비학원' 카테고리의 다른 글
[국비지원] KH 정보교육원 29일차 (0) | 2022.05.06 |
---|---|
[국비지원] KH 정보교육원 28일차 (0) | 2022.05.04 |
[국비지원] KH 정보교육원 25, 26일차 (0) | 2022.05.02 |
[국비지원] KH 정보교육원 24일차 (0) | 2022.04.26 |
[국비지원] KH 정보교육원 23일차 (0) | 2022.04.26 |