메뉴 건너뛰기

bysql.net

제1절_관계형_데이터베이스_개요

2012.03.09 23:30

balto 조회 수:10446

1. 데이터베이스

(정의) 특정 기업이나 조직 또는 개인이 필요에 의해(ex: 부가가치가 발생하는) 데이터를 일정한 형태로 저장해 놓은 것. 

             (데이터베이스 관리 소프트웨어) -> DBMS(Database Management System)

  • 데이터베이스의 발전
  • - 1960년대 : 플로우차트 중심의 개발 방법

    - 1970년대 : 계층형(Hierarchical) 데이터베이스, 망형(Network) 데이터베이스 같은 제품
    - 1980년대 : 관계형 데이터베이스가 상용화되었으며 Oracle, Sybase, DB2와 같은 제품
    - 1990년대 : 객체 관계형 데이터베이스로 Oracle, Sybase, Informix, DB2, Teradata, SQL Server 
     

    관계형 데이터베이스(Relational Database)

    - 1970년 영국의 수학자였던 E.F. Codd 박사의 논문에서 처음으로 관계형 데이터베이스가 소개

    - 파일시스템의 단점 

      동시에 입력, 수정, 삭제할 수 없기 때문에 정보의 관리가 어렵다

      복사본 파일을 만들어 사용할 경우 데이터의 불일치성이 발생한다.

    - 관계형 데이터베이스의 장점

      정규화를 통해 이상(ANOMALY) 현상을 제거하고 데이터 중복을 피할 수 있다

      동시성 관리, 병행 제어를 통해 데이터를 공유

      데이터의 표현 방법 등을 체계화할 수 있고, 데이터 표준화, 데이터 품질을 확보

      보안 기능

      데이터 무결성(Integrity)을 보장

      데이터를 회복/복구하는 기능

     

    2. SQL(Structured Query Language)

    - SQL의 최초 이름이 SEQUEL(Structured English QUEry Language) - ‘에스큐엘’로 읽는 것을 권고한다.
    - 1986년부터 ANSI/ISO를 통해 표준화되고 정의된 SQL 기능은 벤더별 DBMS 개발의 목표가 된다.

        ANSI/IS0 SQL-99, SQL-2003 등

    - 각 벤더의 관계형 데이터베이스(RDBMS)는 표준화된 SQL 이외에도 벤더 차별화 및 이용 편리성을 위해 추가 기능 구현

    - SQL 문장들의 종류 - SQL 명령어는 3가지 SAVEPOINT 그룹인 DDL, DML, DCL로 구분

      TCL의 경우 굳이 나눈다면 일부에서 DCL로 분류하기도 하지만, 다소 성격이 다르므로 별도의 4번째 그룹으로 분리

    SQL_148.jpg

     

    3. TABLE

     

    - 테이블의 예

    SQL_151.jpg

     

    테이블(TABLE) : 데이터를 저장하는 객체(Object)로서 관계형 데이터베이스의 기본 단위

    SQL_154.jpg

    SQL_155.jpg

     

    - 테이블의 분할 : 데이터의 불필요한 중복을 줄이는 것을 정규화(Normalization)라고 한다.

      이상현상(Anomaly)을 방지

    SQL_156.jpg

    - 키(key) : 기본키(Primary Key), 외부키(Foreign Key)

    SQL_157.jpg

    4. ERD(Entity Relationship Diagram)

    - ERD :  ERD(Entity Relationship Diagram). ERD의 구성 요소는 엔터티(Entity), 관계(Relationship), 속성(Attribute) 3가지

    SQL_158.jpg

     

    - IE(Information Engineering) 표기법과 Barker(Case*Method) 표기법

     

    (예 1 ) K-리그 테이블 간의 양방향 관계

               하나의 팀은 여러 명의 선수를 포함할 수 있다. - 한 명의 선수는 하나의 팀에 꼭 속한다.

               하나의 팀은 하나의 전용 구장을 꼭 가진다. - 하나의 운동장은 하나의 홈팀을 가질 수 있다.

               하나의 운동장은 여러 게임의 스케줄을 가질 수 있다. - 하나의 스케줄은 하나의 운동장에 꼭 배정된다.

    SQL_159.jpg

    (예 2) 부서-사원 테이블 간의 관계 : IE 표기법과 Barker 표기법

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

                한 명의 사원은 하나의 부서에 꼭 소속된다.

    SQL_160.jpg

    사원-부서 테이블 간의 양방향 관계는 다음과 같다.

     

    SQL_161.jpg

     

     

     

    • SQL 전문가 자격증 (bysql.net 2012년 2차 스터디)
    • 작성자: 박우창
    • 최초작성일: 2012년 03월 09 일
    • 본문서는 bysql.net 스터디 결과입니다 .본 문서를 인용하실때는 출처를 밝혀주세요. http://www.bysql.net
    • 문서의 잘못된 점이나 질문사항은 본 문서에 댓글로 남겨주세요. ^^
    번호 제목 글쓴이 날짜 조회 수
    58 Front Page file 운영자 2012.02.21 186700
    57 Week1_이진우 [5] ljw 2012.07.16 46273
    56 제1절_성능_데이터_모델링의_개요 file ljw 2012.03.04 44546
    55 제4절_고급_조인_기법 suspace 2012.06.05 31239
    54 제1절_Lock balto 2012.05.05 25259
    53 제1절_데이터_모델의_이해 실천하자 2012.03.04 22594
    52 제5절_식별자 file ljw 2012.03.04 18958
    51 제1절_표준_조인(STANDARD_JOIN) file ljw 2012.03.19 15924
    50 제3절_반정규화와_성능 file ljw 2012.03.04 15292
    49 제5절_WHERE_절 file 보라빛고양이 2012.03.10 14879
    48 제4절_관계(Relationship) [1] 실천하자 2012.03.04 13028
    47 제5절_그룹_함수(GROUP_FUNCTION) file balto 2012.03.31 12458
    46 제2절_소트_튜닝 file ljw 2012.06.04 12024
    45 제2절_DDL(DATA_DEFINITION_LANGUAGE) [1] file balto 2012.03.09 11722
    44 제7절_GROUP_BY_HAVING_절 suspace 2012.03.12 11531
    43 제1절_데이터베이스_아키텍처 [2] ljw 2012.04.23 11523
    42 제4절_서브쿼리 오예스 2012.03.27 11470
    » 제1절_관계형_데이터베이스_개요 balto 2012.03.09 10446
    40 제2절_정규화와_성능 file ljw 2012.03.04 10394
    39 제2절_인덱스_튜닝 balto 2012.05.18 9904