DATA란 자료나 정보를 지칭하는 말이며, 그중 특히 컴퓨터에 저장되어 처리에 효율적인 형태로 변환 된 것을 말합니다.
📣 코로나가 한창인 시절에 배X의 민족의 월간 주문건이 1억건이라고 함.
개발자가 직접 SQL문을 작성하여 DB에 접근합니다.
(SQL Mapper 라고 합니다)
- 구현 코드와 SQL 코드를 분리할수 있습니다.
SQL문 작성없이 DB의 데이터를 객체로 매핑시켜 데이터를 접근하여 조작할수 있습니다.
(ORM 이라고 합니다)
(추후에 배우는 Spring Data JPA는 JPA를 쓰기 좋게 만들어놓은 모듈입니다.)
- 반복되는 CRUD 쿼리를 자동으로 생성
✔ MySql은 대표적인 RDBMS이며 서버 포트 번호는 3306번이 대표적입니다.
RDB의 특징
SQL을 이용해 데이터를 조회하고 조작
"데이터무결성 유지에 장점"
데이터를 테이블, 필드, 레코드 등으로 나눠 체계적으로 관리한다.
RDB가 가지고 있는 데이터의 구조를 표현한것입니다.
(스키마와 ERD 다이어그램이랑 다릅니다.)
- 빨간색 동그라미 부분이 필드/속성/칼럼/열 입니다.
- 파랑색 네모 부분이 레코드/튜플/행 입니다.
VARCHAR 타입이 아닌 int 타입으로 지정하는것이 좋습니다.기본키라고 부르며, 각 레코드의 고유한 값 이여서 PK 값으로 조회가 가능합니다.
다른 항목과 중복이 불가능 하여 관계 설정시 중요하게 활용 됩니다.
(신중하게 지정)
외래키라고 부르며, 한 테이블의 데이터를 표현할 때 다른 테이블의 데이터가 필요한 경우?
해당 테이블의 PK를 테이블에 저장하여 사용 합니다.
- 예시
Join
( 다른 테이블의 PK 값)
📣 CREATE (생성)
// id (pk), username, email (NOT NULL) 테이블을 생성합니다. CREATE TABLE users ( id INTEGER PRIMARY KEY AUTOINCREMENT, username VARCHAR(25), email VARCHAR(100) NOT NULL );
📣 ALTER (수정)
// uesrs 테이블을 users_backup 테이블로 이름을 수정합니다. ALTER TABLE users RENAME TO users_backup;
📣 DROP (삭제)
// users 테이블을 삭제 합니다. DROP TABLE users;
// 기본적인 SELECT 문 SELECT * FROM users; // 기본적인 INSERT 문 INSERT INTO (...) VALUES(...)
접근자 설정, get메소드, set메소드
생성자를 자동으로 생성,
All = 모든 필드값의 파라미터로 받는 생성자
NO = 파라미터가 없는 기본생성자
Required = final이 붙은 필드값만 받는 파라미터 생성
뒤에 Builder 패턴할때 많이 사용
필드값 출력을 가독성있게 해주는 어노테이션