DB 쿼리 데이터베이스에서 사용되는 다양한 쿼리를 정리했습니다. ALTER 테이블을 삭제하지 않고 스키마를 변경 -- 추가 ALTER TABLE ADD COLUMN ; -- PK 설정 ALTER TABLE PRIMARY KEY (); -- 삭제 ALTER TABLE DROP COLUMN ; -- 속성 변경 ALTER TABLE MODIFY COLUMN ; -- 이름과 속성 변경 ALTER TABLE CHANGE COLUMN ; -- 이름만 변경 ALTER TABLE RENAME COLUMN TO ; -- 외래키 제약조건 추가 ALTER TABLE ADD FOREIGN KEY () REFERENCES (); -- 외래키 제약조건의 삭제 SHOW CREATE TABLE \G -- 외래키 이름 확인 ALTER..
Stored Program SQL 명령어는 선언적 What 에 초점 데이터베이스에서 절차적 명령어(How)를 수행하기 위해 stored program 을 사용 스토어드 루틴 이라고 하기도 함 스토어드 함수, 스토어드 프로시저, 트리거, 이벤트 핸들러 등을 포괄하는 개념 게임분야에서 많이 사용한다고 한다(웹에서도 사용한다고 함) ORM 등을 사용하면서 사용이 줄었다고 하는 듯 하다. 장점 응용프로그램의 성능향상 네트워크 트래픽 감소 보안성 항상: 자체적인 보안 설정 기능이 있어, 스토어드 프로그램 단위로 실행권한 부여 가능. SQL 인젝션 등을 방지가능 개발 업무의 구분: 애플리케이션 관리 조직과 DBMS 관련 조직간의 업무구분이 가능 단점 애플리케이션과 버전이 따로 관리됨 => 유지보수가 매우 어려움, ..
DB 응용 OLTP(OnLine Transaction Processing) 복수의 사용자에서 발생되는 트랜잭션을 DB가 처리하고 돌려주는 과정 응답속도가 빠름 데이터 처리가 얼마나 정확하고 무결한지가 중요 index 로 데이터에 소량 접근하여 소량의 읽기를 해오는 경우 데이터 수정이 비교적 많이 일어나는 경우 OLAP(OnLine Analytical Processing) 데이터를 분석하여 유의미한 정보를 제공해주는 처리방법 오래 걸림, 상대적으로 응답속도가 느림 다량의 데이터를 다량으로 읽기를 하는 경우 Transaction(트랜잭션) 트랜잭션의 영어 의미는 "거래" 무언가를 주고 받는 행위를 의미 DB에서는 쪼갤 수 없는 작업의 단위를 의미 ACID(Atomicity, Consistency, Isola..
Index 데이터베이스의 테이블에 대한 동작 속도를 높여주는 자료구조 트레이드 오프가 발생: Read 속도는 빨라지나, Insert, Update, Delete 속도는 느려짐 데이터 삽입 시, 외래키를 체크하지 않는 설정: SET foreign_key_checks=0 PRIMARY KEY(PK), FOREIGN KEY(FK)에 대해서는 인덱스가 자동으로 만들어짐 그외에 CREATE INDEX ON (컬럼이름)으로 인덱스를 만들 수 있음 검색이 빈번하게 이뤄지는 컬럼에 대해 인덱스를 생성하기도 함 (읽기 속도 향상) 복합인덱스 여러 칼럼을 묶어 인덱스를 만드는 경우에 복합인덱스라고 함 여러 컬럼이 같이 검색이 이뤄지는 경우 여러 칼럼을 묶어 인덱스를 만들기도 함 CREATE INDEX ON (칼럼1, 칼럼..

데이터베이스 정규화 1. 개념 데이터베이스 정규화는 DB를 잘 설계하기 위한 것이다. 각 속성을 잘 묶은 것을 잘 설계한 DB라고 한다. 다른 개체의 속성 값을 읽어오는 것은 외래키의 참조를 통해서만 가능해야 한다. 여러 엔티티가 한 테이블에 있는 경우는 안 좋은 설계라고 할 수 있다. 잘 설계되지 않은 DB에서는 이상현상(삽입이상, 삭제이상, 갱신이상)이 발생할 수 있다. 정규형(Normal Form): 이상현상이 잘 안 생기는 좋은 테이블이 갖추어야 할 조건이다. (제1정규형, 제2정규형, 제3정규형, BCNF 등) 정규화(Normalization): 테이블 정규형을 만족할 수 있도록 잘 분해하는 과정이다. (정규형으로 만드는 과정) 함수적 종속성 (FD = Functional Dependency) ..

데이터 모델링 현실에서 응용할 데이터를 잘 고르고 다듬어서 DBMS에 저장하는 방법이다. 주어진 개념으로부터 논리적인 데이터 모델을 구성하는 작업을 의미한다. 물리적인 데이터베이스 모델로 만들어 반영하는 작업을 포함한다. 데이터 모델링 과정은 크게 아래 4가지 단계로 이루어진다. 요구사항 분석 (Requirements Analysis) : 요구사항을 데이터의 관점에서 분석한다. 요구사항 분석서가 산출된다. 개념적 설계 (Conceptual Database Design) : 요구사항을 조금 더 정형화하기 위해 사용된다. 요구사항 분석서를 통해 ERD(Entity-Relationship Diagram)가 산출된다. 논리적 설계 (Logical Database Design) : ERD를 실질적 데이터베이스 형..
RDBMS (Relational Database Management System) 안전(Safe): 데이터를 영구적으로 저장, 트랜잭션의 보장 안정적(Reliable): 고가용성으로 1년에 99.999% 시간 동작을 보장 효율적(Efficient): 다사용자, 대용량 데이터를 동시처리하며, 한 명이 한 번씩 실행한 것과 비슷한 결과를 보장 편리(Convenient): 절차적 언어 SQL을 사용(알고리즘 신경 안 써도 됨), 데이터 독립성(물리적 저장구조 신경 안써도 됨) 기본 SQL -- @ 뒤에 localhost면 로컬에서 '%'를 입력하면 전체 어디서나를 의미 CREATE USER '유저이름'@'localhost' IDENTIFIED BY '비밀번호'; CREATE DATABASE ; -- 유저에게 ..
- Total
- Today
- Yesterday
- java
- 알고리즘
- 개발공부일지
- 모의면접준비
- 코드스쿼드
- 글쓰기미션
- OS
- 객체지향
- JS
- 마스터즈코스
- 인증
- python
- DB
- TIL
- 네트워크
- 우테코수업
- 내부코드
- 카카오
- javascript
- 학습로그
- JPA
- Spring
- Transaction
- 우아한테크코스
- 운영체제
- React
- 월간회고
- CS
- 회고
- TCP/IP
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |