본문 바로가기

CS 전공지식/데이터 베이스4

4. 데이터베이스의 종류 1. 관계형 데이터베이스(RDBMS)란? 행과 열을 가지는 표 형식 데이터를 저장하는 형태의 데이터베이스 SQL이라는 언어를 써서 조작 종류 : MySQL, PostgreSQL, 오라클, SQL Server, MSSQL 등 표준 SQL을 지키면서도 각 제품에 따라 특화된 언어를 사용 MySQL MySQL은 대부분의 운영체제와 호환되며 현재 가장 많이 사용하는 데이터베이스 C, C++로 만들어짐 MyISAM 인덱스 압축 기술, B-트리 기반의 인덱스, 스레드 기반의 메모리 할당 시스템, 매우 빠른 조인, 최대 64개의 인덱스를 제공 대용량 데이터베이스를 위해 설계되어 있고 롤백, 커밋, 이중 암호 지원 보안 등의 기능을 제공 모듈식 아키텍처로 쉽게 스토리지 엔진( 데이터베이스의 심장과도 같은 역할)을 바꿀.. 2023. 8. 10.
3. 트랜젝션과 무결성 1. 트랜잭션이란? 데이터베이스에서 하나의 논리적 기능을 수행하기 위한 작업의 단위 데이터베이스에 접근하는 방법은 쿼리이므로, 즉 여러 개의 쿼리들을 하나로 묶는 단위를 말함 ACID 특징 원자성, 일관성, 독립성, 지속성 원자성(atomicity) all or nothing 트랜잭션과 관련된 일이 모두 수행되었거나 되지 않았거나를 보장하는 특징 ex) 트랜잭션을 커밋했는데, 문제가 발생하여 롤백하는 경우 그 이후에 모두 수행되지 않음을 보장하는 것 [주의사항] 트랜잭션 단위로 여러 로직들을 묶을 때 외부 API를 호출하는 것이 있으면 안 됨 만약 있다면 롤백이 일어났을 때 어떻게 해야 할 것인지에 대한 해결 방법이 있어야 하고 트랜잭션 전파를 신경 써서 관리해야 함 커밋과 롤백 데이터의 무결성이 보장 .. 2023. 8. 10.
2. ERD와 정규화 과정 ⭐ERD(Entity Relationship Diagram) : 데이터베이스를 구축할 때 가장 기초적인 뼈대 역할 릴레이션 간의 관계들을 정의한 것 만약 서비스를 구축한다면 가장 먼저 신경 써야 할 부분 1. ERD의 중요성은? ERD는 시스템의 요구 사항을 기반으로 작성 이 ERD를 기반으로 데이터베이스를 구축 데이터베이스를 구축한 이후에도 디버깅 또는 비즈니스 프로세스 재설계가 필요한 경우에 설계도 역할을 담당 장점 ERD는 관계형 구조로 표현할 수 있는 데이터를 구성하는 데 유용 단점 비정형 데이터(비구조화 데이터, 미리 정의된 데이터 모델이 없거나 미리 정의된 방식으로 정리되지 않은 정보)를 충분히 표현할 수 없다 2. 예제로 배우는 ERD 승원 영업부서의 ERD 요구 사항 • 영업사원은 0~n명.. 2023. 8. 9.
1. 데이터베이스의 기본 ⭐데이터베이스(DB, DataBase)란? : 일정한 규칙, 혹은 규약을 통해 구조화되어 저장되는 데이터의 모음 - 실시간 접근 가능 - 동시 공유가 가능 - 데이터베이스 안에 있는 데이터들은 특정 DBMS마다 정의된 쿼리 언어(query language)를 통해 삽입, 삭제, 수정, 조회 등을 수행 ⭐DBMS(DataBase Management System) : 해당 데이터베이스를 제어, 관리하는 통합 시스템 응용 프로그램 ↑ Node.js, php ↓ DBMS ↑ MySQL ↓ 데이터베이스 * 데이터베이스와 DBMS 구조 1. 엔티(entity)란? 여러개의 속성을 가진 명사 ✅약한 엔터티와 강한 엔터티 약한 엔터티 : 다른 엔터티의 존재 여부에 따라 종속적인 엔터티 강한 엔터티 : 다른 엔터티의 존.. 2023. 8. 9.