[Database] 트랜잭션 격리 수준(Transaction Isonlation Level)
·
💬 Database
들어가며본 포스팅에선 트랜잭션 격리 수준을 조절하지 않으면 어떤 문제가 발생할 수 있는지, 그러한 문제들을 해결하고자 트랜잭션 격리 수준을 어떻게 설정하면 좋을 지에 대해 정리합니다. 트랜잭션(Transaction)📌 트랜잭션트랜잭션(Transaction)이란, 데이터베이스 상태를 변화시키는 작업의 단위 ❔데이터베이스 상태 변화SELECT * FROM TODOLIST; INSERT INTO TODOLIST VALUES(1, 'TODO'); UPDATE TODOLIST SET TODO = 'TODO2' WHERE ID =dmaolon00.tistory.com ❏ 트랜잭션 격리 수준트랜잭션의 격리 수준(Isolation Level)이란 동시에 여러 트랜잭션이 처리될 때, 특정 트랜잭션이 다른 트랜잭션에서 ..
[Database] 인덱스(Index)란
·
💬 Database
❏ Index란인덱스(Index)는 데이터베이스 테이블의 데이터를 빠르게 검색하기 위한 데이터 구조입니다.예를 들어, 두꺼운 책에서 원하는 내용을 찾는다고 해봅시다. 책의 내용이 많을 수록 모든 페이지를 전부 확인해보는 것은 시간이 오래 걸리게 되겠죠? 그렇기에 중요한 단어가 어느 페이지에 위치해 있는지 나열한 목록, 색인을 추가해두는 편인데요.인덱스도 이러한 책의 색인과 유사한 개념으로, 데이터와 데이터의 위치를 포함한 자료구조를 통해 빠르게 조회해올 수 있습니다. 👍인덱스를 사용하지 않으면 특정 데이터를 찾기 위해서는 테이블 전체를 순차적으로 읽어야 하는 FULL TABLE SCAN이 발생합니다.특정 컬럼에 대한 인덱스를 생성하면, 데이터와 데이터의 물리적 주소를 함께 저장합니다. ❏ Index의 ..
[Database] JOIN이란
·
💬 Database
들어가며관계형 데이터베이스에서 여러 테이블의 데이터를 함께 활용하기 위해선 SQL JOIN에 대해 알아야 합니다. 이를 통해 데이터 간의 관계를 효과적으로 활용하여 효율적으로 데이터를 검색할 수 있습니다. 👍 해당 포스팅에서는 다양한 JOIN의 유형과 그 사용법, 주의해야 할 점에 대해 다룹니다.❏ JOIN의 개념 및 JOIN의 종류JOIN이란 두 개 이상의 테이블을 연결하여 원하는 데이터를 조회하는 방법을 말합니다.따라서, 정규화된 데이터베이스 구조에서 분산된 데이터를 결합하여 원하는 데이터를 도출할 수 있습니다. ❍ INNER JOININNER JOIN은 두 테이블에서 조건이 일치하는 행만을 결과로 반환합니다. 따라서 두 테이블에 모두 지정한 열의 데이터가 존재해야 합니다. 예시SELECT 학생.이..
[MySQL] NULL 처리 (IS NULL, IFNULL, COALESCE)
·
💬 Database
들어가며데이터의 NULL을 처리해야 하는 상황에서 MySQL에서 사용할 수 있는 여러가지 방법에 대해 정리해보고자 합니다. 이 포스팅에서는 MySQL의 NULL을 다루는 방법 중 가장 많이 사용되는 IS NULL, IFNULL, COALESCE에 대해 다룹니다.❏ IS NULL, IS NOT NULLIS NULL에 대해서는 지난 번 비교 연산자를 다루면서 개념만 확인해보았는데, 다시 한 번 정리해보도록 하겠습니다.IS NULL과 IS NOT NULL은 데이터의 값이 NULL인지 아닌지 확인할 수 있는 연산자입니다. 따라서, 이 두 가지 방식을 이용하여 NULL이 포함되어있는 데이터에 대해 원하는대로 값을 조회해올 수 있습니다! 👍❍ IS NULLSELECT * FROM student WHERE scho..
[MySQL] MySQL의 연산자(Operator) | 산술, 논리, 비교
·
💬 Database
들어가며MySQL로 프로그래머스에서 문제를 풀이하다보니, 연산자(Operator)부터 차근차근 하나씩 문법을 정리해보면 좋을 것 같다고 생각이 들었습니다. 따라서, 이 포스팅에서는 MySQL의 연산자인 산술 연산자, 비교 연산자, 논리 연산자, 비트연산자에 대해 다룹니다.❏ 산술 연산자산술 연산자는 기본적인 수학 연산을 수행합니다.+, -, *, /, % : 덧셈, 뺄셈, 곱셈, 나눗셈, 나머지SELECT 10 + 5; --15SELECT 20 - 7; --13SELECT 6 * 4; --24SELECT 15 / 3; --5SELECT 17 % 5; --2DIV : 왼쪽 피연산자를 오른쪽 피연산자로 나눈 후, 소수 부분을 버림MOD : 왼쪽 피연산자를 오른쪽 피연산자로 나눈 후, 그 나머지를 반환함SEL..
MariaDB 설치 & SQLYOG 설치
·
💬 Database
📌 XAMPP 설치Apache Friends XAMPP Installers and Downloads for Apache FriendsWhat is XAMPP? XAMPP is the most popular PHP development environment XAMPP is a completely free, easy to install Apache distribution containing MariaDB, PHP, and Perl. The XAMPP open source package has been set up to be incredibly easy to install and to uswww.apachefriends.org설치 시, 다른 것들을 사용을 하지 않기 때문에 MySQL만 설치해주었다. MySQL..
트랜잭션(Transaction)
·
💬 Database
📌 트랜잭션트랜잭션(Transaction)이란, 데이터베이스 상태를 변화시키는 작업의 단위 ❔데이터베이스 상태 변화SELECT * FROM TODOLIST; INSERT INTO TODOLIST VALUES(1, 'TODO'); UPDATE TODOLIST SET TODO = 'TODO2' WHERE ID = 1; DELETE FROM TODOLIST WHERE ID = 1;질의문(SQL)을 이용하여 데이터베이스에 접근하여 상태 변화를 준다. ❗하나의 질의문을 트랜잭션이라고 하는 것이 아니다. 트랜잭션의 작업 단위라는 것은, 사람이 정해둔 기준에 따라 구분되어 정해진다. EX)사용자가 새로운 TO-DO를 작성한다.새롭게 작성된 TO-DO가 포함된 TO-DO-LIST가 보여진다.INSERT INTO TOD..
[Database] MySQL 설치 과정 (윈도우 10)
·
💬 Database
이전에는 H2 DataBase를 사용해오며 스프링 실습에 사용을 해봤었지만, 이번에 MySQL이라는 것을 이용해보고 싶어서 설치 과정을 포스팅해보고자 합니다. MySQL은 SQL, 관계형 데이터베이스 관리시스템이라고 생각하면 되고, 정말 널리 사용되고 있는 오픈 소스 데이터베이스입니다. 한 번 설치해보겠습니다.! 1. MySQL 링크 접속https://www.mysql.com/ MySQLOver 2000 ISVs, OEMs, and VARs rely on MySQL as their products' embedded database to make their applications, hardware and appliances more competitive, bring them to market faster,..
[Database] SQL과 NOSQL
·
💬 Database
어떤 데이터베이스를 이용해야 할 지에 대해 생각해보며 찾아보다가 좋은 포스팅을 발견하여 기록.. SQLSQL은 Structed Query Language의 약자, 데이터베이스 그 자체를 나타내는 것이 아니라 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어이다.(RDBMS : Relational DataBase Management System) SQL을 사용하면, RDBMS에서 데이터를 수정, 삭제, 검색 가능! ○ 데이터는 정해진 데이터 스키마를 따라 데이터베이스 테이블에 저장된다!○ 데이터는 관계를 통해서 연결된 여러 개의 테이블에 분산된다!  1. 스키마스키마란 DB에 데이터들이 어떠한 구조와 제약 조건으로 저장되어야 하는지 정의한 것이다. 데..