Full Stack 교육 회고록

8/2 [DataBase] - 오라클 SQL 테이블 구조 [java] - 자바의 특징

순두부 호랑이 2022. 8. 2. 23:02
728x90
SMALL

<<오전 DATABASE 수업>>

 

[컴퓨터 기본용어]

데이터 베이스 -> 무결성이 보장된 데이터를 모아놓은 집합(저장소)

 

데이터 무결성 -> 데이터의 정확성, 데이터는 항상 현재 시점

 

테이블(표) -> 데이터를 저장하는 단위, 행과 열로 구성

 

컬럼(열럼) -> 한개의 테이블은 여러개의 컬럼들로 구성, 분류체계

 

Primary key(기본키) -> not null + unique, 여러개의 컬럼들 중 테이블을 대표하는 컬럼에 설치, 가장 이상적인 테이블 한개의 컬럼에 한개의 Primary key가 지정, 무결성을 보장하기 위한 조건

조건에 맞는 데이터만 저장(무결성 보장 방법), 검색 속도 향상

 

foreign key(참조키, 외부키) -> 다른 테이블의 컬럼을 참조, 참조값만 사용을 하게 해서 무결성을 보장, 테이블과 테이블간의 관계설정, 종속적인 삭제 방지

 

[데이터 관련지식]

  •  Data 수집 -> 저장(database) -> 분석(머신러닝) -> 예측(딥러닝, 인공지능) -> 서비스(안드로이드, ios, 프로그래밍)
  •  데이터 베이스 -> 무결성이 보장된데이터를 모아놓은 집합(저장소)
  •  데이터와 정보의 차이는? 데이터는 가공되지 않은 것이고 가공한것이 정보이다.
  •  데이터의 무결성 -> 데이터의 정확성, 데이터는 항상 현재 시점이다
  •  표와 같은 데이터의 형태로 저장한다
  • null -> 빈값, 공간은 할당되어 있지만 비어있는 값
  • 0은 숫자값 1byte, 스페이스는 문자 값 1byte, null 비어있는 값

[매일매일할것]

영타연습

 

[취득하면 좋은 자격증 ]

SQL 자격증 모델링 20%, SOL 80% -> 데이터 진흥협회 홈페이지에 기출문제가 있음 다운받아서 공부

https://book.interpark.com/product/BookDisplay.do?_method=detail&sc.prdNo=262198282&gclid=EAIaIQobChMInODr8bqp-QIVDo3CCh2bEwYwEAYYASABEgK6Z_D_BwE 

 

싸니까 믿으니까 인터파크도서

 

book.interpark.com

이책으로 공부할 것

 

[Run SQL Command Line 처음 접속 방법]

 

Coptright(c) 1982,2014, Oracle. All rights reserved.

SQL>conn system/12345
Connected.
SQL>alter user hr
  2 identified by hr;
  
  User altered.
  
  SQL>alter user hr
    2 account unlock;
    
  User altered.
  
  SQL> conn hr/hr
  Connected
  SQL>

* 그 다음부터는 conn hr/hr만 입력하여 접속하면 된다

 

[오늘의 암기할 것]

< 테이블 이름, 구성, 컬럼 이름 외우기>

 

desc-> 테이블의 구조를 확인할때 사용하는 명령문

departments -> 부서들의 data

 

department_id -> 부서번호 cpk

department_name -> 부서이름

manager_id -> 부서를 관리하는 관리자

location_id -> 부서가 위치한 지역(도시)의 번호(fk) -> locadtions table 의 location_id 에 참조 

 

desc employees 부서들에 근무하는 사원들의 data가 있는 사원 테이블

employee_id -> 사원번호 (pk)

hire_date -> 입사 날짜

job_id -> 현재 수행하고 있는 업무

salary -> 월 급여

commission_put -> 보너스

manager_ib -> 나를 관리하는 사수(관리자)의 사원 번호

department_id -> 내가 근무하고 있는 부서번호(fk) ->department테이블의 department_id 참조

 

desc locations -> 테이블부서가 위치한 지역의 데이터가 저장되어 있는 테이블 locations

