The Debugging Chronicles : "코드의 미학"

01 데이터베이스 / 02 관계형 데이터 베이스와 오라클 데이터 베이스 본문

DBMS/Do it! 오라클로 배우는 데이터 베이스 입문

01 데이터베이스 / 02 관계형 데이터 베이스와 오라클 데이터 베이스

sweetseonah1004 2024. 7. 27. 22:12

01 데이터 베이스

 

데이터 베이스

데이터 data , 베이스 base 의 합성어

DBMS - Database Management System 데이터 베이스 관리 시스템

 

데이터와 정보

데이터 -  데이터(data) , 정보 (information)

데이터는 어떤 필요에 의해 수집했지만 아직 특성 목적을 위해 평가하거나 정제하지 않은 값이나 사실 또는 자료 자체를 의미

정보는 수집한 데이터를 어떠한 목적을 위해 분석하거나 가공하여 가치를 추가하거나 새로운 의미를 이끌어 낼수 있는 결과로 볼수 있다.

 

가치 있는 정보를 얻으려면 다음 조건에 맞게 데이터를 효율적으로 수집, 통합하고 체계적으로 관리,분석해야 한다.

효율적인 데이터 관리를 위한 조건
- 데이터를 통합하여 관리
- 일관된 방법으로 관리
- 데이터 누락 및 중복 제거
- 여러 사용자(응용 프로그램 포함)가 공동으로 실시간 사용 가능

 

=> 위 조건을 만족하면서 특정 목적을 위해 여러 사람이 공유하여 사용할 수 있으며,

효율적인 관리와 검색을 위해 구조화한 데이터 집합을 '데이터 베이스'리고 한다.

 

 

파일 시스템과 DBMS

- 파일 시스템(단층 파일 구조)을 통한 데이터 관리

데이터가 각 응용 프로그램별로 흩어져 있기 때문에 문제가 발생

 

서로 다른 여러 응용 프로그램이 제공하는 기능에 맞게 필요한 데이터를 각각 저장하고 관리한다.

 

DBMS를 통한 데이터 관리

· 데이터를 한 곳에 모아 관리하고, 한 곳에 모아둔 데이터를 각각의 응용 프로그램별로 데이터를 직접 관리하기 위해 사용하는 것을 말한다.

(여러 목적으로 사용할 데이터의 접근, 관리 등의 업무를 DBMS가 전담하는 방식, 작업 영역의 분리)

⇒ 응용 프로그램의 서비스 제공과 데이터 작업 효율을 높인다.

⇒ 데이터 누락이나 중복을 방지한다.

 

01-2 데이터 모델

 

계층형 데이터 모델과 네트워크형 데이터 모델

 

계층형 데이터 모델

트리(tree) 구조를 활용하여 데이터 관련성을 계층별로 나누어 부모 자식 같은 관계를 정의하고 데이터를 관리한다.

1:N 관계를 가진다. (자식은 여러 부모 개체를 가질 수 없다.)

상위 개념에 하위 개념이 포함되어 있다

계층형 데이터 모델

 

네트워크형 모델

망형 데이터 모델이라고도 하며 그래프(graph) 구조를 기반으로한다.

개체 간 관계를 그래프 구조로 연결하므로 자식 개체가 여러 부모 개체를 가질 수 있다. (N:N)

네트워크형 데이터 모델

 

객체 지향형 데이터 모델

 

- 객체 지향 프로그래밍에서 사용하는 객체 개념을 기반으로 한 데이터 모델이다.

- 독립된 객체를 구성하고 관리하며 상속, 오버라이드 등 객체 지향 프로그램에서 사용되는 기능을 활용할 수 있다.

- 데이터베이스 모델에 적용하는 것은 쉽지 않기 때문에 이를 적용한 상용 DBMS는 많지 않다.

-  관계형 모델을 바탕으로 객체 개념을 도입한 '객체 관계형(object-relational data model) DBMS'로 영역이 확장된다.

 

 

 

관계형 데이터 모델

-현대에 가장 많이 사용하는 관계형 데이터베이스의 바탕이 되는 모델이다.

- 데이터 간 관계에 초점을 둔 모델이다.

- 각 데이터의 독립 특성만을 규정하여 데이터 묶음을 나눈 후, 중복이 발생할 수 있는 데이터는 별개의 릴레이션으로 정의해 PK값을 포함하여 데이터 간의 연결을 만든다.

관계형 데이터 모델의 구성요소

