본문 바로가기
반응형

CS 지식/데이터베이스11

[데이터베이스] 스토리지 종류와 DB 파일 물리적 저장 방식 (Slotted Page 구조) Classification of Physical Storage MediaVolatile Storage전원이 꺼지면 데이터가 소실됨예: 캐시 메모리, 메인 메모리 등Non-Volatile Storage전원이 꺼져도 데이터가 유지됨예: Secondary Storage, Tertiary Storage, 배터리 백업 메모리 등저장 매체 선택에 영향을 주는 요소데이터 접근 속도 (Access Speed) : DRAM > SSD단위 데이터당 비용 (Cost per Unit) : SSD > DRAM신뢰성 (Reliability) : DRAM > SSDStorage HierarchyPrimary Storage가장 빠르지만 Volatile예: Cache, Main MemorySecondary Storage (On-lin.. 2025. 4. 16.
[데이터베이스] 정규화(Normalization)와 함수 종속성, BCNF분해, 3NF분해, 종속성 규칙과 공리 정규화(Normalization)란?정규화는 데이터베이스 설계 시 데이터의 중복을 최소화하고, 데이터의 무결성을 유지하기 위해 테이블을 구조적으로 분해하는 과정이다. 정규화를 통해 데이터 저장 공간의 낭비를 줄이고, 삽입/삭제/갱신 이상(Anomaly)을 방지할 수 있다.정규화의 목적중복 데이터 제거데이터 무결성 유지삽입/삭제/갱신 이상(Anomalies) 방지테이블 간의 명확한 관계 설정정규화 과정 (Normal Forms)정규화는 여러 단계로 구성되며, 각 단계는 이전 단계보다 더 높은 수준의 정규성을 보장한다:제1정규형(1NF): 모든 속성 값이 원자값(Atomic Value)으로 되어 있어야 함제2정규형(2NF): 1NF를 만족하고, 부분 함수 종속 제거제3정규형(3NF): 2NF를 만족하고, 이.. 2025. 4. 10.
[데이터베이스] 모델링, 관계집합, E-R 다이어그램(ERD), Cardinality (매핑관계) 데이터베이스 모델링 (Modeling)데이터베이스는 다음과 같이 모델링할 수 있다:엔티티들의 집합(Collection)엔티티들 간의 관계(relationship)엔티티(Entity)엔티티는 존재하며 다른 객체들과 구별 가능한 객체를 의미한다.예시: 특정 학생 (예: Williams)속성(Attribute)엔티티는 여러 개의 속성(특징) 을 가진다.예시: 학생은 이름(name), 전화번호(phone number) 등의 속성을 가짐엔티티 집합(Entity Set) = relation같은 유형(Type)의 엔티티들이 모인 집합이며, 동일한 속성을 공유한다.예시: 모든 학생들의 집합, 모든 학과들의 집합 등Entity Sets instructor and studentinstructor = entity set 각.. 2025. 4. 4.
[데이터베이스] 권한과 권한 그룹(역할), 상속, 뷰 권한 (grant, revoke, role) Authorization / Privileges사용자는 데이터베이스의 특정 부분에 대해 여러 형태의 권한(authorization) 을 가질 수 있다.이러한 각각의 권한은 privilege(권한) 라고 불리며, 필요에 따라 모두, 일부, 혹은 전혀 부여하지 않을 수 있다.권한은 테이블(relation) 이나 뷰(view) 와 같은 데이터베이스의 특정 객체에 대해 설정할 수 있다.주요 권한 종류권한 유형설명Read데이터를 읽을 수 있음. 수정은 불가능함Insert새로운 데이터를 삽입할 수 있음. 기존 데이터는 수정 불가능Update기존 데이터를 수정할 수 있음. 삭제는 불가능Delete데이터를 삭제할 수 있음권한 부여 방식사용자는 특정 테이블 또는 뷰에 대해 하나 이상의 권한을 부여받을 수 있음예: 어떤 .. 2025. 4. 1.
[데이터베이스] 트랜잭션과 무결성 제약 조건, 도메인 Transactions트랜잭션: 하나의 작업 단위로 간주되는 질의 및/또는 갱신 명령문의 순서시작과 종료SQL에서는 명시적인 시작 없이 SQL 문이 실행되면 트랜잭션이 자동으로 시작됨트랜잭션은 아래 중 하나로 종료해야 함:COMMIT WORK: 변경 사항을 영구 반영ROLLBACK WORK: 수행된 변경 사항을 모두 취소트랜잭션 특성Atomic(원자성): 전부 수행되거나, 전혀 수행되지 않아야 함Isolation(격리성): 동시에 실행되는 다른 트랜잭션으로부터 독립적으로 수행(concurrent)Integrity Constraints(무결성 제약 조건)무결성 제약 조건은 데이터베이스 손상 방지를 위해 사용됨데이터 변경 시 일관성(consistency) 을 유지하도록 강제함예시 제약 조건당좌예금 계좌는 $.. 2025. 4. 1.
[데이터베이스] 뷰(View) 정의와 사용, 삽입 View Definition and Usewith로 만든 것도 뷰이지만, 쿼리 안에서만 유효하고, 쿼리가 끝나면 삭제된다. 뷰가 만들어지면 Db는 이 뷰를 저장할 것이고 마치 테이블 처럼 DB 어디서든 접근 할수 있고 권한 이슈도 해결 가능하다as operator를 꼭 써야된다. 뷰는 단지 반복되는 조회문을 치환한 것이기 때문에, as 연산자가 쓰인다.create view faculty asselect ID, name, dept_namefrom instructor뷰를 테이블처럼 이용해서 쿼리를 만들수 있다.select namefrom faculty where dept_name = 'Biology'뷰 만들때 view attribute 이름도 명시할 수 있다.create view departments_tot.. 2025. 3. 26.
[데이터베이스] 조인 연산의 종류와 조건 Joined Relations조인 연산은 두 개의 관계(Relation)를 입력으로 받아 또 다른 관계를 결과로 반환하는 연산이다.두 개 이상의 테이블에서 관련된 열(Column)을 기준으로 행(Row)을 결합할 때 사용된다.일반적으로 FROM 절의 서브쿼리 표현식으로 활용된다.조인의 종류자연 조인(Natural Join)두 테이블에서 동일한 이름을 가진 속성을 기준으로 자동으로 조인한다.중복된 속성은 하나로 합쳐진다.내부 조인(Inner Join = join)조인 조건을 만족하는 행들만 결과로 반환한다.ON 절을 사용하여 특정 조건을 명시할 수 있다.외부 조인(Outer Join)한쪽 테이블에 매칭되는 데이터가 없어도 결과에 포함되도록 한다.세 가지 유형이 있다.왼쪽 외부 조인(Left Outer Jo.. 2025. 3. 26.