일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 파이썬
- 수학
- 동적 계획법
- 정규식
- BFS
- 위클리 챌린지
- python
- lambda
- Zip
- backjoon
- 추석맞이 코딩챌린지
- 프로그래머스
- 자바
- 카카오
- heapq
- 그리디
- Combinations
- divmod
- 이분탐색
- java
- KAKAO BLIND RECRUITMENT
- programmers
- 재귀함수
- Set
- Re
- 정렬
- dfs
- 백준
- 다익스트라
- DateTime
Archives
- Today
- Total
상상쓰
[DB] 데이터베이스 기초 본문
자료와 정보
- 자료 : 관찰이나 측적을 통해 수집한 단순한 사실 또는 결과값
- 정보 : 자료를 가공해서 의사 결정에 도움을 주는 결과
데이터베이스 정의
- 통합 데이터(Integrated) : 자료의 중복을 배제한 자료
- 저장 데이터(Stored) : 컴퓨터가 접근할 수 있는 저장 매체에 저장된 자료
- 운영 데이터(Operational) : 업무를 수행하는 데 반드시 필요한 자료
- 공용 데이터(Shared) : 여러 응용 시스템들이 공동으로 소유하고 있는 자료
데이터베이스 특징
- 실시간 접근성 : 실시간 응답이 가능
- 계속적인 변화 : 항상 최신의 데이터를 유지
- 동시공용 : 다수의 사용자가 동시에 같은 데이터를 이용
- 내용에 의한 참조 : 데이터를 참조할 때 주소가 아닌 내용으로 참조
데이테베이스 용어
- 식별자 : 유일성, 최소성을 만족하는 키, 일반적인 예로 학번, 주민등록번호 등
- 튜플 : 테이블에서 행, 튜플의 수 = 카디날리티
- 어트리뷰트 : 테이블에서 열, 어트리뷰트의 수 = 디그리(차수)
- 도메인 : 하나의 어트리뷰트 취할 수 있는 원자 값들의 집합
DBMS
- 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성, 데이터베이스를 관리해주는 소프트웨어
- 종속성과 중복성으로 인한 문제점을 해결하기 위해 제안된 시스템
- 정의, 조작, 제어기능
MYSQL, ORACLE 스키마? 데이터베이스?
- MYSQL : 인스턴스 - 스키마(= 데이터베이스) - 테이블
- ORACLE : 인스턴스 - 데이터베이스(유일) - 스키마 - 테이블
데이터베이스 설계
- 요구 분석 - 개념적 설계(추상적 개념으로 표현하는 과정) - 논리적 설계 - 물리적 설계 - 구현
키의 종류
- 후보키 : 유일성(하나의 키값으로 하나의 튜플만을 유일하게 식별)과 최소성(모든 레코드들을 유일하게 식별하는데 꼭 필요한 속성만으로 구성)을 만족
- 기본키 : 후보키 중에서 선택한 키, Null값을 가질 수 없음
- 대체키 : 후보키 - 기본키, 보조키라고도 함
- 외래키 : 참조되는 릴레이션의 기본키와 대응
무결성(Integrity)
- 개체 무결성 : 릴레이션에서 기본키를 구성하는 속성은 Null값이거나 중복값을 가질 수 없다.
- 참조 무결성 : 외래키 값은 Null이거나 참조 릴레이션의 기본키 값과 동일
정규화
- 제 1 정규화 : 도메인 값이 하나의 값을 갖도록 테이블을 분리
- 제 2 정규화 : 완전 함수 종속을 만족하도록 테이블을 분리
- 제 3 정규화 : 이행적 종속을 없애도록 테이블을 분리
- BCNF 정규화 : 모든 결정자가 후보키가 되도록 테이블을 분해
데이터베이스 언어
- 데이터 정의 언어(DDL) : CREATE, DROP, ALTER
- 데이터 조작 언어(DML) : 사용자로 하여금 데이터를 처리할 수 있게 하는 도구로 비절차적 데이터 언어, SELECT, INSERT, DELETE, UPDATE
- 데이터 제어 언어(DCL) : COMMIT, ROLLBACK, GRANT, REVOKE
SQL
- SELECT(5) 속성명 FROM(1) 테이블명 [WHERE 조건](2) [GROUP BY 속성명](3) [HAVING 조건](4) [ORDER BY 속성명 (ASC)|DESC](6);, (실행 순서)
- INSERT INTO 테이블명 (속성명) VALUES (데이터);
- DELETE FROM 테이블명 [WHERE 조건];
- UPDATE 테이블명 SET 속성명 = 데이터 [WHERE 조건];
- CREATE VIEW 뷰이름 AS SELECT문;
- DROP VIEW 뷰이름 [RESTRICT(뷰를 다른 곳에서 참조하고 있으면 삭제가 취소) | CASCADE(뷰를 참조하는 곳 모두 삭제)];
트랜잭션
- 원자성(Atomicity) : 트랜잭션의 연산은 데이티베이스에 모두 반영되거나 전혀 반영되지 않아야 한다.
- 일관성(Consistency) : 시스템의 고정요소는 트랜잭션 수행 전과 수행 완료 후의 상태가 같아야 한다.
- 독립성(Isolation) : 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 다른 트랜잭션의 연산이 끼어들 수 없다.
- 영속성(Durablility) : 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야 한다.
'Programming' 카테고리의 다른 글
[SQLD] 2-1. SQL 기본 및 활용 (0) | 2022.03.08 |
---|---|
[SQLD] 1. 데이터 모델링의 이해 (0) | 2022.03.08 |
[java] HashMap value(값)로 정렬하기 (0) | 2021.10.24 |
[java] PriorityQueue(우선순위 큐) 소개 (0) | 2021.10.24 |
[Spring] @PathVariable을 이용한 경로(@RequestMapping) 변수 (0) | 2021.08.26 |
Comments