Notice
Recent Posts
Recent Comments
Link
«   2026/03   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

ALLYES

[2022년 청년친화형 기업 ESG지원 사업 - 2] 본문

ESG

[2022년 청년친화형 기업 ESG지원 사업 - 2]

Allyes_99 2022. 9. 6. 17:52

AI·BigData 취업역량강화 프로그램

일시 : 2022.09.06

시간 : 09:00 ~ 18:00


오전 DataBase 

점심 시간 : 12:50 ~ 14:10

오후 Java


오전 [ DataBase ] : 이론 수업 + 실습 환경 구축

 

※ 이론수업

  1. 데이터 수집 = 텍스트 데이터 수집
  2. 데이터 보관(저장)  = DataBase
  3. 데이터 분석 = 머신러닝
  4. 예측 = 딥러닝
  5. 서비스 = 웹, 앱

텍스트 데이터 - 가장 기본적으로 사용되는 데이터

멀티미디어 데이터 - 이미지, 영상, 음성 등 데이터


데이터 베이스 

  • 무결성이 보장된 데이터를 모아놓은 집합(저장소)
  • 저장된 데이터들을 언제든지 활용하기 위해 사용함
  • 테이블(표와 같은 형태)로 데이터를 저장함
  • 컬럼에 조건을 걸어 그 조건에 맞는 데이터만 저장

  • 데이터 용어 정리
    • 데이터 - 가공 되지 않은 것
    • 정보 - 가공해서 얻어낸 결과
    • 테이블(표) - 데이터를 저장하는 단위, 테이블은 여러 개의 열들(분류)를 가지고 데이터를 저장하는 구조(행과 열, 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)
  • 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)을 저장하는 변수