2024.04.24

데이터 베이스 구조 - 스키마

  • 개념 스키마 - 사용자가 보는 데이터 구조
  • 논리 스키마 - 개발자가 보는 데이터 구조
  • 번호(no), 제목(title), 내용(content), 작성자(writer), 작성일(wrtieDate), 조회수(hit), 비밀번호(pw)

  • 물리 스키마 - DB가 보는 데이터 구조 1) 리스트
      select no, title, writer, writeDate,hit from board order by no desc
    

    2) 상세보기

      select no, title, content, writer, writeDate, hit form board where no = 2
    

    3) 등록

      insert into board(no, title, content, writer, pw)
      values(board_seq.nextval, 'java란?', '프로그램', 'lee', '1111')
    

    4) 수정

      update board set title='Oracle', content = 'DB', writer = 'hong' where no = 2 and pw = '1111'
    

    5) 삭제

      delete from board where no = 2
    

SQL문 - 모든 SQL문은 세미콜론으로 끝난다.

  • DDL (Data Definition Languages) - 데이터 정의어
    • CREATE - 객체의 생성
    • ALTER - 객체의 수정
    • DROP - 객체의 삭제
    • RENAME - 객체명 변경
  • DML (Data Management Languages) - 데이터 명령어
    • SELECT - 데이터 검색
    • INSERT - 행 추가
    • UPDATE - 칼럼 값 수정
    • DELETE - 행 삭제
    • MERGE - 행 병합
  • DCL (Data Control Languages) - 데이터 제어어
    • GRANT - 사용자 권한 부여
    • REVOKE - 사용자 권한 해제
  • TCL (Transaction Control Languages) - 트랜잭션 제어어
    • COMMIT, ROLLBACK, SAVERPOINT - 트랜잭션 제어

SQL 계정 생성 및 삭제, 권한 부여

  • Ctrl + Enter -> 한줄 실행
  • F5 -> 전체 실행
-- SYS 계정은 관리할 때만 사용/
-- 주석 사용자 만들기 (같은 이름으로 DB도 만들어 진다. 사용자와 연결되도록 되어 있다.)
Create USER java IDENTIFIED BY java;

-- 사용자 제거
drop USER java;

-- 계정을 만들면 아무 것도 못하는 허수아비 계정을 생성 -> 권한을 줘야 일을 할 수 있다. (GRANT = 부여하다.)
GRANT CONNECT, RESOURCE, CREATE VIEW TO java;

데이터 무결성

  • 제약 조건 (constraint) : 데이터가 있는데 DB에 넣을 수 있는지 없는지 확인 절차를 작성
    • 테이블에 지정, 테이블을 만들 때 정의해서 사용한다.

    • PK : Primary Key (주키 = 키) - unique & not null : 데이터가 반드시 있어야 하고 중복이 되면 안된다.
      • PK는 절대 바뀌지 않는 것을 원칙으로 한다.
    • NN : not null : 데이터가 반드시 있어야 한다.
      • 필수 항목 <-> null : 기본 - is null : 조건 (null 인지 확인하는 조건)
    • UK : Unique Key - 중복 불가

    • FK : Foreign Key (외래 키 = 외부 키 = 참조값)
      • 외부의 지정된 컬럼에 데이터가 존재해야 한다.
    • CK : Check
      • 조건을 지정해서 조건에 맞아야 한다.
    • constraint - 제약 조건
      제약 조건의 이름을 붙혀서 정의할 때 사용. 없으면 제약 조건 이름을 오라클에서 순서 번호와 함께 자동으로 붙혀준다.
      테이블, 제약조건, 이름