이름
설명
개체(entity)
데이터베이스에서 데이터화하려는 사물, 개념의 정보 단위이다.
관계형 데이터베이스의 테이블 개념과 대응되며 테이블 릴레이션으로 표기하기도 한다.
속성(attribute)
개체를 구성하는 데이터의 가장 작은 논리적 단위로서 데이터의 종류, 특성, 상태 등을 정의한다.
관계형 데이터베이스의 열(column)개념과 대응된다.
관계(relationship)
개체와 개체 또는 속성 간의 연관성을 나타내기 위해 사용된다.
관계형 데이터베이스에서는 테이블 간의 관계를 외래키(FK) 등으로 구현하여 사용한다.
 

 

01-3 관계형 데이터베이스와 SQL

관계형 데이터 베이스란?

 

SQL이란?

sQL은StructuredQueryLanguage의약자로서'에스큐엘' 또는'시퀄'이라고부릅니다. SQL은RDBMS에서데이터를다루고관리하는데사용하는데이터베이스질의언어입니다. 지 금은S QL정의를R DBMS에게데이터에관해물어보고결과를얻는다' 정 도로만기억하 면됩니다.

 

 

02 관계형 데이터 베이스와 오라클 데이터 베이스

 

02-1 관계형데이터베이스의구성요소

 

테이블

관계형 데이터베이스는 기본적으로 데이트를 2차원 표 형태로 저장하고 관리한다.

표 형태의 데이터 저장 공간을 테이블이라고 하며, 가로줄은 행(row), 세로줄은 열(colunm)이라고 한다.

 

 

저장하려는 하나의 개체를 구성하는 여러 값을 가로로 늘여뜨린 형태이다.

하나의 행이 하나의 데이터를 한 개체의 의미한다.

 

저장하려는 데이터를 대표하는 이름과 공통 특성을 정의한다.

하나의 개체 데이터를 구성하는 저장 정보의 종류를 가리킨다.

열은 저장 정보의 종류(자료형)와 저장 가능한 값의 최대 길이, 값의 중복을 허용하지 않는 등의 저장 조건과 범위를 지정할 수 있다.

 

특별한 의미를 지닌 열,키

 

데이터를 구별할 수 있는 유일한 값을 말한다.

하나의 테이블을 구성하는 여러 열 중에서 특별한 의미를 지닌 하나 또는 여러 열의 조합을 말한다.

 

기본키

가장 중요한 키로 한 테이블 내에서 중복되지 않는 값만 가질 수 있는 키이다.

하나 또는 여러 열의 조합으로 만들 수 있다

 

보조키

대체키(alternate key)라고도 부르며, 후보키(candidate key)에 속해있는 키이다.

후보키 중에서 기본키로 지정되지 않은 열을 말한다.

 

외래키

특정 테이블에 포함되어 있으면서 다른 테이블의 기본키로 지정된 키를 의미한다.

테이블과 테이블을 이어주는 역할을 하며, 다른 테이블에 참조되어 세부 정보를 찾아갈 수 있도록 한다.

데이터의 중복을 피하기 위해 테이블 사이의 관계를 규명하기 위한 필수 요소이다.

 

복합키

여러 열을 조합하여 기본키 역할을 할 수 있게 만든 키를 말한다.

하나의 열만으로 행을 식별하는 것이 불가능할 때 두 개 이상의 열 값을 함께 사용하기 때문에 갯수가 많은 조합이 생겨나기도 한다.

02-2 오라클 데이터베이스

오라클 데이터베이스와 버전

 

자료형

데이터베이스에 저장되는 데이터의 다양한 형태들을 말한다.테이블을 구성하는 열에 지정을 한다.

scalar형 : 하나의 자료형에 맞춰 한 종류의 데이터를 저장할 수 있느 자료형을 말한다.

VARRAY, NESTED, TABLE : 한 번에 여러 데이터를 저장할 수 있는 컬렉션형이다.

 

객체

오라클 데이터베이스 내에서 데이터를 저장하고 관리하기 위한 논리 구조를 가진 구성 요소

 

 

PL/SQL

· 기존 SQL만으로 데이터베이스를 구현하는 것이 어려울 때 이를 해결하기 위해 오라클 데이터베이스는 별도의 프로그래밍 언어인

PL/SQL(Procedural Language extension to SQL)을 제공한다.

· PL/SQL을 사용하면 변수, 조건문, 반복문 등 프로그래밍 언어에서 제공하는 요소를 사용하여 데이터를 관리할 수 있따.

(보다 강력한 데이터 관리 기능을 구현)