22. 데이터베이스 이론

hanahana·2022년 7월 30일
0

Oracle - 학원수강

목록 보기
2/11
post-thumbnail

DATA

  • 관측된 실제적인 값

DATA와 정보

  • 데이터를 기반으로 의미를 부여

DBMS

Database Management system

  • oracele, mysql, mariaDB, MS-SQL
  • 각 컴퓨터의 데이터를 하나의 중앙장치로 처리하는 데이터 베이스
  • 아이디와 패스워드로 보완관리를 한다
  • 중복데이터가 없도록 관리 함
    • 중복데이터가 생기지 않게 제약조건등을 만들어 관리
  • 추출, 조작, 정의 제어의 기능 데이터베이스, 전용관리 시스템
  • 여러명이 동시 접근하여도 중복이 일어나지 않고 믿을수있는 데이트인지 확인하여 관리하기 위해 사용한다.

DATABASE

  • 필요한 정보를 공용화할수있도록 데이터를 모으고 중복데이터를 최소한 뒤 통합 저장해 놓은것
    1. 통합데이터 : 최소한의 중복만 허용
    2. 저장 데이터 : 컴퓨터가 접근할수 있도록 컴퓨터에 저장된 데이터
    3. 운영데이터 : 지속적으로 변화, 시스템이 사용하는 데이터
    4. 공용데이터 : 공동으로 사용하는 데이터

ORACLE - SQL

  • Structured Query Language의 약자 (구조화된 질의 언어)

  • 관계형 데이터베이스의 데이터를 조회 조작하기 위한 검색언어

  • DBMS에 따라 SQL 문법이 다름

  • 기본 SQL 문법 종류

  1. 데이터 정의어 : DDL (Data Definition Language)
    1. CREATE(개체생성), DROP(개체 삭제), ALTER(개체 수정), TRUNCATE(개체 초기화)
    2. 데이터구조를 정의하거나 변경 , 삭제 하는 언어
  2. 데이터 조작어 : DML (Data Manipulation Language)
    1. INSERT-삽입, UPDATE-수정, DELETE-삭제, SELECT-조회
      1. 반드시 WHERE를 사용해야 함
      2. 빼먹으면 전체자료가 수정 삭제되어 자료가 없어질수있음!!
    2. 데이터를 조작, 삽입 수정 삭제 조회
    3. 사용자와 시스템간의 인터페이스를 제공함
    4. 가장많이 사용됨
      1. DQL - 데이터를 검색(추출)하는 언어
      2. SELECT(데이터 검색)
  3. 데이터 제어어 : DCL (Data Control Language)
    1. GRANT(권한생성), REVOKE (권한을 회수삭제)
    2. 사용자의 권한이나 관리자 설정등을 처리
  4. 트랜젝션 제어어 : TCL (Transaction Control Language)
    • COMMIT(종료 후 저장), ROLLBACK(취소),SAVEPOINT(임시저장)
    • 트랜잭션 관리 처리 언어
    • 트랜잭션이란 데이터베이스의 상태를 변경하는 논리적 작업 단위

DDL

  • Data Definition Languge
  • 객체(Object)를 만들고(CREATE), 수정하고(ALTER),
    삭제(DROP)하는 구문
  • 오라클 객체의 종류
    • 테이블(TABLE), 뷰(VIEW), 시퀀스(SEQUENCE), 인덱스(INDEX), 패키지(PACKAGE),
      프로시저(PROCEDUAL), 함수(FUNCTION), 트리거(TRIGGER), 동의어(SYNONYM),사용자(USER)가 있다.

CREATE - 사용자만들기

CREATE USER KH IDENTIFIED BY KH; -- 계정 생성(with 비밀번호)
GRANT CONNECT TO KH; -- 연결 권한 부여 => DCL
GRANT RESOURCE TO KH; -- 데이터 조작 권한 부여 => DCL, SYS로!!

CREATE - 테이블만들기

CREATE TABLE MEMBER (
MEMBER_ID VARCHAR2(20),
MEMBER_PWD VARCHAR2(20),
MEMBER_NAME VARCHAR2(20)
);
  • 숫자 : NUMBER 숫자
  • 문자 : CHARACTER
    • CHAR : 고정길이 문자 (고정된 길이로 크기가 정해짐)
      • (최대 2000Byte/최소 1Byte)
    • VARCHAR2 가변길이 문자 (지정된 길이가 최대 크기일뿐 크기는 사용한만큼)
      • (최대 4000 Byte/ 최소 1Byte)
    • NCHAR CHAR와 동일, 유니코드 문자 (잘 사용하지 않음)
    • NVARCHAR2 VARCHAR와 동일, 유니코드 문자(잘 사용하지 않음)
    • LONG 가변길이 문자(최대 2GByte)
  • 날짜
    • DATE 날짜
    • TIMESTAMP “연도, 월, 일, 시, 분, 초, 밀리초 까지 입력가능
  • 데이터 : LOB
    • CLOB 가변길이 문자(최대 4GByte)
    • BLOB Binary Data

