본문 바로가기

MySQL

DBMS 기초

728x90

DBMS

데이터베이스를 관리하는 시스템

데이터를 저장하고 유지보수(수정, 삭제, 추가)하고 이를 검색하는 시스템

CRUD(Create, Retrieve, Update, Delete)

다양한 자료구조와 검색 구조를 사용해 빠른 검색 가능

검색에 최적화되어있다.(쓰기에 최적화된 시스템은 NOSQL계열)

 

Index

이진 탐색

최대 log2(N) 번 내에 검색 가능

데이터의 정렬이 필요

데이터가 추가/삭제/변경될 때마다 한가운데/왼쪽 가운데/오른쪽 가운데 값을 미리 계산-> Index

 

B-Tree

상용 DBMS에서 가장 일반적으로 많이 사용됨

이진 검색과 유사하지만 한 번에 비교를 2번 함(a, b:a <b)

작은 값 보다 작은 경우(x <a)

큰 값과 작은 값 사이인 경우(a <x <b)

큰 값보다 큰 경우(x> b)

B-트리 계열이 이진 검색 계열보다 빠름

데이터가 추가/삭제/변경될 때마다 a, b값을 업데이트하여 검색

 

RDBMS

관계형 데이터베이스 시스템

table 기반의 DBMS

 - table /column 형태의 데이터 저장 방식

 - table과 table 간의 연관관계(주로 외래 키 형태)를 이용해 필요한 정보를 구하는 방식

table 끼리의 중복 정보는 최소화시킨다.

 - 동일한 데이터가 여러 군데 중복되어 존재하면 데이터의 수정 시 문제 발생 확률 증가

 - 정규화를 통해 중복되는 정보를 최소화시킨다.

정규화:동일한 데이터가 여러 군데 저장되지 않도록 스키마(테이블 구조)를 만드는 것

여러 table을 합쳐 큰 table을 생성(JOIN 활용)해서 필요한 정보를 찾아낸다.

 

기본 용어

스키마(schema):DB, 테이블 정의 내역

SQL 쿼리(SQL Query):관계형 DBMS를 사용하는 전용 질의 언어

기본키(Primary Key:PK):테이블에서 하나의 레코드를 지정할 수 있는 하나 이상의 컬럼 집합

외래 키(Foreign Key:FK):어떤 테이블의 기본키가 다른 테이블의 컬럼에 들어 있을 경우

테이블(Table):정보들의 묶음 단위

컬럼(Column):테이블을 구성하는 정보들

레코드(Record):테이블에 들어 있는 여러 가지 인스턴스 하나하나를 지정

도메인 값(Domain Value):각 컬럼에서 나올 수 있는 후보 값

 

728x90

'MySQL' 카테고리의 다른 글

SQL DISTINCT 및 논리연산자  (0) 2022.11.15
DISTINCT,AND,OR,NOT,IN,BETWEEN,ORDER BY 사용법  (0) 2022.11.15
SQL의 종류,MySQL 기본적인 Query및 사용법  (0) 2022.11.14
MySQL 기본적인 Query 및 사용법  (0) 2022.11.14
SQL의 종류  (0) 2022.11.14