728x90
반응형

* 본 내용은 Tmax AI & Big Data Academy 나연묵 교수님의 수업과, Kroenke and Auer - Database Processing (데이터베이스 처리론), 11th Edition 을 바탕으로 작성하였습니다.

Chapter 3. The Relational Model and Normalization

 

주요 용어 설명 :

개체 : 

속성 :

관계 : 

'관계 클래스'와 '관계 인스턴스'의 차이 :

관계의 차수 : 

 

 

데이터 모델 (data model) :

 

실세계를 capture 하는 방법 또는 도구

종류 :

   개념적 데이터 모델 (conceptual data model)

   - E-R 모델

   - semantic network, semantic object model

   - UML

   - SEUL model

   논리적 데이터 모델 (logical data model)

   - 관계 데이터 모델 (relational data model) relation(table) 기반, E.F. Codd가 제안

   - 계층 데이터 모델 (hierarchical data model) tree 기반

   - 네트워크 데이터 모델 (network data model) graph 기반

 

Chapter 의 목표 :

1. 정규화의 기초적인 개념들 이해하기

2. Primary key, Candidate key, Composite key 구분하기

3. 릴레이션에서의 insertion, deletion, update anomaly 구분하기 

4. 

 

chapter premise 챕터의 전제

 

* 관계 데이터 모델 (Relational Data Model)

- <S,O,C> 로 구성 (구조, 연산, 제약조건 / Structure, Operation, Constraints)

 

릴레이션 (relation) 은 2차원 테이블이다. 각 행은 사물 또는 사물의 일부분과 관련된 데이터를 저장하고, 테이블의 열은 속성에 대한 데이터를 저장한다.

행은 튜플(tuple), 열은 속성(attribute)을 의미한다.

 

테이블이 릴레이션이 되기 위한 제약조건이 몇가지가 있다.

1. 테이블의 모든 칸은 단일값을 저장한다. 반복 그룹값이나 배열 값은 허용되지 않는다.

2. 주여진 열의 모든 값은 동일한 유형이어야 한다. 각 열에는 고유한 이름이 부여되고, 열들의 순서는 중요하지 않다. 

3. 한 테이블 내에는 동일한 행이 존재할 수 없고, 열과 마찬가지로 행들의 순서도 중요하지 않다.


함수 종속, 키, 유일성 구분할 수 있어야한다.

함수 종속 / 키 : 함수종속의 결정자와는 달리 키는 유일하다. / 유일성 : 


정규화

 

바람직한 형태의 릴레이션을 만들기 위해서는 릴레이션을 정규화시켜줘야한다.

 

1,2,3,BCDF,4,5차 정규형

두부이걸다조 (도부이결다조 - 도메인 / 부 / 이행적 / 결정키 / 다 / 조 ) (*정보처리기사 빈출 문제)

 

 

 

 

 

.

 


피터 첸 Peter Chen

728x90
반응형

'TABA > Database' 카테고리의 다른 글

TABA Sep 8th (1)  (1) 2022.09.13
TABA Sep 7th (2)  (0) 2022.09.07
TABA Sep 7th (1)  (0) 2022.09.07
TABA Sep 5th (2)  (0) 2022.09.06
TABA Sep 5th (1)  (0) 2022.09.05
728x90
반응형

* 본 내용은 Tmax AI & Big Data Academy 나연묵 교수님의 수업과, Kroenke and Auer - Database Processing (데이터베이스 처리론), 11th Edition 을 바탕으로 작성하였습니다.

Chapter 2. Introduction to Structured Query Language

 

* 데이터 언어 

 

- 관계 대수 기반

   DBMS 내부용. 질의 최적화 등 수행에 사용된다. Optimize 하는데 사용이 되기 때문에, 꼭 기억해야한다.

- 관계 해석 기반 

 

- 관계 매핑 기반

SQL -> IBM DB2

SEQUEL, SQL을 ANSI(NIST), ISO 표준화 시킨것

 

SQL 언어 문장

