본문 바로가기

반응형

학교수업/데이터베이스

(11)
[데이터베이스] 11. 보안과 권한 관리 데이터베이스의 보안 조직에서 허가한 사용자만 데이터베이스에 접근할 수 있도록 통제 물리적 환경에 대한 보안: 자연재해와 같이 데이터베이스에 물리적 손실을 발생시키는 위험 운영관리를 통한 보안: 접근이 허락된 사용자가 권한 내에서 데이터베이스를 사용하는 동안 데이터 무결성을 유지하도록 제약조건 정의하고 통제 권한 관리를 통한 보안: 권한 없는 사용자로부터 보호. 접근이 허락된, 즉 계정이 발급된 사용자만 권한 내에서 데이터베이스 사용가능하고 사용자별로 사용범위와 수행가능작업 제한 권한 부여: GRANT 권한 ON 객체 TO 사용자 [WITH GRANT OPTION]; 객체 소유자가 다른 사용자에게 객체에 대한 사용 권한 부여 부여 가능한 주 권한: INSERT, DELETE, UPDATE, SELECT, ..
[데이터베이스] 회복과 병행 제어 트랜잭션(Transaction) 하나의 작업을 수행하는데 필요한 데이터베이스 연산들을 모아놓은 것 작업 수행에 필요한 SQL문들의 모임: 특히 데이터베이스 변경하는 INSERT, DELETE, UPDATE문의 실행 관리 논리적 작업의 단위 장애 발생시 복구, 병행 제어 작업을 위한 중요 단위 데이터베이스의 무결성과 일관성을 보장하기 위해 작업 수행에 필요한 연산들을 하나의 트랜잭션으로 제대로 정의하고 관리해야함 트랜잭션의 특셩(ACID) 원자성(Atomicity) all-or-nothing: 트랜잭션 연산들이 모두 정상 실행되거나 하나도 실행되지 않거나 트랜잭션 수행 도중 장애 발생시 데이터베이스를 트랜잭션 작업 전 상태로 돌려야 함 원자성 보장을 위해 장애발생시 회복 기능 필요 일관성(Consisten..
[데이터베이스] 9. 정규화 정규화의 개념과 이상 현상 이상(Anomaly) 현상 불필요한 데이터 중복으로 릴레이션에 대한 삽입, 수정,삭제 연산 수행시 발생할 수 있는 부작용 삽입 이상: 새 데이터를 삽입하기 위해 불필요한 데이터도 함께 삽입해야 하는 문제 갱신 이상: 중복 투플 중 일부만 변경하여 데이터가 불일치하는 모순 문제 삭제 이상: 투플 삭제시 꼭 필요한 데이터까지 함께 삭제되는 데이터 손실의 문제 >>정규화의 필요성 정규화(Normalization) 이상현상을 제거하며 데이터베이스를 올바르게 설계하는 과정 이상현상이 발생하지 않도록 릴레이션을 분해(decomposition)하는 과정 함수적 종속성을 판단하여 정규화 수행 함수 종속을 이용해 릴레이션을 연관성 있는 속성들로만 구성되도록 분해, 이상현상이 발생하지 않는 올바..
[데이터베이스] 7.4 뷰(View) 뷰(view) 기본 테이블(물리적 테이블)을 기반으로 만들어진 가상 테이블 가상 테이블인 이유는 일반 테이블과 달리 데이터를 실제로 저장하고 있지 않기 때문 but 일반 테이블과 동일한 방법으로 사용 뷰를 기반으로 새로운 뷰 만들기도 가능 기본 테이블 내용 쉽게 검색 가능 but 기본 테이블 내용 변화 작업은 제한적(수정 및 삭제연산 거부) 뷰 생성 CREATE VIEW 뷰이름(속성_리스트) //()생략시 SELECT절의 속성 이름 그대로 사용 AS SELECT 문 //기본 테이블에 대한 SELECT문. 생성하려는 뷰의 정의. ORDER BY는 사용불가 [WITH CHECK OPTION]; //생성한 뷰 대상으로 삽입, 수정 연산시 SELECT문의 조건 만족해야만 적용되는 제약조건을 지정 Q1. 고객 테..
SQL 테이블 생성 CREATE TABLE 테이블 삭제 DROP TABLE 테이블 변경 ALTER TABLE NOT NULL 속성이 NULL값을 허용하지 않음 DEFAULT 속성의 기본 값 지정 PRIMARY KEY 기본키 지정 UNIQUE 대체키 지정. 유일성을 가지면 기본키와 달리 널값 허용 FOREIGN KEY 외래키 지정 CHECK 특정 속성에 대한 제약조건 지정 SELECT 데이터검색 ALL 결과 테이블 중복 허용 DISTINCT 결과 테이블 중복 비허용 INSERT 데이터삽입 UPDATE 데이터 수정 DELETE 데이터 삭제
6장. 관계 데이터 연산 관계 데이터 연산(Relational data operation) 관계 데이터 모델을 대상으로 원하는 데이터를 얻기 위해 연산 수행 관계 대수: 원하는 결과를 얻기 위해 데이터 처리 과정을 순서대로 기술 관계 해석: 원하는 결과 얻기위해 처리를 원하는 데이터가 무엇인지만 기술 데이터 언어의 유용성 검증에 이용 관계대수, 관계 해석으로 작성할 수 있는 모든 처리 요구를 작성가능한 데이터 언어를 관계적으로 완전하다고 정의 관계 대수(Relational Algebra) 절차언어 릴레이션을 처리하는 연산자들의 모임: 일반 집합 연산자, 순수 관계 연산자 폐쇄 특성: 피연산자도 연산 결과도 모두 릴레이션 관계 대수의 연산자 일반 집합 연산자 릴레이션이 투플이 집합이라는 개념 이용 합집합, 교집합, 차집합, 카디션..
5. 관계 데이터 모델 논리적 데이터 모델의 예시 중 하나인 관계 데이터 모델 관계 데이터 모델의 기본 개념 개념적 구조를 논리적 구조로 표현하는 논리적 데이터 모델 하나의 개체에 대한 데이터를 하나의 릴레이션에 저장 릴레이션: 하나의 개체에 관한 데이터를 2차원 테이블 구조로 저장. 파일 관리 시스템에서 파일에 대응 속성(attribute): 릴레이션의 열. 파일관리시스템의 필드에 대응 투플(tuple): 릴레이션의 행. 파일관리시스템에서 레코드에 대응 도메인: 하나의 속성이 가질 수 있는 모든 값의 집합. 속성값 입력시 적합성 판단의 기준 널: 속성 값을 아직 모르거나 해당되는 값이 없음을 의미 차수(degree): 하나의 릴레이션에서 속성의 전체 개수 카디널리티: 하나의 릴레이션에서 투플의 전체 개수 릴레이션의 구성 릴레..
4. 데이터 모델링 데이터 모델링과 데이터 모델의 개념 데이터 모델링 현실 세계의 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정 데이터베이스 설계의 핵심 과정 2단계 데이터 모델링 개념적 데이터 모델링 현실 세계의 중요 데이터를 추출해 개념 세계로 옮기는 작업 논리적 데이터 모델링 개념 세계의 데이터를 데이터베이스에 저장하는 구조로 표현하는 작업 데이터 모델 데이터 모델링의 결과물 표현하는 도구 개념적 데이터 모델 사람의 머리로 이해할 수 있도록 현실 세계를 개념적으로 모델링하여 데이터베이스의 개념적 구조로 표현하는 도구 개체 관계 모델(ER모델: Entity Relationship Model) 피터 첸이 제안한 개념적 데이터 모델 개체와 개체 간 관계를 이용해 현실세계를 개념적 구조로 표현 핵심요소: 개체, 속성..

반응형