DB 10

[DB] 정규화

정규화 속성간 존재하는 함수적 종속성을 분석하여 관계형 스키마를 더 좋은 구조로 정제해 나가는 과정 데이터의 중복 제거, 속성들을 본위치에 위치 제 1 정규화 반복되는 그룹 속성(같은 성격과 내용의 컬럼이 연속적으로 나타남) 제거 기본키 추가, 새로운 테이블 생성 기존 테이블과 1:N의 관계 형성 제 2 정규화 복합키에 전체적으로 의존하지 않는 속성 제거 키가 여러 컬럼으로 구성된 경우가 대상 복합키의 전체가 아닌, 일부분에 종속되는 것을 부분적 함수 종속관계라 함 이를 제거하는 작업 제 3 정규화 기본키에 의존하지 않고 일반 컬럼에 의존하는 컬럼들 제거 이행적 함수 종속관계를 갖는 컬럼을 제거하는 과정

DB/MySQL 2022.03.22

[MySQL] constraint

constraint 데이터 삽입 시, 테이블에 명시되어져 있는 모든 제약조건을 검사해야 된다면 삽입 속도가 저하될 수 있다. 그래서 일시적으로 제약 조건을 drop 후, 모든 데이터 삽입 후에 다시 add 할 수 있다. 그러나 이를 위해서는 2가지 선결 조건 이 필요하다. 제약 조건을 일시적으로 해제하는 것이기 때문에, 본래의 제약 조건에 부합하지 못하는 데이터가 삽입 될 수 있다. 따라서 해당 데이터가 완전 무결하다는 보장이 필요하다. 제약 조건을 drop, add 하기 위해서는 해당 제약 조건이 컬럼 단위로 지정되어져 있는 것이 아니라 constraint로 인해 지정되어져 있어야 한다. constraint 제약조건명 제약조건 그래서 위와 같이 테이블 단위로 제약조건명을 명명하여 제약 조건을 지정해야 ..

DB/MySQL 2022.03.16

[MySQL] Table 생성 - 제약 조건

제약조건 컬럼에 저장될 데이터의 조건 설정 제약 조건 위배되는 데이터는 저장 불가 컬럼 레벨로 지정하거나 constraint로 테이블 레벨로 지정, ALTER 이용하여 설정 가능 제약 조건 설명 NOT NULL 컬럼에 NULL값 저장 X , 반드시 쿼리문으로 값을 지정 UNIQUE 컬럼에 중복된 값 저장 X , NULL 허용 O PRIMARY KEY 컬럼에 중복 값 저장 X , NULL 허용 X 주로 ROW를 구분하기 위한 유일값 지정 시 사용 '기본키'라고도 부름 FOREIGN KEY 특정 테이블의 PK 컬럼에 저장되어 있는 값만 저장. '참조키', '외래키' 라고도 부름. NULL 허용O references를 이용하여 어떤 컬럼에 어떤 데이터를 참조하는지 반드시 지정 DEFAULT NULL값이 들어올..

DB/MySQL 2022.03.16

[MySQL] SQL

SQL (Structured Query Language) DDL (Data Definition Language) : 데이터 조작어 DML (Data Manipulation Language) : 데이터 조작어 DCL (Data Control Language) : 데이터 제어어 TCL (Transaction Control Language) : 트랜잭션 제어어. DDL (Data Definition Language) : 데이터 정의어 DB 객체의 구조를 정의 테이블 생성, 컬럼 추가, 타입 변경, 제약조건 지정, 수정 등 SQL 문 create : 데이터 베이스 객체를 생성 drop : 데이터 베이스 객체를 삭제 alter : 기존에 존재하는 데이터 베이스 객체를 수정 DML (Data Manipulation..

DB/MySQL 2022.03.16

[Elasticsearch with Python] elasticsearch 외부접속 시 newconnection error

elasticsearch, elasticsearch_dsl 두 lib를 사용하여 es를 사용하던 중, 외부 접속이 필요하게 되었고 각종 자료를 참고하여 구축하였었다. 기존 local환경에서 오류가 없음을 확인하고 ubuntu로 넘어갔는데, 이때 어이 없는 실수를 범했었다. 원격으로 접속할 ip 주소를 elasticsearch, elasticsearch_dsl 둘다에 명시해 줬어야 하는데 elasticsearch_dsl만 해줬던것.. 이 때문에 elasticsearch관련 내용이 실행될때 error를 보였었다. ip_address = 'your_ip_address' connections.create_connection(hosts=[ip_address]) es = Elasticsearch(ip_address..

DB/Elasticsearch 2021.03.25