SyntaxHighlighter.all(); [Database] 1. DB란? & DBMS란? & SQL 란? & 관계형데이터베이스란? (행/열, 키/값, 관계, 스키마) :: 게을러지고 싶어 부지런한 개발자

데이터베이스(Database)란? 

: 특정 조직이 업무 수행에 필요한 관련성 있는 통합, 저장, 운영, 공유된 데이터 집합 (ISOS)

 

통합데이터(Integrated Data): 자료의 중복을 배제/최소화한 데이터 집합

저장데이터(Stored Data): 컴퓨터가 접근가능한 저장매체에 저장된 데이터 집합

운영데이터(Operational Data): 조직의 업무 수행에 반드시 필요한 데이터 집합

공유데이터(Shared Data): 여러 응용 시스템이 동시/공동으로 사용 가능한 데이터 집합

 

- 이는 중복된 데이터를 없애고, 자료를 구조화하여, 효율적인 처리를 할 수 있도록 관리되며, 데이터베이스는 DBMS(Database Management System)이 관리. (DBMS 종류 : 오라클, Mysql, MariaDB, 등등) 

 

 

데이터베이스의 특징 

-실시간 접근성(real Time Accessibility): 내가 원할 때마다 언제든 바로 접근해서 자료 처리

-계속적인 진화(Continuous Evolution): 삽입, 삭제, 갱신 --> 항상 최신의 데이터를 유지해야 함 

-동시공유(Concurrent Sharing): 여러 명 같이 쓸 수 있어야 함 

-내용에 의한 참조(Content Reference): 주소가 아닌 데이터의 내용, 값에 따라 참조할 수.

 

 

DBMS (Database Management System)

: 사용자-데이터베이스 간 인터페이스 역할 (중간역할)

 

- 필수기능 : DB내용에 대한 정의기능(Definition Facility), 조작기능(Manipulation), 제어기능(Control)

장단점: 데이터 중복성 종속성 최소화; 일관성&무결성 유지; 사용자 간 데이터 공유 가능

 

 

SQL (Structured Query Language)

- 데이터베이스에서 데이터를 정의, 조작, 제어하기 위해 사용하는 언어 

속성 설명 주요 명령어

DDL (Data Definision Language)

데이터베이스의 구조를 정의, 수정, 삭제 등 위해 사용되는 언어 CREATE, ALTER, DROP 
DML (Data Manipulation Language) 데이터베이스 내의 자료를 검색, 삽입, 갱신, 삭제 위해 사용되는 언어 SELECT, DELETE, INSERT, UPDATE
DCL (Data Control Language)  데이터베이스 데이터의 대해 무결성 유지, 병행 수행 제어, 보호와 관리 COMMIT, ROLLBACK, GRANT, REVOKE 

 

 

관계형 데이터베이스(relational database) 

- 테이블(=릴레이션)로 이루어져 있으며, 이 테이블은 키(key)와 값(value)의 관계를 나타냄

 

<< 특징 >>

- 데이터의 분류, 정렬, 탐색 속도가 빠름

- 데이터의 무결성 보장

- 기존에 작성된 스키마를 수정하기 어려움

 

- 아래는 테이블 예시며, 관계형 데이터베이스는 아래와 같이 구성된 테이블이 다른 테이블들과 관계를 맺고 모여있는 집합체로 이해할 수 있음

 

1) 행(row): 관계된 데이터의 묶음 (= 튜플 또는 레코드)

2) 열(column): 각각의 유일한 이름, 자신만의 타입을 가짐 (= 속성 또는 필드) 

3) 값(value): 각각의 행과 열에 대응하는 값 

4) 키(key) : 행의 식별자로 이용되는 열을 기본키(primary)라고 함 

즉, 테이블에 저장된 행을 고유하게 식별하는 후보키(candidate key) 중에서 설계자가 지정한 속성 

5) 관계: 테이블 간의 관계는 관계를 맺는 테이블의 수에 따라 다음과 같이 나눌 수 있음

(일대일, 일대다, 다대다  -->>> 이러한 관계를 나타내기 위해 외래키(foreign key)를 사용. 외래키는 한 테이블의 키 중에서 다른 테이블의 행을 식별할 수 있는 키 

6) 스키마 

: 테이블을 디자인하기 위한 청사진.

- 스키마는 개체-관계 다이어그램(entity-relationship diagram)이나 문자열로 표현할 수 있음

 

 

 

+ Recent posts