Eat Study Love

먹고 공부하고 사랑하라

Data Science/SQL

1. Over View of DB Systems

eatplaylove 2024. 4. 20. 23:38

 

 

DB라는 것을 배우기 위한 뽕주입 시간.. 뭐 중요한 이유는 겁나 많은데..

 

구구절절한 건 스킵하고, 공부를 위해 기록할만한 것들 위주로 기록

 

Why Use a DBMS?

 

1. Data Independence

2. Efficient Data Access

3. Data Integrity and Security -> 그 유명한 데이터무결성

4. Uniform Data Administration : DBA, No Redundancy, Tuning

5. Concurrent Access and Crash Recovery

6. Productivity

 

Data Models

 

- Data Model : a collection of high LV concepts for describing data

-> 많은 low LV storage detail을 내포하고 있다.

 

- A Schema : a description of particular collection of data, using the given data model

공부하다 보면 '스키마'라는 용어가 참 많이 나오는데, 특정 데이터군을 설명하는 용어정도로 이해

 

- Relational Model of Data : 가장 많이 쓰이는 Model이다.

 Main concept : Relation, basically a table with rows & columns.

 모든 Relation은 스키마를 가지고 있다. which describes columns or fields.

 

 

 

애매하다.. 스키마는 관계이름 / Attribute, 그것들의 type을 뜻 한다고 한다.

Relation은 a set of Records --> 여기서 용어 정리! Record = Tuple = Row = 행 = 가로줄

 

 

 

요런 DB 구조를 나타내는 용어도 한 번 정리하고 가야한다.

일단 DB가 있고, 그 바로 위에 Physical 스키마 -> Conceptual(Logical) 스키마 -> View 1,2,3(External 스키마)

 

먼저 View는 유저가 데이터를 어떻게 보는지 설명, Conceptual(Logical) 스키마는 logical structure를 설명한다. Physical 스키마는 files/index에 대한 설명. Data들의 relation in conceptual schema가 어떻게 실제로 저장되어 있는지 설명

 

뭔가 느낌이 안 오는데.. 예시를 보자

 

 

 

뭔가 Physical -> External 스키마로 갈수록 좀 더 세분화? 디테일 해진다는 건 알겠다.

 

Data Independence가 중요하다는데..!

 

 

DBMS를 사용하는 주요한 이유 중 하나이다.

 

Logical data independence: Logical structure에서 데이터가 바뀌는 걸 막아줌

Physical data independence도 마찬가지.

--> 책을 읽어보니까, Logical Independence는 View가 바뀌어도 Logical은 변함X, Logical이 변해도 Physical은 변함X

이게 Indenpendence를 나타내는듯 하다.

 

데이터독립의 장점 in DBMS? : DB유지관리가 쉽다. By reducing the impact of changes

DB 수정할 때마다 그보다 low LV에 있는 스키마를 깡그리 갈아 엎을 필요가 없다는 것이다.

 

Query Language

 

- its about "WHAT" -> "HOW"는 Oracle DMBS가 알아서 처리 해준다.(SQL의 강점)

 

Transactions :

- 4가지 성질[ACID 엑시드 ㅎㅎ]

 1) Atomicity : "Begin..Commit" 안 구문은 부분 송달 X 하나의 원자처럼 한 번에 묶여서 송달된다.

 2) Consistency

 3) Isolation

 4) Durability

 

Concurrency Control(병행성)

 

- DBMS는 동시작업을 보장해준다.

- 상대방이 Data 수정 후 COMMIT을 한 뒤에 내가 조회하면 수정된 값이 조회된다(Isolation)

- 상대방이 어떤 Data를 수정중이라면, 그가 COMMIT하기 전 까지 나는 그 Data 수정이 불가하다.

- 상대방이 COMMIT or ROLLBACK 시 Lock이 풀리면서 Stop되었던 Data 수정 자동진행.

 

 

 

 

- Data를 다루는 전공/개발자라면 알아야 하는 Relational DBMS (RDBMS)의 특성 2가지

 

 

'Data Science > SQL' 카테고리의 다른 글

4. Relational Algebra and Calculus  (0) 2024.04.24
3-2 Relation Model  (0) 2024.04.24
3-1 Relation Model  (1) 2024.04.24
3. Relational Model  (0) 2024.04.23
2. SQL 기초 실습 코드  (0) 2024.04.23