본문 바로가기

IT/SQLD

SQLD 노랭이 [관계형 데이터베이스 개념] 핵심정리

728x90
반응형

2-1. 관계형 데이터베이스

● 데이터베이스(Database)와 DBMS(Database Management System) : 데이터의 집합. 꼭 형식을 갖추지 않아도 엑셀 파일을 모아 둔다면 그것 또한 데이터베이스임 
데이터베이스는 정보를 모아두는 곳이다. 예를 들어, 우리가 학교에서 친구들의 이름, 나이, 반을 적어둔 엑셀 파일도 하나의 데이터베이스가 될 수 있다.

 

DBMS : 데이터를 효과적으로 관리하기 위한 시스템 개인이 파일을 여러 개 묶어서 폴더에 보관하면 데이터를 찾고 관리하는데 많은 비용이 발생 이를 보다 시스템적으로 작동하게 만든 시스템을 DBMS 라고 한다(ORACLE, MYSQL 등)
DBMS는 데이터를 쉽게 관리하고 찾을 수 있게 도와주는 시스템이다. 

 

● 관계형 데이터베이스 구성 요소

- 계정 : 데이터의 접근 제한을 위한 여러 업무별/시스템별 계정이 존재
계정은 데이터에 접근할 수 있는 권한을 가진 사용자 계정들이다. 예를 들면, 선생님과 학생이 각각 다른 계정을 가지고 있으면, 선생님은 성적 정보에 접근할 수 있지만 학생은 못하게 할 수 있다.

- 테이블 :DBMS의 DB안에서 데이터가 저장되는 형식
데이터를 저장하는 형식으로 엑셀의 시트처럼 행(가로)과 열(세로)로 구성된 구조이다.

- 스키마 : 테이블이 어떠한 구성으로 되어있는지, 어떠한 정보를 가지고 있는지에 대한 기본적인 구조를 정의
테이블이 어떻게 구성되고 있는지 어떤 정보를 저장하고 있는지에 대한 설계도 같은 것이다.

 

● 테이블

1. 정의 - 엑셀에서의 워크시트처럼 행(로우)과 열(컬럼)을 갖는 2 차원 구조로 구성, 데이터를 입력하여 저장하는 최소 단위
테이블은 데이터를 저장하는 기본 단위로 엑셀 시트 처럼 생각하면 된다.

- 컬럼은 속성이라고도 부름(모델링 단계마다 부르는 용어가 다름)

2. 특징

- 하나의 테이블은 반드시 하나의 유저(계정) 소유여야 함

- 테이블간 관계는 일대일(1:1), 일대다(1:N), 다대다(N:N)의 관계를 가질 수 있음

- 테이블명은 중복될 수 없지만, 소유자가 다른 경우 같은 이름으로 생성 가능

 

● SQL(Structured Query Language)

- 관계형 데이터베이스에서 데이터 조회 및 조작, DBMS 시스템 관리 기능을 명령하는 언어
SQL은 데이터베이스에서 데이터를 조회하거나 수정할 때 사용하는 언어다. 마치 컴퓨터에게 "이 데이터를 보여줘"라고 말하는 것과 같다.

- 데이터 정의(DDL), 데이터 조작(DML), 데이터 제어 언어(DCL) 등으로 구분
+ TCL

- SQL 문법은 대소문자를 구분하지 X

 

● 관계형 데이터베이스 특징

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

- 신뢰성이 높고, 데이터의 무결성 보장

- 기존의 작성된 스키마를 수정하기 어려움 - 데이터베이스의 부하를 분석하는 것이 어려움
데이터를 빠르게 분류하고 찾으며 정확하고 일관되게 유지함! but, 만들어 놓은 구조(스키마)를 변경하기는 어려움

 

● 데이터 무결성(integrity)

- 데이터의 정확성과 일관성을 유지하고, 데이터에 결손과 부정합이 없음을 보증하는 것

- 데이터베이스에 저장된 값과 그것이 표현하는 현실의 비즈니스 모델의 값이 일치하는 정확성을 의미함 - 데이터 무결성을 유지하는 것이 데이터베이스 관리시스템에 중요한 기능
데이터 무결성은 데이터가 정확하고 일관되게 유지하는 것을 의미한다. 또한 실제 세상의 정보와 저장된 정보가 일치해야 된다.

 

● 데이터 무결성 종류

1 : 테이블의 기본키를 구성하는 컬럼(속성)은 NULL 값이나 중복값을 가질 수 없음

기본키는 중복값 XXX, NULL XXXX(비워두기 안됨)

2 : 외래키 값은 NULL이거나 참조 테이블의 기본키 값과 동일해야 한다. (외래키란 참조 테이블의 기본키에 정의된 데이터만 허용되는 구조이므로)

외래 키는 참조하는 테이블의 기본키와 일치해야됨

3 : 주어진 속성 값이 정의된 도메인에 속한 값 이어야 함

속성 값은 미리 정해진 범위 안에 이어야 함

4 : 특정 속성에 대해 NULL을 허용하지 않는 특징

특정 속성은 비워둘 수 없다.

5 : 특정 속성에 대해, 값이 중복되지 않는 특징

중복 안됨

6 : 하나의 릴레이션(관계)에는 적어도 하나의 키가 존재해야 함 (테이블이 서로 관계를 가질 경우 반드시 하나 이상의 조인키를 가짐) 고유 무결성 키 무결성

※ 도메인 : 각 컬럼(속성)이 갖는 범위

※ 릴레이션 : 테이블간 관계를 말함

※ 튜플 : 하나의 행을 의미함

※ 키 : 식별자

 

● ERD(Entity Relationship Diagram)

-ERD란 테이블 간 서로의 상관 관계를 그림으로 표현한 것

 

- ERD 의 구성요소에는 엔터티(Entity), 관계(Relationship), 속성(Attribute)가 있다. -> 현실 세계의 데이터는 이 3 가지의 구성으로 모두 표현 가능

반응형