전체 글
[Database] 뷰
뷰 하나 이상의 테이블을 합하여 만든 가상의 테이블 질의의 결과로 만들어진 논리적 존재 검색하기 위해 사용하며 삽입,갱신,삭제 X 뷰의 장점 편리성 및 재사용성 - 복잡한 질의를 간단하게 작성 보안성 - 사용자별로 민감한정보제외하고 필요한 데이터만 선별하여 보여줄 수 있다 독립성 - 원본 테이블 구조가 변해도 응용에 영향을 주지않는 논리적 독립성 제공 뷰의특징 원본 데이터 값에 따라 같이 변함 독립적인 인덱스 생성이 어려움 삽입,삭제 갱신 연산에 많은 제약이 따름 더보기 💡 수정 말고 삭제→생성은 왜 안되는가 ? 테이블 → 뷰 → 뷰 유도해서 만들 수 있는데 제거 후 만들면 저 관계가 깨진다 뷰의 생성 CREATE VIEW 뷰이름 AS SELECT 문 //VIEW의 열의 위치와 개수가 //SELECT 문..
[Database] 부속 질의
부속질의 하나의 SQL 문 안에 다른 SQL 문이 중첩된 질의 스칼라 부속질의란? SELECT 절에서 사용되는 부속질의로, 부속질의의 결과 값을 단일 행, 단일 열의 스칼라 값으로 반환함 SELECT 문과 UPDATE SET 절에 사용된다. 상관/비상관 모두 가능하다. 인라인 뷰란? FROM 절에서 사용되는 부속질의 상관 부속질의 불가능 모두 카티전프로덕트하면 양이 많아서 일부분만 추출 중첩 질의 WHERE 절에서 사용하는 부속 질의 WHERE 절은 보통 데이터를 선택하는 조건 혹은 술어(predicate)와 같이 사용됨 비교연산자 반드시 단일행 단일 열 을 반환해야함 숭실대학교 Database 강의를 수강 후 정리하였습니다.
[JAVA] ENUM
우아한 테크코스 프리코스에서 ENUM을 이용하여 코드를 구현하라는 미션이 있었다. 당시 나는 ENUM이라는 것에 대해서 알지도 못했고 필요성을 느끼지도 못하였다. 그 후 최종코딩테스트에서 메뉴 관련된 코드를 구현하다가 ENUM을 사용한다면 조금 더 효율적으로 코드 작성을 할 수 있지 않을까 라는 생각이 들었다. 물론 나의 최종 코드는 ENUM 같은 것은 사용되지 않은 코드였다 .. ENUM 이란 JDK 1.5부터 사용 가능한 서로 연관된 상수들의 집합 이다. 자바의 열거체는 실제 값뿐만 아니라 타입을 체크하며 열거체의 상숫값이 재정의되더라도 다시 컴파일할 필요가 없습니다. 아래는 사용했던 방법이다. enum 열거체이름 { 상수1이름, 상수2이름, ... } public enum Score { zero(0..
[Database] SQL 내장 함수
SQL 내장 함수 수학의 함수와 마찬가지로 특정 값, 열 값 입력받아 그 값을 계산 후 결과 값 돌려줌 Round 가 1이면 소수점 둘째자리에서 반올림 0이면 첫째자리에서 반올림 -1이면 일의자리에서 반올림 ABS 함수 : 절댓값을 구하는 함수 ROUND 함수 : 반올림한 값을 구하는 함수 REPLACE : 문자열을 치환하는 함수 LENGTH : 글자의 수를 세어주는 함수 (단위가 바이트(byte)가 아닌 문자 단위) SUBSTR : 지정한 길이만큼의 문자열을 반환하는 함수 STR_TO_DATE : 문자형으로 저장된 날짜를 날짜형으로 변환하는 함수 DATE_FORMAT : 날짜형을 문자형으로 변환하는 함수 SYSDATE : MySQL의 현재 날짜와 시간을 반환하는 함수 NULL 값 아직 지정되지 않은 값..
[Database] SQL DCL 데이터 조작어
데이터 제어어(DCL) 데이터 사용권한을 관리하는데 사용하며 GRANT,REVOKE가있다. 데이터 조작어 - 삽입, 수정, 삭제 INSERT 문 테이블에 새로운 투플을 삽입하는 명령 속성값이 처음 생성 열 순서와 같다면 생략 가능 순서중요 INSERT INTO 테이블이름[(속성리스트)] VALUES (값리스트); INSERT INTO Book(bookid, bookname, publisher, price) VALUES (11, '스포츠 의학', '한솔의학서적', 90000); 대량 삽입 한꺼번에 여러개의 투플을 삽입하는 방법 INSERT INTO Book(bookid, bookname, price, publisher) SELECT bookid, bookname, price, publisher FROM I..
[Database] SQL DDL 데이터 정의어
데이터 정의어(DDL) 테이블이나 관계의 구조를 생성하는데 사용하며 CREATE,ALTER,DROP 이 있다. CREATE 문 테이블 구성, 속성과 속성 제약정의 , 기본키 외래키 정의하는 명령 PRIMARY KEY : 기본키를 정할 때 사용 FOREIGN KEY : 외래키를 정할 때 사용 ON UPDATE, ON DELETE : 외래키 속성 수정과 투플 삭제시 동작 나타냄 참조의 무결성 지켜야함. CREATE TABLE 테이블이름 ( 속성이름 데이터타입 [NOT NULL | UNIQUE | DEFAULT 기본값 | CHECK 체크조건] [PRIMARY KEY 속성이름(들)] [FOREIGN KEY 속성이름 REFERENCES 테이블이름(속성이름)], [ON DELETE [CASCADE(연쇄삭제)┃SET..
[Database] SQL DML 데이터 조작어
[Database] 데이터 조작어(DML) 데이터를 검색, 삽입,수정, 삭제 하는데 사용하며 SELECT,INSERT,DELETE,UPDATE 문이 있다. SELECT문은 질의어라고도 한다. 데이터 조작어 - 검색 별칭 SELECT SUM(saleprice) AS 총매출 처럼 SUM(saleprice)를 총매출 로 부여 SELECT 문 SELECT / FROM SELECT - 속성명 SELECT * 하면 모든 속성 작성하기 중복을 제거하고 싶으면 SELECT DISTINCT pulisher FROM - 테이블이름 Where - 조건(비교, between, in, like, isnull, and 등) 비교 ≥ ≤ 등으로 비교 between ~이상 ~ 이하 IN( ) IN 안에있는 것들 OR LIKE ’te..
[Database] 조인 연산
조인 두 릴레이션의 공통 속성을 기준으로 속성 값이 같은 투플을 수평으로 결합하는 연산임 조인을 위해서는 두 릴레이션의 조인에 참여하는 속성이 서로 동일한 도메인으로 구성되야함 조인연산 기본 연산 :세타조인, 동등조인, 자연조인 확장 조인: 세미조인, 외부조인 세타조인 조인에 참여하는 두 릴레이션의 속성 값을 비교하여 조건을 만족하는 투플 반환 세타 조인 조건은 { = ≠ ≤ ≥ } 중 하나가 됨 동등조인 세타조인에서 = 연산자를 사용한 조인을 말함. 보통 조인연산은 동등조인 자연조인 동등조인에서 조인에 참여한 속성이 두번 나오지 않도록 두번째 속성을 제거한 결과를 반환 같다고 표시한 것에서 속성을 한번만 표시 EX) 고객번호 2개인거 1개만표시 외부조인 자연 조인 시 조인에 실패한 투플을 모두 ..
[Database] 관계 대수
관계대수 관계대수 릴레이션에서 원하는 결과를 얻기 위해 수학의 대수와 같은 연산을 이용하여 질의하는 방법 관계대수 - 어떤 데이터를 어떻게 찾는지에 대한 처리 절차를 명시(절차적언어) select , 합집합, 교집합, division 이런거 관계해석 - 어떤 데이터를 찾는지만 명시하는 선언적인 단어(비절차적언어) or 연산, and 연산, not연산 등 도메인의 집합 (카티전 프로덕트) → (부분집합) 릴레이션 → 연산(관계대수,관계해석) → 결과 관계대수 연산자 관계대수식 릴레이션 간 연산을 통해 결과 릴레이션을 찾는 절차를 기술한 언어로, 이연산을 수행하기 위한 식을 관계대수식이라고함. 셀렉션 - R1에서 조건에 맞는 투플을 추출함 릴레이션의 투플을 추출하기 위한 연산. 찾고자 하는 조건을 명시하고 ..