[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..
[CS / Web] 디자인 패턴 Model1 vs Model2(MVC) vs sprinMVC
·
Computer Science
디자인 패턴 Model1 vs Model2(MVC) vs sprinMVC Model1 JSP파일에서 Controller와 View 기능을 모두 처리한다. JSP파일에 자바 코드와 마크업 관련 코드들이 섞여있어 디버깅과 유지보수가 어렵다. 대규모 시스템 개발에 사용하기는 부적합한 아키텍처이다. JSP와 javaBeans만 사용하여 웹을 개발한다. Model2(MVC) Model1의 단점을 보완하고자 나온 아키텍처이다. 일반적으로 우리가 알고 있는 **MVC(Model View Controller)**가 바로 이 아키텍처이다. Model, View, Controller 각각의 역할이 분리되어 업무를 명확하게 나누어 작업 할 수있다. Model = 애플리케이션의 정보, 데이터 그리고 데이터의 가공을 책임지는 ..
마볼링
'Computer Science' 카테고리의 글 목록 (5 Page)