[CS / DataBase] 정규화와 비정규화
·
Computer Science
DB 정규화(Normalization) 관계형 데이터베이스의 설계에서 중복을 최소화하게 데이터를 구조화하는 프로세스 목적 불필요한 데이터를 제거, 데이터의 중복을 최소화 하기 위함 데이터베이스 구조 확장 시 재디자인을 최소화 다양한 관점에서의 query를 지원하기 위함 : JOIN을 통해서 원하는 정보를 가져옴 무결성 제약조선의 시행을 간단하게 하기 위함 : 데이터의 정확성, 일관성, 유효성 유지 각종 이상 현상(Anomaly)을 방지하기 위해서, 테이블의 구성을 논리적이고 직관적으로 한다. DB 반정규화(Denormalization) 복잡한 쿼리 속도를 높이고 성능을 향상시키기 위해 테이블에 중복 데이터를 추가하는 프로세스 사용 대상 자주 사용되는 테이블에 액세스하는 프로세스의 수가 가장 많은 경우 항..
[CS / DataBase] 관계 유형(1:1 1:N N:M)
·
Computer Science
데이터베이스 관계 관계형 데이터베이스(RDBMS)는 엔티티끼리 관계를 맺을 수 있다 엔티티(Entitiy) : DB에 표현하려고 하는 유형, 무형의 객체로서 서로 구별되는 것 📕 1:1 관계(일대일 관계) 어느 엔티티 쪽에서 상대 엔티티와 반드시 단 하나의 관계를 가지는 것 보안 목적, 대형 테이블 분할 및 기타 다양한 특정 목적으로 사용될 수 있음 [ 예시 ] 다음과 같이 Users 테이블과 Phonebook 테이블이 있다고 가정한다. Users 테이블은 ID, name, phone_id를 가지고 있다. 이 중 phone_id는 외래키(foreign key)로써, Phonebook 테이블의 ID 와 연결되어 있다. Phonebook 테이블은 ID와 phone_number를 가지고 있다. 각 전화번호가 ..
[CS / DataBase] DB언어(DDL, DML, DCL)
·
Computer Science
데이터베이스 언어 데이터베이스를 작업하기 위한 컴퓨터 언어 DBMS를 통해 사용하며, 기능과 사용 목적에 따라 3가지로 나눔 데이터 정의 언어(DDL) 데이터 조작 언어(DML) 데이터 제어 언어(DCL) 데이터 정의 언어(DDL) Data Definition Language DB 구조, 데이터 형식, 접근 방식 등 DB를 구축하거나 수정할 목적으로 사용하는 언어 논리적 데이터 구조와 물리적 데이터 구조의 사상 정의 데이터베이스 관리자나 데이터베이스 설계자가 사용 CREATE : SCHEMA, DOMAIN, TABLE, VIEW, INDEX 생성 ALTER : TABLE에 대한 정의를 변경하는데 사용 DROP : SCHEMA, DOMAIN, TABLE, VIEW, INDEX 삭제 데이터 조작 언어(DML..
[CS / DataBase] SQL과 NOSQL
·
Computer Science
관계형데이터 베이스 - SQL SQL : 구조화 된 쿼리 언어 (Structured Query Language) 관계형 데이터베이스 관리 시스템(RDBMS)에서 데이터를 저장, 수정, 삭제 및 검색 가능 두 가지 주요 특징 데이터는 정해진 데이터 스키마에 따라 테이블에 저장된다 데이터는 테이블(table)에 레코드(record)로 저장되며, 각 테이블에는 명확하게 정의된 구조(structure) 존재 이러한 구조는 필드의 이름과 데이터 유형으로 정의됨 따라서 스키마(구조)를 준수하지 않은 레코드는 추가할 수 없음 데이터는 관계를 통해 여러 테이블에 분산 된다 데이터들을 여러개의 테이블에 나누어서, 데이터들의 중복 피함 하나의 테이블에서 중복없이 하나의 데이터만을 관리하기 때문에, 다른 테이블에서 부정확한..
[CS / DataBase] DB와 DBMS
·
Computer Science
DB(DataBase) 각 조직에서 사용하던 데이터를 모아 통합하고 공유할 목적을 구축된 데이터들의 집합 특징 실시간 접근성 : 사용자의 요구에 실시간 응답 처리 계속적인 변화 : 삽입, 삭제, 수정 작업을 통해 지속적으로 데이터 개신 동시공유 : 여러 사람이 동시에 데이터를 접근하고 이용할 수 있다. 내용에 따른 참조 : 데이터의 위치나 주소가 아닌 값에 따라 참조되어 데이터를 검색한다 DBMS(DataBase Management System) 데이터베이스 내 데이터에 접근하도록 도와주는 시스템 대표적인 DBMS : MySQL, Oracle, MariaDB 등 필수기능 3가지 정의기능 : DB의 논리적, 물리적 구조를 정의하는 기능 조작기능 : DB를 검색, 삭제, 갱신, 삽입하는 기능 제어기능 : D..
[Java] 컬렉션(Collection)
·
Java
컬렉션(Collection) 데이터의 집합, 그룹 장점 일괄된 API : Collection의 일관된 API를 사용하여 Collection 밑에 있는 모든 클래스는 Collection에서 상속받아 통일된 메서드 사용 프로그래밍 노력 감소 : 객체 지향 프로그래밍의 추상화의 기본 개념이 성공적으로 구현 유용한 데이터 구조 및 알고리즘 성능 향상 List 순서가 있는 데이터의 집합으로 데이터의 중복을 허용한다. 종류 LinkedList 양방향 포인터 구조로 데이터의 삽입, 삭제가 빈번할 경우 데이터의 위치정보만 수정하면 되기에 유용 스택, 큐, 양방향 큐 등을 만들기 위한 용도로 쓰임 Stack 스택 클래스 모델 및 스택 데이터 구조를 구현할 때 주로 사용 후입선출을 기본 원칙으로 한다. Vector 동적 ..
마볼링
게임을 좋아하는 개발자의 블로그