초코딩(chocoding)

[MySQL] 데이터 베이스란? 본문

MySQL

[MySQL] 데이터 베이스란?

sweetychocoding 2023. 9. 21. 11:10
728x90

데이터베이스란?

  • 빠른 탐색과 검색을 위해 조직된 데이터의 집합체

DBMS(DataBase Management System)

: Oracle, Mysql, Maria…

  • 데이터베이스를 관리하기 위한 시스템
  • 주요기능
    • 데이터의 추가, 조회, 변경, 삭제 ⇒ CRUD (Create, Read, Update, Delete)
    • 데이터의 무결성(integrity) 유지 ⇒ 제약조건
    • 트랜잭션 관리 ⇒ 데이터의 일관성 유지
    • 데이터의 백업 및 복원
    • 데이터 보안
  • 최고의 DBMS는 데이터를 효과적으로 처리하며 사용자의 데이터를 정확한 기록으로 유지할 수 있도록 도와주며 데이터 구성, 조작, 검색을 제공하고 적시에 원하는 정보에 엑세스하도록 하는 것

JDBC (Java Database Connectivity)

  • 자바의 API(Application Programming Interface)의 하나로서 데이터베이스에 연결해, 데이터베이스 안에 데이터를 검색하고 데이터를 변경할 수 있게 함

 

RDBMS (Relational DataBase Management System)

  • '구조화'가 특징으로, 데이터 베이스 안에서 데이터들 사이의 관계성을 가지는 데이터들을 다루며, 구조적(table형태)으로 데이터를 저장함
  • RDBMS에서는 키(key)를 통해서 연관된 정보들을 함께 조회하는데 특화됨

 

테이블이란?

  • 데이터가 저장되는 가상의 장소
  • 하나의 테이블에서는 데이터(tuple, record라고도 부름, 행)를 수백, 수천, 수만, 수백만개 저장
  • 1개 이상의 칼럼으로 구성
    • 각 칼럼은 타입을 가지며, 값의 길이나 가질 수 있는 값 등의 제약을 갖음
    • ⇒ 이러한 테이블의 구성을 **스키마 (schema)**라고 함
    • 칼럼의 모음을 레코드(tuple, record)라고 표현
    • ⇒ 하나의 테이블은 여러 개의 레코드로 구성
  • 데이터는 많은 속성(attributes, 열)가짐
    • ⇒ 속성들에는 나이, 이름, 사는 지역, 핸드폰 번호 등등 데이터의 특징을 나타낼 수 있는 범주로 구성
    • 이런 속성들은 number, varchar2 와 같은 데이터 타입들로 나타냄
    • 이런 데이터 타입이나 comment, 컬럼 이름들은 Schema(스키마) 라는 것으로 테이블의 큰 정보를 저장

 

 

 

주요키(Primary Key)란?

  • 각각의 레코드를 구별하기 위해 사용되는 것
  • 각 레코드가 서로 다른 값을 갖는 칼럼 (유일성)
  • 주요키 값을 이용하여 빠른 검색 가능

인덱스란?

  • 지정한 칼럼에 맞춰 데이터의 정렬 순서를 미리 계산
  • 주요키, unique 인덱스 자동 생성됨
  • 인덱스로 사용되는 칼럼은 중복된 값을 가질 수도 있음
728x90