본문 바로가기

IT 이론/데이터베이스30

데이터베이스 병행제어 기법 정리 1. 병행제어의 목적 데이터베이스 일관성 유지 일관성을 유지하면서, 데이터베이스 공유 최대화 시스템 활용도 최대화 사용자 응답시간 최소화 2. 병행제어 실패 현상 2.1. Dirty Write 갱신 분실(Lost Update)라고도 한다(정보처리기사 기준) 같은 데이터에 동시에 두 개 이상의 트랜잭션이 값을 바꾸고자 함 2.2. Dirty Read 비완료 의존성(Uncommitted Dependency)라고도 한다(정보처리기사 기준) 아직 commit되지 않은 트랜잭션의 내용을 읽으려고 함 2.3. Non-repeatable Read 모순성(Inconsistency)이라고도 한다(정보처리기사 기준) 동일 트랜잭션에서 동일한 대상을 여러번 읽을 때 그 사이에 수정 또는 삭제가 반영되어 값이 변경됨 2.4... 2019. 12. 7.
전위 순회(Preorder), 후위 순회(Postorder), 중위 순회(Inorder) A B C 위와 같을때 전위 순회(Preorder)Root - Left - Right위 앞 뒤 (A - B - C) 중위 순회(Inorder)Left - Root - Right앞 위 뒤 (B - A - C) 후위 순회(Postorder)Left - Right - Root앞 뒤 위 (B - C - A) 전위와 중위가 헷갈릴 수 있다. 후위는 명확하다.중위가 왼쪽에서 오른쪽으로 순서대로 가는 것이라고 위우자.중위가 Left - Root - Right이다.중위가 중간(Root)이 중간(순서상의 중간)에 있다. 2016. 10. 1.
[시험대비] 실무적으로 보는 데이터베이스 설계 순서 데이터베이스의 설계 단계는 아래와 같다 요구 분석 -> 개념적 설계 -> 논리적 설계 -> 물리적 설계 -> 구현 대부분은 이 단계가 구체적으로 뭘 하는 단계인지 모르고 단순암기 하는 경우가 많다. 학교나 회사에서 실제로 여러번 데이터 베이스 설계를 해봤음에도 개념 스키마 설계, 트랜젝션 모델링, 물리적 구조로 변환 등의 용어가 너무 와닿지 않기 때문이다. 이론적으로 먼저 알아보자요구분석 : 요구조건 명세서 작성개념석 설계 : 개념 스키마, 트렌젝션 모델링, E-R 모델 작성논리적 설계 : 스키마 설계, 트렌젝션 인터페이스 설계, 논리적 자료 구조로 변환물리적 설계 : 논리적으로 표현된 데이터를 물리적 저장장치에 저장할 수 있는 구조의 데이터로 변환 무슨 말인지 알아듣기 힘들다. 좀 더 실무적으로 이해해.. 2015. 10. 17.
[시험대비] 데이터베이스 모델의 종류와 특징을 쉽게 이해하자! 데이터 베이스 모델은 크게 관계형 데이터 모델, 계층형 데이터 모델, 네트워크형 데이터 모델이 있다. 하지만 중요한건 실제 사용하는 대부분의 DBMS는 관계형 데이터베이스 모델을 따르고 있다는 것이다. 계층형, 네트워크형은 어떤 개념인지만 어렴풋이 이해하고 있으면 된다. 계층형 데이터 모델 - 트리 형태의 수직적인 데이터 모델이다. - 1:N의 대응 관계만 존재한다. - 상위 레코드 삭제시 연쇄 삭제(Triggered Delete)가 일어난다. - 개체들 간에는 Cycle이 허용되지 않는다. - 관계형 모델에서의 Entity를 계층형에선 Segment라 부른다. - 파일 시스템을 생각하면 이해하기 쉽다. 폴더 안에 하위 폴더 안에 파일이 있는 그런 형태이다. 여러 하위 폴더가 한 상위폴더에 있을 수는 있.. 2015. 10. 17.
SQL에서 DDL, DML, DCL, TCL의 구분 데이터베이스 언어는 보통 DDL, DML, DCL로 나뉜다. 트랜젝션 제어를 위한 별도의 명령을 TCL로 구분하여 4개로 분류하기도 한다. 이 언어들은 의미를 외우기보단 단어의 뜻을 알고 어떤 명령어가 있는지 보는게 이해하기 쉽다. DDL : Data Definition Language데이터 정의 언어이다. DB를 구성할때 쓰인다.CREATE, ALTER, DROP, RENAME, TURNCATE 등 DML : Date Manipulation Language데이터 조작 언어이다. 데이터를 실질적으로 사용할때 쓰인다. 사용자와 데이터베이스간의 인터페이스를 제공해 준다.SLEECT, UPDATE, INSERT, DELETE 등 DCL : Data Control Language데이터 제어 언어이다. 제약조건,.. 2015. 10. 16.
[시험대비] 외부 스키마, 개념 스키마, 내부 스키마를 구분하자! 굳이 이런 개념으로 나눠 둔 이유는 잘 모르겠지만, 배우는 입장인 우리는 이 의미를 명확히 구분할 수 있어야 한다. 외부 스키마(External Schema, Sub Schema) 응용프로그램 개발자의 관점에서 보는 스키마. 정확한 표현은 아니지만 쉽게 View라고 생각하면 된다. 겉으로 보이는 DB, Table의 형태인 것이다. 사용 주체나 응용 프로그램에 따라서 같은 데이터가 같은 구조로 저장되어 있는 데이터베이스에서 바라보는 관점이 다를 수도 있다. 누군가는 SELECT * FROM table에서 특정 테이블의 모든 에트리뷰트와 데이터들을 바라보고 누군가는 JOIN이나 MERGE를 통해 여러 테이블을 동시에 조회 할 수도 있다. 그들이 바라보고 있는, 우리가 DBMS 툴에서 SELECT 쿼리를 던졌.. 2015. 10. 16.