- DDL : 스키마 (테이블)

create table, alter table, drop table

create view, drop view

Create index, drop index

 

인덱스를 사용하면 검색은 빨라지지만, 연산은 느려질 수 있다. 튜닝 관련 책을 보면, 어떤 경우에 인덱스를 사용면 좋은지 안좋은지를 알 수 있다. 예를들어, 자주 업데이트가 일어나는 것에 대해서는 인덱스를 만들지 않는 것이 좋다.

 

- DML (데이터 조작어)

검색 : select from where 

삽입 : insert into 

삭제 : delete from 

갱신 : update set 

 

- DCL (데이터 제어)

주요 데이터 제어용, 주로 DBA나 응용 프로그래머가 사용

보안 권한부어 : grant to, revoke from

동시성 제어 : lock, unlock -- 이건 함부로 막 사용하면 deadlock 이 발생할 수 있다.

회복 : commit, rollback

 

SQL문 예시

 

- sorting the results : ORDER BY

SELECT *
FROM		ORDER_ITEM
ORDER BY	OrderNumber, Price;

 

 

와일드카드를 사용할 때는 LIKE를 사용해야한다

SELECT *
FROM *
WHERE Buyer LIKE 'Pete%';

Pete% 이면, Pete로 사용하는 모든 행/열을 출력한다.

 

 

 

 

 

SELECT
FROM
[WHERE]
[GROUP BY [HAVING]]
[ORDER BY]

 

 

 

 

728x90
반응형

'TABA > Database' 카테고리의 다른 글

TABA Sep 8th (1)  (1) 2022.09.13
TABA Sep 7th (2)  (0) 2022.09.07
TABA Sep 7th (1)  (0) 2022.09.07
TABA Sep 6th  (0) 2022.09.06
TABA Sep 5th (1)  (0) 2022.09.05
728x90
반응형

* 본 내용은 Tmax AI & Big Data Academy 나연묵 교수님의 수업과, Kroenke and Auer - Database Processing (데이터베이스 처리론), 11th Edition 을 바탕으로 작성하였습니다.

Chapter 1. Introduction

 

주요 용어 정리

 

* Data, Database

Data : 현실세계의 정보, 그것들의 집합이 데이터베이스.

 

운영체제 : 쓰레드 < 프로세스

데이터베이스 : 가장 작은 단위는 트랜잭션

tps : transacton per second

 

DB 구조 명시화한것이 스키마

 

설계를 잘못했을떄뜯어고치는 것이 스키마 튜닝

인덱스는 검색을 빨리할 수 있게 도와주는것

그것을 설정하는 것은 인덱스 튜닝

SQL 질의 쿼리 랭귀지를 잘못 짜도 성능이 저하되는데, 이것을 바꾸는 것은 쿼리 튜닝

 

스키마 튜닝

인덱스 튜닝

쿼리 튜닝

 

* Data model, modelling

 

* DBMS : Database Management Systems

 

* 글로벌 벤더 : IBM DB2, Oracle, Microsoft SQL Server, MySQL (오라클에 팔렸다), MariaDB, PostgreSQL, SAP HANA

* 국내 벤더 : CUBRID, Goldilocks, Altibase, Tibero

 

* Data language : SQL

 

* Database Design

툴 : E-R Win, Visio, DA#

 

* DBA : Database Administrator

 

* Database Tuning & Monitoring 

오렌지

 

DB 튜닝 XM?

 


 

 

https://db-engines.com/en/

 

DB-Engines - Knowledge Base of Relational and NoSQL Database Management Systems

DB-Engines DB-Engines is an initiative to collect and present information on database management systems (DBMS). In addition to established relational DBMS, systems and concepts of the growing NoSQL area are emphasized. The DB-Engines Ranking is a list of

db-engines.com

 

 

* 데이터베이스의 특징

- 데이터는 테이블에 저장된다. 테이블은 행과 열로 구성되어있다.

- 각 row에는 occurence 혹은 instance에 대한 데이터를 저장한다.

