Key란? : 검색, 정렬시 Tuple을 구분할 수 있는 기준이 되는 Attribute.Tuple을 유일하게 식별하기 위해 사용하는 속성들의 부분 집합. (기본키로 사용할 수 있는 속성들)2가지 조건 만족유일성 : Key로 하나의 Tuple을 유일하게 식별할 수 있음최

두 개 이상의 테이블이나 데이터베이스를 연결하여 데이터를 검색하는 방법테이블을 연결하려면, 적어도 하나의 칼럼을 서로 공유하고 있어야 하므로 이를 이용하여 데이터 검색에 활용한다.INNER JOINLEFT OUTER JOINRIGHT OUTER JOINFULL OUTE
해커에 의해 조작된 SQL 쿼리문이 데이터베이스에 그대로 전달되어 비정상적 명령을 실행시키는 공격 기법보통 로그인을 할 때, 아이디와 비밀번호를 input 창에 입력하게 된다. 쉽게 이해하기 위해 가벼운 예를 들어보자. 아이디가 abc, 비밀번호가 만약 1234일 때

웹 앱을 개발할 때, 데이터베이스를 선택할 때 고민하게 된다.보통 Spring에서 개발할 때는 MySQL을, Node.js에서는 MongoDB를 주로 사용했을 것이다.하지만 그냥 단순히 프레임워크에 따라 결정하는 것이 아니다. 프로젝트를 진행하기에 앞서 적합한 데이터베
정규화를 해야하는 이유는 잘못된 테이블 설계로 인해 Anomaly (이상 현상)가 나타나기 때문이다.이 페이지에서는 Anomaly가 무엇인지 살펴본다.예) {Student ID, Course ID, Department, Course ID, Grade}기본키가 {Stud
목적 : RDBMS에서 검색 속도를 높이기 위한 기술Table의 Column을 색인화 함 (따로 파일로 저장)→ 해당 Table의 Record를 Full scan 하지 않음.→ 색인화 된 (B+ Tree 구조로) Index 파일 검색으로 검색 속도 향상과정 : Tabl
가장 큰 목표는 테이블 간 중복된 데이터를 허용하지 않는 것이다.중복된 데이터를 만들지 않으면, 무결성을 유지할 수 있고, DB 저장 용량 또한 효율적으로 관리할 수 있다.데이터의 중복을 없애면서 불필요한 데이터를 최소화시킨다.무결성을 지키고, 이상 현상을 방지한다.테

데이터베이스의 상태를 변화시키기 위해 수행하는 작업 단위상태를 변화시킨다는 것 → SQL 질의어를 통해 DB에 접근하는 것작업 단위 → 많은 SQL 명령문들을 사람이 정하는 기준에 따라 정하는 것즉, 하나의 트랜잭션 설계를 잘 만드는 것이 데이터를 다룰 때 많은 이점을
트랜잭션에서 일관성 없는 데이터를 허용하도록 하는 수준데이터베이스는 ACID 특징과 같이 트랜잭션이 독립적인 수행을 하도록 한다.따라서 Locking을 통해, 트랜잭션이 DB를 다루는 동안 다른 트랜잭션이 관여하지 못하도록 막는 것이 필요하다.하지만 무조건 Lockin
빠른 오픈 소스 인 메모리 키 값 데이터 구조 스토어보통 데이터베이스는 하드 디스크나 SSD에 저장한다. 하지만 Redis는 메모리(RAM)에 저장해서 디스크 스캐닝이 필요없어 매우 빠른 장점이 존재함캐싱도 가능해 실시간 채팅에 적합하며 세션 공유를 위해 세션 클러스터

데이터베이스에서 SQL을 통해 작업을 하다 보면, 하나의 쿼리문으로 원하는 결과를 얻을 수 없을 때가 생긴다. 원하는 결과물을 얻기 위해 사용할 여러줄의 쿼리문을 한 번의 요청으로 실행하면 좋지 않을까? 또한, 인자 값만 상황에 따라 바뀌고 동일한 로직의 복잡한 쿼리문