반응형

기타/🚪 DB 9

DB # not like 여러 번 사용하기 / is not null 적용 안될 때

show databases; use -; show tables; select * from -; 🎈 not like 여러번 사용하기 select name, email from - where (name not like '%test%' and name not like '%테스%' and name not like '%개발%') and (email not like '%test%' and email not like '%이메일%' and email not like '%Email%' and email like '%_%' and email like '%.com'); 🎈 is not null 적용되지 않을 때 그냥 email 컬럼이 공백이 아니면 반환하게끔 email like '%_%'을 사용했다. (위 코드 참고)

기타/🚪 DB 2022.07.22

정규화와 비정규화 탄생배경 및 장단점

정규화 데이터베이스 중복을 최소화하도록 설계된 데이터베이스. 장점 데이터베이스 변경 시 이상 현상(Anomaly)제거 데이터 구조의 안정성 및 무결성 유지 단점 테이블이 아주 클 경우 릴레이션 간의 JOIN 연산 증가→ 이로 인한 질의에 대한 응답 시간 저하 중복된 정보로 인해 발생하는 문제들을 이상 현상(Anomaly)이라 말한다. - 삽입 이상(Insertion Anomaly) : 원하지 않는 자료가 삽입된다든지, 삽입하는데 자료가 부족해 삽입이 되지 않아 발생하는 문제점을 말한다. - 삭제 이상(Deletion Anomaly) : 하나의 자료만 삭제하고 싶지만, 그 자료가 포함된 튜플 전체가 삭제됨으로 원하지 않는 정보 손실이 발생하는 문제점을 말한다. - 갱신 이상(Modification Anom..

기타/🚪 DB 2021.10.31

RDBMS와 NoSQL의 차이점 및 장단점

들어가기 전에 DBMS DataBase Management System 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해 주고 데이터베이스를 관리해 주는 소프트웨어. SQL Strucured Query Language 관계형 데이터베이스 관리 시스템의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어. 자료의 검색과 관리, 데이터베이스 스키마 생성과 수정, 데이터베이스 객체 접근 조정 관리를 위해 고안되었다. RDBMS RDBMS에는 DBMS앞에 R이 붙어 있다. Relational의 약자로 RDBMS는 관계형 데이터베이스 관리 시스템을 의미. 이름과 같이 RDBMS는 RDB를 관리하는 시스템이며 RDB는 관계형 데이터 모델을 기초로 두고 모든 데이터를 2차원 테이블 형태로 표현..

기타/🚪 DB 2021.10.31

효율적인 테이블 설계 방법

1. 저장할 데이터에 맞게 최대한 작은 데이터 타입을 사용해야 한다. 2. 컬럼에서 DEFUALT NULL을 최대한 허용하지 말기. 추가적으로, 선언과 동시에 초기화 해주는 것이 좋은 습관이다. 초기화 해주지 않으면 false, true, null이 들어갈 수 있는 값이 되기 때문. Boolean aa; 위 보단 아래와 같이 초기화해주자. Boolean aa = true; 3. 가변적 데이터 타입 보다 고정형의 데이터 타입을 선택하자. - varchar보다 char를 사용하자 MySQL - 자료형 CHAR와 VARCHAR의 차이점 MySQL 자료형 CHAR,VARCHAR 문자열 자료형 - CHAR, VARCHAR 자료형 의미 대응하는 범위 CHAR 고정형 문자열 255자 까지 VARCHAR 가변형 문자열..

기타/🚪 DB 2021.10.18

MySQL Workbench를 통해 EC2 DB사용하기 및 Spring Boot 세팅

1. MySQL Workbench를 켠다. 2. 빨간 박스 부분을 채워준다. - Connection Name : 연결 이름을 붙여주는 곳인데, 내가 지금 추가하는 커넥션을 원하는 대로 부르고싶은 대로 설정해준다. - Hostname : 지정된 호스트 이름을 적어준다. - Password의 Store in Vault ... : 지정한 비밀번호를 입력해준다. 3. Test Connection을 클릭하여 마무리해준다! 잘 생성된 모습! 4. Spring Boot의 application.properties도 아래와 같이 설정해주자. 5. WebCurationApplication.java를 실행시켜 서버를 돌려보자. 만약 아래 사긴과 똑같은 에러가 뜬다면 Display Selected Console을 클릭하여 아..

기타/🚪 DB 2021.08.12

MySQL/MariaDB # PRIMARY KEY, UNIQUE KEY, FOREIGN KEY

PRIMARY KEY (PK, 기본키) 테이블에서 대표되는 key / 테이블의 식별자 역할 중복을 허용하지 않는다. (Unique) NULL값을 허용하지 않는다. (NOT NULL) 테이블에 하나만 설정할 수 있다. 이 속성을 통해 다른 테이블과 연관관계(Join)를 가진다. [참고] PRIMARY KEY가 복수일 수는 없지만 PRIMARY KEY를 구성하는 칼럼은 복수일 수 있다. 아래는 PRIMARY KEY를 구성하는 칼럼을 복수로 만든 쿼리문이다. CREATE TABLE sample( product_a CHAR(10), product_b CHAR(10), product_c CHAR(10) NOT NULL, product_d CHAR(10) NOT NULL, CONSTRAINT PRIMARY KEY ..

기타/🚪 DB 2021.07.30

MariaDB 컨테이너 비밀번호 바꿔주기

상황 요즘 STS에서 heidiSQL을 통해 쿼리문을 만지며 프로젝트를 진행하고 있다. 그런데 나의 heidiSQL에 접속하는 비밀번호와 팀원들의 비밀번호가 달라서 매번 application.properties의 spring.datasource.password 란을 바꿔줘야하는게 불편해서 그냥 내가 팀원들과 같은 비밀번호로 맞추기로 했다. heidiSQL에 접속하는 비밀번호는 내가 docker에 만든 mariadb란 이름의 mariadb 컨테이너의 비밀번호기 때문에 해당 컨테이너를 삭제하고 다시 만들어주는 방식으로 해결했다. MariaDB 컨테이너 삭제 및 재생성 순서 1. 실행중인 docker의 mariadb를 정지시킨다. 2. cmd창을 열어 다음의 명령어로 mariadb 컨테이너를 삭제해준다. do..

기타/🚪 DB 2021.07.27

HeidiSQL설치 및 도커의 MariaDB characterset을 utf8mb4로 변경

HeidiSQL설치 MySQL 또는 MariaDB사용시 좀 더 사용을 쉽게 하기 위해 추가적인 것을 설치해준다. MySQL의 workbench도 있는데 HeidiSQL이 더 편하다고 해서 다운받았다. [MySQL MariaDB tool추천] HeidiSQL 장점 및 설치 방법 MySQL 또는 Maria DB를 사용할 때 MySQL workbench보다 HeidiSQL을 추천한다 [장점] 1. UI가 훨씬 보기 좋다 - 다크 테마도 있어서 원하는대로 다양하게 사용 가능 :) 2. DB, 테이블 구조가 보기 쉽다 3. SELECT한.. allonsyit.tistory.com 위 링크의 과정 중 2번에서 애를 먹었는데, Docker를 켜주지 않아서 생긴 문제였다. 또한 암호도 임의로 내가 지정해주는 것인줄 알..

기타/🚪 DB 2021.07.22

JPA / Hibernate / Spring Data JPA의 관계 + MyBatis와 비교

JPA / Hibernate / Spring Data JPA의 관계 JPA란? Java Persistence API ORM을 사용하기 위한 표준 인터페이스를 모아둔 것. 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스. 주의할 것은 말 그대로 인터페이스지, 특정 기능을 수행하는 라이브러리가 아니라는 점. 백엔드 API가 클라이언트가 어떻게 서버를 사용해야 하는지를 정의한 것처럼, JPA 역시 자바 어플리케이션에서 RDBMS를 어떻게 사용해야 하는지를 정의하는 한 방법일 뿐 따라서 JPA는 단순한 명세이기 때문에 구현이 없다. Hibernate개발자가 인터페이스 형식으로만든 것이 JPA다. [참고] ORM이란? [2021.07.13] ORM이란? ORM이란? Object Rel..

기타/🚪 DB 2021.07.13
반응형