일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백트래킹
- PS
- 다대다
- dfs
- CHECK OPTION
- 즉시로딩
- FetchType
- SQL프로그래밍
- shared lock
- 낙관적락
- exclusive lock
- 데코레이터
- 연결리스트
- 유니크제약조건
- 지연로딩
- 연관관계
- 일대다
- 비관적락
- BOJ
- 동적sql
- 다대일
- eager
- 이진탐색
- fetch
- JPQL
- 힙
- 스프링 폼
- querydsl
- 스토어드 프로시저
- execute
- Today
- Total
목록SQL (23)
흰 스타렉스에서 내가 내리지

데이터베이스에서는 테이블 외에 인덱스, 뷰, 스토어드 프로시저, 트리거, 함수, 커서 등의 개체도 필요하다. 요약 인덱스 데이터를 조회할 때 결과가 나오는 속도를 획기적으로 빠르게 해준다. 뷰 테이블의 일부를 제한적으로 표현할 때 주로 사용한다. 스토어드 프로시저 SQL에서 프로그래밍이 가능하도록 해준다. 트리거 잘못된 데이터가 들어가는 것을 미연에 방지하는 기능을 한다. 인덱스 인덱스(index)란 책의 제일 뒤에 수록되는 '찾아보기'와 비슷한 개념이다. 찾아보기를 통해 먼저 해당 언어를 찾고 바로 옆에 적혀 있는 페이지로 이동하는 효율적인 방법을 사용하는 것이다. 'Full Table Scan' 이라고 나오는데, 이는 '전체 테이블 검색'이다. 즉, 처음부터 끝까지 조회를 해서 '아이유'를 찾은 것이..

MySQL Workbench에서 [File] - [New Model] 메뉴를 실행한다. [MySQL Model] 탭이 생성되며 [Physical Schemas]dp 'mydb' 라는 빈 데이터베이스 모델링이 준비된다. 다이어그램을 추가하기 위해 'Add Diagram'을 더블클릭 하면, [EER Diagram] 탭이 추가 된다. Place a New Table 아이콘을 클릭 한 후, [Diagram] 패널의 빈 곳을 클릭하여 테이블을 추가할 수 있다. Foreign Key도 설정해 보았으며, ForwardEngineering을 통해 실제 DB에 반영을 할 수 있다. 더 자세한건 구글링 하도록 하자.

내가 스스로 구현해봤던 코드 : id와 일치하는 post를 일단 불러오고, post에 등록된 UserId와 현재 로그인된 사용자의 id가 일치 하는지 확인 후, 일치하면 해당 포스트 삭제, 아닐 시 401 unauthorized 응답. 이렇게 구현을 했는데... 필요없다. 충분히 짧게 구현할 방법이 있었다. id가 일치하고, 현재 로그인되어있는 사용자의 id와 userId가 동시에 일치하는 post를 찾아 지운다. 한줄이면 가볍게 처리 가능한 로직이다..!