데이터베이스 설계 사용자의 다양한 요구 사항을 고려하여 데이터베이스를 생성하는 과정 관계 데이터베이스의 대표적인 설계 방법 E-R 모델과 릴레이션 변한 규칙을 이용한 설계 데이터베이스 설계 단계 1단계 : 요구 사항 분석 데이터베이스의 용도 파악 요구 사항 명세서 작성 2단계 : 개념적 설계 DBMS에 독립적인 개념적 구조 설계 개념적 스키마 ( E-R 다이어그램) 만들기 사람마다 각각 다르게 설계하는 단계이므로 어떻게 설계하느냐가 중요 ! 3단계 : 논리적 설계 DBMS에 적합한 논리적 구조 설계 논리적 스키마 ( 릴레이션 스키마 ) 만들기 4단계 : 물리적 설계 DBMS로 구현 가능한 물리적 구조 설계 하드웨어나 운영체제의 특성을 고려하여 필요한 인덱스 구조나 내부 저장 구조 등에 대한 물리적인 구조..
뷰 ( View ) 다른 테이블을 기반으로 만들어진 가상 테이블 뷰가 필요한 응용이나 사용자가 생기면 그때 기본 테이블 값을 기반으로 동적으로 만들어낸다 데이터를 실제로 저장하지 않고 논리적으로만 존재하는 테이블 다른 뷰를 기반으로 새로운 뷰 만드는 것 가능 뷰를 통해 기본 테이블 검색(SELECT) 가능 But 수정( UPDATE, DELETE, INSERT )은 제한적 뷰 생성: CREATE VIEW 문 CREATE VIEW 뷰_이름[(속성_리스트)] AS SELECT 문 [WITH CHECK OPTION] 1. CREATE VIEW 생성할 뷰의 이름과 뷰를 구성하는 속성 이름 나열 속성리스트 생략 → SELECT 절에 나열된 속성 이름 그대로 사용 2. AS 기본 테이블에 대한 SELECT 문 작성..
관계 데이터베이스를 위한 표준 질의어 대화식 SQL : 데이터베이스 관리 시스템에 직접 접근해 질의를 작성하며 실행 ( SQL문만 집어넣고 실행하면 DB에서 가져옴) 삽입 SQL : 프로그래밍 언어 안에 SQL문 넣어 응용프로그램 작성 SQL의 분류 1. 데이터 정의어 ( DDL = Data Definition Language ) 테이블을 생성하고 변경, 제거하는 기능 제공 ※ DBMS를 실제 물리적으로 구현할때는 릴레이션(수학적인 데이터모델에서 사용하는 용어)을 테이블이라 표현 ※ 릴레이션은 튜플의 순서가 없지만, 테이블은 튜플의 순서가 있다 2. 데이터 조작어 ( DML = Data Manipulation Language ) 테이블에 데..
릴레이션에 필요한 요구를 처리하는 것 관계 대수 : 원하는 결과를 얻기 위해 데이터의 처리 과정을 순서대로 기술 관계 해석 : 원하는 결과를 얻기 위해 처리를 원하는 데이터가 무엇인지만 기술 관계 대수와 관계 해석은 기능과 표현력 측면에서 능력 동등하다 원하는 결과를 얻기 위해 릴레이션의 처리 과정을 순서대로 기술하는 언어 → 절차 언어 ( procedural language ) 폐쇄 특성 ( closure property ) : 피연산자도 릴레이션이고 연산의 결과도 릴레이션임 관계 대수 연산자 - 일반 집합 연산자 ( set operation ) 릴레이션이 튜플의 집합이..
일반적으로 사용되는 논리적 데이터 모델 ( 개념적 구조를 논리적 구조로 표현 ) 하나의 개체에 대한 데이터를 하나의 릴레이션에 저장 릴레이션( relation ) : 하나의 개체에 관한 데이터를 2차원의 테이블 구조로 저장한 것 속성 ( attribute ) : 릴레이션의 열 튜플 ( tuple ) : 릴레이션의 행 도메인 ( domain ) : 하나의 속성이 가질 수 있는 모든 값의 집합 → 속성의 특성을 고려한 데이터 타입으로 정의 널(null) : 속성 값을 아직 모름 Or 해당되는 값이 없음을 표현 차수( degree ) : 하나의 릴레이션에서 속성의 전체 개수 카디널리티 ( cardinality ) : 하나의 릴레이션에서 튜플의 전체 개수 릴레이션..
현실에 존재하는 데이터를 컴퓨터의 데이터 베이스로 옮기는 과정 핵심은 추상화 ( 꼭 필요하고 중요하다고 생각하는 것을 추출해 내는 작업 )!! 1. 개념적 데이터 모델링 ( concepture modeling ) = 설계 현실 세계의 중요 데이터 → 개념 세계로 옮겨 개념적 구조 (E-R) 만듦 2. 논리적 데이터 모델링 ( logical modeling ) = 변환 ( 기계적으로 이루어짐 ) 개념 세계의 데이터 → 데이터 베이스에 저장하는 구조( 스키마 ) 로 표현 데이터 모델링의 결과물을 표현하는 도구 개념적 데이터 모델 현실 세계를 개념적 모델링 → 데이터베이스의 개념적 구조로 표현하는 도구 ex ) 개체 - 관계 ( E-R ) 모델 논리적 데이..
데이터베이스에 데이터를 저장, 관리해 조직에 필요한 정보를 생성해주는 시스템 스키마 ( schema ) 데이터베이스에 저장되는 데이터 구조와 제약조건을 정의한 것 인스턴스 ( instance ) = record 스키마에 따라 데이터베이스에 실제로 저장된 값 3단계 데이터베이스 구조 하나의 데이터 베이스를 관점에 따라 세 단계로 나눈 것 1. 외부 단계 데이터 베이스를 개별 사용자( 응용 프로그램 ) 관점에서 이해하고 표현하는 단계 데이터베이스 1개에 외부 스키마 여러 개 존재 가능 외부 스키마 ( = 서브 스키마 ) 란? 외부 단계에서 사용자에게 필요한 데이터베이스를 정의한 것 각 사용자가 생각하는 데이터베이..
파일 시스템 ( File System ) 데이터를 파일로 관리하기 위해 파일을 생성, 수정, 삭제, 검색하는 기능을 제공하는 소프트웨어 응용 프로그램마다 필요한 데이터를 별도의 파일로 관리 파일 시스템의 문제점 1. 데이터 중복성 → 저장 공간의 낭비 + 데이터 일관성, 데이터 무결성을 유지하기 어려움 2. 데이터 종속성 사용하는 파일 구조를 변경하면 응용 프로그램도 함께 변경되야 함 3. 데이터 파일에 대한 동시 공유, 보안, 회복 기능이 부족하다 4. 응용 프로그램 개발이 쉽지 않다 데이터베이스 관리 시스템 ( DBMS : DataBase Management System ) 파일 시스템의 문제를 해결하기 위해 나온 소프트웨어 필요한 데이터를 데이터베이스에 통합하여 저장하고 관리함 데이터 베이스 관리 ..
데이터와 정보 데이터( data ) : 현실 세계에서 단순히 관찰하거나 측정하여 수집한 사실이나 값 정보( information ) : 의사 결정에 유용하게 활용할 수 있도록 데이터를 처리한 결과물 데이터베이스 정의 데이터베이스란(DB)? 특정 조직의 여러 사용자가 공유하여 사용할 수 있도록 통합해서 저장한 운영 데이터의 집합 공유 데이터 ( shared data ) : 특정 조직의 여러 사용자가 함께 소유하고 이용할 수 있는 데이터 통합 데이터 ( integrated data ) : 최소의 중복과 통제 가능한 중복만 호용하는 데이터 저장 데이터 ( stored data ) : 컴퓨터가 접근할 수 있는 매체에 저장된 데이터 운영 데이터 ( operational data ) : 조직의 주요 기능을 수행하기..