728x90

https://leetcode.com/problems/not-boring-movies/

 

Not Boring Movies - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

 

[problem]

1. 홀수인경우

2. description 에 boring이 들어간 경우 제외

3. order by DESC 적용

[analysis]

1.where 절을 통한 조건 적용

--> 홀수인경우 id % 2 !=0 으로 나타낼 수 있음 / boring문자 제외도 !를 이용함

[solution]

728x90
728x90

https://leetcode.com/problems/combine-two-tables/

 

Combine Two Tables - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

 

[problem]

두 테이블간의 join 필요

Write an SQL query to report the first name, last name, city, and state of each person in the Person table. If the address of a personId is not present in the Address table, report null instead.

Return the result table in any order.

[analysis]

1. address가 null인 경우도 정보를 보여줘야 하므로 person table 기준으로 left join 실행

2. 두 테이블에 공통 컬럼인 personId 기준으로 join

 

[solution]

728x90
728x90

https://leetcode.com/problems/duplicate-emails/submissions/

 

Duplicate Emails - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

 

[problem]

email데이터 중복없이 정보 출력하기

[analysis]

1. 중복된 이메일 제외 위해서 email로 group by 해줌

2. having count email >1 (2이상이면 중복임)

* having은 group by에서 연산한 결과물에 조건을 줄 때 사용 where과는 다르다.

 

[solution]

728x90
728x90

트랜잭션이란?

데이터 처리의 한 단위이다

하나의 트랜잭션은 all or noting 방식으로 처리된다.

 

트랜잭션의 특징

1. 원자성 

한 트랜잭션 내의 모든 연산들이 완전히 수행되거나 전혀 수행되지 않음 ( All or Nothing ) 을 의미함

 

2. 일관성 

어떤 트랜잭션이 수행되기 전에 데이터베이스가 일관된 상태를 가졌다면 트랜잭션이 수행된 후에 데이터베이스는 또 다른 일관된 상태를 가짐

 

3. 고립성 

한 트랜잭션이 데이터를 갱신하는 동안 이 트랜잭션이 완료되기 전에는 갱신 중인 데이터를 다른 트랜잭션들이 접근하지 못하도록 해야 함
다수의 트랜잭션들이 동시에 수행되더라도 그 결과는 어떤 순서에 따라 트랜잭션들을 하나씩 차례대로 수행한 결과와 같아야 함

 

4. 지속성

일단 한 트랜잭션이 완료되면 이 트랜잭션이 갱신한 것은 그 후에 시스템에 고장이 발생하더라도 손실되지 않음

 

commit

: transaction (insert, update, delete) 작업내용을 db에 저장

* 자동커밋 : create alter drop renam truncate DDL문

 

rollback

: transaction (insert, update, delete) 작업내용을 취소

이전에 commit 한 곳 까지만 복구됨

 

예약어

savepoint : savepoint 로 저장해 놓은 곳 까지는 rollback시적용되지 않음

 

728x90

'MS SQL' 카테고리의 다른 글

ms sql - update , 다른 테이블과 join 해서 사용하기  (0) 2022.04.18
ms SQL-엑셀 업로드 방법 (데이터 가져오기)  (0) 2022.04.14
SQL rollup, cube 함수  (0) 2021.11.10
SQLD 서브쿼리  (0) 2021.11.09
SQL - 트랜잭션  (0) 2021.11.03
728x90

* roll up 함수 :

묶인 컬럼을 기준으로 합계, 소계를 구할 수 있도록 하는 함수

group by 컬럼에 대한 subtotal을 만들어준다

 

hiredate, job 데이터를 볼 때 hiredate가 앞에 있으므로 hiredate 기준으로 rollup 함수가 사용됨

아래와 같이 그룹핑이 되어 데이터를 볼 수 있다.

 

예제) 

select hiredate, job, count(*) from emp
group by rollup(hiredate,job)
order by hiredate;

 

 

