추상화 수준 상승.업무 중심적포괄적시스템으로 구축하고자 하는 업무 관련 key, 속성, 관계 등을 명확하게 표현.재사용성이 좋음.물리적 성격 고려한 모델.추상적, 서브, 개인적 DB 스키마.모든 사용자 관점을 통합한 전체 DB 스키마.물리적 장치에서 데이터가 실제 저장
업무에서 필요로 하는 인스턴스로 관리하고자 하는 의미상 분리되지 않는 최소의 데이터 단위.한 개의 엔티티는 2개 이상의 인스턴스의 집합.한 개의 엔티티는 2개 이상의 속성을 가져야함.한 개의 속성은 1개의 속성값을 가짐.기본 속성 : 업무로 부터 추출한 모든 일반적인
DB 성능 향상을 목적으로 설계 단계의 데이터 모델링 때부터 정규화, 반정규화 등 여러가지 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것.분석/설계 단계에서 데이터 모델의 성능을 고려한 데이터 모델링을 수행한 경우 성능저하에 따른 재업무(rework)
두 개 이상의 테이블들을 연결 또는 결합하여 데이터를 출력.일반적인 경우, 행들은 PK나 FK 값의 연관 관계에 의해 JOIN이 성립.예외적인 경우, PK나 FK의 관계가 없어도 논리적인 값들의 연관만으로도 JOIN이 성립 가능.등가 조인은 두 개의 테이블 간에 컬럼


프로그래머스 SQL 고득점 Kit를 풀던 중 비트 연산자 관련 문제가 나오면서 많이 헤맸습니다. Java 언어 학습 시 잠깐 익혔던 연산자여서 많이 까먹고 있었던 내용이어서 이참에 짧게 포스팅할까 합니다.& : 대응되는 비트가 모두 1이면 1을 반환합니다.(AND)|

프로그래머스 SQL 고득점 kit를 풀던 중 MySQL에 WITH 절에 대한 부분이 문제에 필요하여 찾아보게되었고, 해당 내용에 대해서 처음 알게되어 포스팅을 작성하였습니다.📜 공식 문서https://dev.mysql.com/doc/refman/8.4/en/

프로그래머스 문제를 풀던 중 두 날짜 사이의 기간을 구해줘야 했습니다. 이를 확인하기 위해서 MySQL Reference Manual(https://dev.mysql.com/doc/refman/8.4/en/date-and-time-functions.html위

프로그래머스 문제를 풀던 중 조건에 따라 다른 결과값을 출력해야 하는 문제가 나왔습니다.처음 생각했던 구문은 CASE 절입니다.하지만, CASE 절을 사용해본 경험이 많지 않아서 헤깔렸고, 결국엔 공식 문서를 확인해가며 문제를 해결했습니다.추후에도 이러한 상황이 발생하

SQL을 사용하며 문제들을 풀다보니, 한가지 스스로 간과했던 내용이 생각이 났습니다. 바로, SELECT 문의 쿼리 실행 순서입니다.처음에는 SELECT절부터 시작해서 차례대로 해석해 나갔습니다. 하지만, 각 데이터를 조회하는 절부터 처리한다는 것이 말이 되질 않았고,

프로그래머스 SQL 쿼리 문제를 풀던 중 서브 쿼리의 결과를 가지고 있지 않은 경우, 출력해주기 위해서 NOT IN 구문을 사용하여 구현을 했다. 하지만, 예상치 못한 결과가 지속적으로 출력되었다.위처럼 작성하니 결과가 다음과 같이 빈 집합을 반환했다.그 다음으로 서브

CAR_RENTAL_COMPANY_CAR 테이블과 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블과 CAR_RENTAL_COMPANY_DISCOUNT_PLAN 테이블에서 자동차 종류가 '트럭'인 자동차의 대여 기록에 대해서 대여 기록 별로 대여 금액

자동차 대여 시작일 기준(start_date)2022년 8월부터 2022년 10월까지 대여 횟수가 5회 이상기간 동안의 월별 자동차 ID 별 총 대여 횟수(컬럼명: RECORDS) 리스트를 출력월을 기준으로 오름차순 정렬하고, 월이 같다면 자동차 ID를 기준으로 내림차

일괄/다중 삭제 로직을 한번의 쿼리로 작성하기 위해서 여러 블로그 글들을 참고하던 중 다음과 같은 쿼리를 발견했다.MyBatis 에서 쿼리 매핑을 위해서 사용하는 xml 파일 내 정의한 쿼리인데, WHERE 1=1 이라는 쿼리가 눈에 띈다.해당 쿼리는 어떤 역할을

MyBatis로 게시판을 만들어보던 중 검색을 위해서 동적쿼리를 활용하여 제목 또는 내용이 포함된 데이터를 조회하는 쿼리를 작성하던 중이었다. 프로젝트 진행 시 DBMS는 Oracle을 사용하였지만, 기존에 MySQL을 많이 사용했던터라 %를 사용하여 구현하니, 오류가