- 하나의 데이터베이스는 데이터와 관계(relationshiips)를 저장한다.

 

 

대문자로만 이루어져있으면 테이블 이름, 대소문자가 섞여서 이름이 구성되어있으면 컬럼 이름

 

Data 데이터 : 기록된 fact 와 figure

Information 정보 : 데이터로부터 파생된 지식

 

* 데이터베이스 예시

- OLTP (OnLine Transaction Processing) - 항공사, 은행

최초로 사용한 것은 항공사에서 탑승객 표를 관리하기 위해서 만들어졌다.

- MES

- ERP

- CRM

- DW (Data Warehouse) : 현재 + 과거 데이터

   OLAP (OnLine Analytical Processing)

   Data Mining (연관 분석, 분류, 클러스터링...)

 

* 데이터베이스 시스템의 구성요소

Users ↔️ Database Applications ↔️ DBMS (create, process, administer) ↔️ Database

** 애플리케이션은 사실 데이터베이스 시스템의 구성요소는 아니다

 

- DB 데이터베이스 : 운영데이터의 집합

- DBMS : 데이터베이스를 관리하는 SW

   High-end : IBM DB2(UDB) -> SQL, Oracle

   Mid-range ; Sybase, SQL Server, Informix / INGRES (UC Berkley) : Stonebraker, QUEL - POSTGRES, PostgreSQL

   Low-end : MySQL, Access

- Database System : 

- 데이터 언어 : Query Language

   SQL(SEQUEL), QUEL, QBE, XQuery, HiveQL

 

DB성능 단위 : transaction 트랜잭션

tps : transaction per second

 

TPC-C

TPC-E

TPCx-HS

 

https://www.tpc.org/

 

TPC-Homepage

 

www.tpc.org

 

* 데이터베이스 시스템의 구성요소 with SQL

Users ↔️ Database Applications ↔️ SQL ↔️ DBMS (create, process, administer) ↔️ Database

 

사용자가 직접 작성하는 SQL은 인터랙티브 SQL이라고 부른다.

 

* Database Applications

- Create and process forms

- Porcess user queries

- Ceate and Process reports

- Execute application logic

- Control application 

폼 - 사용자로부터 성적과 같은 정보를 입력을 받는다

쿼리 (퀴어리?) - 입력한 정보 차트모양의 테이블에 정리한다

리포트 - 하드커피가 가능한 모양으로 표로 정리한다

 

DBMS 

- Create database

- Create tables

- Create supporting structures (e.g.. indexes)

- Read database data

- Modify (insert, update, or delete) database data

Maintain database structures

- Enforce rules

- Control concurrency 

Integrity Rule : 무결성, 얼마나 정확한지를 의미한다.

 

* 기능? 

정의 : DB 구조 (스키마) 정의, 테이블 구조 정의

조작 : DB조작, 검색, 삽입, 삭제, 갱신. Retrieval, Insertion, Deletion, Update.

제어 : Recovery 회복, Concurrency control 무결성 제어, Security 보안, Integrity 무결성, Correctness 정확성.

** 무결성이 결여된 데이터는 Dirty Data 라고 부른다.

 

 

 

 

내일의 주제 : DB설계

1) From Existing Data (Chap.3, Chap 4)

2) New Systems Development (Chap.5 and Chap.6)

3) Database Redesign (Chap. 8)

 

 

데이터 Import, 테이블을 한개를 사용할 것인가 두개를 사용할 것인가

 

정규화를 하는 것에 따라서 다라질 수 있다.

 

 

 

 


짐 그레이, 데니스 샤샤 Dennis Shasha, 켄 톰슨 

728x90
반응형

'TABA > Database' 카테고리의 다른 글

TABA Sep 8th (1)  (1) 2022.09.13
TABA Sep 7th (2)  (0) 2022.09.07
TABA Sep 7th (1)  (0) 2022.09.07
TABA Sep 6th  (0) 2022.09.06
TABA Sep 5th (2)  (0) 2022.09.06

+ Recent posts