데이터를 논리적 구조로 조직화, 혹은 물리적 공간에 구축한 것논리 데이터 저장소 : 데이터 간의 연관성, 제약조건 식별물리 데이터 저장소 : 소프트웨어 운영 환경의 물리적 특성을 고려하여 논리 데이터저장소를 실제 저장장치에 저장한 것공동으로 사용될 데이터의 중복을 배제
데이터베이스 종류 계층형 DB : 트리 형태의 자료구조에 데이터 저장, 1:N 관계 표현 네트워크형 DB : 오너와 멤버 형태로 데이터 저장, M:N 관계 표형 관계형 DB : 릴레이션에 데이터 저장, 집합 연산과 관계 연산 가능 Relational Database
정의여러 테이블을 연결 또는 결합하여 데이터를 출력하는 것 입니다.일반적으로 PK(기본 키)나 FK(외래 키)의 연관성에 의해 성립 됩니다.종류(INNER) JOIN → 교집합LEFR (OUTER) JOIN → 부분집합RIGHT (OUTER) JOIN → 부분집합FUL
정의해어케 의해 조작된 SQL 쿼리문이 데이터베이스에 그대로 전달되어 비정상적 명령을 실행시키는 공격 기법1) 인증 우회보통 로그인을 할 때, 아이디와 비밀번호를 input창에 입력하게 된다.쉽게 이해하기 위해 가벼운 예를 들어보자.아이디 : abc, 비밀번호 : 12
웹 앱을 개발할 때, 데이터베이스를 선택할 때 고민하게 된다.MySQL과 같은 SQL을 사용할까? 아니면 MongoDB와 같은 NOSQL을 사용할꺼?보통 Spring에서 개발할 때는 MySQL을, Node.js에서는 MongoDB를 주로 사용한다고 한다.하지만 그냥 단
목적테이블 간 중복된 데이터를 허용하지 않는 것이다.불필요한 데이터를 최소화무결성을 지키고, 이상 현상(Anomaly)을 방지한다.테이블 구성을 논리적이고 직관적으로 할 수 있다.데이터베이스 구조가 확장에 용이해진다.단계1NF (제 1 정규화)2NF (제 2 정규화)3
정규화를 해야하는 이유는 잘못된 테이블 설계로 인해 Anomaly (이상 현상)가 나타나기 때문입니다.종류Insertion Anomaly (삽입 이상)Update Anomaly (갠신 이상)Deletion Anomaly (삭제 이상)정의불필요한 정보를 함께 저장하지 않
목적RDBMS에서 검색 속도를 높이기 위한 기술방법Table의 Column을 색인화 함 (따로 파일로 저장)해당 Table의 Record를 Full scan하지 않음색인화 된 (B+ Tree구조로) Index 파일 검색으로 검색 속도 향상코드 - MySQLindex 생
정의데이터베이스의 상태를 변화시키기 위해 수행하는 작업 단위상태를 변화시키다는 것 → SQL 질의어를 통해 DB에 접근하는 것SELECTINSERTDELETEUPDATE작업 단위 → 많은 SQL 명령문들을 사람이 정하는 기준에 따라 나누어 진 단위예시) 사용자 A가 사
정의트랜잭션에 일관성 없는 데이터를 허용하도록 하는 수준데이터베이스는 ACID 특징과 같이 트랜잭션이 독립적인 수행을 하도록 한다.따라서 Locking을 통해, 트랜잭션이 DB를 다루는 동안 다른 트랜잭션이 관여하지 못하도록 막는 것이 필요하다.하지만 무조건 Locki
정의고성능 (속도가 빠르다.) 키-값 저장소로서 다양한 자료구조의 데이터를 지원하는 NoSQL 이다.자료구조String (text, binary data) - 512 MB까지 저장이 가능함Set (String 집합)Sorted Set (Set 을 정렬해둔 상태)Hash