본문 바로가기

Database4

[MySQL] CHAR, VARCHAR, TEXT CHAR저장되는 문자의 길이에 관계없이 최대 설정된 크기만큼 항상 공간을 할당최대 255글자까지 저장보통 저장된 값의 길이를 별도로 관리하지 않지만, CharSet이 가변 길이 문자셋이라면 관리VARCHAR저장되는 문자의 길이만큼 저장 공간을 할당최대 65,535 바이트저장된 문자열 값의 실제 바이트 수를 관리함255 이하는 1byte, 그 이상의 경우 2byte 사용해서 관리하나의 VARCHAR 컬럼이 너무 큰 길이를 사용하면, 다른 컬럼들이 사용할 수 있는 최대 공간의 크기가 영향을 받음(MySQL 서버의 레코드 크기 제한은 65,535 바이트이므로)CHAR(5), VARCHAR(5)에 각각 문자열 ABC를 저장하는 경우 ( ()들어가는 숫자는 바이트가 아닌 글자 수임 )| A | B | C |   .. 2024. 12. 28.
[Database] 트랜잭션의 개념, DB 락 트랜잭션(Transaction)데이터베이스의 현재 상태를 하나의 일관된 상태에서 또 다른 일관된 상태로 변환시키는 논리적인 연산의 집합으로 일 처리 단위를 뜻한다.자동 커밋 → 수동 커밋으로 전환 하는 것을 트랜잭션 시작한다고 표현하기도 함.트랜잭션의 특성(ACID)원자성(Atomicity) → 트랜잭션의 연산은 모두 실행되거나, 모두 실행되지 않아야 함.일관성(Consistency) → 트랜잭션 실행 전과 후 모두 오류가 없어야 함.고립성, 격리성(Isolation) → 트랜잭션 실행 중에 다른 트랜잭션에 영향을 받지 않아야 함.지속성(Durability) → 트랜잭션의 결과는 항상 보존되어야 함. 시스템이 고장나더라도 손실되지 않고 영구적으로 반영.트랜잭션의 격리 수준 4단계트랜잭션의 고립성을 보장하.. 2024. 12. 28.
[Database] 정규화 정규화정규화란 하나의 릴레이션에 하나의 의미만 존재할 수 있도록 릴레이션을 분해해나가는 과정으로 중복성을 최소화하고 정보의 일관성을 보장하기 위한 개념이다.정규화의 필요성자료의 저장 공간을 최소화한다.자료의 불일치를 최소화시킨다.자료의 삽입, 삭제, 갱신 시 이상 현상을 방지한다.삽입 이상 : 튜플을 삽입했을 때 삽입 의도와 연관 없는 관계까지 삽입되는 현상삭제 이상 : 임의의 튜플을 삭제하였을 때 관련된 관계성까지 모두 삭제되는 현상갱신 이상 : 임의의 데이터를 수정하였을 때 임의만 수정되어 관계된 데이터가 일관성이 없게 되는 현상. 정규화의 과정제1정규형(1NF) : 하나의 튜플에서 여러 개의 값이 들어와 원자성을 가지지 못하는 경우에 도메인 값을 분해하면 1정규형이라고 한다.학번성명수강과목10홍길동.. 2024. 12. 28.
[Database] Key의 종류, ER 다이어그램 외래키키(key)키는 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 튜플들을 서로 구분할 수 있는 기준이 되는 속성을 뜻한다. 외래키란?외래키(foreign key)는 어떤 릴레이션에 소속된 속성 또는 속성 집합이 다른 릴레이션의 기본키가 되는 키를 의미한다.이러한 외래키는 릴레이션 간 참조 관계를 표현하고, 데이터 참조 무결성을 위해 사용한다.참조 무결성 : 릴레이션 간의 참조 관계를 정의하는 제약조건 다음 2가지 조건 중 하나를 성립해야 한다.외래키는 참조할 수 없는 키를 가질 수 없다. 즉 외래키는 부모 릴레이션의 어떤 기본키 값과 같다.외래키가 참조하고 있는 릴레이션의 기본키가 없을 경우 외래키 값은 NULL이 될 수 있다.2번의 예시 - 사원 : 부서 (N:1) 관계에서 신입.. 2024. 12. 28.