22.01.19 DB - DML, 테이블 관계 / JAVA - 형변환, 연산자 종류

최고고·2022년 1월 19일
0
post-custom-banner

데이터 조작어

-현재 시점을 반영할수있도록 DB를 운영하는 언어
-추가insert, 변경update, 삭제delete
-DML 문장전체, DML,DCL 등 전체가 하나의 트랜잭션
-insert, delete 행 단위 / update 열 단위 컬럼 별로 데이터 하나하나 변경 진행함

  • insert
    -테이블에 새 행 추가 마지막 행에 추가됨. 행 순서를 제어하지 않는다.
    -한 번에 한 행만 추가됨
    -insert into 테이블명 values 추가할(입력할) 데이터 값() : 모든 컬럼에 data 삽입
    -insert into table(column_name) values __ : 명시된 컬럼에만 data 삽입
    -into절에 명시된 컬럼의 개수와 순서, datatype, 길이를 맞추어 values절에 입력된 데이터 값은 반드시 1:1로 매칭되어야됨. ex) insert into departments(a,b,c) values(5,'aa',7)
    -into절에 테이블명만 입력됐을 경우, 실 테이블의 컬럼 순서에 맞춰 작성
    -컬럼 무결성 검증, 제약조건 무결성 (pk, fk)
    -null값 입력 : 1. into 컬럼을 입력해서 자동삽입함 2. values 에 null 을 입력해 수동삽입 'null'은 문자그대로 삽입되므로 주의

select sysdate from dual; // sysdate 시스템의 현재 날짜 함수, dual 실제 테이블이 아니라 일반 외적인 작업을 할때

  • delete
    -where절 선택사항, 없을시 모든 행 이 삭제됨
  • update
    -where절 선택사항, 변경값 명시 없을시 모든 행이 수정됨

테이블 간의 관계

-참조하는 값에서 DML 은 자유롭게 수정 추가 삭제 됨

-참조되는 테이블(모)은 참조하는 테이블(자)에 참조가 되고 있어서 수정, 삭제하게 되면 자 테이블에 있는 값의 무결성이 깨지기 때문에 DML작업-수정,삭제가 자유롭지 않다.
-참조데이터가 없을 때는 DML 작업 가능

DB의 동시성, 병행제어

-읽기 일관성
-트랜잭션에 의해 변경이 된 내용을 보호하기 위해 트랜잭션 이전의 값을 보여줌
-lock: 트랜잭션 진행중인 행에 lock 을 걺, 대기상태가 된다. -> 작업이 종료될때까지 대기
-트랜잭션이 실행되면 테이블의 행을 점유하고 있기 때문에 작업이 끝나면 commit 명령어를 반드시!
-대기상태 오래되면 시스템이 셧다운됨


JAVA

  • 기본형 타입(primitive type, basic type) 8가지
    -정수형 : byte(8bit(가장작은단위 0,1만가능) bit = byte 2^8 -128~127까지 저장), short, int(2^32), long
    -실수형 : float, double f는 거의 안씀
    -논리형 : boolean
    -문자형 : char 문자형이면서 숫자형
  • 참조형 타입(reference type)
    -String

  • 형 변환
    -자동형변환 : 작은 데이터타입이 큰 데이터타입으로 들어가는 현상
    byte num1=10; int num2=num1;
    int는 4byte
    -강제형변환 : 큰 데이터 타입에서 작은 데이터 타입으로 변환
    실수->정수 형변환 안됨
    같은바이트를 가졌더라도 자바에서는 정수형보다 실수형을 더 큰 타입으로 인식해서 형변환을 해도 소수점은 안 담김
    실수형을 정수형에 담으면 정수형으로나오고
    정수형을 실수형에 담으면 실수형 소수점나옴
    -자바의 기본자료형은 더블
    -데이터 타입끼리 연산을 할 시 더 큰 데이터 타입의 연산결과로 나옴
    int / int = int int / double = double

  • 복합대입연산자 : 두개의 연산자를 동시에 사용하는 방법
    -증감연산 : 변수의 값을 1 증가 또는 1 감소시키는 연산자
    ++, -- : 증가, 감소연산자
    ++ or --변수 : 1을 먼저 증가시키고 다음 진행
    변수++ or -- : 출력 먼저 1을 나중에 증가

  • 비교연산자 : 좌항과 우항의 값을 비교함 결과값은 논리형인 boolean이 나옴

  • 논리연산자 : 좌항과 우항의 조건이 포함되는지 알 수 있는 연산자
    and연산자 & & 좌.우항 결과값이 true 일때 true / 그외 false
    or 연산자 || 좌.우항 중 둘중 하나만 true 일때 결과 true / 둘다 false일때 false

  • not연산자 !(괄호): boolean값을 반대로 꺼내는 것
    삼항연산자 : 간단한 T, F에 대한 제어가 필요할 때
    조건식(결과값이 frue,false) ? 값1(true일때) : 값2(false일때);

    System.out.println(!(num1 > num2));



ctrl space 자동완성

post-custom-banner

0개의 댓글