Hello,

kok nae-ga ha-myun an-dweneun MAGIC...🧚

웹 프로그래밍/정보처리기사

[ 정보처리기사/산업기사 ] 데이터베이스 실무 응용 핵심 정리

✿도담도담 2018. 10. 6. 22:53


데이터베이스의 정의

  • 통합 데이터 : 검색의 효울성을 위해 중복이 최소화된 데이터
  • 저장 데이터 : 접근 가능한 저장 매체에 저장된 데이터
  • 운영 데이터 : 조직의 목적을 위해 존재 가치가 확실하고 필요한 데이터
  • 공유 데이터 : 여러 프로그램들이 공동으로 사용하는 데이터

데이터베이스의 특징

  • 실시간 접근성 : 사용자 응답 즉시 처리

  • 계속적인 변화 : 항상 최근 데이터를 동적으로 유지

  • 동시 공유

  • 내용에 의한 참조 : 사용자가 요구하는 데이터 내용 참조

  • 데이터의 논리적, 물리적 독립성


데이터 언어

  • DDL ( 정의어 ) : 데이터베이스를 구축하거나 변경
  • DML ( 조작어 ) : 데이터 처리를 위한 연산의 집합 ( 검색, 삽입, 삭제, 갱신, 연산 )
  • DCL ( 제어어 ) : 데이터 보안, 무결성, 데이터 회복, 병행 제어

데이터 베이스 사용자

  • 데이터베이스 관리자
  • 데이터 관리자
  • 데이터 설계자
  • 응용 프로그래머
  • 사용자
DBMS : 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고 데이터 베이스를 관리해주는 소프트웨어
DSMS : 데이터 스트림 관리 시스템
스키마 : 데이터베이스의 구조와 제약조건에 관한 전반적인 명세 ( 개체, 속성, 관계 )
  • 외부 스키마 : 사용자, 응용 프로그래머가 필요한 데이터베이스의 논리적 구조
  • 개념 스키마 : 개체 간의 관계, 제약 조건 표시
  • 내부 스키마 : 물리적 구조 정의
데이터베이스 설계
요구 조건 분석 > 개념적 설계 > 논리적 설계 > 물리적 설계 > 데이터베이스 구현


ER모델 : 개념적 데이터 모델의 가장 대표적인 모델

메핑 룰 : 개념적 데이터 모델( ER모델 )을 논리적 데이터 모델 ( 릴레이션 스키마 )로 변환

키의 개념 및 종류

  • 슈퍼키 : 릴레이션의 속성들의 집합으로 구성된 키 ( 유일성 )

  • 후보키 : 속성들 중 튜플을 유일하게 식별하기 위해 사용되는 속성들의 부분 집합 ( 유일성 / 최소성 )

  • 기본키 : 후보키 중에서 선정된 키 ( 중복값, NULL값 불가능 )

  • 대체키 : 후보키 중 기본키를 제외한 나머지 키

  • 외래키 : 다른 릴레이션의 기본키를 참조하는 속성

무결성 : 데이터베이스에 저장된 값과 실제 값이 일치하는 정확성

  • NULL 무결성
  • 고유 무결성 : 각 튜플의 속성값이 달라야 함
  • 도메인 무결성 : 속성이 정의된 도메인에 속한 값이어야 함
  • 키 무결성 : 하나의 릴레이션에는 최소 하나의 키가 존재
  • 관계 무결성 : 관계에 대한 적절성 여부
  • 참고 무결성 : 외래키 값은 NULL또는 참고 릴레이션의 기본키 값과 동일
  • 객체 무결성 : 기본키를 구성하는 어떠한 속성도 NULL값이 될수 없음


SQL


DDL ( CREATE, ALTER, DROP )

  • CREATE SCHEMA 스키마명 ATHORIZATION 사용자명

  • CREATE DOMAIN 도메인명 데이터타입 DEFAULT 기본값 CONSTRAINT 제약조건명 CHECK ( VALUE IN( ) );

  • CREATE TABLE 테이블명 ( 속성명 데이터타입 );

    • PRIMARY KEY

    • FOREIGN KEY ~ PREFERENCE

    • ON DELETE, ON UPDATE

      • NO ACTION

      • CASCADE

      • SET NULL

      • SET DEFAULT

    • CONSTRAINT

    • CHECK

  • CREATE VIEW 뷰명( 속성명 ) AS SELECT문

  • ALTER TABLE 테이블명 [ ADD / ALTER / DROP COLUMN ] 속성명

  • DROP TABLE 테이블명

    • CASCADE : 참조하는 모든 개체 함께 제거

    • RESTRICT : 다른 개체가 참조 중일 경우 제거 취소                                                                                                                                                                

SELECT

  • SELECT 속성명 ( AS 별칭 ) FROM 테이블명
    • WHERE
    • GROUP BY
    • HAVING
    • ORDER BY 속성명 [ ASC / DESC ]

JOIN

  • INNER JOIN
    • SELECT 테이블명( 속성명 ), 테이블명( 속성명 ), ... FROM 테이블명1, 테이블명2 WHERE 테이블명.속성명 = 테이블명.속성명;
    • SELECT 테이블명( 속성명 ), 테이블명( 속성명 ), ... FROM 테이블명1 NATURAL JOIN 테이블명2;
    • SELECT 테이블명( 속성명 ), 테이블명( 속성명 ), ... FROM 테이블명1 JOIN 테이블명2 USING( 속성명 );
  • OUTER JOIN
    • SELECT 테이블명( 속성명 ), 테이블명( 속성명 ), ... FROM 테이블명1 LEFT OUTER JOIN 테이블명2;
    • SELECT 테이블명( 속성명 ), 테이블명( 속성명 ), ... FROM 테이블명1, 테이블명2 WHERE 테이블명.속성명 = 테이블명.속성명(+);

DML ( INSERT, DELETE, UPDATE )

  • INSERT INTO 테이블명( 속성명 ) VALUES ( 데이터 ... );
  • DELETE FROM 테이블명 WHERE 조건문;
  • UPDATE 테이블명 SET 속성명 = 데이터 WHERE 조건;

DCL ( COMMIT, ROLLBACK, GRANT, REVOKE )

  • COMMIT : 트랜잭션의 모든 변경 내용들을 영구적으로 데이터베이스에 반영

  • ROLLBACK : 변경된 내용들을 취소하고 이전 상태로 되돌리는 명령어;

  • GRANT 사용자등급 TO 사용자명

  • REVOKE 사용자등급 FROM 사용자명

    • ALL, SELECT, INSERT, DELETE, UPDATE, ALTER

    • WITH GRANT OPTION

    • GRANT OPTION FOR

    • CASCADE


이상 : 속성들의 종속으로 인해 데이터의 중복이 발생하게 되고 중복으로 인해 테이블 조작에 문제가 생긴다.

  • 삽입 이상
  • 삭제 이상
  • 갱신 이상

정규화 : 중복을 제거하여 이상 발생 가능성을 줄이는 것

  • 부분적 함수 종속 제거
  • 완전 함수적 종속
  • 이행적 함수 종속 제거
  • 후보키인 정규형