DB 11

[Relational database] 10. 개념적 설계와 ER 모델

Chapter 1: Entity-Relationship ModelER 모델 개요Entity, Attribute, Entity SetRelation, Relation SetChapter 2: ER 모델 기능대응 수키 제약조건참여 제약조건약 개체 집합전문화와 일반화Chapter 3: 개념적 설계 고려사항ER 모델을 이용한 개념적 설계개체 or 속성개체 or 관계이전 관계 or 삼진 관계Chapter 1: Entity-Relationship ModelER 모델 개요DB 설계개념적 설계: Entity와 Entity 사이의 Relation 정의 -> E-R 모델 사용논리적 설계: Table과 Table 사이의 Relation 정의 -> 정규화물리적 설계: Disk에 Data가 어떻게 저장될 것인지 정의.ER 모델..

DB 2024.10.13

[Relational database] 07. 보안과 뷰 ***

Chapter 1: 데이터베이스 보안데이터베이스 보안 개요User 개체접근 제어재량 접근 제어특권(Privilege)필수 접근 제어실습 7-1: 사용자 생성 및 권한 제어Chapter 2: ViewView 개요View 생성과 삭제View에 대한 갱신실습 7-2: 뷰의 생성과 사용 및 보안 설정Chapter 1: 데이터베이스 보안데이터베이스 보안 개요안전한 DB 응용 설계시 고려하는 목표 3가지.보안(Securty): 정보가 권한 없는 사용자에게 누출되어서는 안된다.무결성(Integrity): 권한이 있는 사용자에 대해서만 데이터 수정이 허용되어야 한다.가용성(Availability): 권한 있는 사용자의 접근이 거부되어서는 안된다. User 개체DB의 개체에 대한 접근/삭제/갱신에 대한 권한이 부여.DB..

DB 2024.10.12

[DB] JPA vs MyBatis

1. 영속성(Persistence)데이터를 생성한 프로그램이 종료되어도 사라지지 않는 데이터의 특성.영속성을 갖지 않는 데이터는 메모리에서만 존재하기 때문에, 프로그램을 종료하면 모두 사라진다.메모리 상의 데이터를 파일 시스템, 관계형 DB, 등을 활용하여 영구적으로 저장해서 영속성을 부여한다.데이터를 DB에 저장하는 3가지 방법JDBC(Java Database Connectivity)Java에서 DB에 접속하고 SQL을 실행할 수 있게 해주는 Java 표준 API.Spring JDBCSpring Framework에서 제공하는 JDBC 모듈, JDBC의 복잡함을 간소화. ex) JDBC TemplatePersistence Framework: DB와 연동되는 시스템을 빠르게 개발하고 안정적인 구동을 보장해..

DB 2024.10.08

[Relational database] 06. SQL ***

