본문 바로가기
IT/DB - 데이터베이스

DB - 데이터베이스

by 삐약 개발자 2024. 12. 6.

데이터베이스란???

데이터를 조금도 효율적으로 관리하기 위하여 사용

RDB 관계형 데이터베이스 // NoSQL 관계가 없는 데이터베이스

졍보를 쉽고 빠르게 찾고 사용할수 있도록 하는 하나의 도구임

 

pk - 고유한 식별자

VARCHAR(문자열 길이 지정 숫자)

INT

TEXT - 문자열 길이가 길어서 개행문자로 넘어가는 경우

 

특징

프라이머리키가 다르면 무조건 다른 값으로 판단

- 데이터 중복 방지

- 데이터 무결성 유지 - 정보가 얼마나 정확한지 일관성이 허용되는지

- 데이터 검색 및 조작

- 데이터 공유

 

기존 파일 시스템과 데이터베이스의 차이

구분 파일 시스템 데이터베이스
데이터 저장 방식 파일 형식 테이블 형식
데이터 검색 및 조작 비효율적 효율적
데이터 무결성 유지 어려움 용이
데이터 공유 제한적 가능

 

데이터란?

사실이나 수치와 같이 형태가 구체적으로 정의된 정보를 의미함

 

데이터의 예시

숫자: 나이, 키, 몸무게, 온도, 가격 등

문자: 이름, 주소, 전화번호, 이메일 주소 등

이미지: 사진, 그림 등 

음성: 음악, 음성 메시지 등

비디오: 영화, 드라마 등

 

데이터베이스 매니지먼트 시스템(DBMS)

 

DBMS의 주요 기능

데이터 저장 및 관리: 데이터를 안전하고 체계적으로 저장하고 관리함

데이터 검색 및 조작: 사용자가 데이터를 쉽게 찾아서 필요한 작업을 수행할 수 있도록 도와줌

데이터 보안: 무단 접근으로부터 데이터를 보호함

데이터 백업 및 복구: 데이터가 손실되었을 때 복구할 수 있음

데이터 동기화: 여러 사용자가 동시에 데이터를 사용하고 변경할 수 있도록 함

 

대표적인 DBMS

MySQL: 웹 개발에 주로 사용되는 오픈 소스 데이터베이스

Oracle: 기업 환경에서 선호되는 고성능 데이터베이스

Microsoft SQL Server: 주로 윈도우 환경에서 사용되는 데이터베이스

PostgreSQL: 객체 관계형 데이터 모델을 지원하는 고급 데이터베이스

 


데이터 베이스의 특징!!

 

데이터 모델링

정의하는 모델을 Entity

종류를 속성 - 컬럼

 

데이터 모델링의 유의점

 

-중복의 문제점

동일한 데이터가 시스템 내 여러 위치에 저장되는 현상

이렇게 되면 저장 공간의 낭비가 발생하며 데이터를 업데이트 할때 오류의 가능이 증가 하게 됨


Entity

Entity 는 사람,장소,물건,사건,개념 등의 명사에 해당

Entity 는 저장이 되기 위한 어떤 것임(thing)

 

 

속성

속성 설계시 고려사항

 

==엔터티에 필요한 속성인가?

==속성이 하나의 값만을 가지고 있는가?

==속성이 하나의 의미만 가지고 있는가?

==동일한 의미를 가지는 속성이 하나만 존재 하는가?

 

 

 

정규화란???

정규화는 데이터베이스 설계과정에서 중복을 최소화하고 효율적인 구조를 갖도록 데이터를 구조화 하는 과정

이 과정은 데이터 중복과 업데이트 이상, 삽입 이상, 삭제 이상을 최소화하는데 도움을 줌

정구규화의 궁극적인 목표는 데이터의 무결성과 일관성을 보장하는것!

 

  • 정규화를 수행하면 입력/수정/삭제의 성능은 무조건 향상됨!!!
  • 다만 조회 성능은 향상될수도 있고 저하될수도 있음!!!

 

반정규화란??

반정규화는 데이터베이스 설계에서 사용되는 전략중 하나임

데이터베이스의 성능을 높이기 위해 의도적으로 정규화된 데이터베이스 구조를 다시 비정규화 하는 과정임

 

Customer 이라는테이블이있고 Order 테이블이 있을때

CustomerOrders 테이블을 만들어 놓고 이름을 검색 이렇게 데이터를 통합하면 조회작업이 단순해지고 성능 향상

 

 

 

마이그레이션- 데이터 이관할때 자주 사용하는 언어!

 

수평분할 || 수직분할

수평분할
수직분할

 

'IT > DB - 데이터베이스' 카테고리의 다른 글

JDBC API  (0) 2024.12.17
SQL - TCL  (1) 2024.12.09
SQL - DML  (1) 2024.12.09
SQL - DDL  (0) 2024.12.09
SQL - 관계형 데이터베이스 개요  (0) 2024.12.09