SQL 관리 구문 ( 제약조건, PK할당, 트랜잭션, DELETE | INSERT 동작,DB키 종류, 연산자 우선순위 )
·
CS/DB ( + SQLD )
📣 SQL 관리 구문1️⃣ 제약 조건 종류 PRIMARY KEY ( PK, 기본키 ), UNIQUE KEY, NOT NULL, CHECK, FOREIGN KEY ( FK , 외래키 )2️⃣ 기본키 할당ALL TABLE 테이블명 ADD CONSTRAINT constraint_name PRIMARY KEY ( c1, c2 )3️⃣ 트랜잭션 ⭐원자성 : 연산은 모두 실행되거나 전혀 실행되지 않는다.일관성 : 연산 이전에 데이터에 잘못이 없다면 연산 후에도 잘못이 있으면 안됨고립성 : 연산 도중 다른 트랜잭션의 영향을 받지 않음. ( 독립적 )지속성 : 트랜잭션이 성공적으로 수행되면 영구적으로 저장됨4️⃣ DELETE(modify) 동작Cascade : 부모 삭제시 자식도 같이 삭제SET NULL / SET ..
SQL 사용 ( 서브쿼리, 집합연산자, 그룹함수, 윈도우함수, TOP N 쿼리, 계층형 질의와 셀프 조인 )
·
CS/DB ( + SQLD )
📣 SQL 사용1️⃣ 서브 쿼리연관 서브쿼리 : 서브쿼리가 메인 쿼리 컬럼을 가짐비연관 서브쿼리 : 메인 쿼리에 값을 제공 하기 위한 목적단일행 서브쿼리 : 실행 결과가 항상 1건이하, 단일 행 비교 연산자 사용다중행 서브쿼리 : 실행 결과가 여러 건, 다중행 비교 연산자다중행 비교 연산자 : IN, ANY, ALL, EXISTS다중 컬럼 서브쿼리 : 여러 쿼리 반환, 메인 쿼리 조건절에 따라 여러 컬럼 동시에 비교 가능⭐스칼라 서브쿼리 : SELECT 절에서 사용, 한 행, 한 컬럼만 반환⭐인라인 뷰 : FROM절 에서 사용, 서브쿼리를 임시 테이블 처럼 사용HAVING절, ORDER BT절에서도 사용 가능2️⃣ 집합 연산자중복제거 UNION결과를 전부 합침 ( 중복포함, 합집합 ) UNION AL..
SQL 기본 ( RDB, SELECT, 함수, WHERE절, GROUP BY, HAVING, ORDER BY, JOIN )
·
CS/DB ( + SQLD )
📣 SQL 기본1️⃣ RDB ( 관계형 데이터베이스 ) 개요DML은 Managment로 SELECT, INSERT, UPDATE, DELETE 등 데이터 수정/조회, 검색 을 담당한다.DDL은 Define으로 CREATE, ALTER, DROP, RENAME 등 데이터 구조를 정의한다.DCL은 Controll로 GRANT, REVOKE 등 사용 권한을 부여 또는 회수를 담당한다.TCL은 COMMIT, ROLLBACK 등 트랜잭션 제어한다.2️⃣ SELECT문SELECT [ALL/DISTINCT/*] columns FROM ( table명 )ALIAS는 columns 바로 뒤에 위치한다.columns와 ALIAS 사이 AS 키워드 사용 가능함. ( AS를 생략해 " (컬럼명) " 표현도 가능 )이중 인..
데이터 모델과 SQL ( 정규화, 관계와 조인, 트랜잭션 )
·
CS/DB ( + SQLD )
📣 1-2 데이터 모델과 SQL 1️⃣ 정규화엔티티를 작은 다위로 분리하는 과정, 논리 데이터 모델에서 행한다 ( 개념,물리 ❌ )✅ 정규화 장점데이터의 무결성을 위함최소한의 데이터만을 하나의 엔티티에 넣는 과정, 데이터 분해 과정데이터 일관성, 독립성, 유연성 확보입력, 수정, 삭제 성능은 향상, 조회는 성능이 저하 될 수 있음.✅ 정규화 단점엔티티의 개수, 관계증가데이터 조회시 여러번의 조인이 요구되므로 조회 성능이 저하 ( 식별자는 JOIN을 최소화한다. )❗ 제 1정규형모든 속성은 반드시 하나의 값을 가지도록 엔티티 분해 ➡ 원자성하나의 인스턴스가 비슷한 속성을 여러개 가지지 않도록 하는 것❗ 제 2정규형기본키 PK 하나고, 다른 모든 것들은 종속 되어야 한다는엔티티 일반 속성은 주식별자 전체에..
데이터 모델링 ( 엔티티, 속성, 관계, 식별자 )
·
CS/DB ( + SQLD )
📣 1-1 데이터 모델링1️⃣ 데이터 모델링현실 세계를 단순화하여 표현하는 기법🔴 특징  추상화 : 현실세계, 개념을 일정한 형식으로 간략하게 표현.단순성 : 현실세계를 정해진 표기법으로 단순하고 쉽게 표현, 핵심에 집중하고 불필요한 정보들을 제거.명확성 : 불분명함을 제거 하고 현상을 정확하게 기술🟡 목적단순 DB 구축만이 아닌 업무 설명, 분석, 형상화 목적개발 및 데이터 관리에도 사용💥 데이터 모델링에 있어서는 안되는 3가지  비유일성 : 중복되면 안된다. 비유연성 : app과 데이터 모델의 프로세스를 분리해서, 유연성을 높여야 한다.비일관성 : 데이터 간의 연관 관계에 대해 명확하게 정의.🟢 관점 데이터 : 어떤 데이터들이 업무와 얽혀 있는지프로세스 : 업무가 실제로 처리하고 있는 일이 ..