ALLYES
[2022년 청년친화형 기업 ESG지원 사업 - 2] 본문
AI·BigData 취업역량강화 프로그램
일시 : 2022.09.06
시간 : 09:00 ~ 18:00
오전 DataBase
점심 시간 : 12:50 ~ 14:10
오후 Java
오전 [ DataBase ] : 이론 수업 + 실습 환경 구축
※ 이론수업
- 데이터 수집 = 텍스트 데이터 수집
- 데이터 보관(저장) = DataBase
- 데이터 분석 = 머신러닝
- 예측 = 딥러닝
- 서비스 = 웹, 앱
텍스트 데이터 - 가장 기본적으로 사용되는 데이터
멀티미디어 데이터 - 이미지, 영상, 음성 등 데이터
데이터 베이스
- 무결성이 보장된 데이터를 모아놓은 집합(저장소)
- 저장된 데이터들을 언제든지 활용하기 위해 사용함
- 테이블(표와 같은 형태)로 데이터를 저장함
- 컬럼에 조건을 걸어 그 조건에 맞는 데이터만 저장
- 데이터 용어 정리
- 데이터 - 가공 되지 않은 것
- 정보 - 가공해서 얻어낸 결과
- 테이블(표) - 데이터를 저장하는 단위, 테이블은 여러 개의 열들(분류)를 가지고 데이터를 저장하는 구조(행과 열, 2차원적 구조)
- 컬럼(열 이름) - 테이블을 구성하는 분류체계, 하나의 테이블은 여러개의 컬럼들로 구성
- 데이터 무결성 - 데이터의 정확성, 데이터가 정확해야 정확한 정보가 나옴
- null - 비어있는 데이터
- 숫자 0 : 숫자를 나타내는 데이터, 1 byte
- space : 문자 데이터, 1 byte
1 + 1 = 2
1 : 숫자라는 데이터
+ : 가공
2 : 정보
1 + 1 = 3
3 은 정보 일까요?
정보 입니다. 정확히는 잘못된 정보
- 표
- 제목 작성, 열(이름, 나이, 연락처) 작성
- 열은 정해 놓은 약속(이름 칸에는 이름만 적자) => 분류

데이터가 중복이 일어나면 공간 활용도가 낮아짐 => 무결성이 보장이 안됌
컬럼에 조건을 걸어 그 조건에 맞는 데이터만 저장
- primary key(기본키) - not null + unique
- not null : 값이 반드시 있어야함
- unique : 유일해야한다 => 중복이 있으면 안됨
- 테이블을 대표하는 컬럼에 설치, 가장 이상적인 테이블은 한 개의 컬럼에 한 개의 PK설치
- 무결성 보장(중복을 허용하지 않음)
- 검색 속도 향상
- foreign key(참조키, 외부키)
- 다른 테이블의 컬럼을 참조
- 테이블과 테이블간의 관계를 설정
- 종속적인 삭제 방지
- null, 중복 허용
- ex) 부서, 사원 테이블( 서로 독립된 테이블)
- 새로 들어온 신입 사원은 정보가 등록이 물리적으로는 되나 논리적으로는 안된다. => 무결성이 깨졌다.
- 근무부서번호(foreign Key) -> 부서 테이블에 있는 부서번호를 참조를 한다.

컴퓨터 구조
- 나무의자
- 재료 : 나무
- 작업 도구 : 못, 톱, 망치 등
- 작업 공간 : 공터 등
- 컴퓨터에서도 작업을 하려면 작업 공간이 필요함
- 재료 - Disk(데이터의 저장공간)
- 작업 도구 - process(CPU)
- 컴퓨터의 작업 공간 - memory(RAM)
Disk 에서 일하는 행위
disk -> memory : output
memory -> disk : input
=> I/O라고 표현
Disk 의 구조 : 아파트 형태처럼 구성되어 있음
block - 저장 공간
header - 관련된 데이터의 정보

값이 없다 => block(저장공간)이 할당 되지 않은 것
null => block이 할당은 됨. 데이터가 비어있다.
Ex) S대학 학생 학생증 설정
not null - 주민등록번호, 학번 => 후보키
주민번호 or 학번중에서 PK 설정 => 학번
※ 실습 환경 구축
oracle 사용

계정 셋팅

- conn - connect
- system - DBA
- 12345 - 관리자 비밀번호

hr 이라는 계정 생성 및 hr 이라는 비밀번호를 가지고 있음
계정 : hr
비밀번호 : hr
모든 실습은 hr의 계정 사용
ed(edit) 명령어 - 메모장이 열림

- sql plus => 메모리(sql buffer), 가장 마지막에 실행한 명령문 하나의 text가 메모장에 저장되어 있음
- 메모장의 내용을 바꾼 후 저장하고 나서 바꾼 내용을 실행을 시키려면 " / " or " run" 이라는 명령어를 사용하면 됌
- ; : 문장 종결자
- buffer 안에는 실행 명령어만 가능하기 때문에 ;을 사용할 수 없음
내일 까지 테이블 이름, 컬럼 이름 외워오기
1. departments 테이블
- department_id : 부서번호(PK)
- department_name : 부서이름
- manager_id : 부서를 관리하는 부서장(관리자)의 사원번호
- location_id : 부서가 위치한 도시의 지역 번호(FK), locations 테이블의 location_id 참조
manager_id, location_id 는 중복 허용이 가능함

