Back-End/Java
JDBC-Service
2024.10.25
//사용자요청 --> Controller --> Service --> Dao --> DB//DB 관련 없는 업무로직은 Service 에서 수행public class EmpService { EmpDAO empDAO = new EmpDAO(); public List SelectAllService() { return empDAO.selectAll(); } public EmpDTO selectByIdService(int empid) { return empDAO.selectById(empid); } public int insertService(EmpDTO emp) { return empDAO.insert(emp); } public int updateService(EmpDTO emp) ..
DataBase
인덱스(INDEX)
2024.10.25
index : 검색속도 향상을 위함 , primary , key , unique 설정하면 자동으로 만들어진다. 인덱스 생성CREATE TABLE EMP01ASSELECT * FROM EMP; 인덱스 설정 확인SELECT TABLE_NAME, INDEX_NAME, COLUMN_NAME FROM USER_IND_COLUMNSWHERE TABLE_NAME IN('EMP', 'EMP01');
DataBase
Sequence(오라클)
2024.10.25
--Primary Key : not null , unique , 의미 있는 번호는 프로그램또는 사용자의 입력으로 키를 만든다. --키가 중요한 의미가 아니면 번호 자동발생기를 이용 (Oracle은 Sequence) , (mysql autoincrement)시퀀스 생성 CREATE SEQUENCE sequence_name [START WITH n] ① [INCREMENT BY n] ② [{MAXVALUE n | NOMAXVALUE}] ③ [{MINVALUE n | NOMINVALUE}] ④ [{CYCLE | NOCYCLE}]..
DataBase
테이블 view
2024.10.25
--table; 물리적 , DB 파일로 저장--view : table 기반 논리적인 가상의 테이블 (테이블을 볼수있는 창) , select 문을 저장--보안목적 (table 의 칼럼의 일부만 공개하기위해)--복잡한 SQL 문장이 반복적으로 사용되면 이를 view 만들어서 사용하면 편리--WITH CHECK OPTION --(DEFAULT) DML 수행가능 (INSERT , DELETE ,UPDATE)--WITH READ ONLY : SELECT 전용--NOFORCE (DEFAULT) TABLE 존재 여부 확인하고 존재하면 VIEW 생성--NOFORCE : TABLE 존재여부확인--- 만들어진 view 를 data 사전에서 검색해보기select * from user_views; CREATE OR REP..
DataBase
TRANSACTION/제약조건/테이블생성시 제약조건
2024.10.25
CREATE TABLE , DROP TABLE,REANMEINSERT , DELETE , UPDATE: 하나의 논리적인 작업단위(COMMIT,ROLLBACK)제약조건 constraint_type : C(check, not null은 필수) , U(unique) , R(reference) , p(primary = notnull + unique) desc user_constraints; SELECT * FROM user_constraints where table_name ='EMPLOYEES'; CONSTRAINT EMP06_DEPTNO_FK REFERENCES DEPARTMENTS(DEPARTMENT_ID)-->DEPARTMENTS 테이블을 부모테이블로 참조 함테이블 생성시 제약 조건---회원가입 (tbl..