| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
- 파이썬 #python #전역변수 #지역변수 #eval
- 파이썬 #python #class #클래스 #상속
- 파이썬 #python #enumerate
- aws
- jsonb
- spring boot
- 파이썬 #python #Comprehension
- 파이썬 #python #lambda #람다
- redis
- 파이썬기본문법 #파이썬 #python
- 파이썬 #python #docstring
- 연산자메서드
- 프로그래머스
- PostgreSQL
- 파이썬 #python #filter #map #reduce
- 약수 수하기
- 파이썬 #python #os #os.path #glob
- 배포
- Git
- 파이썬 #python #모듈 #module #import #random #time #calendar #sys
- docker
- aw3
- 사용자정의예외
- 파이썬 #python #함수 #function
- 파이썬 #python #가변매개변수 #키워드가변매개변수 #args #kwargs
- 파이썬 #python #지역함수
- EC2
- 파이썬 #python #예외처리 #exception
- 민감 정보 관리
- 파이썬 #python #file #i/o #input #output
- Today
- Total
목록SQLD (26)
Yeonnnnny
■ 식별자 구분 (by 대체 여부) 1. 본질식별자 업무에 의해 만들어지는 식별자(꼭 필요한 식별자) 2. 인조식별자 인위적으로 만들어지는 식별자 (꼭 필요하지 않지만 관리의 편의성 등의 이유로 인위적으로 만들어지는 식별자) 본질식별자가 복잡한 구성을 가질 때 인위적으로 생성 주로 각 행을 구분하기 위한 기본키로 사용되며 자동으로 증가하는 일련번호같은 형태임 ex) 주문과 주문상세에 대한 엔터티 설계과정 주문이 들어오면 주문 엔터티에는 (주문번호+고객번호)를 저장. 이때 PK는 주문번호임 주문이력에는 각 주문별로 어떤 상품이 언제, 몇개 주문됐는지 등을 기록함 ※ 주문상세 테이블 설계시 다음과 같은 식별자를 고려할 수 있음 PK : 주문번호+상품번호로 설계 주문을 하면 주문번호와 상품번호가 필요하므로 본..
■ NULL이란 DBMS에서 아직 정해지지 않은 미지의 값을 의미 현재 데이터를 입력하지 못하는 경우 0과 빈문자열('')과는 다른 개념 NULL과의 모든 비교(IS NULL은 제외)는 알 수 없음(Unknown)을 반환 모델 설계시 각 컬럼별로 NULL을 허용할지를 결정(Nullable Column) ■ NULL의 특성 1. NULL을 포함한 연산 결과는 항상 NULL COMM 컬럼에서 공백으로 보이는 것들이 NULL임.(물론 빈문자열일 수 있지만 해당 데이터에서는 NULL임) 이때, NULL을 포함한 COMM과 SAL과의 연산결과는 NULL이 리턴됨. → NULL을 사전에 치환한 후 연산 ※ NULL 치환 후 연산 결과 2. 집계함수는 NULL을 제외한 연산 결과 리턴 SUM, AVG, MIN, MA..
■ 트랜잭션이란 하나의 연속적인 업무 단위를 말함 트랜잭션에 의한 관계는 필수적인 관계 형태를 가짐 하나의 트랜잭션에는 여러 SELECT, INSERT, DELETE, UPDATE 등이 포함될 수 있음 EX) 계좌이체 A 고객이 B 고객에게 100만원을 이체하려고 한다고 가정 A 고객의 잔액이 100만원 이상인지 확인 이상이면, A 고객 잔액을 -100 UPDATE B 고객 잔액에 +100 UPDATE 이때, 2번과 3번 과정이 동시에 수행되어야 함. 즉, 모두 성공하거나 모두 취소돼야 함(All or Nothing) 이런 특성을 갖는 연속적인 업무 단위를 트랜잭션이라고 함. 주의) A 고객 잔애 차감과 B 고객 잔액 가산이 서로 독립적으로 발생하면 안됨 (각각 INSERT 문으로 개발되면 안됨), 부분..
■ 관계(Relationship)의 개념 엔터티의 인스턴스 사이의 논리적인 연관성 엔터티의 정의, 속성 및 관계 정의에 따라서도 다양하게 변할 수 있음 관계를 맺는다는 의미는 부모의 식별자를 자식에게 상속하고 상속된 속성을 매핑키(조인키)로 활용 부모, 자식을 연결함 ■ 관계의 분류 관계는 존재에 의한 관계와 행위에 의한 관계로 분류 존재 관계는 엔터티 간의 상태를 의미 ex) 사원 엔터티는 부서 엔터티에 소속 행위 관계는 엔터티 간의 어떤 행위가 있는 것을 의미 ex) 주문은 고객이 주문할 때 발생 ■ 조인의 의미 결국 데이터의 중복을 피하기 위해 테이블은 정규화에 의해 분리됨. 분리됨녀서 두 테이블은 서로 관계를 맺게 되고, 다시 이 두 테이블의 데이터를 동시에 출력하거나 관계가 있는 테이블을 참조하..
모델링 시 최대한 중복 데이터를 허용하지 않아야 저장공간의 효율적인 사용과 업무 프로세스의 성능을 기대할 수 있음. 이러한 중복 데이터를 허용하지 않는 방식으로 테이블을 설계하는 방식을 정규화라고 함. ■ 정규화(DB Normalization)의 개념 하나의 엔터티에 많은 속성을 넣게 되면, 해당 엔터티를 조회할 때마다 많은 양의 데이터가 조회될 것이므로 최소한의 데이터만을 하나의 엔터티에 넣는 식으로 데이터를 분해하는 과정을 정규화라고 함 데이터의 일관성, 최소한의 데이터 중복, 최대한의 데이터 유연성을 위한 과정이라고 볼 수 있음 데이터의 중복을 제거하고 데이터 모델의 독립성을 확보 데이터 이상현상을 줄이기 위한 데이터 베이스 설계 기법 엔터티를 상세화하는 과정으로 논리 데이터 모델링 수행 시점에서 ..
■ 식별자의 개념 하나의 엔터티에 구성된 여러 개의 속성 중에 엔터티를 대표할 수 있는 속성을 나타냄 하나의 유일한 식별자가 존재해야 함 식별자는 논리 모델링에서 사용하는 용어이고, 물리 모델링에서는 키(key)라고 표현 ex) 학생 엔터티의 주식별자는 학생번호 속성 (논리 모델링) => 학생 테이블의 기본키는 학생번호 컬럼 (물리 모델링) ■ 주식별자 특징 유일성 주식별자에 의해 모든 인스턴스를 유일하게 구분함 ex) 학생 엔터티에서 이름 속성은 동명이인이 발생할 수 있으므로 모든 인스턴스를 완벽하게 구분할 수 없으므로 학생번호와 같은 유일한 식별자를 주식별자로 사용 최소성 주식별자를 구성하는 속성은 유일성을 만족하는 최소한의 속성으로 구성 ex) 학생 엔터티의 주식별자는 학생번호만으로 충분한데 학생번..
■ 관계의 개념 관계는 엔터티 간의 연관성을 나타낸 개념 관계를 정의할 때는 인스턴스(각 행 데이터)간의 논리적인 연관성을 파악하여 정의 엔터티를 어떻게 정의하느냐에 따라 변경되기도 함 ■ 관계의 종류 존재적 관계 한 엔터티의 존재가 다른 엔터티의 존재에 영향을 미치는 관계 엔터티 간의 연관된 상태를 의미 ex) 부서 엔터티가 삭제되면 사원 엔터티의 존재에 영향을 미침 행위적 관계 엔터티 간의 어떤 행위가 있는 것을 의미 ex) 고객 엔터티의 행동에 의해 주문 엔터티가 발생 ※ ERD에서는 존재 관계와 행위 관계를 구분하지 않음 ■ 관계의 구성 관계명 차수 (Cardinality) 선택성 (Optionality) ■ 관계의 차수 한 엔터티의 레코드(인스턴스)가 다른 엔터티의 레코그와 어떨게 연결되는지를 ..
■ 속성의 개념 속성은 업무에서 필요로하는 고유한 성질, 특징을 의미(관찰 대상) → 컬럼으로 표현할 수 있는 단위 업무상 인스턴스로 관리하고자 하는 더 이상 분리되지 않는 최소의 데이터 단위 인스턴스의 구성 요소 ex) 학생 엔터티에 이름, 학번, 학과 번호 등이 속성이 될 수 있음 ■ 엔터티, 인스턴스, 속성, 속성값의 관계 한 개의 엔터티는 2개 이상의 인스턴스의 집합이어야 함 (= 하나의 테이블은 두 개 이상의 행을 가짐) 한 개의 엔터티는 2개 이상의 속성을 가짐 (= 하나의 테이블은 두 개 이상의 컬럼으로 구성됨) 한 개의 속성은 1개의 속성값을 가짐 (= 각 컬럼의 값은 하나씩만 삽입 가능함) 속성은 엔티티에 속한 엔티티에 대한 자세하고 구체적인 정보를 나타냄. 각 속성은 구체적인 값을 가짐..