데이터베이스 구축 - SQL 응용 목차 DML(Data Manipulation Language, 데이터 조작어)의 개념 📌 DML(데이터 조작어)은 데이터베이스 사용자가 응용 프로그램이나 질의어를 통해 저장된 데이터를 실질적으로 관리하는데 사용되는 언어이다. DML은 데이터베이스 사용자와 데이터베이스 관리 시스템 간의 인터페이스를 제공한다. DML의 유형 명령문 기능 SELECT 테이블에서 튜플을 검색한다. INSERT 테이블에 새로운 튜플을 삽입한다. DELETE 테이블에서 튜플을 삭제한다. UPDATE 테이블에서 튜플의 내용을 갱신한다. 삽입문(INSERT INTO~) 📌 삽입문은 기본 테이블에 새로운 튜플을 삽입할 때 사용한다. 일반 형식 INSERT INTO 테이블명([속성명1, 속성명2, .....
목차 DCL(Data Control Language, 데이터 제어어)의 개념 📌 DCL(데이터 제어어)는 데이터의 보안, 무결성, 회복, 병행 제어 등을 정의하는 데 사용하는 언어이다. DCL은 데이터베이스 관리자(DBA)가 데이터 관리를 목적으로 사용한다. DCL에는 GRANT, REVOKE, COMMIT, ROLLBACK, SAVEPOINT 등이 있다. GRANT/REVOKE 📌 데이터베이스 관리자가 데이터베이스 사용자에게 권한을 부여하거나 취소하기 위한 명령어이다. GRANT : 권한 부여를 위한 명령어 REVOKE : 권한 취소를 위한 명령어 사용자 등급 지정 및 해제 표기 형식 GRANT 사용자등급 TO 사용자_ID_리스트 [IDENTIFIED BY 암호]; REVOKE 사용자등급 FROM 사용..
목차 💡 주요 키워드 ? SQL, DDL, DROP, DCL, GRANT, DML, DELETE, SELECT, DISTINCT, JOIN SQL(Structured Query Language)의 개요 1974년 IBM 연구소에서 개발한 SEQUEL에서 유래한다. 국제 표준 데이터베이스 언어이며, 많은 회사에서 관계형 데이터비이스(RDB)를 지원하는 언어로 채택하고 있다. 관계 대수와 관계 해석을 기초로 한 혼합 데이터 언어이다. 질의어지만 질의 기능만 있는 것이 아니라 데이터 구조의 정의, 데이터 조작, 데이터 제어 기능을 모두 갖추고 있다. 💡 관계 대수(Relation Algebra) : 기존 릴레이션(테이블)들로부터 새로운 릴레이션을 생성하는 절차적 언어 문법 이라고 보면 된다. 릴레이션에 대해 ..
물리 데이터베이스 설계 목차 🎯 물리 데이터 모델 변환 테이블(Table) 테이블은 컬럼(Column, 열)과 로우(Row, 행)로 구성되며, 컬럼에는 지정된 유형에 따라 데이터가 저장된다. 테이블의 구성 요소 로우(Row) 튜플, 인스턴스, 어커런스라고도 한다. 컬럼(Column) 각 속성 항목에 대한 값을 저장한다. 기본키 (Primary key) - 기본키는 후보키 중에서 선택한 주키(Main key)이다. - 한 릴레이션에서 특정 튜플을 유일하게 구별할 수 있는 속성이다. 외래키 (Foreign key) - 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합을 의미한다. - 한 릴레이션에 속한 속성 A와 참조 릴레이션의 기본키인 B가 동일한 도메인 상에서 정의되었을 때의 속성 A를 외래키라..
목차 스토리지(Storage)의 개요 📌 스토리지는 단일 디스크로 처리할 수 없는 대용량의 데이터를 저장하기 위해 서버와 저장장치를 연결하는 기술이다. 스토리지의 종류에는 DAS, NAS, SAN이 있다. DAS(Direct Attached Storage) 📌 DAS는 서버와 저장장치를 전용 케이블로 직접 연결하는 방식으로, 일반 가정에서 컴퓨터에 외장하드를 연결하는 것이 여기에 해당된다. 서버에서 저장장치를 관리한다. 저장장치를 직접 연결하므로 속도가 빠르고 설치 및 운영이 쉽다. 초기 구축 비용 및 유지보수 비용이 저렴하다. 직접 연결 방식이므로 다른 서버에서 접근할 수 없고 파일을 공유할 수 없다. 확장성 및 유연성이 상대적으로 떨어진다. 저장 데이터가 적고 공유가 필요 없는 환경에 적합하다. 💡 ..
물리 데이터베이스 설계 목차 데이터베이스 백업 📌 데이터베이스 백업은 전산 장비의 장애에 대비하여 데이터베이스에 저장된 데이터를 보호하고 복구하기 위한 작업으로, 치명적인 데이터 손실을 막기 위해서는 데이터베이스를 정기적으로 백업해야 한다. 데이터베이스 관리 시스템(DBMS)은 데이터베이스 파괴 및 실행 중단이 발생하면 이를 복구할 수 있는 기능을 제공한다. 데이터베이스 장애 유형 📌 데이터베이스의 장애 유형을 정확히 파악하고 장애에 따른 백업 전략을 세워야 장애 발생 시 복구가 가능 하다. 사용자 실수 : 사용자의 실수로 인해 테이블이 삭제되거나 잘못된 트랜잭션이 처리된 경우 미디어 장애 : CPU, 메모리, 디스크 등 하드웨어 장애나 데이터가 파손된 경우 구문 장애 : 프로그램 오류나 사용 공간의 부..
물리 데이터베이스 설계 데이터베이스 보안의 개요 📌 데이터 베이스 보안이란 데이버베이스의 일부분 또는 전체에 대하여 권한이 없는 사용자가 액세스하는 것을 금지하기 위해 사용되는 기술이다. 보안을 위한 데이터 단위는 테이블 전체로부터 특정 테이블의 특정한 행과 열 위치에 있는 특정한 데이터 값에 이르기까지 다양한다. 데이터베이스 사용자들은 일반적으로 서로 다른 객체에 대하여 다른 접근 권리 또는 권한을 갖게 된다. 암호화(Encryption) 📌 암호화는 데이터를 보낼 때 송신자가 지정한 수신자 이외에는 그 내용을 알 수 없도록 평문을 암호문으로 변환하는 것이다. 암호화(Encryption) 과정 : 암호화되지 않은 평문을 정보 보호를 위해 암호문으로 바꾸는 과정 복호화(Decryption) 과정 : 암호..
물리 데이터베이스 설계 목차 데이터베이스 이중화(Database Replication) 📌 데이터베이스 이중화는 시스템 오류로 인한 데이터베이스 서비스 중단이나 물리적 손상 발생 시 이를 복구하기 위해 동일한 데이터베이스를 복제하여 관리하는 것이다. 데이터베이스 이중화를 수행하면 하나 이상의 데이터베이스가 항상 같은 상태를 유지하므로 데이터베이스에 문제가 발생하면 복제된 데이터베이스를 이용하여 즉시 문제를 해결할 수 있다. 데이터베이스 이중화는 여러 개의 데이터베이스를 동시에 관리하므로 사용자가 수행하는 작업이 데이터베이스 이중화 시스템에 연결된 다른 데이터베이스에도 동일하게 적용된다. 데이터베이스 이중화는 애플리케이션을 여러 개의 데이터베이스로 분산시켜 처리하므로 데이터베이스의 부하를 줄일 수 있다. ..