숫자

  • NUMBER( [P, S] )
  • P : 표현할 수 있는 전체 숫자 자리수(1~38)
    S : 소수점 이하 자리수 (-84 ~ 127)
    1234.678의 값을 다음의 데이터 타입으로 저장한다면?
    NUMBER(7,3) -> 1234.678
    NUMBER(7) -> 1234
    NUMBER -> 1234.678
    NUMBER(7, 1) -> 1234.6
    NUMBER(5, -2) -> 1200

CHAR( SIZE [ byte | char ] )

  • 영어 1글자에 byte 1
    • char(1) = a
    • char(2) =aㅁ
      • ㅁ은 공백
    • char(2)=abc ← 에러!
  • 한글 1 글자의 byte 3
    • char(1) = 가 ←에러!
    • char(3)= 가
    • char(4) = 가ㅁ
      • ㅁ은 공백

VARCHAR( SIZE [ byte | char ] )

  • 주로 varchar2를 쓴다
  • 사이즈는char와 같음
  • 최대 사이즈 지정 가능 최대사이즈를 넘어가면 에러
  • varchar2(3) : a ←공백없음!

DATE

  • 숫자와 연동가능
  • 날짜+숫자: DATE
    • 작성한 숫자 만큼 며칠 후를 의미
  • 날짜-숫자: DATE
    • 작성한 숫자 만큼 며칠 전을 의미
  • 날짜-날짜: NUMBER
    • 두 날짜의 차이(일수)를 의미
  • 날짜+숫자/24: DATE
    • 날짜+시간의 의미

DCL

  • Data Control Language
  • GRANT(권한할당), REVOKE(권한해제)

DDL

  • 제약조건
  • 중복값등을 막는데 쓰인다
  • distinct

DQL

  • DQL - SELECT
  • Result Set - 데이터를 조회한 결과
  • 특정 컬럼이나 특정 행을 조회할 수 있으며, 여러 테이블에서 특정행 / 컬럼을 조회할 수 있음

TCL

  • commit, rollback
  • 트랜젝션 종료처리 후 저장하거나 취소할 때 사용되는 언어

간단정의

데이터 정의어 : DOL (Data Definition Language)
데이터 조작어 : DML (Data Manipulation Language)
데이터 제어어: DCL (Data Control Language)
트랜잭션 제어어 : TCL (Transaction Control Language)

DDL (Data Definition Language)
CREATE (객체생성), DROP (객체삭제), ALTER (객체 수정)
TRUNCATE, 객체 초기화)

데이터베이스의 구조를 정의하거나 변경, 삭제하기 위해 사용하는 언어

DML (Data Manipulation Language)
INSERT, UPDATE, DELETE, SELECT

  • 데이터를 조작하기 위해 사용하는 언어

DQL (Data Query Language)
SELECT

데이터를 검색 (추출)하기 위해 사용되는 언어

DCL Data Control Language)
GRANT (권한부여), REVOKE (권한해제)

Oracle - Function

  • 단일행 함수
    • 여러개의 값으로 여러개의 결과값을 출력
  • 그룹함수
    • 여러개의 값으로 한개의 결과값을 출력
구분입력 값 타입리턴 값 타입설명
LENGTHCHARACTERNUMBER문자열의 길이를 반환한다.
LENGTHBCHARACTERNUMBER문자열의 바이트 크기를 반환한다
INSTRCHARACTERNUMBER특정 문자의 위치를 반환한다
INSTRBCHARACTERNUMBER특정 문자의 위치 바이트 크기를 반환한다

Untitled

제약조건

데이터 중복을 막고 데이터의 무결성을 위해서 사용한다.

2개의 테이블의 관계를 만들거나 null을 지정한다.

not null(C) - 데이터에 null을 허용하지 않는다

  • 아이디 비밀번호 등 필수로 입력되어야할 망목

unique (U)- 중복된 값을 허용하지 않는다

  • 주민등록번호, 핸드폰번호 이메일 등

primary key (P)- null을 허용하지 않고 중복을 허용하지 않는다, 컬럼의 고유식별자로 사용한다. (유일한 기준 값)

foreign key (R)- 참조되는 테이블의 컬럼의 값이 존재하면 허용한다

  • 두 테이블간의 연결 설정

check(C) - 저장가능한 데이터 값의 범위나 조건을 지정하여 설정한 값만 허용한다.

  • 예 : 성별을 지정할때 남,녀만 선택했다면 남자, 여자 , male female등의 성별지정을 금지한다.
  • 성별 기혼여부 퇴직여부

defualt - 삭제여부, 퇴직여부 날짜…

  • 테이블 작성시 각각 컬럼에 대한 기록에 대해 제약조건을 설정할수 있다
  • 데이터 무결성을 지키기 위해 제한된 조건
  • 델이터 무결성 : 데이터의 정확성과 일관성을 유지하기 위한 것
profile
hello world

0개의 댓글