728x90
반응형
SMALL

MySQL 30

UNION 연산자

1. UNION 연산자UNION 연산자는 SQL에서 여러 SELECT 문의 결과를 하나의 결과 집합으로 결합할 때 사용된다. 즉, 서로 다른 테이블이나 같은 테이블의 다른 조건에서 검색된 데이터를 하나의 결과로 볼 수 있도록 하기 위해 사용한다.기능 : UNION은 두 개 이상의 SELECT 결과를 결합한다.조건 : 모든 SELECT 문은 동일한 수의 열을 가져야 하며, 열의 데이터 타입이 호환 가능해야 한다.중복 제거 : 기본적으로 UNION은 중복된 행을 제거한다.중복 포함 : 중복된 행을 포함하려면 UNION ALL을 사용한다.사용 예시SELECT name, email FROM customersUNIONSELECT name, email FROM suppliers;--------------------..

MySQL 2024.07.15

제 3정규형(Third Normal Form, 3NF)

1. 제 3정규형제 3정규형(Third Normal Form, 3NF)은 데이터베이스 테이블이 제 2정규형(2NF)을 만족하며, 추가적으로 모든 비기본 키 속성이 기본 키에만 종속되고 기본 키가 아닌 다른 속성에는 종속적이지 않아야 한다. 이를 '이행적 종속성이 없어야 한다'고 한다. 이행적 종속이란 A -> B, B -> C의 종속 관계에서 A가 B에 종속되고, B가 C에 종속될 때, 간접적으로 A가 C에 종속되는 관계를 말한다. 제 3정규형을 만족하지 못하는 예제학생ID학생 이름과목코드과목명교수ID교수 이름1홍길동MAT101수학101김교수2이순신ENG101영어103박교수 학생 성적 테이블학생 성적 테이블이 제 3정규형(3NF)을 만족하도록 설계하기 위해 이행적 종속성을 제거해야 한다. 현재 테이블에서..

MySQL 2024.07.15

제 2정규화(Second Normal Form, 2NF)

1. 개념1NF를 만족하며, 모든 비기본 키 속성이 전체 기본 키에 대해 완전 함수적 종속을 가져야 한다.즉, 기본 키의 일부에만 종속된 속성이 없어야 한다. 2NF를 만족하지 못하는 데이터 예제학생들이 수강하는 과목과 그 과목의 담당 교수에 대한 정보를 포함하는 테이블을 설계.여기서 pk는 {학생ID, 과목코드}의 복합 키입니다. 수강 정보 테이블학생ID과목코드과목명담당 교수1MAT101수학김교수1SCI101과학이교수2MAT101수학김교수2ENG101영어박교수 위 테이블에서 '과목명'과 '담당 교수'는 과목코드에 부분적으로 종속되어 있다. 즉, 학생ID와는 직접 적인 관련이 없다.이는 2NF를 위반하는 데이터의 형태. 2NF 문제 해결2NF를 만족시키기 위해 부분 종속성을 제거해야 한다.이를 위해 위 ..

MySQL 2024.06.24

제 1정규화(First Normal Form, 1NF)

1. 개념테이블(Relation)이 제 1정규형을 만족했다는 것은 아래 세 가지 조건를 만족했다는 것을 의미한다.어떤 Relation에 속한 모든 Domain이 원자값(atomic value)만으로 되어 있다.모든 attribute에 반복되는 그룹(repeating group)이 나타나지 않는다.기본 키를 사용하여 관련 데이터의 각 집합을 고유하게 식별할 수 있어야 한다.1. 원자값이 아닌 데이터제 1정규형의 첫 번째 조건은 모든 도메인이 원자값으로 구성되어야 한다는 것원자값이 아닌 예 (수강 과목)학생ID이름 수강 과목1홍길동수학, 과학2이순신역사, 미술, 음악 위 표에서 '수강 과목' 필드에 여러 과목이 쉼표로 구분되어 들어가 있어, 이 필드가 원자값이 아님.2. 반복 그룹이 있는 데이터제 1정규형의..

MySQL 2024.06.24

서브 쿼리란

1. 개념subquery란?서브쿼리(subquery)는 SQL 문장 내에서 다른 SQL 쿼리를 내포하는 구문. 서브쿼리의 개념서브쿼리는 보통 소괄호 () 안에 작성되며, 메인 쿼리(main query) 또는 외부 쿼리(outer query)라고 하는 더 큰 SQL 쿼리의 일부로 존재. 서브쿼리는 메인 쿼리에 의해 반환된 데이터를 기반으로 추가적인 조건을 적용하거나, 메인 쿼리의 조건을 정의하는 데 사용된다. 문법에 형태 살펴 보기select * from reservationwhere name in( select name from customer where address ='서울' ); 서브쿼리를 사용하는 이유복잡성 감소: 복잡한 쿼리를 더 작고 관리하기 쉬운 부분으로 나누어 처리할 수 있다.재사용성: 같..

MySQL 2024.06.24

쇼핑몰과 카테고리 2단계

1. 설계tb_categories 테이블Field NameData TypeDescriptionConstraints Example Valuescategory_idINT카테고리의 고유 IDPRIMARY KEY, AUTO_INCREMENT1, 2, 3parent_idINT상위 카테고리의 IDFOREIGN KEY, NULL 가능NULL, 1category_nameVARCHAR(100)카테고리 이름NOT NULL"남성복", "팬츠", "셔츠" category_idparent_idcategory_name1NULL남성복2NULL여성복31팬츠 (남성복)42셔츠 (남성복)51팬츠 (여성복)62셔츠 (여성복)73면바지 (남성복)85면바지 (여성복)93슬랙스 (남성복)105슬랙스 (여성복)CREATE DATABASE dem..

MySQL 2024.06.24
728x90
반응형
SMALL