TIL 21. 데이터베이스의 기초(+관계형)

윤현묵·2021년 8월 10일
0

Database

목록 보기
1/1

데이터베이스란?

데이터베이스(DB: database)는 통합하여 관리되는 데이터의 집합체를 의미합니다.
데이터베이스는 중복된 데이터를 없애고, 자료를 구조화하여, 효율적인 처리를 할 수 있도록 관리되며 여러 업무에 여러 사용자가 데이터 베이스를 사용할 수 있습니다.
이러한 데이터베이스는 응용 프로그램과는 다른 별도의 미들웨어에 의해 관리되는데, 데이터베이스를 관리하는 이러한 미들웨어를 데이터베이스 관리 시스템(DBMS: Database Management System)이라고 합니다.

데이터베이스를 사용하는 이유

1. 데이터를 오랜기간 저장 및 보존하기 위해서 데이터 베이스를 사용합니다.

작은 어플리케이션에서도 물론 데이터를 잠깐동안 임시로 저장할 수는 있습니다. 그러나 저장하지 않은 데이터는 컴퓨터를 끄면 사라지고 메모리에 존재하는 데이터는 오래 보존이 되지 않습니다. 어플리케이션이 종료되면 메모리에 있던 데이터들은 다시는 읽어들일 수 없습니다. 따라서, 필요한 자료를 계속 보존하기 위해 데이터베이스를 사용합니다.

2. 데이터를 체계적으로 보존하고 관리하기 위해 사용합니다.

데이터는 많이 오래 저장한다고 좋은 것이 아닙니다. 필요할 때 언제든 내가 원하는 자료를 쉽게 읽어낼 수 있어야만 의미있는 정보라고 할 수 있습니다. 데이터베이스에는 데이터가 아무렇게나 저장되지 않고 체계적으로 정리되어 입력됩니다. 다시 찾고자 할 때 어렵지 않게 정보를 얻을 수 있습니다. 데이터를 체계적으로 정리하여 보관하기 위해 데이터베이스를 사용합니다.

데이터베이스의 특징

-. 사용자의 질의에 대하여 즉각적인 처리와 응답이 이루어짐
-. 생성, 수정, 삭제를 통하여 항상 최신의 데이터를 유지
-. 사용자들이 원하는 데이터를 동시에 공유
-. 사용자가 원하는 데이터를 주소가 아닌 내용에 따라 참조 가능
-. 응용프로그램과 데이터베이스는 독립되어 있어, 데이터의 논리적 구조와 응용프로그램은
   별개로 동작

SQL(Structured Query Language)

SQL(Structured Query Language)은 데이터베이스에서 데이터를 정의, 조작, 제어하기 위해 사용하는 언어로, 목적에 맞게 크게 세 가지로 구분할 수 있습니다.

  1. DDL(Data Definition Language)
  2. DML(Data Manipulation Language)
  3. DCL(Data Control Language)

관계형 데이터베이스란?

관계형 데이터베이스는 현재 가장 많이 사용되고 있는 데이터베이스의 한 종류입니다.
관계형 데이터베이스란 테이블(table)로 이루어져 있으며, 이 테이블은 키(key)와 값(value)의 관계를 나타냅니다. 이처럼 데이터의 종속성을 관계(relationship)로 표현하는 것이 관계형 데이터베이스의 특징입니다.
테이블은 이름을 가지고 있으며, 행(row)과 열(column) 그리고 거기에 대응하는 값을 가집니다.
관계형 데이터베이스는 위와 같이 구성된 테이블이 다른 테이블들과 관계를 맺고 모여있는 집합체로 이해할 수 있습니다.

관계형 데이터베이스의 특징

-. 데이터의 분류, 정렬, 탐색 속도가 빠름
-. 오랫동안 사용되어 신뢰성이 높고, 어떤 상황에서도 데이터의 무결성을 보장
-. 기존에 작성된 스키마를 수정하기가 어려움
-. 데이터베이스의 부하를 분석하는 것이 어려움

관계형 데이터베이스 용어

[1] 열(column)
각각의 열은 유일한 이름을 가지고 있으며, 자신만의 타입을 가지고 있습니다.
이러한 열은 필드(field) 또는 속성(attribute)이라고도 불립니다.

[2] 행(row)
행은 관계된 데이터의 묶음을 의미합니다.
한 테이블의 모든 행은 같은 수의 열을 가지고 있습니다.
이러한 행은 튜플(tuple) 또는 레코드(record)라고도 불립니다.

[3] 값(value)
테이블은 각각의 행과 열에 대응하는 값을 가지고 있습니다.
이러한 값은 열의 타입에 맞는 값이어야 합니다. (int, cha 등)

[4] 키(key)
테이블에서 행의 식별자로 이용되는 열을 키(key) 또는 기본 키(primary key) 라고 합니다.
즉, 테이블에 저장된 레코드를 고유하게 식별하는 후보 키(candidate key) 중에서 데이터베이스 설계자가 지정한 속성을 의미합니다.

[5] 관계(relationship)
테이블 간의 관계는 관계를 맺는 테이블의 수에 따라 나눌 수 있습니다.
-. 일대일(one-to-one) 관계
-. 일대다(one-to-many) 관계
-. 다대다(many-to-many) 관계

관계형 데이터베이스에서는 이러한 관계를 나타내기 위해 외래 키(foreign key) 라는 것을 사용합니다. 외래 키는 한 테이블의 키 중에서 다른 테이블의 행(row)을 식별할 수 있는 키를 의미합니다.

[6] 스키마(schema)
스키마는 테이블을 디자인하기 위한 청사진이라고 할 수 있습니다.
이러한 스키마는 테이블의 각 열에 대한 항목과 타입뿐만 아니라 기본 키와 외래 키도 나타내야 합니다. 스키마는 개체-관계 다이어그램(Entity-Relationship Diagram)이나 문자열로 표현할 수 있습니다.

참고자료
http://tcpschool.com/mysql/mysql_intro_relationalDB

profile
진정성 있는 개발자를 꿈꾼다

0개의 댓글