'Data Base/Daily_study' 카테고리의 글 목록
본문 바로가기
728x90

Data Base/Daily_study14

SQL study [21.09.03] SQL study [21.09.03] DELETE(/MODIFY) Action 1) CASCADE : Master 삭제시 Child 같이 삭제 2) SET NULL : Master 삭제시 Child 해당 필드는 NULL 3) SET DEFAULT : Master 삭제시 Child 해당 필드는 Default 값으로 설정 4) RESTRICT : Child 테이블에 PK 값이 없는 경우에만 Master 삭제 허용 5) NO ACTION : 참조무결성을 위반하는 삭제/수정 액션을 취하지 않는다. INSERT Action 1) AUTOMATIC : Master 테이블에 PK 가 없는 경우 Master PK 를 생성 후 Child 입력 2) SET NULL : Master 테이블에 PK 가 없는 경우 Child .. 2021. 9. 3.
SQL study [21.09.02] SQL study [21.09.02] AS 의 생략 SELECT A.Name NAME FROM S0902_2 A;# AS 생략 SELECT A.Name AS NAME FROM S0902_2 AS A;# AS 생략 X AS 를 생략하여도 위와 같이 ALIAS를 지을 수 있다는 것을 알았다. WHERE 조건 내에서 같은 Table 을 참조할 때 생기는 오류 DELETE FROM Person WHERE Id NOT IN ( SELECT MIN(Id) FROM Person GROUP BY Email ); 위와 같은 경우 Update 하려는 Table 과 WHERE 조건 내의 Table 과 같은 Table 을 사용한다. 이 경우 이와 같은 오류가 발생할 수 있다. 이런 경우에는 SUB QUERY 를 한번 더 감싸.. 2021. 9. 2.
SQL study [21.08.25] SQL study [21.08.25] FOREIGN KEY REFERENCES () ON DELETE ~ CREATE TABLE Parent ( ID INT PRIMARY KEY, SCORE INT NOT NULL, NAME VARCHAR(30) ); CREATE TABLE Child ( PID_CASCADE INT, #DELETE/UPDATE 시 CASCADE 처리되는 FK PID_SETNULL INT, #DELETE/UPDATE 시 SET NULL 처리되는 FK NUMBER INT, FOREIGN KEY (PID_CASCADE) REFERENCES Parent(ID) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY (PID_SETNULL) REFERENCES P.. 2021. 8. 25.
SQL study [21.08.24] SQL study [21.08.24] 제약조건 [Constraint] : 테이블에 잘못된 입력을 막기 위해서 일정한 규칙을 지정하는 것 - NOT NULL #NULL값 입력 금지 - UNIQUE #중복값 입력 금지 (NULL 값 중복입력은 가능) - PRIMARY KEY : NOT NULL + UNIQUE - FOREIGN KEY : 다른 테이블의 컬럼을 조회해서 무결성 검사 - CHECK : 조건으로 설정된 값만 입력 허용 컬럼에 제약조건 설정 CREATE TABLE Accounts ( id INT NOT NULL UNIQUE, #PRIMARY KEY 역할 Name VARCHAR NOT NULL #NOT NULL! ); 테이블에 제약 설정 CREATE TABLE study( Id INT NOT NULL.. 2021. 8. 24.
SQL study [21.08.23] SQL study [21.08.23] ALTER 1. ADD #테이블에 필드를 추가 - ALTER TABLE ADD 2. DROP #테이블에서 필드를 삭제 - ALTER TABLE DROP 3. MODIFY COLUMN #테이블에서 필드의 타입을 변경 - ALTER TABLE MODIFY COLUMN CASE #1) VALUE 값에 따라 switch~case 문 실행 CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result] --... [ELSE result] END #2) true인 condition 의 result 가 선택됨 CASE WHEN [condition] THEN result [WHEN [condition] T.. 2021. 8. 24.
SQL study [21.08.19] SQL study [21.08.19] SQL 문장들의 종류 오늘의 한 마디 : 오늘과 내일은, 2일뒤 토요일 (8/21) 에 있을 SDS SW 검정시험을 준비해야해서 SQLD 공부는 많이 하지 못 하였다. 토요일 시험이 끝난 뒤 2주간은 이제 SQLD공부에 힘을 쏟아야겠다. 2021. 8. 19.
SQL study [21.08.18] SQL study [21.08.18] MySQL workbench Study / Programmers Study : HOUR(DATETIME) # DATETIME 의 시간만 따 오는 것. : 이름이 있는 동물들을 찾으려면 IS NOT NULL SHOW DATABASES; USE world; SHOW TABLES; DESC city; SELECT COUNT(*) FROM city; # city table 에 있는 모든 도시들의 수가 나옴 SELECT AVG(Population) FROM city; # 도시들의 평균 인구수 SELECT CountryCode, MAX(Population) FROM city GROUP BY CountryCode HAVING MAX(Population) > 8000000; # H.. 2021. 8. 19.
SQL study [21.08.17] SQL study [21.08.17] 분산 데이터베이스 - 여러 곳으로 분산되어있는 데이터베이스를 하나의 가상 시스템으로 사용할 수 있도록 한 데이터베이스 - 논리적으로 동일한 시스템에 속하지만, 컴퓨터 네트워크를 통해 물리적으로 분산되어 있는 데이터들의 모임 - 데이터베이스를 연결하는 빠른 네트워크 환경을 이용하여 데이터베이스를 여러 지역 여러 노드로 위치시켜 사용성/성능 등을 극대화 시킨 데이터베이스 * 장점 1. 지역 자치성, 점증적 시스템 용량 확장 2. 신뢰성 / 가용성 3. 효용성 / 융통성 4. 빠른 응답 속도 / 통신 비용 절감 5. 데이터의 가용성과 신뢰성 증가 6. 시스템 규모의 적절한 조절 7. 각 지역 사용자의 요구 수용 증대 * 단점 1. 소프트웨어 개발 비용 2. 오류의 잠재성 .. 2021. 8. 18.
SQL study [21.08.16] SQL study [21.08.16] 슈퍼타입 모델링 - 장점 : 전체 사원에 대한 검색 용이. 무결성에 유리. - 단점 : 서브타입별 속성이 많다면 위와 같이 발생하는 NULL 이 지나치게 발생할 수 있다. 서브타입 모델링 - 장점 : 슈퍼타입 모델링에 비해 NULL 이 없거나 줄어들고, 정규직/임시직 사원을 별개로 처리하는 업무가 많은 경우 용이 - 단점 : UNION 함수 사용시 중복제거가 되기 때문에 사번의 유일성 관리를 잘 해야함. 트랜잭션 - 항상 전체를 통합하여 분석 처리 한다. - 슈퍼-서브타입이 하나의 테이블로 통합되어 있으면 다른 형식에 비해 성능이 더 우수하다. 인덱스 - 값의 범취에 따라 일정하게 정렬이 되어있다. - '=' 로 조호되는 칼럼이 가장 앞으로 나오면 좋다는 거 같다. .. 2021. 8. 17.
SQL study [21.08.15] SQL study [21.08.15] 반 정규화 * 간단한 정의 : 성능 향상을 위해 정규화를 포기하는 것 이다. * 성격 : 데이터의 무결성이 보장되는 것은 아니므로 제한적으로 사용을 해야한다. 테이블 반 정규화 테이블 병합 - 비즈니스 로직 상 join 되는 경우가 많아서 통합하는 것이 성능 측면에서 유리할 경우 고려된다. - 종류 a) 1:1 관계 테이블 병합 b) 1:N 관계 테이블 병합 c) 슈퍼 서브 타입 테이블 병합 테이블 분할 - 종류 a) 수직 분할 : Column 단위로 테이블을 1:1 분리 b) 수평 분할 : Row 단위로 테이블을 분리 테이블 추가 - 종류 a) 중복테이블 추가 : 타 업무 또는 타 서버에 있는 테이블과 동일한 구조의 테이블을 추가. 원격 join 방지 b) 통계테이.. 2021. 8. 15.
SQL study [21.08.14] SQL study [21.08.14] 데이터 모델 성능 저하의 대표적인 원인 1. 데이터 모델 구조에 의한 성능의 저하 2. 대용량이 됨으로 인한 불가피한 성능의 저하 3. 인덱스의 특성을 고려하지 않은 상태로 인덱스를 생성함에 따른 성능의 저하 - 성능 : 일반적으로 데이터 조회의 성능을 의미한다. -> 데이터 입력/수정/삭제는 일시적이고 빈번하지 않으며 단건 처리가 많지만 데이터 조회는 반복적이고 빈번하며 여러건을 처리하는 경우가 많기때문 -> 그렇다 하더라도 데이터 입력/수정/삭제가 중요한 경우도 있는 것 이다! 성능 데이터 모델링 - 데이터 베이스 성능향상을 목적으로, 설계단계의 데이터 모델링 때부터 정규화, 반정규화, 테이블 통합, 테이블 분할, 조인 구조, PK, FK 등 여러가지 성능과 관련.. 2021. 8. 15.
SQL study [21.08.13] SQL study [21.08.13] 두 개의 엔터티 사이에 정의된 관계(Relationship) 체크 사항 1. 두 엔터티 사이 관심 있는 연관규칙 존재 여부 2. 두 엔터티 사이 정보 조합 발생 여부 3. 업무기술서, 장표에 관계연결을 가능하게 하는 동사(Verb)가 있는지에 대한 여부 4. 업무기술서, 장표에 관계연결에 대한 규칙이 서술되어있는지 여부 식별자 (Identifier) - 엔터티 내에서 대표성을 가지는가에 따라 주식별자 / 보조식별자로 구분 - 엔터티 내에서 스스로 생성이 되었는지 여부에 따라 내부식별자 / 외부식별자로 구분 - 단일 속성으로 식별이 되는가에 따라 단일식별자 / 복합식별자로 구분 - 대체 여부 (업무에 의한 식별자인지) 에 따라 본질식별자 / 인조식별자로 구분 주식별자 .. 2021. 8. 14.
SQL study [21.08.12] SQL study [21.08.12] 수정 이상 - 중복되는 데이터 중 일부만 갱신되어 정보에 모순이 발생하는 것 이다. - 100학번의 홍길동 학생이 개명을 했지만 100학번 운영체제 key에 해당되는 data는 이름이 변경이 되었지만, 100학번 객체지향프로그래밍 key에 해당되는 data는 이름이 변경되지 않았다. 삽입 이상 - 불필요한 정보를 함께 저장하지 않는다. - 어떠한 정보를 저장하는 것이 불가능하기에 원하지 않는 정보를 강제 삽입해야 하는 것 - 기본 키에는 NULL값을 저장할 수 없다. 따라서 최자바 학생을 수강 릴레이션에 삽입하고자 한다면 가상의 과목명이라도 임시로 삽입해야 한다. 삭제 이상 - 어떠한 정보를 삭제하고자 하지만 유용한 정보를 전부 삭제하게 되는 경우 - 운영체제라는 과.. 2021. 8. 13.
SQL study [21.08.11] SQL study [21.08.11] DB : Data Base - 대규모의 정보를 사용하고 관리할 수 있도록 체계적으로 관리한 것 - 필요에 의해 데이터를 일정한 형식으로 저장을 해 놓은 것을 DB라고 한다. DBMS : Data Base Management System - 사용자가 정보를 편리하고 효과적으로 검색하고 저장할 수 있는 환경을 제공 해 주고 있다. - 정보를 안전하게 저장할 수 있도록 해 주는 시스템 모델링 (Modeling) - 추상화 : 현실 세계를 일정한 형식에 맞추어 표현한다. - 단순화 : 복잡한 현실을 제한된 언어나 표기법을 통해 이해하기 쉽게 만든다. - 정확화 : 애매모호함을 배제하고 누구나 이해가 가능하도록 정확하게 현상을 기술한다. 데이터 모델링 (Data Modelin.. 2021. 8. 11.
728x90