데이터베이스 정의
'데이터의 집합'
데이터를 저장하고 조회하는 프로그램
통합 데이터(Integrated Data)
최소 중복과 통제 가능한 중복만 허용하는 데이터
중복된 정보에 대하여 데이터를 통합해 자료의 중복 최소화
저장 데이터(Stored Data)
컴퓨터가 협조할 수 있는 매체에 저장된 데이터
공유 데이터(Shared Data)
여러 사용자가 공유하고 통합하여 운영하는 저장된 데이터
서로 관련 있는 데이터들을 효율적으로 관리하기 위해 수집된 데이터들의 집합체
운영 데이터(Operational Data)
조직의 주요 기능을 수행하기 위해 지속적으로 꼭 필요한 데이터
데이터의 종류
정형 데이터
형태가 정해져 있는 데이터. 관리가 쉬움
이름 전화번호 나이 홍길동 010-xxxx-xxxx 20 김길동 010-yyyy-yyyy 30 박길동 010-zzzz-zzzz 50
비정형 데이터
특별한 형식이 없고, 무작위로 저장되는 데이터
20 홍길동 010-xxxx-xxxx
김길동 30 010-yyyy-yyyy
010-zzzz-zzzz 50 박길동
반정형 데이터
구조와 데이터 같이 저장됨
<이름>홍길동</이름>
<전화>010-xxxx-xxxx</전화>
<직장>삼성</직장>
데이터베이스 특징
- 실시간 접근(realtime accessibility) : 사용자의 요구에 신속하고 정확하게 응답
- 계속적인 변화(continuous evolution) : 항상 최신의 데이터를 유지
- 동시 공유(concurrent sharing) : 다수의 사용자가 동시의 같은 내용 데이터 이용
- 내용 참조(content referencing) : 사용자에 요구에 따른 데이터 내용으로 데이터 위치나 주소로 찾음
데이터베이스 목적/필요성
수 많은 데이터를 더 효율적으로 관리하고 활용하기 위해 필요함
프로그래밍과 같은 컴퓨터 언어
데이터끼리 중복
컴퓨터언어
데이터베이스 시스템
= 데이터베이스 + DBMS
프로그램이나 사용자가 입력한 SQL을 해석하여 응답하고, 데이터베이스에 저장된 데이터가 훼손되지 않도록 관리 백업하는 역할
DBMS
데이터베이스 관리 운영하는 소프트웨어(Database Management System)
다양한 데이터가 저장되어 있는 데이터베이스는 여러 명의 사용자나 응용 프로그램과 공유하고 동시에 접근이 가능해야 함
데이터베이스에 쌓인 데이터의 삽입,삭제, 검색등을 쉽게 할 수 있게 해줌
파일을 사용할때 발생하는 데이터 중복성, 종속성, 보안, 백업과 회복의 문제 모두 해결 가능
DBMS로 인해 사용자는 데이터가 어떻게 저장되었는지 알 수 없고, 알 필요도 없음
DBMS의 종류
계층형 DBMS(HDBMS, Hierachical DBMS)
데이터를 트리구조로 표현
장점: 데이터 접근 속도 빠름, 단순한 구조
단점: 데이터 중복이 많고, 구조 변경이 어려움, 관계 표현이 제한적
망형 DBMS(NDBMS, Network DBMS)
데이터를 그래프 구조로 표현
장점: HDBMS보다 관계 표현이 유연, 다대다 관계 지원
단점: 구성과 설계가 복잡, 데이터 종속성 해결 X, 프로그래머가 모든 구조 이해해야함
관계형 DBMS(RDBMS, Relation DBMS)
데이터를 테이블 형태로 표현
데이터의 중복을 최소화하고 구조 변경이 쉽고 SQL 언어를 사용하여 쉽게 조작이 가능
SQL
데이터베이스에 저장된 데이터 처리하려고 만든 언어
스키마를 만들어 관리하는데 스키마는 데이터의 삽입, 삭제, 갱신 등에 작업에 적합한 구조
관계 데이터베이스를 위한 표준 정의어로 이 언어를 통해 대부분의 DBMS를 사용할 수 있음
데이터조작어(DML, Data Manipulation Language)
데이터 생성, 삽입, 수정, 삭제 ex) select(조회), insert(입력), delete(삭제), update(수정)
데이터 정의어(DDL, Data Definition Language)
구조 생성, 삽입, 수정, 삭제
ex) create(테이블 등의 객체 생성), drop(삭제), alter(변경), rename(이름 변경)
데이터 제어어(DCL, Data Control Language)
권한 설정
ex) grant(권한부여), revoke(권한취소)
DBMS의 종류
오라클: 상업용 RDBMS, 오늘날 가장 많이 사용되는 DBMS이다.
SQL 서버: 마이크로 소프트, window serverd에서만 구동 가능
MySQL: 오픈소스라 무료로 사용 가능한 DBMS
MySQL에 대한 추가 자료
스키마
데이터베이스에 저장되는 데이터 구조와 제약 조건을 정의
일종의 데이터베이스 설계도면 같은 것, 처음부터 잘 만들지 않으면 문제 발생
하나의 스키마(개체,Entity)는 연관 있는 필드(속성, Attribute)들의 집합
데이터 모델링
현실의 데이터를 데이터베이스에 저장할 수 있는 데이터로 변환하는 과정
관계형 데이터베이스르 사용하기 위해 필요한 자료의 성격을 미리 규정하고 체계화 하는 것
데이터를 모델링하여 만든 하나의 테이블을 개체(Entity)라고 한다
개념적 모델링: 요구사항을 수집하고 분석한 결과를 토대로 업무의 핵심적인 개념을 구분하고 전체적인 뼈대를 만드느 과정 개체를 추출하고 각 개체들 간의 관계를 정의하여 ERD를 만드는 과정(전체적인 뼈대를 만드는 과정)
논리적 모델링: 개념적 모델링에서 만든 ERD를 사용하려는 곳에 매핑(Mapping)하여 전체 데이터베이스로 구현하기 위한 모델을 만드는 과정
물리적 모델링: 작성된 논리적 모델을 실제 컴퓨터의 저장 장치에 지정하기 위한 물리적 구조를 정의하고 구현하는 과정
관계 데이터베이스
개체와 개체의 관계를 연결한 데이터베이스
개체-관계 다이어그램(Entity-Relationship Diagram, ERD)라고도 함
ERD에 대해 더 자세한 설명은 [DATABASE] 04. 관계형 데이터 베이스, ERD 설계 에서 볼 수 있씁니다
참고 레퍼런스
참고 교재
IT CookBook, 초연결 사회를 위한 컴퓨터 개론 / 한빛아카데미/ 조성호 지음/ 2021
'백엔드 공부일지 > 데이터베이스 공부일지' 카테고리의 다른 글
[DATABASE] 관계형 데이터 베이스, ERD 설계 (0) | 2024.05.22 |
---|---|
[DATABASE] 기본키, 외래키, 복합키의 개념 (1) | 2024.05.18 |
[DATABASE] MY SQL 추가 - JOIN, SUBQUERY (1) | 2024.05.16 |
[DATABASE] My SQL 기초 문법 (0) | 2024.05.15 |