데이터 베이스란?
Data(자료) + Base(저장장소)
- 정보성으로 가치가 있는 데이터들만 저장되어 있는 공간.
- 여러 응용 시스템(프로그램)들의 통합된 정보들을 저장하여 운영할 수 있는 공용(share) 데이터의 집합
- 효율적으로 저장, 검색, 갱신할 수 있도록 데이터 집합들끼리 연관시키고 조직화되어야 한다.
💡 데이터베이스의 특성
- 실시간 접근성(Real-time Accessability) 사용자의 요구를 즉시 처리할 수 있다.
- 계속적인 변화(Continuous Evolution) 정확한 값을 유지하려고 삽입·삭제·수정 작업 등을 이용해 데이터를 지속적으로 갱신할 수 있
- 동시 공유성(Concurrent Sharing) 사용자마다 서로 다른 목적으로 사용하므로 동시에 여러 사람이 동일한 데이터에 접근 이용할 수 있다.
- 내용 참조(Content Reference) 저장한 데이터 레코드의 위치나 주소가 아닌 사용자가 요구하는 데이터의 내용, 즉 데이터 값에 따라 참조할 수 있어야 한다.
💡 데이터베이스 관리시스템
(Database Management System = DBMS )
- 데이터베이스를 관리하는 소프트웨어
- 여러 응용 소프트웨어(프로그램) 또는 시스템이 동시에 데이터베이스에 접근하여 사용할 수 있게 한다
- 필수 3기능 정의 기능 : 데이터 베이스의 논리적, 물리적 구조를 정의 조작 기능 : 데이터를 검색, 삭제, 갱신, 삽입하는 기능 —> 주로 작업 하게 될 기능 제어 기능 : 데이터베이스의 내용 정확성과 안전성을 유지하도록 제어하는 기능 EX) 통계 및 분석
- Oracle, SQL Server, MySQL, DB2 등의 상용 또는 공개 DBMS가 있다.
💡 데이터베이스 관리시스템 장점
- 데이터 중복이 최소화
- 테이터의 일관성 및 무결성 유지
- 데이터 보안 보장
💡 데이터베이스 관리시스템 단점
- 운영비가 비싸다
- 백업 및 복구에 대한 관리가 복잡
- 부분적 데이터베이스 손실이 전체 시스템을 정리
💡 관계형 데이터베이스 ( Relational Database = RDB )
- 키와 값들의 간단한 관계를 테이블화 시킨 매우 간단한 원칙의 개념의 데이터베이스
- 일련의 정형화된 테이블로 구성된 데이터 항목들의 집합이며 각 테이블은 데이터의 성격에 따라 여러 개의 **컬럼(키)**이 포함된다. (컬럼 구분값)
- 사용자는 SQL이라는 표준 질의어를 통해 데이터를 조작 또는 조회 할 수 있다. (Structured Query Language)
SQL(Structured Query Language)
데이터베이스 스키마 생성, 자료의 검색, 수정, 그리고 데이터베이스 객체 접근 관리 등을 위해 생긴 언어로 다수의 데이터베이스 관련 프로그램의 표준언어이다.
💡 SQL 명령어의 종류
- DML ( Data Manipulation Language ) : 데이터 조작어로 검색 및 수정하기 위한 수단제공 SELECT, INSERT, UPDATE, DELETE, MERGE
- DDL ( Data Definition Language ) : 데이터 구조를 생성, 변경, 삭제 등의 기능을 제공 CREATE, ALTER, DROP, RENAME
- DCL ( Data Control Language ) : 데이터에 대한 권한 관리 및 트랜잭션 제어 GRANT, REVOKE
테이블 이해하기
- 테이블 : RDBMS의 기본적 저장구조 한 개 이상의 column 과 0개 이상의 row로 구성, 데이터를 담을 수 있는 전체 구조라고 할 수 있음.
- 열(Column) : 테이블 상에서의 단일 종류의 데이터를 나타냄 특정 데이터 타입 및 크기를 가지고 있음
- 행(Row) : Column들의 값의 조합. 레코드라고 불린다. 기본키(PK)에 의해 구분된다. 기본키는 중복을 허용하지 않으며 없어서는 안 된다. → EX) 한사람의 정보
- Field : Row 와 Column의 교차점으로 Field는 데이터를 포함할 수 있고 없을 때는 NULL 값을 가지고 있다고 한
* PK 중요 → 중복데이터가 들어갈 수 없는 컬럼을 말함 EX) 이름이 달라도 데이터 구분 가능
↓ | 열 | 칼럼 | 속성 | 필드 |
→ | 행 | 로우 | 튜플 | 레코드 |
키의 종류
종류별로 데이터를 구별하거나 테이블 간의 연관 관계를 표현할 때 키로 지정한 열을 사용합니다.
키는 기본키 , 후보키, 보조키(대체키) , 왜래키, 복합키 등으로 구분됩니다.
💡 Primary Key (PK) : 기본키
기본키는 여러키 중에서 가장 중요한 키입니다.
대부분의 경우 개인 정보 노출이 가장 적은 데이터를 선정합니다.
- 튜플을 구분하기 위해서 사용하는 것으로 유일한 값이어야 한다.
- 중복값이 없다.
- Null 값이 들어올 수 없다.
- 릴레이션에서 튜플을 구분하기 위하여 사용하는 기본 키
- 하나의 애트리뷰트, 또는 애트리뷰트의 집합(복합키) 가능
- 관리자에 의해 릴레이션 생성시 정의됨 (자동으로 Index생성됨)
💡 Candidate Key : 후보키
기본키로 지정될 수 있는 모든 키를 후보키라고 합니다.
💡 Alternate Key : 보조키 / 대체키
보조키는 대체키라고도 불리우며 후보키 중 기본키로 지정되지 않은 열 입니다.
💡 Foreign Key(FK): 외래키
왜래키는 특정 테이블에 포함이 되어 있으면서 다른 테이블의 기본키로 지정된 키입니다.
- 기본키를 참조하는 속성
- 다른 테이블과의 연결고리
- Null 가능 (참조되지 않음 의미)
💡 Commposite Key : 복합키
복합키는 여러 열을 조합하여 기본키 역할을 할 수 있게 만튼 키를 의미 합니다.
'BackEnd > DataBase' 카테고리의 다른 글
[ DB /Oracle ] DML | SELECT - CASE ~ END 문 (0) | 2023.07.04 |
---|---|
[ DB /Oracle ] DML | SELECT - GROUP BY 절 (0) | 2023.07.04 |
[ DB /Oracle ] DML | SELECT - 함수 (단일행 함수/ 그룹 함수) (0) | 2023.07.04 |
[ DB /Oracle ] DML | SELECT (0) | 2023.02.22 |
[ DB / Oracle ] 데이터베이스 관리시스템 Oracle 설치 (0) | 2023.02.05 |