728x90

database 15

24.07.09 CS

CSSQL과 NOSQL의 차이SQL 장점명확하게 정의된 스키마, 데이터 무결성 보장한다.관계는 각 데이터를 중복 없이 한번만 저장한다.SQL 단점덜 유연하다. 데이터 스키마를 사전에 계획하고 알려야 한다.관계를 맺고 있어서 조인문이 많은 복잡한 쿼리가 만들어질 수 있다.대체로 수직적 확장만 가능하다.NoSQL 장점스키마가 없어서 유연하다. 언제든지 저장된 데이터를 조정하고 새로운 필드 추가 가능하다.데이터는 애플리케이션이 필요로 하는 형식으로 저장된다. 데이터 읽어오는 속도 빨라진다.수직 및 수평 확장이 가능해서 애플리케이션이 발생 시키는 모든 읽기/쓰기 요청 처리 가능하다.NoSQL 단점유연성으로 인해 데이터 구조 결정을 미루게 될 수 있다데이터 중복을 계속 업데이트 해야 한다데이터가 여러 컬렉션에 중..

SQL Injection

SQL Injection해커에 의해 조작된 SQL 쿼리문이 데이터베이스에 그대로 전달되어 비정상적 명령을 실행시키는 공격 기법이다.공격 방법인증 우회데이터 노출방어 방법input 값을 받을 때, 특수문자 여부 검사하기로그인 전, 검증 로직을 추가하여 미리 설정한 특수 문자들이 들어왔을 때 요청을 막아낸다.SQL 서버 오류 발생 시, 해당하는 에러 메시지 감추기view를 활용하여 원본 데이터베이스 테이블에는 접근 권한을 높인다. 일반 사용자는 view로만 접근하여 에러를 볼 수 없도록 만든다.preparestatement 사용하기preparestatement를 사용하면, 특수문자를 자동으로 escaping 해준다. 이를 활용해 서버 측에서 필터링 과정을 통해서 공격을 방어한다.

Computer/CS 2024.07.08

Database - Join

Database - Join두 개 이상의 테이블이나 데이터베이스를 연결하여 데이터를 검색하는 방법테이블을 연결하려면, 적어도 하나의 칼럼을 서로 공유하고 있어야 하므로 이를 이용하여 데이터 검색에 활용한다.JOIN의 종류INNER JOIN교집합으로, 기준 테이블과 join 테이블의 중복된 값을 보여준다.LEFT OUTER JOIN기준 테이블 값과 조인테이블과 중복된 값을 보여준다.왼쪽 테이블을 기준으로 join 한다.RIGHT OUTER JOINLEFT OUTER JOIN과는 반대로 오른쪽 테이블을 기준으로 JOIN한다.FULL OUTER JOIN합집합을 뜻한다.A와 B 테이블의 모든 데이터가 검색된다.CROSS JOIN모든 경우의 수를 전부 표현해주는 방식이다.A가 3개, B가 4개면 3*4 = 12개..

Computer/CS 2024.07.08

Database - Key

Database - Key1. Candidate Key(후보키)Tuple을 유일하게 식별하기 위해 사용하는 속성들의 부분 집합.(기본키로 사용할 수 있는 속성들)2가지 조건을 만족한다.유일성 : key 하나로 tuple을 유일하게 식별할 수 있다.최소성 : 꼭 필요한 속성으로만 구성한다.2. Primary Key(기본키)후보키 중 선택한 Main Key특징Null 값을 가질 수 없다.동일한 값이 중복될 수 없다.3. Alternate Key(대체키)후보키 중 기본키를 제외한 나머지 키 = 보조키4. Super Key(슈퍼키)유일성은 만족하지만, 최소성은 만족하지 못하는 키5. Foreign Key(외래키)다른 릴레이션의 기본키를 그대로 참조하는 속성의 집

Computer/CS 2024.07.08

24.07.08 CS

CSDatabase - Key1. Candidate Key(후보키)Tuple을 유일하게 식별하기 위해 사용하는 속성들의 부분 집합.(기본키로 사용할 수 있는 속성들)2가지 조건을 만족한다.유일성 : key 하나로 tuple을 유일하게 식별할 수 있다.최소성 : 꼭 필요한 속성으로만 구성한다.2. Primary Key(기본키)후보키 중 선택한 Main Key특징Null 값을 가질 수 없다.동일한 값이 중복될 수 없다.3. Alternate Key(대체키)후보키 중 기본키를 제외한 나머지 키 = 보조키4. Super Key(슈퍼키)유일성은 만족하지만, 최소성은 만족하지 못하는 키5. Foreign Key(외래키)다른 릴레이션의 기본키를 그대로 참조하는 속성의 집Database - Join두 개 이상의 테이블..

728x90