location_id -> 부서가 위치한 지역의 지여기 번호가 저장되어 있고, 여기가 locations 테이블의 pk 입니다.

street_adderss -> 주소

postal_code-> 우편번호

city-> 부서가 위치한 도시 이름

state_province -> 지방

country_id ->나라

* dept(부모) employees(자식) ->즉 부모 자식간의 관계 처럼 이어져 있다

 

[Run SQL Command Line 사용]

 

conn -> DB 접속 하는 언어

hr -> 패스원드 변경

unlock -> 잠금 해제

 

*hr은 실습계정이다 비번은 hr 

항상 conn hr/hr로 접속하여야 한다.

 

sql ->db통신

 

ed -> 편집 메모장 열기

; -> 문장 종결자

/ -> 편집 후 실행

 

buffer 에서는 ;를 쓰면 안된다

 

절차적 java -> 실행정책 필요

비절차적 sql -> dbms가 정보처리를 해준다

 

SQL문

SELECT ->table에 저장된데이터 검색

insert, update,delete,mager -> DML(데이터 조작어) -> DB운영( DB 현재 시점에 유지하기 위해) -> 데이터의 삽입,삭제,수정

create, alter, drop, rename, truncate -> DDL(데이터 정의어) 논리적 구조 생성, 수정, 삭제

commit, rollback, saverpoint ->TCK(트랜색션 제어) 작업 저장 취소

grant, revoke -> DCL (데이터 제어어) 보안,권한를 할때

 


<<<오후 JAVA 수업>>>

 

[매일 할일]

영어로 검색함으로 "영어 공부" 열심히 하기

 

[CHAPTER 1. 자바개요]

 

[학습목표]

1. 컴퓨팅 사고(CT)를 이해한다.

2. 자바의 특징을 설명할 수 있다.

3. 자바 개발환경을 구축하고 JDK 구성요소를 설명할 수 있다.

 

[컴퓨팅사고(Computational Thinking)란?]

컴퓨터(사람이나 기계)가 효과적으로 수행할 수 있도록 문제를 정의하고 그에 대한 답을 기술하는 것이 포함된 사고 과정

문제분해 -> 패턴인식 ->추상화 ->알고리즘

 

ex) 케이크 맛집에서 파는 딸기케이크와 똑같은 케이크를 만들고 싶어!

1. 문제분해

딸기케이크 재료(빵, 딸기,생크림, 딸기잼)
2. 패턴 인식
빵 ->생크림->딸기잼
3. 추상화
생크림은 만드는 대신 시중에 파는걸로..
4. 알고리즘
딸기케이크 만드는 순서를 알고리즘 화

[프로그래밍 언어]
MACHINE : 0과1로 이루어짐
ASSEMBLY : 단순한 언어로 이루어짐 복잡한 프로그램은 못함
PROCEDURAL : 절차지향 언어 -> C언어 ->순서대로 프로그래밍
OBJECT ORIENTED : 객체지향 언어 -> JAVA
FUNCTIONAL : 함수형 프로그래밍 -> 파이선,자바,C 언어

[컴파일러와 인터프리터]
컴파일러(Compiler) = 번역
작성된 소스코드를 한번에 번역, 번역 시간이 오래 걸리고 그과정이 복잡하지만 실행시간은 빠름


인터프리터(Interpreter) =통역
줄단위로 번역과 실행
번역 시간은 빠르지만 실행시간은 느림

 

[JAVA]

썬 마이크로시스템즈의 제임스 고슬링(James Gosling)과 다른 연구원들이 개발한(1995) 객체 지향적 프로그래밍 언어

[JAVA 특징]


1. 호환성 
자바는 JVM(Java Virtual Machine) 위에서 돌아가기 때문에 운영체제(OS)의 종류에 상관없이 실행


2. 객체지향적 
객체들을 결합해서 하나의 프로그램을 만듦


3. 메모리 자동 관리
개발자가 직접 메모리에 접근할 수 없도록 설계, 가비지 컬렉터


4. 다양한 애플리케이션 개발
다양한 운영체제에서 실행되는 프로그램 다양한 프로그램(콘솔, 윈도우 어플리케이션, 웹 어플리케이션, 모바일 앱) 개발 가능

 

