DB

신부경·2022년 9월 21일
0

DB

목록 보기
1/3

DB = 데이터베이스
(유용한 데이터의 집합- 검색에 용이하게 데이터를 저장하고 수정,삭제 용이해야함.
=기업이 지속적으로 유지 관리해야 하는 데이터의 집합)

DB 학습이유:데이터 꺼내오기 연습 => 조회하기 위해
(Ex.게시판 -> 하나하나당 데이터: 데이터베이스에 저장되어있는-이걸 꺼내서 보여주는 것)

우선,데이터베이스를 만드는 이유를 생각
-> 동시에 여러명이 접근 가능케하기 위해

DB가 아닌 파일시스템의 문제 : 다중 사용자 환경을 지원하지 못함
(파일시스템 - 데이터를 가공, 처리하여 유용한 정보를 얻기 위한 기본적인 데이터 저장 도구)

데이터베이스 관리 시스템 DBMS
1. 데이터 공유 가능.데이터 중복성 감소
2. 데이터 불일치 피함. 데이터 무결성 유지
(무결성: 데이터를 저장할 수 있는 저장소를 만들 때 틀에 맞게 만드는 중복X 글자 수정해지는 틀에 지켜서 만들기 때문에 완벽함.)
3. 데이터 보안 유지.표준화 가능
4.

  • Oracle(주 사용)
    -MySQL
    -MSSQL
    -IBM DB2
    -SYBASE

<RDBMS(관계형 DBMS)>
-기본 저장 단위 : 테이블(로우 row, 칼럼 column 구성)
-로우 : 하나의 레코드
-칼럼 : 속성

SQL(Structed Query Language), 관리!데이터 조회,입력,수정,삭제
->DB는 SQL을 사용하여 데이터를 조회,입력,수정,삭제등의 조작과
데이터를 저장하기 위한 테이블 등의 다양한 객체 생성을 함.

SQL 종류
1. DML(데이터를 조작)

  • SELECT : 테이블에 저장된 데이터를 조회
    Ex.DEPT 테이블의 모든 데이터를 표시
    SQL > SELECT * FROM DEPT;
  • INSERT : 새로운 데이터를 추가
    Ex.DEPT 테이블에 총무부를 추가
    SQL > INSERT INTO DEPT VALUES(50, ‘총무부’, ‘서울’);
  • UPDATE : 테이블에서 기존의 데이터를 변경
    Ex. DEPT 테이블에서 50번 부서의 지역명을 부산으로 변경
    SQL > UPDATE DEPT SET LOC = ‘부산’ WHERE DEPTNO = 50;
  • DELETE : 테이블에 저장된 데이터를 삭제
    Ex. DEPT 테이블에서 50번 부서를 삭제
    SQL> DELETE FROM DEPT WHERE DEPTNO = 50;
  1. TCL(주 사용!변경된 내용 관리)
    주문,결제 시 주문처리가 되도록.만약 네이버 아이디가 다 날라가도 이걸 사용 시 복원 가능
  • COMMIT: 변경된 내용을 영구히 저장
  • ROLLBACK: 변경되기 이전 상태로 되돌림
  • SAVEPOINT: 특정 위치까지를 영구히 저장 혹은 이전 상태로 되돌릴 수 있는 저장점을 만듬

3.DDL(데이터 베이스 객체를 생성 또는 변경, 제거 할때 사용)
(여기서 객체란! 테이블, 인덱스, 뷰, 트리거 등 SQL 문을 수행하는 대상)

  • CREATE : 새로운 테이블 생성
    Ex. 부서번호 , 부서명, 지역명으로 구성된 DEPT01 테이블을 생성한다.
    SQL> CREATE TABLE DEPT01(
    DEPTNO NUMBER(4),
    DNAME VARCHAR2(10)
    LOC VARCHAR2(9)
    );
  • ALTER : 기존 테이블을 변경
    Ex. DEPT 테이블의 부서명의 칼럼의 크기를 30으로 변경
    SQL> ALTER TABLE DEPT01 MODIFY (DNAME VARCHAR(30));
  • RENAME : 테이블의 이름 변경
    Ex.테이블명 DEPT01을 DEPT02로 변경
    SQL>RENAME DEPT01 TO DEPT02;
  • TRUNCATE : 테이블의 모든 내용 제거
    Ex. DEPT02 테이블의 모든 내용 제가
    SQL> TRUNCATE TABLE DEPT02;
  • DPOR: 객체 제거
    Ex. DEPT02 테이블의 구조를 제거
    SQL> DROP TABLE DEPT20;

DCL(특정 사용자에게 권한 부여하거나 제거하기 위해서 사용)

  • GRANT: 사용자에게 허용하는 특정 권한을 줌
    Ex.OraUser01이란 사용자에게 CREATE SESSION 권한을 부여
    SQL> GRANT CREATE SESSION TO OraUser01;
  • REVOKE: 사용자로부터 특정권한을 제거
    Ex.OraUser01 이란 사용자에게 부여했던 CREATE SESSION 권한 제거
    SQL> REVOKE CREATE SESSION FROM OraUser01;

테이블: 데이터를 저장하기 위해 만든 저장소의 형태
EMP 들어갔을 때 <표>가 바로 <테이블>
한줄한줄이 row or record = 행
EMPNO ENAME 등 = 열

~~실습 테이블
Ex.테이블을 알아보기
SQL>SELECT FROM TAB;
SQL>SELECT
FROM EMP;

Ex. 테이블 구조 알아보기(DESCRIBE,DESC)
SQL>DESC EMP;
SQL>DESC DEPT;

<데이터를 꺼낼 때 쓰는 용어>
SELECT
FROM (한묶음)

SELECT*
FROM -> 테이블에 있는 모든 칼럼의 모든행열 데이터가 다 불러와짐

원하는 데이터만 나오게 하는 작업
->WHERE(조건);
반드시, WHERE 전에 전체 조건을 불러와야함

문자 데이터는 반드시!! ‘ ’ 안에 표시
(Java 는 “”인데 이건 단일따옴표임.)

->오류 / 한칸당 3바이트 [1,2,3][456] /6바이트 출력 = ‘이터’ 출력
시작위치 4

profile
개발괴발

0개의 댓글

관련 채용 정보