일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- SOP
- MSSQL
- System.Text.Json
- ERROR_MESSAGE
- SQL Server
- IT
- java
- .NET 8.0
- DB
- 프로시저
- 스프링부트
- SSMS
- jpa
- 자바
- RAISERRR
- ORM
- OUT 파라미터
- IT story
- Exception in thread "main" java.lang.Error
- cors
- github
- 데이터베이스
- JavaScript
- 권한
- Newtonsoft.Json
- SQL Server 구성 관리자
- 스프링 시큐리티
- C#
- git
- springboot
- Today
- Total
목록데이터베이스 (7)
its_jh_stroy

관계형 데이터베이스에서 중복 데이터를 최소화하여 데이터 무결성을 유지하기 위한 작업을 정규화라 한다.정규화는 테이블을 분해하며 진행되는데, 분해 방식에 따라 정규화 단계가 정해진다. 제1 정규화(1NF)모든 속성은 원자값을 갖는다.원자값이란 더 이상 나눌 수 없는 개별적인 항목이다.예를 들어, 수업이라는 속성이 "수학, 과학, 영어"라는 비원자값을 각 과목별로 세 개의 행으로 분리할 수 있다.제1 정규화를 만족하는 조건으로는 기본 키가 필요하다는 특징이 있다. 제2 정규화(2NF) : 부분 종속 제거1NF를 만족하면서 기본 키의 부분 집합에 의존하는 속성을 제거해야 한다.복합 키를 가지는 경우, 기본 키의 일부에만 의존하는 속성을 분리하라는 의미이다.아래와 같이 주문 Id와 상품 Id 필드를 복합 키로 ..
Spring Data JPA스프링에서 제공해 주는 JPA 인터페이스JPA 인터페이스 기반으로 더욱 추상화된 메서드를 제공받을 수 있다. 데이터베이스 연결하고 모델 만들기Spring Data JPA는 데이터베이스와 상호작용을 위한 것이기 때문에 데이터베이스 연결과 모델을 만들어야 한다.여기서는 스프링부트에서 제공하는 H2 데이터베이스를 사용할 것이다.# application.propertiesspring.jpa.show-sql=truespring.jpa.properties.hibernate.format_sql=truespring.jpa.defer-datasource-initialization=true// Food.java@NoArgsConstructor(access = AccessLevel.PROTECTE..
JPA(Java Persistance API)자바에서 표준으로 사용하는 ORM 인터페이스내부적으로는 JDBC를 사용하여 데이터베이스와 상호작용한다. JPA의 구현체 HibernateJDBC와 마찬가지로 JPA도 인터페이스 구성되어 있고, 인터페이스명은 EntityManager이다.구현체는 주로 Hibernate라는 객체인데, 직접 구현하는 것이 아니라 스프링부트에서 자동으로 만들어진다.스프링 빈을 관리하기 위해 스프링 컨테이너를 사용하는 것처럼, JPA 엔티티를 관리하는 공간으로 Entity Context가 있다.Hibernate는 데이터베이스와 상호작용하는 메서드를 제공하고 Entity Context를 관리하는데, 엔티티의 라이브 사이클(생성~소멸)을 관리한다는 의미이다.데이터베이스는 MySQL로 정하..
JDBC (Java Database Connectivity)자바가 데이터베이스와 상호작용할 수 있도록 지원하는 API이번 포스팅에서는 MySQL에 연결하는 것으로 코드를 작성하였다. JDBC의 구현체 Hikari자바에서 JDBC는 DataSource라는 인터페이스로 구성되어 있다.따라서 내부 메서드의 구현이 없는 상태인데, 주로 Hikari라는 구현체를 통해 객체를 만든다.Hikari는 개발자가 따로 구현하는 것이 아니라 스프링부트에서 자동으로 구현해 준다. 의존성 추가하기// MySQL에 연결하기 위한 JDBC 드라이버 제공runtimeOnly 'com.mysql:mysql-connector-j' // JDBC 의존성, DataSource 객체를 스프링 컨테이너에 주입한다.implementation ..
MyBatisSQL 문과 객체를 매핑하여 관계형 데이터베이스를 쉽게 사용할 수 있도록 지원하는 프레임워크매퍼라는 파일을 통해 쿼리를 작성한다. 데이터베이스 구성하기먼저 데이터베이스에서 테이블을 구성할 것이다.mybatis에 집중할 수 있도록 최대한 간단하게 구성하였다.CREATE TABLE employee ( id BIGINT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20), salary INT); 프로젝트 구조 생성하기실습에 사용될 DTO, Controller, Service, Repository를 생성할 것이다.아래와 같은 이름으로 생성했고, 편의를 위해 동일한 경로에 생성하였다.- EmployeeDTO- EmployeeController- Emplo..

MongoDB Atlas는 MongoDB에서 제공하는 클라우드 데이터베이스 서비스이다. 이 서비스를 통해 MongoDB 데이터베이스를 클라우드 환경에서 호스팅 하여 사용할 수 있다. 배포, 백업, 복구와 같은 작업을 자동으로 처리하기 때문에 데이터베이스를 관리하는데 드는 시간과 비용을 크게 줄일 수 있다. 실습을 위해서는 MongoDB Atlas에 가입하여 프로젝트와 데이터베이스, 컬렉션을 만들어야 한다. 만약 연결할 위 항목이 없다면 MongoDB Atlas 사이트에 접속하여 연결할 데이터베이스와 컬렉션을 만들 수 있다. 여기서는 데이터베이스와 컬렉션이 있다고 가정하고 포스팅을 진행한다. 연결 문자열 확인 먼저 데이터베이스에 연결할 문자열을 확인해야 한다. MongoDB Atlas 접속 후 프로젝트 선..

구름 IDE란? 개인적으로 프로젝트를 준비하는데, 데이터베이스 서버를 어떻게 할지 고민하다 구름 IDE를 찾게 되었다. 구름 IDE는 웹 브라우저에서 클라우드 기반의 개발 환경을 제공하는 플랫폼이다. 클라우드 기반으로 동작하기 때문에, 웹 브라우저만 있으면 언제 어디서든 코딩을 시작할 수 있다. 이것을 활용하여 단순 코딩뿐 아니라 서버를 구축하거나 협업을 할 수도 있다. 이번 포스팅에서는 MySQL 데이터베이스 서버를 구축하는 내용을 작성할 것이다. 구름 IDE에서 MySQL 데이터베이스 서버 구축하기 컨테이너 생성 https://ide.goorm.io/my/dashboard 위 사이트에서 로그인 후 "+새 컨테이너" 버튼을 클릭하여 컨테이너를 생성한다. 컨테이너 스택은 각자 개발하고자 하는 스택으로 선..