School/데이터베이스 11

보안과 권한 관리

보안의 개념과 유형 권한을 부여하고 부여한 권한을 취소하는 법 역할의 개념과 필요성 역할을 이용해 권한관리 수행하는 법 권한관리 권한관리 = 접근제어 계정이 발급된 사용자가 로그인에 성공했을 경우에만 데이터베이스에 접근을 허용하는 것 - 사용자 계정 관리 -> 데이터베이스 관리자가 담당 : 각 사용자는 허용된 권한 내에서만 데이터베이스 사용 : 로그인에 성공한 사용자도 데이터베이스 사용범위, 수행가능작업에 제한 - 데이터베이스의 모든 객체 -> 객체를 생성한 사용자만 사용권한 소유주가 필요에 따라 SQL 문 이용해 다른 사용자에게 사용 권한을 부여하거나 취소 가능함 권한 관리를 통한 보안 1. GRANT 문 1-1. 객체 권한 부여 객체의 소유자가 다른 사용자에게 객체 사용권한 부여 GRANT 1)권한 ..

회복과 병행제어

트랜잭션 : 병행제어와 회복작업의 기본 단위 회복 기법 : 데이터베이스를 장애로부터 복구하는 기법 병행 제어 기법 : 여러 사용자가 동시에 접근할 수 있도록 트랜잭션 수행을 통제하는 기법 01. 트랜잭션 1. 트랜잭션의 정의 하나의 작업을 수행하는데 필요한 데이터베이스 연산들을 모아둔 것 = 작업 수행에 필요한 SQL 문들의 모임 (데이터베이스 변경하는 INSERT, DELETE, UPDATE 문의 실행) 논리적인 작업의 단위 장애 발생 시 복구작업이나 병행제어작업을 위한 단위 데이터베이스의 무결성과 일관성 보장을 위해 작업 수행에 필요한 연산들을 하나의 트랜잭션으로 정의하고 관리해야 함 EX01) 계좌이체 트랜잭션 2개의 UPDATE 문이 모두 정상적으로 실행되어야 함. 처리순서는 중요하지 않음 2. ..

정규화

정규화의 필요성과 이상 현상의 의미 정규화 수행을 위한 함수 종속의 개념 정규화의 유형, 관계 1. 정규화의 개념과 이상 현상 - 이상 현상 : 불필요한 데이터 중복으로 인해 릴레이션에 대한 데이터 삽입, 삭제, 수정 연산 수행시 발생할 수 있는 부작용 삽입 이상 새 데이터 삽입 위해 불필요한 데이터도 함께 삽입해야 하는 문제 갱신 이상 중복 투플 중 일부만 변경 -> 데이터가 불일치하게되는 모순 삭제 이상 투플을 삭제하면 필요한 데이터까지 삭제 (데이터 손실) - 정규화 : 이상현상을 제거해나가면서 데이터베이스를 올바르게 설계해나가는 과정 1) 삽입 이상 새 데이터 삽입 위해 불필요한 데이터도 함께 삽입해야 하는 문제 ex) 이벤트참여 릴레이션에 신규고객 데이터가 포함되는 경우 이벤트에 참여하지 않는 ..

데이터베이스 언어 SQL_2

뷰의 개념과 장점 삽입 SQL의 역할 기본 테이블을 기반으로 만들어진 가상 테이블 기본 테이블 : 뷰를 만드는 기반이 되는 물리적 테이블 논리적으로만 존재(데이터를 실제로 저장하지 않음) 일반 테이블과 동일한 방법으로 원하는 데이터 검색 가능 다른 뷰를 기반으로 새로운 뷰 만들기 가능 뷰를 통해 기본 테이블의 내용을 쉽게 검색 가능 기본 테이블 내용을 변화시키는 작업은 제한적 CREATE VIEW 뷰 이름[(뷰를 구성하는 속성의 리스트)] AS SELECT (기존 테이블에서 SELECT 해올 것들) FROM (기존 테이블명) WITH CHECK OPTION; (SELECT 만족하는 데이터에 대해 적용할 조건) AS SELECT : 생성하려는 뷰의 정의, 기본 테이블에 대한 SELECT 문 (ORDER B..

SQL-SELECT 문

SQL : 관계 데이터베이스를 위한 표준 질의어, 비절차적 데이터 언어로 분류 데이터 정의 ,데이터 조작, 데이터 제어 에 사용할 수 있음 데이터 조작 기능으로는 데이터 검색, 데이터 삽입, 데이터 수정, 데이터 삭제 가 있음 데이터 검색 기능은 SELECT 문 이용 SELECT 문 기본검색 SELECT [ ALL / DISTINCT ] 검색하고 싶은 속성 이름 FROM 검색하고 싶은 속성이 있는 테이블의 이름 ; ALL : 결과 테이블이 투플의 중복을 허용하도록 지정 (디폴트값, 생략가능) DISTINCT : 결과 테이블 투플의 중복 제거 검색결과는 테이블 형태로 반환 모든 속성 검색하기 모든 속성을 검색하고 싶은 경우 모든 속성의 이름을 나열하지 않고, * 이용 가능 EX) SELECT * FROM ..