Chapter 1: SQL 개요SQL 개요SQL 구성Chapter 2: DDL - Data Definition LanguageDDL: Data Definition LanguageSQL에서 DDL 구문테이블 생성, 수정, 삭제 DDL문실습: 테이블 생성 (MYSQL)Chapter 3: DML - Data Manipulation Language, SQL 질의 기본 구조SQL 질의 형식SELECT 절SELECT 명령 내의 수식과 문자열FROM절WHERE절Chapter 4: 집합 연산UNIONINTERSECTEXCEPTChapter 5: 서브 쿼리서브 쿼리 개요포함된 서브쿼리(Nested subquery)인라인 뷰(Inline view)스칼라 서브쿼리(Scalar subquery)상호 연관 서브쿼리(Correl..

DB 2024.10.04

[Relational database] 05. 관계 대수 *

Chapter 1: 관계 대수관계 해석관계 대수 개요셀렉션과 프로젝션집합 연산이름 바꾸기조인Chapter 1: 관계 대수 이 3가지 식 중에서 실행 계획을 구현할 때, 관계 대수식을 가장 많이 사용한다.관계 대수식.관계 해석식.도메인 해석식.관계 대수 개요관계 대수(Relational Algebra): 관계 모델에 관한 두 가지 형식 질의어 중 하나.관계 대수식 (Relational Algebra Expression): 연산자들의 모임을 사용해서 구성된 대수식.기존의 Relation으로 부터 새로운 Relation을 생성.필수 관계 연산자연산자표기법단항 또는 이항셀렉션(selection)δ단항프로젝션(projection)π단항합집합(union)∪이항차집합(difference)-이항카티션 프로덕트(cart..

DB 2024.10.04

[Relational database] 04. 파일 조직과 인덱스

Chapter 1: 비용 모델과 파일 조직법비용 모델 개요파일 조직법 비교 기준 연산힙 파일정렬 파일해시 파일파일 조직 선택Chapter 2: 인덱스인덱스 개요클러스터드 인덱스(Clustered Index)넌 클러스터드 인덱스(Non-Clustered Index)밀집 인덱스(Dense Index)와 희소 인덱스(Sparse Index)기본 인덱스(Primary Index)와 보조 인덱스(Secondary Index)복합 키 인덱스실습: 인덱스 생성(MySQL)Chapter 1: 비용 모델과 파일 조직법 DB는 Query가 요청될 때 여러 실행 계획을 세우고 비교하여 최적화된 방법으로 query를 실행한다.(Query Optimizer) 그 중 가장 많이 쓰이는 방법이 Cost Model이고, 파일 조직은..

DB 2024.10.03

[Relational database] 03. 디스크와 파일

Chapter 1: 기억장치 계층 구조디스크와 파일 개요기억장치 계층구조 개요Chapter 2: 디스크HDDSSD디스크의 성능Chapter 3: 디스크 공간 관리 (Disk Manager)비어있는 블록의 추적 감시운영체제 파일 시스템을 이용한 디스크 공간 관리Chapter 4: 버퍼 관리자 (Buffer Manager)버퍼 풀버퍼 교체 전략버퍼 관리 기법 비교Chapter 5: 레코드 형식고정 길이 레코드(Fixed-length Record)가변 길이 레코드(Variable-length Record)Chapter 6: 페이지 형식페이지 형식고정 길이 레코드가변 길이 레코드Chapter 7: 파일과 인덱스Heap 파일인덱스 개요ISAM 파일B+ 트리Chapter 8: 시스템 카탈로그시스템 카탈로그 Chap..

DB 2024.10.03

[Relational database] DDL, DML, DCL, TCL

DDL: Data Definition Language Table과 Index 구조를 관리하기 위한 언어.DML: Data Manipulation LanguageData 검색, 등록, 삭제, 갱신 등을 위한 언어.DCL: Data Control LanguageDB에서 Data에 대한 access를 제어하기 위한 언어.TCL: Transaction Control LanguageTransaction의 시작과 끝을 명시하는 명령어. 정리DMLSELECTINSERTUPDATEDELETE데이터베이스의 데이터를 조회하거나 검색하기 위한 질의 모음으로 RETRIEVE라고도 함. 데이터베이스 테이블의 데이터에 변형을 가하는 종류(삽입, 수정, 삭제) 등의 질의어DDLCREATEALTERDROPRENAMETRUNCATE..

DB 2024.10.01

[Relational database] 02. 관계형 모델 (Relational model) *제약조건

Chapter 1: 관계 모델 개요관계 모델 개요Dr.Codd의 12법칙관계 데이터베이스 시스템 역사 Chapter 2: RelationRelation SchemaRelation InstanceDomainRelational Database실습: SQL을 사용한 Relation 생성 및 수정 (MySQL)Chapter 3: Integrity Constraint (제약 조건)무결성 제약 조건 개요 (Integrity Constraint)개체 무결성 (Entity Integrity)참조 무결성 (Referential Integrity)도메인 무결성 (Domain Integrity)무결성 제약조건 집행 (Integrity Constraint Enforce)Chapter 4: Query Relational Dat..

DB 2024.10.01