본문 바로가기

전체 글

(404)
[백준] GitHube Repository https://github.com/Khjin06k/Bae-joonHub-.git
[데이터베이스] 테이블 관계 종류 1. 1:1 관계 : 하나의 레코드가 다른 테이블의 레코드 한 개와 연결된 경우 Ex. * 모든 예시에서 레코드 이름 외 작성 생략함 CREAT TABLE User { user_id int, name varcahr, phone_id int } CREAT TABLE Phonebook { phone_id int, phone_number int } phone_id는 외래키(foreign key)로써, Phonebook 테이블의 phone_id와 연결되어 있다고 보았을 때 각 전화번호가 단 한명의 유저와 연결되어 있고, 그 반대도 동일하다면 1:1 관계를 가진다. 2. 1:N 관계 (관계형 데이터베이스에서 가장 많이 사용) : 하나의 레코드가 서로 다른 여러개의 레코드와 연결된 경우 Ex. CREAT TABLE..
[데이터베이스] 데이터베이스 정규화/비정규화 [데이터베이스 정규화] 정규화(Normalization) : 중복을 최소화하게 데이터를 구조화하는 프로세스 : 테이블 간에 중복된 데이터를 허용하지 않아 무결성(integrity)를 유지할 수 있으며, DB 저장 용량 또한 줄일 수 있음 Data Redundancy (데이터 중복) : 데이터 중복은 실제 데이터의 동일한 복사본이나 부분적인 복사본을 의미 : 중복성은 데이터 복구 시 수월할 수 있지만, 내에서 몇가지 문제점(일관된 자료 처리의 어려움, 저장 공간 낭비, 데이터 효율성 감소)을 지님 Data Integrity (데이터 무결성) : 데이터의 수명 주기 동안 정확성과 일관성을 유지하는 것을 의미 (즉, 데이터가 오염되지 않고 입력된 그대로 데이터를 사용할 수 있음) Anomaly(데이터 이상 현..
[데이터베이스] 관계형 데이터베이스 관계형 데이터베이스(Relational database) : 구조화된 데이터를 하나의 테이블을 사용하는 데이터베이스 : 수직적 확장을 고려함 (수평적 확장이 불가능한 것은 아니지만 고려하지 않음) * 릴레이션(relation) : 사전에 정의된 테이블을 일컫는 말 [기본 키워드] 1) 데이터(data) : 각 항목에 저장되는 값 2) 테이블(table; 또는 relation) : 사전에 정의된 열의 데이터 타입대로 작성된 데이터가 행으로 축적 3) 칼럼(column; 또는 field) : 테이블의 한 열 4) 레코드(record; 또는 tuple) : 테이블의 한 행에 저장된 데이터 5) 키(key) : 테이블의 각 레코드를 구분할 수 있는 값으로, 레코드마다 공유한 값을 가짐 (primary key, ..
[데이터베이스] About 스키마(Schema) 스키마(Schema) : 데이터베이스 구조(structure)와 제약조건(constaints)에 대한 명세(specification)를 기술한 것 : 데이터 구조를 표현하는 데이터 객체(data object) 즉, 개체(entity), 개체의 특성을 표현한 속성(attribute), 이들 간에 존재하는 관계(relationship)에 대한 정의와 이들이 유지해야 할 제약조건이 포함되는 것 3단계 데이터 베이스 구조(3-level database architecture) - 외부 스키마(external schema) - 개념 스키마(conceptual schema) - 내부 스키마(internal schema) 1. 외부 스키마(external schema) : 외부 단계(개별적 사용자 단계로 사용자가 생..
[데이터베이스] SQL vs NoSQL SQL(Structured Qeury Language) : 데이터베이스 용 프로그래밍 언어로, 주로 관계형 데이터베이스에서 사용함 : 데이터베이스에 쿼리를 보내 원하는 데이터를 가져오거나 삽입이 가능 : 구조화된 쿼리 언어로 SQL 사용을 위해 데이터 구조의 고정이 필요함 * SQL과 달리 구조화되어있지 않은 데이터베이스는 NoSQL이라고 함. [NoSQL] NoSQL : 데이터가 고정되어 있지 않은 데이터베이스로 스키마에 따라 데이터를 읽어옮 * 스키마(schema) : 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 메타데이터의 집합 [NoSQL 기반의 비관계형 데이터베이스의 구성] Key-Value 타입 : 속성을 Key-Value의 쌍으로 나타내는 데이터를 배열의 형태로 저장 : K..
[데이터베이스] 트랜잭션, ACID [트랜잭션] 트랜잭션(transaction) : 여러 개의 작업을 하나로 묶는 실행 유닛 : 하나의 특정 작업으로 시작을 해 묶여 있는 모든 작업을 다 완료해야 정상적으로 종료하며 단 하나라도 실패했을 경우 모든 작업을 실패한 것으로 판단 [ACID] ACID : 데이터베이스 내에서 일어나는 하나의 트랜잭션의 안전성을 보장하기 위한 성질 - Atomicity(원자성) : 하나의 트랜젝션에 속해있는 모든 작업이 전부 성공하거나 전부 실패해 결과 예측이 가능해야 함 - Consistency(일관성) : 데이터베이스의 상태가 일관되어야 함 (이전과 이후 상태는 이전과 같이 유효해야 함) - Isolation(격리성, 고립성) : 모든 트랜잭션은 다른 트랜잭션으로부터 독립되어야 함 - Durability(지속성..
[데이터베이스] SQL [SQL이란?] SQL(Structured Qeury Language) : 데이터베이스 용 프로그래밍 언어로, 주로 관계형 데이터베이스에서 사용함 : 데이터베이스에 쿼리를 보내 원하는 데이터를 가져오거나 삽입이 가능 : 구조화된 쿼리 언어로 SQL 사용을 위해 데이터 구조의 고정이 필요함 * SQL과 달리 구조화되어있지 않은 데이터베이스는 NoSQL이라고 함. 쿼리(Query) : '질의문'이라는 뜻을 가지며, 저장되어 있는 데이터를 필터하기 위한 질의문 [데이터베이스 관련 명령어] 1. 데이터베이스 생성 : CREAT DATABASE 데이터베이스_이름; 2. 데이터베이스 사용 : USE 데이터베이스_이름; 2-1. 테이블 생성 (USE 선택 후 생성 가능) : CREAT TABLE 테이블_이름 { 내용..