* cube 함수 : 함수에 제시한 컬럼에 대한 가능한 모든 집계를 계산한다.

예를 들어 부서와 직업을 cube로 변환하면, 부서별, 직업별, 부서별 직업별 합계가 조회된다.

 

예제)

select deptno, job, sum(sal)
from emp
group by cube(deptno,job);

 

 

728x90

'MS SQL' 카테고리의 다른 글

ms SQL-엑셀 업로드 방법 (데이터 가져오기)  (0) 2022.04.14
SQLD transaction 관리  (0) 2021.11.10
SQLD 서브쿼리  (0) 2021.11.09
SQL - 트랜잭션  (0) 2021.11.03
SQL 명령어 분류 - DDL, DML, DCL, TCL  (0) 2021.11.03
728x90

PART 1 데이터 모델링의 이해

 

◇데이터 모델링이란

- 현실세계를 데이터 베이스로 표현하기 위해서 추상화한다..

- 고객과의 의사소통을 통해 고객의 업무 프로세스를 이해해야 한다

- 고객의 업무 프로세스를 이해한 후 데이터 모델링 표기법을 사용한다.

- 고객이 쉽게 이해할 수 있도록 복잡하지 않게 한다.

- 고객의 비즈니스 프로세스를 이해하고 비즈니스 프로세스의 규칙을 정의한다.

 

엔티티 : 데이터 중에 내가 관리하고자 하는 집합, 관리해야하는 데이터

속성 : 엔티티가 가지는 항목, 칼럼

관계 : 엔티티간의 관계

정규화 : 삽입, 삭제에 이상 발생하면

 

◇데이터 모델링의 특징

추상화 - 간략하게

단순화 - 쉽게 이해하게

명확성 - 명확하게, 한 가지 의미만

 

◇데이터 모델링의 단계

1) 개념적 모델링 :

- 전사적 관점에서 기업의 데이터를 모델링한다.

- 추상화 수준의 가장 높은 수준의 모델링이다.

- 계층형 데이터(tree) 모델, 네트워크 모델(망형), 관계형(테이블) 모델에 관계 없이 업무 측면에서 모델링한다.

 

2) 논리적 모델링 :

- 특정 데이터 베이스 모델에 종속한다.

- 식별자응 정의하고 관계, 속성 등을 모두 표현한다.

- 정규화를 통해 재사용성을 높인다

 

3) 물리적모델링

- 구축할 데이터베이스 관리 시스템에 테이블, 인덱스 등을 생성하는 단계이다.

- 성능, 보안, 가용성 등을 고려하여 데이터 베이스를 구축한다.

 

4) 데이터 모델링을 위한 ERD (Entity Relationship Diagram)

-엔티티를 도출하고 그린다

-엔티티를 배치한다

-엔티티 간의 관계를 설정한다

-관계명을 서술한다

-관계 참여도를 표현한다

-관계의 필수 여부를 표현한다

 

관점

데이터 - 비즈니스 프로세스에서 사용되는 데이터를 구조 분석, 정적 분석 -> 원자값으로 만드는 것이 목정

프로세스 - 비즈니스 프로세스에서 수행하는 작업을 모두 시나리오 분석, 도메인 분석, 동적 분석

데이터와 프로세스 - 프로세스와 데이터 간의 관계를 의미한다.

 

5)데이터 모델링 고려사항

 

1)데이터 모델의 독립성

2)고객 요구사항이 표현

3) 데이터 품질 확보

 

728x90

'MS SQL' 카테고리의 다른 글

SQL 주요함수-숫자함수  (0) 2021.10.27
SQLD select로 데이터 추출하기  (0) 2021.10.27
SQL 테이블 만들기  (0) 2021.10.20
SQLD - 정규화  (0) 2021.10.19
SQLD 개발자 자격증 1일차 - 3층 스키마, 엔터티  (0) 2021.10.12

+ Recent posts