관계 데이터 연산

1. 관계 데이터 연산의 개념 관계 데이터 연산 관계 데이터 모델을 대상으로 수행하는 연산 원하는 데이터를 얻기 위해 필요한 릴레이션 처리 방법을 명세 관계 대수와 관계 해석으로 구분 관계 대수 원하는 결과를 얻기 위해 데이터 처리과정을 순서대로 기술 관계 해석 원하는 결과를 얻기 위해 처리를 원하는 데이터가 무엇인지만 기술 데이터언어(데이터 관리시 사용되는 언어)의 유용성을 검증하는 목적으로 활용 -> 관계 대수나 관계 해석으로 명세할 수 있는 모든 질의*를 작성 가능한 데이터언어 => 관계적으로 완전하다 * 질의(query): 데이터에 대한 처리 요구 2. 관계대수 절차언어 : 원하는 결과를 얻기 위해 릴레이션의 처리 과정을 순서대로 기술하는 언어 폐쇄 특성 : 피연산자도 릴레이션, 연산 결과도 릴레..

관계 데이터 모델

관계 데이터 모델 관계 데이터 모델의 개념 1. 관계 데이터 모델의 기본 개념 개념적 구조 -> 논리적 구조로 표현하는 논리적 데이터 모델 E-R 다이어그램 -> table 하나의 개체에 대한 데이터 -> 하나의 릴레이션에 저장 관계, 제약사항도 릴레이션으로 저장 가능 2. 관계 데이터 모델의 기본 용어 용어 설명 파일 관리 시스템 관점 릴레이션 (Relation) 하나의 개체에 관한 데이터를 2차원 테이블 구조로 저장한것 파일 속성 (Attribute) 릴레이션의 열 필드 투플 (Tuple) 릴레이션의 행 레코드 용어 설명 도메인 (Domain) - 하나의 속성이 가질 수 있는 모든 값들의 집합 - 속성 값을 입력 및 수정할 때 적합성 판단의 기준 - 속성의 특성을 고려한 데이터타입으로 정의 널 (Nu..

데이터 모델링

데이터 모델링과 데이터 모델의 개념 데이터 모델링(Data Modeling) 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정 2개 단계로 이루어짐 : 개념적 데이터 모델링 -> 논리적 데이터 모델링 개념적 데이터 모델링 논리적 데이터 모델링 현실 세계의 중요 데이터를 추출, 개념 세계로 옮기는 작업 개념 세계의 데이터를 데이터베이스에 저장하는 구조로 표현하는 작업 데이터 모델 데이터 모델링의 결과물을 표현하는 도구 개념적 데이터 모델 논리적 데이터 모델 사람의 머리로 이해할 수 있도록 현실 세계를 개념적으로 모델링하여 개념적 구조로 표현하는 도구 ex) 개체-관계 모델 개념적 구조를 논리적으로 모델링하여 데이터베이스의 논리적 구조를 표현하는 도구 ex) 관계 데이터 모델 ER..

데이터베이스 시스템

데이터베이스 시스템(DataBase System : DBS) 데이터베이스를 데이터에 저장하고, 이를 관리하여 조직에 필요한 정보를 생성해주는 시스템 데이터베이스와 데이터베이스 관리 시스템을 이용해 조직에 필요한 정보를 제공하는 전체 시스템 사용자, 데이터언어, 컴퓨터도 데이터베이스 시스템에 포함 ** 데이터베이스 시스템의 구성, 데이터베이스 / 데이터베이스 관리 시스템 / 데이터베이스 시스템의 차이 스키마와 인스턴스 스키마(Schema) : 데이터베이스에 저장되는 데이터 구조와 제약조건을 정의한것 인스턴스(Instance) : 스키마에 따라 데이터베이스에 실제로 저장된 값 데이터베이스의 3단계 구조 데이터베이스를 쉽게 이해하고 이용할 수 있도록 하나의 데이터베이스를 보는 관점에 따라 3단계로 나눈 것 외..

데이터베이스 관리 시스템(DBMS)

1. 파일 시스템의 문제점과 데이터베이스 관리 시스템의 필요성 파일 시스템 : 데이터를 파일로 관리하기 위해 파일을 생성/삭제/수정/검색하는 기능을 제공하는 SW 응용프로그램마다 필요한 데이터를 별도의 파일로 관리 파일 시스템의 문제점 : 1) 같은 내용의 데이터를 여러 파일에 중복으로 저장 -> 공간 낭비, 데이터 중복성으로 인해 데이터 일관성과 데이터 무결성을 유지하기 어려움 * 무결성 : 필요로 하는 정보의 수정 여부 / 정보가 외부 프로그램에 의해 수정된 경우 무결성이 깨짐 2) 응용프로그램이 데이터파일에 종속되어있음 -> 사용하는 데이터파일의 구조가 바뀌면 응용프로그램도 바뀌어야 함 : 데이터 종속성 3) 데이터 파일에 대한 동시 공유, 보안, 회복 기능이 없음 4) 응용프로그램 개발 난이도 높..