본문으로 바로가기

데이터베이스(Database) / SQL

category Database 2018. 4. 24. 01:04

데이터베이스 개요


자료(Data)


-현실 세계에서 관찰이나 측정을 통해 수집한 단순한 사실이나 값


정보(Information)


-의사 결정에 도움을 줄 수 있는 유용한 형태

-자료를 가공(처리)해서 얻을 수 있는 결과를 의미


데이터베이스


-어느 한 조직체의 여러 응용 시스템들이 공동으로 사용할 수 있도록 통합하여 저장운영데이터의 집합

-공동의 목적을 지원하기 위한 서로 관련된 자료들의 모임.

-주제와 관련된 의미 있는 데이터들의 모음


데이터베이스의 정의


통합된 데이터(integrated data)


-산재되어 있지 않고 한 곳에 있어야 함

-모든 데이터가 중복을 최소화하면서 통합


저장 데이터(stored data)


-컴퓨터에서 처리가 가능하도록 전자적 형태로 저장

-디스크, 테이프 등 컴퓨터가 접근 가능한 저장 매체에 저장된 데이터


운영 데이터(operational data)


-고유 기능을 수행하기 위해 반드시 유지되어야 할 데이터


공용 데이터(shared data)


-한 조직의 여러 응용 시스템들이 공동으로 소유, 유지, 이용하는 데이터


데이터베이스의 특징


어느 한 조직의 응용 시스템들이 공유해서 사용하는 통합 저장운영 데이터 ->shared data


실시간 접근이 가능(real-time accessibilities)

 -수시적이고 비정형적인 질의(query)에 대하여 실시간 처리(real-time processing)로 응답


계속적인 변화(continuous evolution)
-새로운 데이터의 삽입(insertion)이나, 삭제(deletion), 갱신(update)으로 항상 변하고, 그 속에서 현재의 정확한 데이터를 유지할 수 있음

동시 공유 가능(concurrent sharing)
-여러 사용자(multi-user)동시에 자기가 원하는 데이터에 접근

내용에 의한 참조 가능(content reference)
-데이터의 레코드 위치(location)나 주소(address)가 아닌 사용자가 요구하는 데이터의 내용(contents), 데이터가 가지고 있는 값에 따라 참조
-모든 레코드들은 물리적 위치와 상관없이 하나의 논리적 단위로 취급되고 접근

데이터베이스 구성요소

개체(Entity) : 데이터베이스에 표현 하는 유형 무형의 정보
   개체 타입(유형) : 속성의 이름들로 구성
   개체 집합 : 개체 어커런스(인스턴스)의 모임

속성(Attribute) : 데이터의 가장 작은 논리적 단위(컬럼)로 항목, 필드에 해당



DBMS


DBMS(DataBase Management System)
사용자에게 데이터베이스를 생성하고 유지할 수 있게 하는 프로그램 집합    
DBMS는 데이터베이스 언어를 가지고 있으며 이를 통해 데이터의 삽입/삭제/수정을 할 수 있다.

DBMS의 기능
데이터의 무결성 유지
DB의 데이터는 실세계를 적용하는 규칙을 항상 만족해야 함.
서로 다른 부분에 있는 두 개의 데이터가 서로 모순되지 않아야 함. 데이터 일관성 유지



DBMS3가지 특성


데이터의 논리적 독립성
한 속성에 가해진 변경이 동일한 테이블에서 다른 속성에 영향을 주지 않는 것을 의미.    
응용프로그램에 영향을 주지 않고 데이터 구조를 변경할 수 있게 하는 것

참조 무결성과 데이터 무결성
응용프로그램 개발 시 무결성 제약 조건을 신경쓰지 않아도 된다.

비정규 질의
사용자는 작업을 실행하는 방법을 명시하지 않고도, 데이터베이스에게 어떤 데이터를 조회할 것인지를 명령할 수 있다.


데이터베이스 모델의 종류

  계층데이터 모델 (Hierarchical Data Model)

데이터를 저장하는 단위(Entity)의 구조가 상하 종속적인 관계로 구성
개체를 노드로 표현하고 개체 집합들 사이의 관계를 링크로 연결한 트리(Tree)형태의 자료구조

  망 데이터 모델(Network Data Model)

CODASYL이 제안(CODASYL DBTG 모델이라고도 함)
그래프를 이용해서 데이터 논리구조를 표현한 데이터 모델
상위와 하위 레코드 사이에서 다대다(N:M) 대응 관계를 만족하는 구조

  관계 데이터 모델 (Relational Data Model)

개체 집합에 대한 속성 관계를 표현하기 위하여 개체를 테이블(table)로 사용하고 
개체 집합들 사이의 관계는 공통 속성으로 하는 독립된 형태의 데이터 모델

SQL

SQL이란 무엇인가?

- SQL(Structured Query Language)은 관계형 데이터베이스 언어이다.

- 데이터의 삽입, 삭제, 갱신, 질의, 보호(보안) 명령문으로 구성

SQL은 관계 데이터베이스 언어로 비절차적 데이터베이스 언어로 분류한다.


 SQL 기능에 따른 분류

데이터 정의어(DDL) : 테이블이나 관계의 구조를 생성하는 데 사용하며 CREATE, ALTER,  DROP 문 등이 있음

데이터 조작어(DML) : 테이블에 데이터를 검색, 삽입, 수정, 삭제하는 데 사용하며 SELECT, INSERT, DELETE, UPDATE 문 등이 있음. 여기서 SELECT 문은 특별히 질의어(query)라고

데이터 제어어(DCL) : 데이터의 사용 권한을 관리하는 데 사용하며 GRANT, REVOKE 문 등이 있음