분류 전체보기 84

[SpringBoot] Spring Boot

빌드 도구소스 코드에서 애플리케이션 생성을 자동화 하기 위한 프로그램코드를 사용 | 실행 가능한 형태로 컴파일, 코드 패키징, 테스트 실행 등을 포함 빌드 도구의 종류Maven VS Gradle1) Maven : 고정적이고 선형적인 단계의 모델을 기반2) Gradle : 작업 의존성 그래프를 기반차이점Gradle이 Maven에 비해 가독성이 높고 설정이 간단Gradle이 빌드와 테스트 속도가 더 빠르다Spring Bootbulid.gradle 수정더보기plugins { id 'java' // 프로젝트에 사용할 스프링부트 플러그인 | 스프링의 의존성을 자동 관리하는 플러그인 id 'org.springframework.boot' version '3.2.0' id 'io.spring.de..

SpringBoot 2024.10.14

[Java] Scanner(sc.nextInt() 와 Integer.parseInt(sc.nextLine())의 차이)

의문점 자바 Scanner 관련 자료를 찾아보니 sc.nextInt();로 입력받아도 무방한 것을 굳이 Integer.parseInt(sc.nextLine()); 으로 문자로 받아 숫자로 변환시키는 것들이 보였다.그래서 왜? 문자를 받고 숫자로 변화시키는지에 대해 궁금함이 들었다.  조사nextInt();장점사용자가 입력한 값을 int타입으로 바로 변환되서 추가적인 변환작업이 필요가 없다간단명료 하다.단점입력을 받을 때 nextInt();에 내재되어 있는 줄바꿈이 실행되므로 뒤에 nextLine();을 사용할 때 입력하지 않았는데 바로 실행되는 오류가 나타날 수 있다.Int 관련 자료형이 아니면 오류가 나타날 수 있다.Integer.parseInt(sc.nextLine());장점nextInt();에 내재..

Java 2024.10.02

[SQL] 비정규화 (De-Nomalization)

비정규화 (De-Nomalization)= 반정규화정규화된 DB를 성능 향상을 위해 의도적으로 다시 중복을 허용하는 과정 비정규화의 필요성조회 성능의 향상, 쿼리의 복잡성 감소시스템의 읽기 성능을 최적화쓰기 작업보다 읽기 작업이 많을 경우더보기더보기(정규화 된 테이블)-- 1) 주문 테이블 create table orders ( order_id int primary key, customer_id int, order_date date, total_amount int, foreign key(customer_id) references customers (customer_id));-- 2) 고객 테이블create table customers ( customer_id int primary k..

SQL 2024.09.30

[SQL] 정규화 (Nomalization)

정규화(Nomalization)테이블 간에 중복된 데이터를 허용하지 않는 것중복된 데이터를 허용하지 않음으로 무결성을 유지하는 방법 정규화 종류정규형: 테이블이 정규화된 정도, normal form(nf)제 1정규형(1NF), 제 2정규형(2NF), 제 3정규형(3NF), BCNF(Boyce-Codd NF), 제 4정규형(4NF), 제 5정규형(5NF) 1. 제 1정규형 (1NF)DB의 정규화 과정 중 첫 단계테이블에서 모든 필드(속성)가 원자값(분할 불가능한 값)을 가져야 한다는 규칙각 컬럼에 반복되는 그룹이나 다중값을 허용하지 않음각 행이 유일한 값을 가지도록 설계제 1 정규형의 장점데이터 중복 감소: 다중값이 구현된 컬럼을 개별 행으로 분리데이터 무결성 보장: 각 행이 하나의 데이터만을 참조하도록 ..

SQL 2024.09.30

[SQL] 이상현상

이상현상비정규화된 데이터베이스에서 발생할 수 있는 데이터의 무결성 문제삽입 이상, 삭제 이상, 갱신 이상1. 삽입 이상: 새로운 데이터 삽입 시 비효율적이거나 불가능한 상황더보기 insert into `student_course` (course_id, course_name, professor_name) values (104, '앱개발', '김준일');2. 갱신 이상: 데이터의 일부를 수정할 때, 중복된 모든 데이터를 수정해야 하는 상황더보기update `student_course`set professor_name = '원신희강사님'where professor_name = '원신희';-- 오류 없이 수정이 이루어지지만 각 행에서 조건의 데이터를 찾아 일일이 변경을 해야하는 메모리 부담이 존재3. 삭..

SQL 2024.09.30

[SQL] DML

DML (Data Manipulation Language)데이터 관리 언어데이터를 삽입, 조회, 수정, 삭제 기능 (CRUD) 1. 데이터 삽입 (INSERT)테이블에 행 데이터(레코드)를 입력하는 키워드insert into 테이블명 (열1, 열2,...) values (값1, 값2, ...);열 이름을 생략할 경우 values 키워드 뒤 값들의 순서는 테이블 정의 시 지정한 열의 순서 & 개수와 동일더보기create database `company`;use `company`;create table `example01` ( name varchar(100), age int, major varchar(100));# 1) 컬럼명 지정 Xinsert into `example01` values ('서호..

SQL 2024.09.25

[SQL] 무결성과 제약조건

무결성(Integrity)데이터에 결함이 없음정확성, 일관성, 신뢰성을 보장하는 개념 무결성의 종류1. 개체 무결성모든 테이블이 고유한 행을 가져야 한다는 원칙기본 키(Primary Key)를 통해 구현기본 키로 설정된 컬럼은 비워질 수 없고, 중복된 값을 가질 수 없다.2. 참조 무결성테이블 간의 관계를 정의할 때 한 테이블이 다른 테이블의 값을 참조하는 경우 참조 값이 반드시 존재해야 함을 뜻함외래 키(Foreign Key)를 통해 구현3. 도메인 무결성테이블의 각 필드(열)가 정의된 도메인에 맞는 값을 가져야 함을 뜻한다.데이터 타입, 포맷, 범위 등이 적절하게 유지도메인: 데이터타입, 길이, 가능한 값의 범위4. 사용자 정의 무결성특정 애플리케이션의 규칙에 따라 정의구현하고자 하는 비즈니스 규칙이..

SQL 2024.09.25

[SQL] DDL

DDL 데이터베이스 생성create : 데이터베이스 생성, 데이터를 저장하고 관리하는 첫 단계create database `데이터베이스명`;더보기더보기create database example;테이블 생성create : 테이블 생성, 테이블에 저장될 데이터의 형태와 특성을 정의데이터 타입, 제약조건, 기본값 등을 설정 가능create table `데이터베이스`.`테이블명`;더보기더보기create table `example`.`students` ( student_id int, student_name char(8), student_gender char(8));create table `example`.`students2` ( student_id int, student_name char(8), ..

SQL 2024.09.25

[SQL] datatype

Datatype 1. 정수형: 숫자 데이터를 저장하는 데 사용: 데이터 타입에 따라 메모리 사용 공간이 다름tinyint1byte(8bit) : -128 ~ 127smallint2byte(16bit) : -32,768 ~ 32,767\int 4byte(32bit) : 약 -21억 ~ 약 21억일반적인 용도로 가장 많이 사용되는 정수형 타입bigint8byte : 약 -900경 ~ 약 900경 더보기create database if not exists `example`;use `example`;create table `integer` ( t_col tinyint, s_col smallint, i_col int, b_col bigint);insert into `integer` values(1..

SQL 2024.09.25

[SQL] SQL

SQL(Structured Query Language)데이터 베이스 관리 시스템(DBMS)에서 데이터를 관리하기 위해 사용되는 표준 프로그래밍 언어데이터베이스에 저장된 데이터를 조회, 삽입, 수장. 삭제하는데 사용데이터 베이스의 구조를 정의하고 조작하는데 사용 SQL 주요 구성 요소: DMBS에서 실행 할 수 있는 명령의 종류에 따라 DDL, DML, DCL로 나뉜다 1. DDL (Data Definition Language)데이터 정의 언어데이터베이스 스키마와 구조를 정의하는데 사용create, drop, alter, truncate2. DML (Data Manipulation Language)데이터 조작 언어테이블에 데이터 검색, 등록, 수정, 삭제하는데 사용select, insert, update,..

SQL 2024.09.24