전공자 따라잡기

[비전공자의 컴공지식 채우기] 데이터베이스의 기본

봄봄로그 2023. 11. 8. 19:12

너~무 어려웠던 2장 네트워크 파트 끝...

바로 3장 운영체제를 해보려다 당장 필요한 데이터베이스 부터 해보기로 한다.

 

4. 데이터베이스

4.1 데이터베이스의 기본

 

 

데이터베이스(DB) 일정한 규칙, 혹은 규약을 통해 구조화되어 저장되는 데이터의 모음

=> 이것을 제어, 관리하는 통합시스템 :  DBMS

RDBMS : 관계형 데이터베이스

 

4.1.1 엔터티 entity

사람, 장소, 물건, 사건, 개념 등 여러 개의 속성을 지닌 명사 ex) 회원 : 이름, 아이디 같은 속성을 갖는 entity

 

4.1.2 릴레이션 relation 

정보를 구분하여 저장하는 기본단위, RDBMS에서는 테이블, NoSQL에서는 컬렉션

 

4.1.3  속성 attribute

릴레이션에서 관리하는 구체적이며 고유한 이름을 갖는 정보 (entity 의 속성)

 

4.1.4 도메인

릴레이션에 포함된 각각의 속성들이 가질 수 있는 값의 집합 

ex) 속성 : 성별 -> 도메인 : {남,여} 라는 집합 

 

4.1.5 필드와 레코드

테이블은 필드와 레코드로 구성되어 있다.

필드 = 속성 = 컬럼  

레코드 = row 데이터 = 튜플

 

필드는 타입을 갖는다. 

* MySQL 기준

- 숫자타입 : TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT

- 날짜타입 : DATE, DATETIME, TIMESTAMP

- 문자타입 : CHAR, VARCHAR, TEXT(큰 문자열 저장), BLOB(이미지, 동영상 등 큰 데이터 저장), ENUM, SET 

 

 

4.1.7 키

기본키 Primary Key PK / 자연키와 인조키 중에 설정

유일성과 최소성을 만족한다. 

- 자연키 : 중복된 값들을 제외하여 중복되지 않는 키를 자연스럽게 설정되는 것

- 인조키 : sequence (oracle), auto increment (mysql) 같이 인위적으로 생성한 키

 

외래키 Foreign Key FK

다른 테이블의 PK를 그대로 참조하는 값. 중복가능

 

후보키 : PK가 될 수 있는 후보들

대체키 : 후보키가 두개 이상일 때 어느하나를 기본키로 지정하고 남은 후보키

슈퍼키 : 각 레코드를 유일하게 식별할 수 있는 유일성을 갖춘 키