책(200)
-
MySQL로 배우는 데이터베이스 개론과 실습 (5)
36. 트랜잭션# 트랜잭션(transaction) 이란데이티베이스에서 한 번에 처리되어야 하는 작업의 묶음(단위)말 그대로 작업의 묶음이라 통상 여러 개의 SQL 문으로 구성되는 편은행 이체가 트랜잭션의 전통적 예시A → B 송금과정에서 A 계좌출금(UPDATE), B 계좌입금(UPDATE) 두 작업은 한 번에 처리돼야만 함A는 출금됐는데, B는 입금이 안됐으면 그날로 그 은행 망함트랜잭션이 안전하게 처리되기 위해 지켜야되는 4가지 속성(원칙)이 있음각각 원자성, 일관성, 고립성, 지속성임영문 앞 글자를 따서 ACID라고 함# 트랜잭션 수행과정위 계좌이체를 예시로 트랜잭션 수행과정을 뜯어보자문법 자체는 간단한 편인데 의외로 DBMS 내에선 여러 작업과 절차가 일어남트랜잭션 기본문법과 과정START TRA..
2025.01.25 -
MySQL로 배우는 데이터베이스 개론과 실습 (4)
32. 이상현상# 이상현상(anomaly) 이란테이블의 일관성을 훼손해 데이터 무결성을 깨뜨리는 현상주요 이상현상삽입 시 : 튜플 삽입 시 의도치 않은 NULL 값이 입력됨, 중복 데이터 삽입 등삭제 시 : 튜플 삭제 시 필요 데이터까지 함께 삭제돼는 연쇄삭제 등수정 시 : 튜플 수정 시 테이블 속성 일관성 깨짐 등이상현상 예시더보기■ 삽입이상 : 튜플 삽입 시 특정 속성에 값이 없어 NULL을 입력해야 하는 현상 ■ 삭제이상 : 튜플 삭제 시 저장된 다른 정보까지 연쇄적으로 삭제되는 현상 ■ 수정이상 : 튜플 수정 시 중복된 데이터중 일부만 수정돼 데이터 불일치가 일어나는 현상 33. 함수 종속성# 정규화이상현상이 있는 테이블을 수정해 문제를 해결하는 과정을 말함즉, DB 설계상 데이터의..
2025.01.19 -
MySQL로 배우는 데이터베이스 개론과 실습 (3)
22. 데이터 모델링# 데이터 모델링이란소프트웨어 개발의 지반 설계와 같은 역할현실의 개념을 단순화, 추상화하여 데이터베이스화 하는 과정을 말함 # 데이터베이스 생명주기데이터베이스의 생성과 운영 전반에 대한 일련의 주기를 나타낸 것. 크게 5단계로 구분됨1단계. 요구사항 수집 및 분석유저의 요구사항을 토대로 DB의 구축 범위를 정하는 단계.ex) 마당서점 : 고객, 운영자, 경영자 등의 유저 범위와 서비스 수준을 정하는 것2단계. 설계분석된 요구사항을 토대로 주요 개념과 업무 프로세스 등을 식별(개념적 설계)사용 DBMS 종류에 맞게 변환(논리적 설계)DB 스키마를 도출(물리적 설계)하는 일련의 과정3단계. 구현설계 단계에서 생성한 스키마를 실제 DBMS에 적용테이블 및 관련 객체(뷰, 인덱스) 등을 ..
2025.01.14 -
헥사고날 아키텍처 설계와 구현(1)
1. 아키텍처# 모놀리식 아키텍처 (Monolithic Architecture, MA)하나의 코드 베이스에 여러 비즈니스 기능을 수행하는 전통적인 소프트웨어 개발 모델단일 애플리케이션 내에 모든 로직이 통짜로 들어가 있는 구조간결한 대신 서비스 규모가 커질수록 단점이 드러남 # 마이크로서비스 아키텍처 (MicroService Architecture, MSA)서비스를 작게 쪼개서 각각의 독립적 서비스로 비즈니스 기능을 수행하는 소프트웨어 개발 모델서비스를 작게 쪼갠 덕에 개발 구조가 유연하고 민첩함대신, 쪼개진 서비스들 간의 통신 비용, 인프라 비용, 전체적인 복잡성 증가등의 단점이 있음 # 소프트웨어 설계의 필요성사실 소프트웨어 설계가 개판이어도 돈 버는데는 아무 지장이 없을 수 있음게다가 설계에 너..
2024.12.08 -
MySQL로 배우는 데이터베이스 개론과 실습 (2)
13. 데이터의 물리적 저장# 인덱스란데이터를 빠르게 찾을 수 있도록 만든 데이터 구조(자료구조) 그 자체DB에선 좀더 구체화해서 튜플의 키 값에 대한 물리적 위치를 기록해 둔 자료구조를 뜻함통상 B-tree (Balanced-tree) 구조로 돼있음 # DB의 물리적 저장생각해보면 DB는 데이터를 저장(INSERT)할 때 어디에 어떻게 저장할까?워드를 생각해보면 각 문서는 .docx란 확장자의 파일 형태로 하드에 저장됨DBMS의 경우엔 각 데이터를 저마다의 고유한 방식으로 저장 및 관리함다만, 방식이야 다양하다만 최종적으론 보조기억장치(HDD, SSD)에 저장됨 # MySQL의 물리적 저장DB의 데이터는 저장 시 최종적으로 보조기억장치에 저장된다고 했음그리고 이때 어떤 형태로 저장할 것인지도 정해져야..
2024.11.17 -
MySQL로 배우는 데이터베이스 개론과 실습 (1)
1. 데이터베이스 시스템# 데이터베이스란논리적으로 연관된 데이터를 모아 구조적으로 통합해 놓은 것DB 시스템은 데이터의 검색(search)과 변경(modification) 작업이 메인DB 시스템은 검색과 변경 빈도에 따라 크게 네 가지 유형으로 나뉨 # 데이터베이스 개념DB란 쉽게 말해 데이터의 집합인데, 이 개념을 구체적으로 네 가지로 쪼갤 수 있음통합된 데이터(integrated data) : 여러 곳에서 사용하던 데이터를 통합한 것저장된 데이터(stored data) : 단순 문서보관이 아닌, 디스크나 테이프 같은 컴퓨터 저장 장치에 저장된 데이터를 의미운영 데이터(operational data) : 조직(회사, ... )의 목적을 위해 사용되는 데이터공용데이터(shared data) : 한 사람 ..
2024.10.17