데이터베이스 : 일정한 규칙, 혹은 규약을 통해 구조화되어 저장되는 데이터의 모음
DBMS(DataBase Management System) : 데이터베이스를 제어, 관리하는 통합 시스템
데이터베이스 안에 있는 데이터들은 특정 DBMS마다 정의된 query를 통해 삽입, 삭제, 수정, 조회 등을 수행할 수 있다.
또한 데이터베이스는 실시간 접근과 동시 공유가 가능하다.
DataBase 용어
Entity
: 사람, 장소, 물건, 사건, 개념 등 여러 개의 속성을 지닌 명사
: 현실 세계에서 구별할 수 있는 실제 객체나 사물을 나타내는 개념
일반적으로 엔티티는 데이터베이스의 테이블에 대응되며, 테이블에 저장된 각각의 레코드는 엔티티의 하나의 인스턴스에 해당한다.
Relation
: 데이터베이스에서 정보를 구분하여 저장하는 기본 단위
엔티티에 관한 데이터를 릴레이션 하나에 담아서 관리한다.
릴레이션은 관계형 데이터베이스에서 테이블을 의미하며, NoSQL 데이터베이스에서는 컬렉션이다.
관계형 데이터베이스는 record - table - database로 이루어져 있고, NoSQL 데이터베이스는 document - collection - database로 이루어져 있다.
Attribute(속성)
릴레이션이 관리하는 구체적이며 고유한 이름을 갖는 정보
Domain
릴레이션에 포함된 각각의 속성들이 가질 수 있는 값의 집합
Record
테이블에 쌓이는 row 단위의 데이터를 record 또는 tuple이라고 한다.
예시를 들어보자.
CREATE TABLE Student (
student_id INT PRIMARY KEY,
name VARCHAR(255),
age INT,
major VARCHAR(50)
);
-Student 테이블은 데이터베이스에서 '학생'이라는 엔티티를 나타낸다.
-Student는 릴레이션 이름이며, 데이터베이스에서 테이블을 의미한다.
테이블은 레코드(행)과 속성(열)로 구성되어 있다.
-Student 테이블의 속성은 열로 나타낸다.
student_id, name, age, major이 속성이다.
-각 속성은 도메인을 가지고 있다.
예를 들어 name은 문자열 데이터 타입의 도메인을 가진다.
도메인은 속성이 가질 수 있는 값의 범위나 형식을 정의한다.
-테이블의 각 행은 레코드(또는 튜플)에 해당된다.
예시 레코드) (1, "Kim", 20, "알고리즘")
'DB' 카테고리의 다른 글
[DB] 프로시저, 트리거, 사용자 정의 함수 (0) | 2024.01.31 |
---|---|
[DB] 데이터베이스 키(Key)의 개념 / 종류 (0) | 2024.01.31 |
[MySQL] CMD이용해 CRUD 하기 (0) | 2023.05.04 |
[MYSQL] 같지 않음을 나타내는 부정 연산자(!=, NOT, <>) (0) | 2023.03.27 |
[MySQL] 문자열 관련 함수 (0) | 2023.03.04 |