본문 바로가기

전체 글148

[DBMS] JOIN - ANSI표준, INNER JOIN, OUTER JOIN, CROSS JOIN [10] JOIN 10.1. 개념 JOIN 이 필요한 이유 필요한 정보(상품명, 유저 정보, 카테고리 정보 등)가 각기 다른 테이블에 분산 저장되어 있을때, 이를 하나의 테이블로 가져와 보기좋게 데이터를 추출하기 위해서임. 서로 다른 테이블을 공통 컬럼을 기준으로 합치는 (결합하는) 테이블 단위 연산. 여러 테이블에 대한 조인 검색 여러 개의 테이블을 연결하여 데이터를 검색하는 것 조인 속성 조인 검색을 위해 테이블을 연결해주는 속성(컬럼) SELECT * FROM 테이블1 JOIN 테이블2 ON 테이블1.컬럼명, 테이블2.컬럼명 (ANSI 표준) SELECT * FROM 테이블1, 테이블2 WHERE 테이블1.컬럼명 = 테이블2.컬럼명 SELECT * FROM 테이블1 JOIN 테이블2 ON 테이블1... 2023. 3. 12.
[DBMS] SELECT - WHERE, GROUP BY, HAING, ORDER BY, 함수 [9] SELECT 9.1. Syntax SELECT [DISTINCT(중복허용불가)] { * | [AS 별칭], ...} (5) -- * = ALL / -- AS 생략가능 FROM 테이블이름(들) [AS 테이블이름 별칭] (1) [WHERE 검색조건(들)] -- 조건지정 (2) [GROUP BY 속성이름] -- 묶기 (3) [HAVING 검색조건(들)] -- GROUP 에서 조건 (4) [ORDER BY 속성이름[ASC[DESC]] -- ASC 오름차순, DESC 내림차순 (6) ALL : 투플의 중복을 허용하도록 지정 DISTINCT : 투플의 중복을 허용하지 않도록 지정 중복을 제거한 유일 집합을 추출 컬럼 2개를 조회 2개 컬럼 조합 기준 중복된 행이 제거된 집합이 출력됨 AS 키워드를 이용해 결.. 2023. 3. 11.
[DBMS] SQL 기본 - CRUD, Insert, Select, Update, Delete, DML 등 [8] SQL 기본 8.1. SQL SEQUEL (Structure English QUEry Language) 1974년 IBM 에서 연구용 DBMS 인 SYSTEM R을 위한 언어로 개발됨 ANSI/ISO가 표준 Standard SQL 를 지원함 SQL (Structure Query Language) SQL-86, SQL-92, SQL-99 ... 8.2. SQL (데이터 언어) 종류 DDL (데이터 정의어 : Data Definition Language) 스키마 구조와 제약조건 등을 정의, 수정, 삭제 테이블을 생성, 변경, 제거하는 기능을 제공 DML (데이터 조작어 : Data Manipulation Language) 데이터의 삽입, 삭제, 수정, 검색 테이블에 새 데이터를 삽입, 테이블에 저장된.. 2023. 3. 10.
[DBMS]SQL 기초 - 테이블 생성 및 수정, 데이터 타입, 제약조건 [7] SQL 기초 7.1. 데이터 타입 테이블에 데이터가 저장되는 형태 데이터 유형 문자형 CHAR(길이) : 고정길이 문자열 저장 CHARATER(길이) 예) CHAT(5) : 컬럼에 4자리 문자열을 저장하면 맨 끝이 1자리가 공백으로 채워짐 VARCHAR(길이) : 가변길이 문자열 저장 CHARCTER VARCHAR(길이) 예) VARCHAR(5) : 컬럼에 4자리 문자열을 저장하면 4자리 문자열만 저장함 TEXT : 길이 제한이 없는 가변길이 문자열 저정 VARCHAR 숫자형 NUMERIC(총자리수, 소수점자릿수) 예) NUMERIC(7,3) : 최대 9999.999 까지 저장 NUMERIC(총자리수) 예) NUMERIC(7) : 최대 9999999 까지 저장 SMALLINT : 정수형 데이터 저.. 2023. 3. 9.
[Lv.1][MySQL]강원도에 위치한 생산공장 목록 출력하기 - SELECT [Lv.1][MySQL]강원도에 위치한 생산공장 목록 출력하기 문제 : https://school.programmers.co.kr/learn/courses/30/lessons/131112 난이도 : [Lv.1] 조건에 맞는 도서리스트 출력하기 문제 설명 다음은 식품공장의 정보를 담은 FOOD_FACTORY 테이블입니다. FOOD_FACTORY 테이블은 다음과 같으며 FACTORY_ID, FACTORY_NAME, ADDRESS, TLNO는 각각 공장 ID, 공장 이름, 주소, 전화번호를 의미합니다. 참조 : https://school.programmers.co.kr/learn/courses/30/lessons/131112 문제 FOOD_FACTORY 테이블에서 강원도에 위치한 식품공장의 공장 ID, 공장 .. 2023. 3. 8.
[Lv.1][MySQL]조건에 맞는 도서리스트 출력하기 - SELECT [Lv.1][MySQL]조건에 맞는 도서리스트 출력하기 문제 : https://school.programmers.co.kr/learn/courses/30/lessons/144853 난이도 : [Lv.1] 조건에 맞는 도서리스트 출력하기 문제 설명 다음은 어느 한 서점에서 판매중인 도서들의 도서 정보(BOOK) 테이블입니다. BOOK 테이블은 각 도서의 정보를 담은 테이블로 아래와 같은 구조로 되어있습니다. 참조 : https://school.programmers.co.kr/learn/courses/30/lessons/144853 문제 BOOK 테이블에서 2021년에 출판된 '인문' 카테고리에 속하는 도서 리스트를 찾아서 도서 ID(BOOK_ID), 출판일 (PUBLISHED_DATE)을 출력하는 SQL문.. 2023. 3. 7.
[DBMS] 정규화 - 정규화, 정규형, 함수적 종속성 등 [6] 정규화 6.1. 정규화의 개념 관계형 데이터베이스의 설계에서 중복을 최소화하게 데이터를 구조화하는 프로세스. 함수적 종속성을 이용해서 연관성 있는 속성들을 분류하고, 각 릴레이션들에서 이상(anomaly)현상이 생기지 않도록 하는 과정. 데이터의 일관성을 유지하고 데이터의 중복을 방지하며 데이터의 유연성을 유지하기 위해 데이터를 분해하는 과정. 6.2. 정규화의 목적 데이터 중복을 최소화 데이터베이스 구조 확장시 재 디자인을 최소화 무결성 제약조건의 시행을 간단하게 하기 위해 6.3. 정규화 용어 함수적 종속성 (FD : Functional Dependency) 테이블의 특정 컬럼 A 의 값을 알면 다른 컬럼 B 의 값을 알수 있을 때 컬럼 B 는 컬럼 A 에 함수적 종속성이 있다고 함. 예) 주.. 2023. 3. 6.
[DBMS] 데이터 모델링(3) - 엔터티 속성 표기법, 릴레이션(관계) [4] 데이터 모델링(3) 4.1. 엔터티 속성 속성의 의미 비즈니스에서 필요로 하며 인스턴스에서 관리하고자 하는 의미상 더 이상 분리되지 않는 최소의 데이터 단위 엔터티에 대한 설명이며 인스턴스의 구성요소가 됨 예) 고객 엔터티의 고객 성별 속성 특징 1개의 엔터티는 여러 개의 인스턴스를 가질 수 있고 하나의 인스턴스는 여러개의 속성을 가짐. 또한 하나의 속성은 단 하나의 속성값을 가지게 됨. 엔터티와 마찬가지로 반드시 비즈니스에서 필요로 하고 IT 시스템에서 저장 및 관리하고자 하는 정보여야 함 정규화 이론에 따라 속성이 속해 있는 엔터티의 주식별자에 함수적 종속형을 가져야 함 예) - 지하철역(엔터티)은 여러 개의 역이 있음 (인스턴스) - 지하철역에 대한 정보는 선명, 역명 등이 있음 (속성) -.. 2023. 3. 5.