BACKEND/DATABASE

Database 기본 용어, 특징 그리고 언어 종류

우진하다 2023. 6. 15. 23:01

데이터베이스(Database).

체계화된 데이터의 집합으로, 여러 응용 시스템들이 공유하여 사용할 수 있도록 저장된 데이터의 집합

 

Table, Row, Column, Key.

파일 시스템 데이터베이스 모델링 관계형 데이터베이스
파일 시스템은 컴퓨터 시스템에서 파일을
구조화하고 저장하는 방식.

일련의 파일과 디렉토리로 구성되며, 파일에 데이터를 저장하고 읽고 쓸 수 있는 기능을 제공.

전통적으로 파일 시스템은 단일 컴퓨터에 사용되었으며, 파일 및 디렉토리의 계층 구조를 기반으로 함
데이터베이스 모델링은 현실 세계의 데이터를 추상화하고 표현하는 프로세스.

데이터베이스의 구조, 특성, 관계 등을 설계하기 위해 사용되며 개체(Entity), 속성(Attribute), 관계(Relationship) 등의 개념을 활용.

데이터베이스 설계의 기반이 되며, 데이터베이스 시스템이 데이터를 효율적으로 저장, 검색, 관리할 수 있도록 도와줌.
관계형 데이터베이스는 데이터를 테이블 형식으로 구성하고, 테이블 간의 관계를 정의하여 데이터를 저장하고 관리하는 데이터베이스 시스템.

관계 대수와 관계 해석 기반으로 설계되며, SQL(Structured Query Language)을 사용하여 데이터를 조작.

데이터는 테이블로 구성되며, 각 테이블은 행(Row)과 열(Column)로 이루어진 데이터 구조를 가짐.
테이블 간의 관계를 정의하고, 테이블을 통해 데이터를 연관시킬 수 있어 데이터의 일관성과 무결성을 유지할 수 있음.
파일(File) 엔티티(Entity) 테이블(Table)
레코드(Record) 튜플(tuple) 행(row)
키(Key) 식별자(Identifier) 기본키(PrimeKey), Unique
필드(Field) 속성(Attribute) 열(Column)

테이블(Table). 
데이터베이스에서 데이터를 구조화하고 저장하는 기본단위
행(Row) 열(Column)로 구성되며, 특정 주제나 개체를 나타내는 데이터를 담고 있음

행(Row), 레코드(Record), 튜플(Tuple).
테이블에서 개별 데이터 항목의 집합을 나타냄
행은 테이블의 각각의 레코드를 구성하며, 각 열에 해당하는 데이터 값을 가지고 있음

열(Column), 속성(Attribute), 필드(Field).
테이블에서 각각의 데이터 항목을 의미
데이터의 특성이나 속성을 나타내며, 열의 이름과 데이터 유형을 가지고 있음

키(Key).
테이블에서 행의 식별자로 이용되는 식별자
- 슈퍼 키(Super Key) : 테이블의 행을 고유하게 식별할 수 있는 속성 또는 속성의 집합
   (유일성은 만족하지만 최소성은 만족하지 않음)
- 복합 키(Composite Key) : 2개 이상의 속성(Attribute)을 사용한 키
- 후보 키(Candidate Key) : 유일성과 최소성을 만족하는 키 (각 튜플을 유일하게 식별할 수 있는 속성의 집합)
- 기본 키(Primary Key) : 후보 키에서 선택된 키 (null 값 혹은 중복 값으로 가질 수 없음)
- 대체 키(Surrogate Key) : 후보 키에서 선택되지 않은 키
- 외래 키(Foreign Key) : 서로 다른 테이블 간의 관계를 맺어주는 키 (다른 테이블의 기본키를 참조)

인덱스(Index).

테이블에서 특정 열(또는 열의 집합)에 대한 검색 성능을 향상시키기 위해 생성되는 데이터 구조
인덱스를 통해 데이터를 빠르게 검색할 수 있으며, 특정 열의 값을 기준으로 정렬된 구조를 가지고 있음

 

쿼리(Query).

데이터베이스에서 원하는 데이터를 검색하거나 조작하기 위해 사용되는 명령어 집합
쿼리는 SQL을 사용하여 작성되며, 데이터베이스에서 원하는 결과를 얻을 수 있도록 도와줌

 

스키마(Schema).

데이터베이스의 구조와 제약 조건을 정의하는 데 사용되는 개념
테이블, 열, 관계 등의 구조적인 정보를 포함하며, 데이터베이스의 논리적인 설계를 나타냄
데이터베이스의 골격 구조를 나타내는 일종의 도면.
스키마는 데이터베이스의 엔티티와 그 엔티티들 간의 관계를 정의하고 
어떠한 타입의 데이터가 어느 위치에 적재되어야 하는지, 또 다른 테이블이나 엔티티와 어떠한 관계를 맺는지 정의

 

데이터베이스 언어 분류.

DML(Data Multipulation Language) - 데이터 조작어
데이터베이스 내의 자료를 검색, 삽입, 갱신, 삭제하기 위해 사용되는 언어
(주요 명령어 - INSERT, UPDATE, DELETE, SELECT 등)

DDL(Data Definition Language) - 데이터 정의어
데이터베이스 구조를 정의하는 언어. 데이터를 생성, 수정, 삭제하는 등 전체 골격을 결정하는 역할
(주요 명령어 - CREATE, ALTER, DROP)

DCL(Data Control Language) - 데이터 제어어
데이터베이스에 저장된 데이터 관리를 위해 데이터의 보안성, 무결성 유지 등을 제어하는 언어
(주요 명령어 - COMMIT, ROLLBACK, GRANT, REVOKE 등)


참고 및 이미지 출처: http://tcpschool.com/mysql/mysql_intro_relationalDB