2. employees 테이블
- employee_id : 사원번호(PK)
- first_name : 성
- last_name : 이름
- email : 이메일
- phone_number : 핸드폰 번호
- hire_date : 입사 날짜
- job_id : 현재 수행하고 있는 업무
- salary : 월 급여
- commission_pct : 보너스
- manager_id : 나(사원)를 관리하는 사수(관리자)의 사원 번호
- department_id : 근무하고 있는 부서번호(FK), departments 테이블의 department_id 참조
first_name, last_name, hire_date, job_id, salary, commission_pct, manager_id, department_id 는 중복허용이 가능함

- select : 데이터 검색 => 활용
- DML(데이터 조작어) => DB를 현 시점으로 유지/운영
- INSERT - 삽입
- UPDATE - 변경
- DELETE - 삭제
- MERGE
- DDL(데이터 정의어) => DB 구조 정의
- CREATE
- ALTER
- DROP
- RENAME
- TRUNCATE
- DCL(데이터 제어어) => 보안
- GRANT
- REVOKE
1. SELECT 문
select를 사용해 데이터 검색을 하여 그 결과를 활용하는 것이 주 목적
3가지의 기능
1. 선택(selection) - 테이블의 모든 column을 보기 위해 사용
2. 프로젝션 - 특정 column만 보기 위해 사용
3. 조인 - 각 테이블을 합칠 때(?)
오후 [Java]

컴퓨팅 사고(Computational Thinking) - 어떤 문제를 해결하기 위한 논리적 문제 해결 과정
- 분해(decomposition)
- -문제, 자료, 과정을 작게 다룰수 있는 부분으로 나누기
- 패턴인식(pattern recognition)
- 데이터에서 비슷한 부분, 다른 부분 관찰/인식
- 추상화(abstraction)
- 패턴을 만드는 일반적인 규칙 찾기
- 알고리즘 설계(argorithm design)
- 유사한 문제를 풀기 위한 단계적 방법 설계하기
Q) 6개의 공이 있다. 1개는 무게가 덜 나간다. 최소 몇번의 저울질로 빨간공을 분류 할 수 있을까?
A) 2번
- 3개 3개 로 그룹을 나눠 서로 비교, 덜 나가는 무게 쪽에서 1개 1개 비교
Q) 다리를 건너야한다. 총 4명이 건넌다. 각 사람별로 1분, 2분, 5분, 10분이 걸린다.(편도 기준) 손전등을 들고 최대 2명만 갈수있다.
A) 17분
- 1,2분(2분) >> 1분이 돌아오고(1분) >> 5,10분(10분) >> 2분이 돌아오고(2분) >> 1,2분(2분) => 17분
자바 개발 환경
- JDK(Java Development Kit)
- JRE(Java Runtime Environment)
- JVM(Java virtual Machine)
- JRE(Java Runtime Environment)
- IDE(Intergrated Development Environment)
- Eclipse
- Visual Studio
- Android Studio
- NetBeans
- IntelliJ
JDK 1.8 download
eclipse download
※ 실습 코딩 - 1
System.out.println("Hello");
- Tip
- ctrl + space : 코드 자동완성
- ctrl + / : 주석문
- main + ctrl + space : 메인메소드 만들기
- ctrl + f11 -> 프로그램 자동실행


- 변수(variable)
- 사전적 의미로는 "변화를 줄 수 있는" 또는 "변할 수 있는 수"
- 프로그래밍에서는 데이터를 담을 수 있는 공간

- 상수(constant)
- 사전적 의미로는 "불변하는" 또는 "변하지 않는 수"
- 프로그래밍에서는 데이터를 담을 수 있는 공간
- 한 번 넣으면 변하지 않는 수를 넣는데 사용

- 변수명 규칙
- 키워드 사용 불가
- 대소문자가 구분되며 길이에 제한이 없다 : int number;와 int Number;는 서로 다름
- 숫자로 시작할 수 없다. : int 1a = 0 (X)
- 특수문자는 '_'와 '$'만 허용한다. : int_a는 허용되지만 int#a는 허용되지 않음
- 변수 이름의 첫 글자는 항상 소문자로 시작한다.
- 변수 이름이 여러 단어로 이루어진 경우 단어의 첫 글자를 대문자로 한다.
- 문자열 자료형(String)에 배경색(BackgroundColor)을 저장하는 변수

'ESG' 카테고리의 다른 글
| [2022년 청년친화형 기업 ESG지원 사업 - 6] (0) | 2022.09.14 |
|---|---|
| [2022년 청년친화형 기업 ESG지원 사업 - 5] (0) | 2022.09.13 |
| [2022년 청년친화형 기업 ESG지원 사업 - 4] (0) | 2022.09.08 |
| [2022년 청년친화형 기업 ESG지원 사업 - 3] (0) | 2022.09.07 |
| [2022 청년친화형 기업 ESG지원 사업 - 1] (0) | 2022.09.05 |