본문 바로가기

SQLD

[SQLD : Ⅲ. SQL 기본] 1. 관계형 데이터베이스 개요

* 데이터베이스의 발전

 - 60s : 플로우차트 중심의 개발 방법을 사용, 파일 구조를 통해 데이터를 저장하고 관리

 - 70s : 데이터베이스 관리 기법이 처음 태동되던 시기, 계층형, 망형 데이터베이스 상용화

 - 80s : 현재 대부분의 기업에서 사용되는 관계형 데이터베이스가 상용화

 - 90s : oracle, sybase, informix, DB2, Teradata, SQL server외 많은 제품들이 보다 향상된 기능으로 정보시스템 솔루션

 

* 관계형 데이터베이스

 - 현재 기업에서 사용하는 대부분의 데이터베이스는 기존 관계형 데이터베이스에서 객체 지원 기능을 추가

 - 파일시스템 : 동시에 검색은 가능하지만 동시에 입력, 수정, 삭제 불가능

 - 파일시스템은 분산된 데이터 간 정합성 보장이 힘듦

 - 관계형 데이터베이스는 정규화를 통해 합리적인 테이블 모델링으로 이상현상 제거

   데이터 중복을 피할 수 있으며 동시성 관리, 병행 제어를 통해 동시에 데이터 공유 및 조작 가능

 - 메타 데이터를 총괄 관리할 수 있어서 데이터 성격, 속성, 표현방법을 체계화할 수 있음

 - 데이터 표준화로 데이터 품질을 확보할 수 있는 장점

 - DBMS는 인증된 사용자만 참조할 수 있도록 보안 기능 제공하여 무결성 보장

 - 갑작스런 장애로부터 입력, 수정, 삭제하던 데이터가 제대로 반영되도록 보장

 - 시스템 다운, 재해 등의 상황에서도 회복/복구 기능 제공

 

* SQL

 - 관계형 데이터베이스에서 데이터의 정의, 조작, 제어를 위한 언어

 - ANSI/ISO 표준을 기준으로 할 것을 권고

 - SQL 문장은 단순 스크립트가 아니라 이름에도 포함되듯, 일반적인 개발 언어처럼 독립된 하나의 개발 언어

 

* TABLE

 - 데이터는 관계형 데이터베이스의 기본 단위인 테이블 형태로 저장

 - 모든 자료는 테이블에 등록 되고, 우리는 테이블로부터 원하는 자료를 꺼내 올 수 있음

 - 테이블은 어느 특정한 주제와 목적으로 만들어지는 일종의 집합

 - 테이블은 데이터를 저장하는 객체로서 관계형 데이터베이스의 기본 단위

 - 관계형 데이터베이스에서는 모든 데이터를 컬럼과 행의 2차원 구조로 나타냄

 - 컬럼과 행이 겹치는 하나의 공간을 필드라고 함

 - 정규화를 통해 데이터의 정합성 확보와 데이터 입력/수정/삭제 이상현상을 방지

* ERD

 - 팀 정보와 선수 정보 간에 어떤 의미의 관계가 존재하며

   다른 테이블과도 어떤 의미의 연관성이나 관계를 가지고 있다

 - ERD는 관계의 의미를 직관적으로 표현할 수 있는 좋은 수단

 - 팀과 선수 간 소속이라는 관계, ERD 구성요소는 엔티티, 관계, 속성

하나의 팀은 여러 선수를 포함할 수 있음

한 명의 선수는 하나의 팀에 꼭 속함

하나의 팀은 하나의 전용 구장을 가짐

하나의 운동장은 하나의 홈팀을 가짐

하나의 운동장에는 여러 게임 스케줄을 가질 수 있음

하나의 스케줄은 하나의 운동장에 꼭 배정됨

하나의 부서는 여러 명의 사원을 보유할 수 있음

한 명의 사원은 하나의 부서에 꼭 속함