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 가지의 구성으로 모두 표현 가능
반응형
'IT > SQLD' 카테고리의 다른 글
SQLD 노랭이 [문자열 함수] 핵심정리 (0) | 2024.11.11 |
---|---|
SQLD 노랭이 [SQL 구조] 핵심정리 (0) | 2024.11.11 |
SQLD 노랭이 [정규형] (5) | 2024.11.08 |
SQLD 노랭이 [식별자의 종류/특징/분류] (2) | 2024.11.08 |
SQLD 노랭이 [관계의 표기법] (0) | 2024.11.08 |