db 6

[DB] 정규화, 반정규화, 후보키

1. 정규화 - 테이블의 속성들이 상호 종속적인 관계를 갖는 특성을 이용하여 테이블을 무손실 분해하는 과정 - 정규화의 목적 : 가능한 한 중복을 제거하여 삽입, 삭제, 갱신 이상의 발생 가능성을 줄이는 것 - 정규화 단계 (도, 부, 이, 결, 다, 조) -> 두부이걸다줘 - 제 1정규화 번호 색 1 파랑 2 노랑 3 초록,빨강 원자값이 두개 이상이 아닌 하나로 있어야 하는 것 번호 색 1 파랑 2 노랑 3 초록 3 빨강 이렇게 나눠야 한다. - 제 2 정규화 ( 부분함수 종속 제거 ) 기본키와 큰 연관이 없는 데이터를 따로 빼주는 것 학생 번호 강좌 강의실 학점 1 자바 101 4.5 2 오라클 102 4.3 3 파이썬 103 4.2 4 파이썬 103 4.1 보통 학생번호가 기본키라는 가정 하에 강의..

[DB] DB 정의, 구조, 설계순서, DDL, DML, DCL, 트리거

1. 데이터베이스란? - 여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합 - 작성된 목록으로써 여러 응용 시스템들의 통합된 정보들을 저장하여 운영할 수 있는 공용 데이터들의 묶음 - 예) 회원들의 아이디, 비밀번호, 이름, 생년월일 등을 저장해놓는 것 2. 데이터베이스 구조 3. SQL의 정의 - (Structured Query Language) 관계형 데이터베이스의 표준 질의어로 정의, 조장, 제어 기능이 있다. - SQL의 분류 3가지 - 일반 형식 ( SELECT 와 FROM 절은 필수작성 SELECT 속성명1, 속성명2... FROM 테이블명 WHERE 조건 GROUP BY 속성명, 속성명 HAVING 조건 ORDER BY 속성명 DDL (Data Define Lang..

[JPA] Mysql JPA 테이블 추가하기

전에 했던 내용을 복습하기 위해 Member 테이블을 하나 더 생성했다 persistence.xml 파일에 jpabasic.reserve.domain.Member 를 추가했다. jpabasic.reserve.domain.User jpabasic.reserve.domain.Member true 테이블과 일치하게 VO도 추가하여 작성했다 package jpabasic.reserve.domain; import jakarta.persistence.*; import java.time.LocalDateTime; @Entity @Table(name = "member") public class Member { @Id private String email; private String name; @Column(name =..

JPA 웹으로 연동하여 사용해보기

JPA는 지속적으로 공부해야 할 것 같아서 공부하는 것들을 그때그때 추가로 게시글을 작성할 예정이다. 스프링부트 프로젝트를 만들 때 h2를 연동했었다. src - main - resource - application.properties파일에 spring.h2.console.enabled=true 를 추가한다. 이는 h2 데이터베이스 콘솔을 활성화 하는 코드이다. http://localhost:8080/h2-console로 h2 데이터 베이스에 접속 할 수 있다. 물론 학습용이고 보안상으로는 안좋다고 한다. 서버를 실행하고 위 URL에 접속하면 이런 인터페이스가 보일텐데 위와 같이 두고 JDBC URL에다가 인텔리제이 콘솔창에서 JDBC를 검색하면 위와 같이 뜰 것이다. 해당 드래그 쳐져있는 부분과 같은 ..