Computer Science/Database, SQL

공부한 내용을 정리합니다
Computer Science/Database, SQL

SQL, 병행제어와 회복

정보처리기사 필기 준비하며 정리한 내용입니다. 📌트랜잭션 한꺼번에 모두 수행되어야 할 연산 트랜잭션의 성질 원자성 : 모두 반영되든지 아예 안되든지. COMMIT과 ROLLBACK에 의해 보장됨 일관성 : 트랜잭션 전-후에 시스템 고정요소의 상태는 같아야 독립성, 격리성 : 다른 트랜잭션이 끼어들 수 없다 영속성 : 완료된 결과는 영구적으로 반영되어야 한다. 트랜잭션의 상태 1. 실행시작 2. 활동 : 실행중 3-A1. 부분완료 : COMMIT 전 상태 3-A2. 완료 : COMMIT 후 3-B1. 실패 : 오류 발생하여 중단된 상태 3-B2. 철회 : ROLLBACK 후 📌SQL 문법의 종류 SQL은 기본적으로 대소문자를 구분하지 않는다. DDL Data Definition Language 데이터 정의..

Computer Science/Database, SQL

데이터베이스 설계 - 물리

정보처리기사 필기 준비하며 정리한 내용입니다. DB 물리요소 조사 분석 물리 데이터베이스 설계 논리-물리 데이터 모델 변환 = 사상 고려사항 무결성 일관성 회복성 보안 효율성 확장성 📌스토리지 (저장장치) 🔻종류 DAS Direct Attached Storage 직접 호스트에 연결 속도가 빠름, 확장 쉬움 물리적 연결수가 제한죔 NAS Network Attached Storage 네트워크에 부착 여러 장치들에서 입출력 가능 병목현상에 취약 SAN Storage Area Network 광을 이용한 네트워크. 고속! 가상화 환경 구축하기 좋음 고속이라 비싸고 복잡하다 🔻RAID Redundant Array of Inexpensive Disks 복수의 HDD를 하나의 드라이브와 같이 인식하고 표기 구성 스트라..

Computer Science/Database, SQL

데이터베이스 설계 - 개념, 논리

정보처리기사 필기 준비하며 정리한 내용입니다. 데이터베이스 정의 공유 데이터 저장 데이터 통합 데이터 운영 데이터 특징 실시간 접근성 - 즉시 처리 계속적인 변화 - 항상 최신 동시 공유 - 동시에 내용에 의한 참조 - 주소가 아닌 내용! 데이터의 독립성 - 서로 영향X 데이터 언어 DDL - 정의 → 스키마에 사용되는 제약 조건을 DML - 조작 (검색, 삽입, 삭제, 갱신 연산) DCL - 제어 스키마 데이터베이스 구조와 제약조건에 관한 명세 데이터 사전에 저장된다 (사용자는 수정 불가) 3계층 스키마 외부 스키마 - 여러개. 사용자 뷰 — 논리적 독립성 : 개념이 변경되어도 외부에 영향X — 개념 스키마 - 전체적인 뷰. 스키마 대표 — 물리적 독립성 : 내부 변경한다고 개념과 외부에 영향X — 내..

Computer Science/Database, SQL

데이터 조작 프로시저

정보처리기사 필기 준비하며 정리한 내용입니다. 데이터 조작 프로시저 작성 프로시저 데이터베이스 안에 저장된 하나의 일처리하는 단위 DB내부에 있는 쿼리문을 이용하여 프로그램을 짜놓은 것 쿼리의 집합 데이터 주고받는 과정을 모아서 함수로 만든 것 데이터베이스 내부에서 돌아가는 프로그램의 단위이다 저장 프로시저의 범위 Stored Function 무조건 리턴값이 있는 것 데이터베이스에서 계산한 것만 돌려주면 됨 (대부분) 인자값 전달할 땐 In Out Inout 세가지 주기만하고 받아오고 넣을수도있고뺄수도있고 이중에서 IN만 사용가능하다 (받아올 수만 있다) CREATE OR REPLACE FUNCTION function_name CREATE FUNCTION만 있다면? 무조건 생성만 시킴 OR REPLACE..

Computer Science/Database, SQL

SQL 문법

테이블 만들기 CREATE CREATE TABLE customers (id INTEGER PRIMARY KEY, name TEXT, age INTEGER, weight REAL); AUTOINCREMENT id 값에 AUTOINCREMENT를 붙여주면 1씩 증가하는 값이 자동으로 생성된다 CREATE TABLE books ( id INTEGER PRIMARY KEY AUTOINCREMENT, author TEXT, title TEXT, words INTEGER); 데이터 삽입 INSERT INSERT INTO customers VALUES (73, "Brian", 33); 특정 열 INSERT INTO customers (name, age) VALUES ("Brian", 33); 데이터 쿼리 선택 전체 ..

Computer Science/Database, SQL

데이터베이스 분포도

분포도가 낮을수록 좋다는데 왜 성별은 분포도가 좋지 않다는 거지? 라는 의문을 해소하기 위해 알아본 자료를 정리해보았다. Selectivity 선택성, 분포도 양쪽으로 번역되는 것 같다. 개인적으로는 선택성이라는 번역이 해당 내용에 대한 이해를 돕는 것 같다. 이유는, 이 개념이 필요한 이유가, 인덱스를 구성하기 위해 한 테이블에서 어떤 속성을 선택할지를 결정하기 위함이기 때문이다. 선택성이/분포도가 좋다는 말은 내가 원하는 값을 쉽게 찾아갈 수 있다는 뜻이다. 이를 위해서는 특정 컬럼의 데이터가 테이블에 평균적으로 분포되어 있는 정도를 알아야 한다. 산식 해당 컬럼 기준으로 distinct(중복제거)된 count / 전체 count col1 컬럼 : 전체 건수 100건, 값들은 모두 A, B 의 2가지..