DBMS/데이터베이스14 [데이터베이스] SQL 연습문제 문제는 모두 주석에 적어놓았습니다! -- 1번: 데이터 조회 및 조인 SQL-- 고객별 총 주문 금액과 주문 횟수를 조회하는 쿼리SELECT c.customer_id, c.customer_name, COUNT(o.order_id) AS total_orders, -- 주문 횟수 COALESCE(SUM(o.total_amount), 0) AS total_spent -- 총 주문 금액 (NULL 방지)FROM day3_customers cLEFT JOIN day3_orders o ON c.customer_id = o.customer_idGROUP BY c.customer_id, c.customer_name;-- 2번: 데이터 조회 및 조인 SQL-- 카테고리별 총 판매액과 판매.. 2025. 2. 6. [데이터베이스] SQL JOIN문 JOIN : 두 개 이상의 테이블을 연결하여 데이터를 조회데이터베이스는 일반적으로 정규화를 통해 여러 테이블로 분리되므로, 데이터를 효과적으로 활용하기 위해서는 JOIN을 사용하여 테이블 간의 관계를 결합해야 한다. [대표적인 SQL JOIN의 5가지 종류]1. INNER JOIN두 테이블에서 공통된 값이 있는 행만 반환한다. 일치하지 않는 데이터는 결과에서 제외된다. (사용 예제)SELECT A.id, A.name, B.order_idFROM Customers AINNER JOIN Orders B ON A.id = B.customer_id; 2. LEFT JOIN (LEFT OUTER JOIN)왼쪽 테이블의 모든 행을 반환하고, 오른쪽 테이블의 일치하는 데이터가 없으면 NULL을 반환한다. (사용 예제.. 2025. 2. 6. [데이터베이스] 트랜잭션 개념과 관리 방안 수립 데이터베이스에서 트랜잭션 관리는 필수적인 요소이다. 데이터의 무결성을 유지하고, 동시 접근을 효율적으로 제어하며, 장애 발생 시 복구할 수 있도록 설계해야 한다. 이를 위해 트랜잭션 관리 방안을 수립하는 것이 중요하다. 이번 포스팅에서는 트랜잭션 개념과 트랜잭션 관리 방안, 그리고 트랜잭션의 상태 변화까지 알아보고자 한다! ㅁ트랜잭션(transaction): 데이터베이스의 상태를 변화시키기 해서 수행하는 작업의 단위 (트랜잭션 관리의 중요성)하나의 트랜잭션은 여러 개의 작업(쿼리)으로 구성될 수 있으며, 모든 작업이 성공적으로 완료되어야만 데이터베이스에 반영된다. 트랜잭션 관리를 통해 다음과 같은 기능을 제공할 수 있다.데이터 무결성 유지동시 접근 제어(락을 사용)장애 발생 시 복구 기능 제공 ACI.. 2025. 2. 6. [데이터베이스] 대표적인 데이터 모델링 기법 4가지 https://claremont.tistory.com/entry/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-ep1-DB-%EB%AA%A8%EB%8D%B8 [데이터베이스] ep1) DB 모델ㅁ논리적 데이터 모델들1. 계층형 데이터 모델 2. 네트워크형 데이터 모델 3. 관계형 데이터 모델(RDB: Relational DataBase)- 우리는 이 RDB에 대해 앞으로 지겹도록 다룰 것이다 ㅁRDB 데이터 모claremont.tistory.com 데이터 모델링은 데이터를 체계적으로 구조화하고, 데이터 간의 관계를 명확하게 정의하는 과정이다. 이를 통해 데이터베이스 설계의 기초를 마련하고, 효율적인 데이터 관리가 가능해진다. 데이터 모델링에는 .. 2025. 2. 6. [데이터베이스] 표준화 명세서와 정규화 과정 1. 데이터 표준화 명세서 예시 (명명 규칙)테이블 명: 복수형 사용 (students, subjects, professors, enrollments)컬럼 명: 소문자 및 스네이크 케이스 사용 (student_id, course_code, professor_id 등)데이터 타입: 일관된 데이터 타입 사용 (VARCHAR, INT, FLOAT 등)키 명: id 사용 (표준 컬럼 정의)컬럼명데이터 타입설명student_idINT학번 (기본키)student_nameVARCHAR학생 이름majorVARCHAR전공subject_idVARCHAR과목 코드 (기본키)subject_nameVARCHAR과목 이름gradeFLOAT학점professor_idVARCHAR교수 ID (기본키)professor_nameVARCH.. 2025. 2. 5. [데이터베이스] 빅데이터(Big Data) 빅데이터(Big Data): 기존의 관리 방법이나 분석 체계로는 처리하기 어려운 방대한 양의 정형, 반정형, 비정형 데이터의 집합 [TTA 정보통신용어사전] 빅데이터 유형 3가지- 정형 데이터(Structed Data): 형식과 구조가 있는 데이터 - 반정형 데이터(Semi-Structed Data): 형식과 구조가 변경될 수 있는 데이터 데이터의 구조 정보를 데이터와 함께 제공하는 파일 형식의 데이터e.g. HTML, XML, JSON(Javascript Object Notation), RDF(Resource Description, Framework)질의 처리가 어려워 데이터 분석에 사용 시 정형 데이터로 변환하여 사용한다- JSON 데이터는 CSV(Comma Separated Value) 또는 테이.. 2024. 7. 3. [데이터베이스] ep5) 뷰(view) ㅇ뷰(view): 하나 이상의 테이블을 합하여 만든 가상의 테이블 (SELECT문을 통해 얻은 검색 결과를 모아 나타내는 것)여러 테이블을 이용하여 하나의 뷰 테이블을 생성한다! 그러면 사용자는 뷰를 통해 보기 좋은 테이블을 보게 된다(이미 생성된 뷰를 기반으로 또 뷰를 생성 가능하다) - 뷰 생성CREATE VIEW 뷰_이름[(속성_리스트)]AS SELECT문 -- 기본 테이블(참조 테이블)에 대한 SELECT문 작성[WITH CHECK OPTION]; [WITH CHECK OPTION]: 생성한 뷰에 삽입이나 수정 연산을 할 때 SELECT문에서 제시한 뷰의 정의 조건을 위반하면 수행되지 않도록 하는 제약조건 지정 뷰 생성 예제 - 뷰 삭제DROP VIEW 뷰_이름; - 특정 뷰가 삭제하려 하.. 2024. 7. 1. [데이터베이스] ep4-3) SQL: DCL ㅁDCL(Data Control Language): 데이터 제어어 ① GRANT문: DB 사용자의 사용 권한 부여2가지 타입이 있다1. 객체 권한 부여 by 객체소유자GRANT 권한 ON 객체 TO 사용자 [WITH GRANT OPTION];객체 소유자가 다른 사용자에게 객체에 대한 사용 권한을 부여한다(여러 권한을 한 번에 부여할 수도 있으나 GRANT문으로 부여된 권한은 기본적으로 다른 사용자에게 재부여가 불가능하다) (옵션)PUBLIC 키워드: 모든 사용자에게 똑같은 권한을 부여하는 키워드 ("사용자" 대신 작성)WITH GRANT OPTION: 사용자가 자신이 부여받은 권한을 다른 사용자에게도 부여할 수 있도록 허락하는 옵션 예제 1 예제 2 2. 시스템 권한 부여 by DBA(데이터.. 2024. 6. 30. [데이터베이스] ep4-2) SQL: DML ㅁDML(Data Manipulation Language): 데이터 조작어 ① SELECT / FROM문: 테이블 내 데이터를 검색SELECT [ALL | DISTINCT] 속성_리스트FROM 테이블_리스트; -- 테이블 이름만약 테이블에서 검색하고 싶은 속성 및 테이블이 다수일 경우 콤마로 구분하여 나열 ALL: 결과 테이블에 데이터의 중복을 허용DISTINCT: 결과 테이블에 데이터의 중복을 허용하지 않음 SELECT / FROM문 예제 DISTINCT 예제 ㅇWHERE 조건: SELECT문에 조건을 추가SELECT [ALL | DISTINCT] 속성_리스트FROM 테이블_리스트[WHERE 조건]; 비교 연산자와 논리 연산자를 이용한 검색 조건 제시 (비교 연산자를 이용하여 숫자, 문자, 날짜.. 2024. 6. 29. 이전 1 2 다음