SQLD
-
[DML]SELECT-서브쿼리SQLD/SQL 2023. 9. 7. 18:01
서브쿼리 서브쿼리란? 하나의 쿼리 안에 존재하는 또 다른 쿼리이다. SELECT,FROM,WHERE,HAVING,ORDER BY,UPDATE문의 SET절 에서 사용될 수 있다. 서브쿼리 사용시 주의 사항 서브쿼리는 괄호()로 감싸서 사용해야한다. 서브쿼리는 ORDER BY절을 사용할 수 없다. 메인쿼리절에서만 사용 가능하다. 서브쿼리의 종류 사용되는 위치에 따라 다음과 같이 나눌 수 있다. SELECT 절 스칼라 서브쿼리(Scalar Subquery) FROM 절 인라인 뷰(Inline View) WHERE 절 중첩 서브쿼리(Nested Subquery) 1.스칼라 서브쿼리 SELECT절에서 사용하는 스칼라 서브쿼리는 한 행, 한 컬럼만을 반환한다. 컬럼을 쓸 수 있는 대부분의 곳에서 사용할 수 있다. ..
-
3.속성의 식별자와 관계SQLD/모델링 2023. 9. 7. 14:41
1.식별자 식별자란? 모든 엔터티는 2개 이상의 인스턴스를 가지고 있고, 인스턴스는 속성으로 자신의 특성을 나타낸다. 식별자는 이런 속성 중에 각각의 인스턴스를 구분 가능하게 만들어주는 대표 격인 속성을 말한다. 식별자의 분류 분류 식별자 대표성 여부 주식별자 보조식별자 스스로 생성된 여부 내부식별자 외부식별자 속성 수에 따른 여부 단일식별자 복합식별자 대체 여부 본질식별자 인조식별자 1.대표성 여부 분류 설명 주식별자 (Primary Identifier) 유일성,최소성,불변성,존재성을 가진 대표 식별자 기본키인 PK에 해당하는 속성이다. 하나의 속성이 주식별자가 될 수 있고, 여러 개의 속성이 주식별자가 될 수도 있다. 예-사원 번호,고객 번호 등 ⚠️주식별자의 특징 유일성 : 인스턴스에 유니크함 최소..
-
2.엔터티와 속성(도메인,속성의 분류)SQLD/모델링 2023. 9. 6. 19:55
엔터티 엔터티란? 독립체,식별가능한 객체를 의미한다. 테이블은 엔터티라고 할 수 있다. 엔터티의 특징 업무에 쓰이는 정보여야 한다. 유니크함을 보장할 수 있는 식별자가 있어야 한다. 2개 이상의 인스턴스를 갖고 있어야 한다. 다른 엔터티와 1개 이상의 관계를 갖고 있어야 한다. 엔터티 이름 작성 원칙 업무에서 실제 쓰이는 이름이여야 한다. 한글은 약어를 사용하지 않고, 영문은 대문자로 표기한다. 단수 명사로 표현하고 띄어쓰기는 사용하지 않는다. 엔터티가 무엇을 갖고있는지 명확히 표시한다. 엔터티의 분류 엔터티는 형태 또는 발생 시점에 따라 분류 된다. 1.형태에 따른 분류 (유형,무형) 분류 설명 유형 엔터티 물리적 형태로 존재하며 안정적이고 지속적이다. 상품,회원 등 개념 엔터티 물리적인 형태가 없는 ..
-
1.모델링 기본,스키마,ERDSQLD/모델링 2023. 9. 6. 18:48
1.모델링 기본 데이터 모델링이란? 데이터 모델링은 데이터베이스를 설계하고 구축할때 사용되는 개념,절차이다. 데이터 모델링은 현실 세계의 데이터를 정해진 표기법으로 추상화하여 표현한 것이다. 데이터 모델링을 통해 DB구조를 정의하고 이해하기 쉽게 만드는데 도움을 준다. 구축만을 위한게 아닌 업무를 분석하고 설명하는 부분에서도 중요한 의미를 갖는다. 모델링의 특징 단순화 - 복잡한 현실을 제한된 언어나 표기법을 통해 이해하기 쉽게 단순화한다. 추상화 - 현실세계를 일정한 형식에 맞추어 표현한다. 명확화 - 애매모호함을 배제하고 누구나 이해 가능하도록 정확하게 현상을 기술한다. 모델링의 유의사항 1.중복(Duplication) 같은 데이터가 여러 엔터티에 중복으로 저장되는 현상을 지양해야 한다. 2.비유연성..
-
[DML]SELECT-연산자SQLD/SQL 2023. 8. 30. 17:31
연산자 1.산술 연산자 연산자 의미 우선 순위 () 괄호로 우선 순위를 조정 1 * 곱하기 2 / 나누기 2 + 더하기 3 - 빼기 3 NUMBER,DATE 자료형에 적용되는 사칙 연산 기능을 가진 연산자 산술 연산자에서 NULL값은 NULL을 반환한다. 나누기 연산을 할 때 분모가 0값이면 에러가 발생한다 2.합성 연산자 오라클 ( || ) SQL-Server ( + ) SELECT 'S'||'Q'||'L'||'D' SELECT S+Q+L+D 문자와 문자를 연결할 때 사용하는 연산자 CONCAT함수를 사용해도 똑같은 결과를 얻는다. 3.비교 연산자와 부정 비교 연산자 👉🏻비교 연산자 연산자 의미 예시 = 같음 col = 10 = 크거나 같음 col >= 10 👉🏻부정 비교 연산자 연산자 의미 예시 !=..
-
[DML]SELECT구문SQLD/SQL 2023. 8. 29. 19:34
SELECT 저장되어 있는 데이터를 조회하기 위해 사용한다. 1)SELECT의 구성과 실행 순서 순서 절 설명 5 SELECT 가져올 컬럼을 지정한다. 1 FROM 가져올 테이블을 지정한다. 2 WHERE 조건을 설정한다. 3 GROUP BY 그룹별로 묶을 수 있도록 해주는 명령어 4 HAVING 집계 함수에 대한 조건절은 HAVING에서만 사용 가능 6 ORDERBY 지정한 컬럼을 오름차순/내림차순 정렬한다. GROUP BY 그룹별로 묶을 수 있도록 해주는 명령어 그룹화 하는 이유는 그룹별로 집계를 하기 위해서인 경우가 많다. 여러개의 컬럼으로 그룹화 할 수 있다. SELECT 지역,성별,COUNT(*) as 집계 FROM 주민 GROUP BY 지역,성별 -- 지역과 성별을 그룹화한다. EX) 경기 여..
-
[DML]INSERT,UPDATE,DELETESQLD/SQL 2023. 8. 29. 13:59
1.INSERT 테이블에 데이터를 삽입한다. INSERT는 컬럼명을 명시하여 삽입하거나 명시하지 않고 삽입하는 두 가지 유형으로 나뉜다. 1)데이터 삽입하는 방법 1️⃣컬럼명을 명시하고 INSERT INSERT INTO 테이블명(컬럼명1,컬럼명2) VALUES(데이터1,데이터2); INSERT INTO USER(ID,EMAIL,NAME) VALUES(1,'bcde@naver.com','김길똥') ID EMAIL NAME AGE 1 bcde@naver.com 김길똥 NULL 원하는 컬럼에만 값을 입력한다. 지정한 컬럼명과 입력되어야하는 값을 서로 1:1로 매핑해서 입력하면 된다. 데이터 유형이 문자형이라면 '로 입력하고 숫자형은 그대로 입력한다. 컬럼의 순서는 테이블의 컬럼 순서와 같을 필요는 없으며, 정..
-
[DDL]ALTER,DROP,TRUNCATE,RENAMESQLD/SQL 2023. 8. 29. 12:49
1.ALTER 테이블 구조를 변경하기 위한 명령어 속성의 추가,삭제,변경(데이터 타입,제약조건 및 속성의 이름) 종류 (Oracle/SQL Server) 설명 ADD 새로운 컬럼,제약조건의 추가 👉🏻컬럼의 추가 ALTER TABLE 테이블명 ADD [COLUMN] 컬럼명 테이터 타입 *오라클에서는 [COLUMN]을 생략한다. 👉🏻제약조건의 추가 ALTER TABLE 테이블명 ADD CONSTARINT 제약조건명 제약조건(컬럼명) MODIFY / ALTER 컬럼의 데이터 유형, 제약조건(DEFAULT값, NOT NULL)에 대한 변경 ALTER TABLE 테이블명 MODIFY 컬럼명 데이터유형 [DEFAULT 값] [NOT NULL] ALTER TABLE 테이블명 ALTER COLUMN 컬럼명 데이터유형 ..