5. 멀티스레드 구현 가능

하나의 프로그램이 동시에 여러 작업 처리, 대용량 작업 빨리 처리


6. 동적 로딩 지원

객체가 필요한 시점에 동적 로딩해서 객체 생성

 

7. 오픈소스 라이브러리가 충부

자바는 오픈소스 언어, 참고할 수 있는 오픈소스가 풍부

 

[JAVA 수업 진행 순서]

변수 -> 연산자 -> 조건문 -> 반복문-> 배열 -> 콜렉션(자료구조) -> 메소드 -> 객체지향 프로그래밍 -> 클래스 객체 -> 디자인 패턴(MVC) -> 상속/ 추상/다형성 -> JDBC -> Thread -> I/O -> 미니 프로젝트

 

[자바 시작하기(설치)]

1. JDK 8버전 설치

https://www.oracle.com/java/technologies/downloads/

2. IDE(이클립스) 설치

https://www.eclipse.org/downloads/packages/release/2021-06/r

[CHAPTER 2. 변수와 입출력]

 

[학습목표]

1. 변수의 의미를 이해한다.

2. 데이터 타입8가지를 설명할 수 있다.

3. 변수명 작성 규칙을 이해한다.

 

[변수(variable)]

- 사전적 의미로는 "변화를 줄 수 있는" 또는 "변할 수 있는 수"

- 프로그래밍에서는 데이터를 담을 수 있는 공간

[상수]

상수(constant)

- 사전적 의미로는 "불변하는" 또는 "변하지 않는 수"

- 프로그래밍에서는 데이터를 담을 수 있는 공간

- 한 번 넣으면 변하지 않는 수를 넣는 데 사용 -> final int b =3; (final를 붙이면 영원히 변한지 않는 수가 된다.)

 

[변수명 규칙]

- 키워드(예약어) 사용 불가

abstract continue for new switch
assert default if package synchronized
boolean do goto private this
break double implements protected throw
byte else import public throws
case enum instanceof return transient
catch extends int short try
char final interface static void
class finally long strictfp volatile
const float native super while

- 대소문자가 구분되며 길이에 제한이 없다
   int num;과 int Num;는 서로 다르다

- 숫자로 시작할 수 없다
   int 1a;는 허용되지 않는다

- 특수문자는 '_'와 '$'만 허용한다
int_a;는 허용되지만 int#a는 허용되지 않는다

-한글을 사용할 수 있다
  int 변수명;은 허용된다

[변수명 네이밍 규칙]


- 헝가리안 표기법(Hungarian case)
변수의 바료형을 변수명의 접두어로 붙이는 방식
int intNum; or int iNum;

- 카멜 표기법(Camel case)
단어와 단어 사이를 대문자로 구분하는 표기법
int myNumber;

- 파스칼 표기법(Pascal case)
모든 단어의 첫 글자만을 대문자로 나타내고 나머지는 소문자로 나타내는 표기법
int MyNumber;

- 언더바 표기법(Snake case)
변수명 단어 사이에 _를 이용해서 구분하는 방법
int my_number;

 

[여러가지 자료형]

*boolean -> 참,거짓 값

 

[여러가지 자료형]

 

  1byte 2byte 4byte 8byte
논리 boolean      
문자    char    
정수 byte short int long
실수     float double

* 빨간색 글자가 기본값

 

* 참고 자료 코딩컨벤션 | TOAST UI :: Make Your Web Delicious!

 

코딩컨벤션

코딩 컨벤션은 읽고, 관리하기 쉬운 코드를 작성하기 위한 일종의 코딩 스타일 규약이다. 특히 자바스크립트는 다른 언어에 비해 유연한 문법구조(동적 타입, this 바인딩, 네이티브 객체 조작 가

ui.toast.com

 

public class 첫자바 {

	//메서드: 기능수행
	//메인 메서드(*) : 실행
	public static void main(String[] args) {
		// TODO Auto-generated method stub

	}

	//ctrl+space : 자동완성 단축키
	
}

 

728x90
LIST