- HOME
- [종료]구루비 DB 스터디
- 2013년 하반기 - 오라클 트러블슈팅 스터디
- 1.관계형 데이터베이스 개요
SQL의 기본적인 내용을 설명하는 장
- Oracle과 SQL Server의 사례를 중심으로 설명
- 데이터베이스
- 데이터베이스의 발전
- 관계형 데이터베이스
- SQL(Structured Query language)
- TABLE
- 예제
- 성격
- 테이블 관계 용어
- ERD(Entity Relationship Diagram)
- 성격
- 예제
데이터베이스
- 넒은 의미: 일상적인 정보를 모아 놓은 것 자체
- 일반적 의미: 특정 기업이나 조직 또는 개인이 필요에 의해 데이터를 일정한 형태로 저장해 놓은 것
- 예
- 학교: 학생관리를 목적으로 학생 개개인의 정보 저장
- 기업: 직원관리를 목적으로 직원의 이름, 부서, 월급 정보 저장
- DBMS: 효율적인 데이터의 관리뿐 아니라 데이터의 손상을 피하고 필요시 데이터를 복구하기 위한 소프트웨어(Oracle, MySQL, SQL Server...)
데이터베이스의 발전
- 1960년대: 플로우차트 중심의 개발방법, 파일 구조의 데이터 저장, 관리
- 1970년대: 데이터베이스 관리 기법이 처음 태동되던 시기, 계층형 데이터베이스, 망형 데이터베이스 상용화
- 1980년대: 관계형 데이터베이스 상용화(Oracle, Sybase, DB2)
- 1990년대: 보다 향상된 기능으로 많은 관계형 데이터베이스들이 사용, 객체 관계형 데이터베이스로 발전
관계형 데이터베이스
- 1970년 E.F.Codd 박사에 의해 처음 소개
- IBM의 SQL 개발 단계를 거쳐, Oracle을 선발로 여러 상용화된 제품 소개(주력 데이터베이스로 발전)
- 관계형 데이터베이스의 장점
- 기존 파일 시스템의 동시성 제한, 데이터 불일치성 문제 해결
- 정규화를 통한 합리적인 테이블 모델링을 통해 ANOMALY 현상을 제거하고 데이터 중복을 피한다.
- 동시성 관리, 병행 제어를 통해 다수의 사용자가 동시에 데이터를 공유 및 조작할 수 있도록 한다.
- 메타 데이터를 총괄 관리하여 데이터를 체계화하고 데이터 표준화를 통해 데이터 품질을 확보한다.
- 인증된 사용자만이 참조할 수 있도록 보안 기능을 제공한다.
- 제약조건을 사용하여 데이터 무결성을 보장한다.
- 데이터의 수정이 제대로 반영될 수 있도록 보장해주는 기능과 시스템 다운/재해의 상황에서 데이터를 복구하는 기능을 제공한다.
SQL(Structured Query language)
- 관계형 데이터베이스에서 데이터 정의, 데이터 조작, 데이터 제어를 하기 위해 사용하는 언어
- SQL의 최초 이름은 SEQUEL이지만 표준은 SQL이므로 '에스큐엘'로 읽는 것을 권고
- 1986년부터 ANSI/ISO를 통해 표준화되어 SQL에 대한 지식은 다른 데이터베이스를 사용하더라도 상당 부분 비슷
- 관계형 데이터베이스는 수학의 집합 논리에 입각한 것이므로 SQL도 데이터를 집합으로써 취급
TABLE
예제
- K-리그 1차 자료 정리
- 선수별 정리
- 전체적으로 여러 명의 정보나 비교가 어렵다.
- K-리그 2차 자료 정리
- 기준(컬럼)을 정해서 비교
성격
- 관계형 데이터베이스의 기본 단위
- 어느 특정한 주제와 목적으로 만들어지는 일종의 집합
- 테이블은 반드시 하나 이상의 컬럼을 가져야 한다.
- 컬럼과 행의 2차원 구조로 나타내며 그 하나의 공간을 필드라고 한다.
테이블 관계 용어
- 정규화: 테이블을 분할하여 데이터의 불필요한 중복을 줄이는 것
- 기본키: 각 행을 한 가지 의미로 특정할 수 있는 한 개 이상의 컬럼
- 외부키: 다른 테이블의 기본 키로 사용되면서 테이블과의 관계를 연결하는 역할을 하는 컬럼
ERD(Entity Relationship Diagram)
성격
- 엔티티간의 관계의 의미를 직관적으로 표현할 수 있는 좋은 수단
- 엔티티, 관계, 속성 3가지로 구성(현실 세계의 데이터를 모두 표현 가능)
예제
- K-리그 테이블간의 양방향 관계 설명
- 하나의 팀은 여러 명의 선수를 포함할 수 있다.
- 한 명의 선수는 하나의 팀에 꼭 속한다.
- 하나의 팀은 하나의 전용 구장을 꼭 가진다.
- 하나의 운동장은 하나의 홈팀을 가질 수 있다.
- 하나의 운동장은 여러 게임의 스케줄을 가질 수 있다.
- 하나의 스케줄은 하나의 운동장에 꼭 배정된다.
- IE 표기법의 ERD
- Baker 표기법의 ERD
- HOME
- [종료]구루비 DB 스터디
- 2013년 하반기 - 오라클 트러블슈팅 스터디
- 1.관계형 데이터베이스 개요