데이터베이스
FK(외래키)를 주식별자인 기본키(PK)로 꼭 넣어야할까? 아니면 비식별자로 넣어야할까?
우선 간단한 개념부터 살펴보자. 🚀 식별자(Identifier) 개념 하나의 엔터티(entity)에 구서된 여러 개의 속성 중에 엔터티를 대표할 수 있는 속성 하나의 엔터티는 반드시 하나의 유일한 식별자가 존재 논리 데이터 모델링 단계에서는 '식별자', 물리 데이터 모델링 단계에서는 '키(key)' 라고도 불림 🚀 식별자 분류와 특징 엔터티 내에서 대표성을 가졌는가? 주식별자 or 보조식별자 엔터티 내에서 스스로 생성 되었는가? 내부식별자 or 외부식별자 단일 속성으로 식별 되는가? 단일식별자 or 복합식별자 업무적으로 의미가 있던 식별자 속성을 대체하여 새롭게 만들었는가? 본질식별자 or 인조식별자 (위 질문에 대한 답이 맞으면 왼쪽 아니라면 오른쪽) 📚 주 식별자(Primary Identifier) ..
맥 m1 mysql 데이터베이스 경로(위치) 찾기
homebrew로 mysql을 설치하고, m1 맥북이어서 예전의 경로와 다르다. 따라서 mysql에 접속한 후 아래 2가지 쿼리 방법으로 database(데이터베이스)가 저장된 폴더 경로(위치)를 알아낼 수 있다. # 1번째 show variables like 'datadir'; # 2번째 select @@datadir; m1 맥에다가 homebrew로 설치한 나는 "/opt/homebrew/var/mysql/" 위치에 데이터베이스가 저장되고 있었다.
인덱스(index)란?
1. 인덱스란? DB 테이블에 대한 검색 속도를 향상시켜주는 자료구조 인덱스는 보통 B-Tree로 구현되며, 다른 것으로는 Hash Table, Bitmap 등이 있음 인덱스를 테이블의 특정 컬럼에 생성하면 해당 컬럼의 값을 정렬하여 별도의 메모리 공간에 데이터를 물리적 주소와 함께 저장함 인덱스는 insert, update, delete 와 같은 데이터 변경 작업을 느리게 할 수 있지만, select와 같은 검색 작업은 빠른 수행 가능 인덱스는 적절하게 설계하고 유지보수하는 것이 DB 성능 향상에 중요한 역할을 함 예를 들면, 책에서의 목차 또는 색인이라 볼 수 있다. 목차를 보고 빠른 내용을 찾을 수 있기 때문이다. 1-1. 왜 인덱스를 사용하면 검색 속도가 빠를까? 기존 where 문으로 특정 조건..
H2 데이터베이스 설치
스프링부트를 시작하면서 DB까지 테스트할 때 오라클이나 MySQL을 사용해도 되지만 없는 사람들은 번거롭다. 그래서 가벼운 H2 데이터베이스를 추천한다. JPA같은 경우 데이터베이스를 변경하기 쉽기 때문에 처음에 무엇을 쓰던 상관없다. H2 데이터베이스는 JVM 메모리 안에서 실행되는 임베디드 모드와 별도 서버를 띄워서 동작하는 서버모드가 있다. 그래서 자바가 설치되어 있어야 한다. 1. H2 데이터베이스 설치 http://www.h2database.com/html/main.html H2 Database Engine H2 Database Engine Welcome to H2, the Java SQL database. The main features of H2 are: Very fast, open sour..
오라클 클라우드 DB - 스프링부트 프로젝트 연결
https://ssdragon.tistory.com/41?category=1001274 오라클 클라우드 DB 생성 M1 맥북은 Apple Silicon 칩셋이다. 기존 Intel 칩셋(x86-64 기반)에서 Apple Silicon 칩셋(ARM 64 기반)으로 변경되었고, Mac OS 라는 운영체제까지 더해지니 오라클 DB를 로컬 저장소에 생성할 수 없었다. 하지. ssdragon.tistory.com 저번 게시글에서 오라클 클라우드 DB를 생성하였습니다. 그래서 m1 맥북이어도 오라클 db를 언제 어디서나 사용할 수 있습니다. 그렇다면 이 오라클 클라우드 db로 스프링 부트 프로젝트에 연결하는 법을 알아보겠습니다. 1. 프로젝트 생성 기존 프로젝트가 있으신 분들은 넘어가면 됩니다. https://ssd..
오라클 클라우드 DB 생성
M1 맥북은 Apple Silicon 칩셋이다. 기존 Intel 칩셋(x86-64 기반)에서 Apple Silicon 칩셋(ARM 64 기반)으로 변경되었고, Mac OS 라는 운영체제까지 더해지니 오라클 DB를 로컬 저장소에 생성할 수 없었다. 하지만 클라우드에 DB를 생성해놓으면 언제 어디서나 모든 컴퓨터로 접속할 수 있기 때문에 팀프로젝트를 할 때 다 같이 쉽게 공유할 수 있다는 점이 있다. 그럼 m1 맥북도 oracle db를 쓸 수 있는 방법을 알아보자. 🧐 그렇다면 클라우드 DB는 어떤 것을 써야하는가? 아마존 AWS 마이크로소프트 Azure 구글 Google Cloud 오라클 Oracle Cloud 이렇게 클라우드 서비스는 여러 기업들에서도 하고 있고 그 중 대표적인 4가지를 적어보았다. 대..