Database

    [Database] 인덱스

    DB 물리적 저장 실제 데이터 저장 보조기억장치 가장 많이 사용되는 장치 하드디스크 데이터를 읽을때 액세스 암이 이동하는시간, 주기억장치로 읽어오는 시간에 영향을 받음 액세스 시간 액세스 시간 = SEEK TIME + ROTATIONAL DELAY + TRANSFER TIME 요청 ~ 주기억장치로 로드되는 시간 Client Connectors mysql 서버 접근을 위해 App에서 사용하는 것 Connection Pool Client 를 sql 연결 Pluggable Storage Engines 데이터 저장 & 추출 (mylSAM,InnoDB) 사용 InnoDB 엔진 DB 파일 데이터 파일 사용자 데이터와 개체를 저장 테이블과 인덱스로 구성 확장자는 *.ibd 폼파일 테이블에 대한 각종 정보와 테이블 구..

    [Database] 뷰

    뷰 하나 이상의 테이블을 합하여 만든 가상의 테이블 질의의 결과로 만들어진 논리적 존재 검색하기 위해 사용하며 삽입,갱신,삭제 X 뷰의 장점 편리성 및 재사용성 - 복잡한 질의를 간단하게 작성 보안성 - 사용자별로 민감한정보제외하고 필요한 데이터만 선별하여 보여줄 수 있다 독립성 - 원본 테이블 구조가 변해도 응용에 영향을 주지않는 논리적 독립성 제공 뷰의특징 원본 데이터 값에 따라 같이 변함 독립적인 인덱스 생성이 어려움 삽입,삭제 갱신 연산에 많은 제약이 따름 더보기 💡 수정 말고 삭제→생성은 왜 안되는가 ? 테이블 → 뷰 → 뷰 유도해서 만들 수 있는데 제거 후 만들면 저 관계가 깨진다 뷰의 생성 CREATE VIEW 뷰이름 AS SELECT 문 //VIEW의 열의 위치와 개수가 //SELECT 문..

    [Database] 부속 질의

    부속질의 하나의 SQL 문 안에 다른 SQL 문이 중첩된 질의 스칼라 부속질의란? SELECT 절에서 사용되는 부속질의로, 부속질의의 결과 값을 단일 행, 단일 열의 스칼라 값으로 반환함 SELECT 문과 UPDATE SET 절에 사용된다. 상관/비상관 모두 가능하다. 인라인 뷰란? FROM 절에서 사용되는 부속질의 상관 부속질의 불가능 모두 카티전프로덕트하면 양이 많아서 일부분만 추출 중첩 질의 WHERE 절에서 사용하는 부속 질의 WHERE 절은 보통 데이터를 선택하는 조건 혹은 술어(predicate)와 같이 사용됨 비교연산자 반드시 단일행 단일 열 을 반환해야함 숭실대학교 Database 강의를 수강 후 정리하였습니다.

    [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에서 조건에 맞는 투플을 추출함 릴레이션의 투플을 추출하기 위한 연산. 찾고자 하는 조건을 명시하고 ..

    [Database] 무결성 제약 조건

    무결성 제약 조건 데이터 무결성 데이터베이스에 저장된 데이터의 일관성과 정확성을 지키는 것 도메인 무결성 제약 조건 도메인 제약 이라고도 하며 릴레이션 내의 투플들이 각 속성의 도메인에 지정된 값만을 가져야하는 조건 데이터형식, 널, 기본값,체크 등을 사용하여 지정 가능 개체 무결성 제약 조건 기본키 제약이라고도함. 삽입 : 기본키 값이 같으면 삽입이 금지됨 수정 : 기본키 값이 같거나 null로도 수정 금지 삭제 : 특별한 확인이 필요하지 않으며 즉시 수행함기본키는 NULL값을 가져서는 안되고 릴레이션 내에 오직 하나의 값만 존재해야 하는 조건 참조 무결성 제약조건 외래키 제약. 외래키는 기본키의 도메인값이거나 NULL 값이어야한다. 자식릴레이션 외래키 는 부모 릴레이션 기본키와 도메인이 동일해야하며 ..