관계 데이터베이스를 위한 표준 질의어 1974년에 IBM 연구소에서 데이터베이스 시스템, “시스템 R”을 질의하기 위해서 만들어진 구조화된 언어 미국 표준 연구소인 ANSI와 국제 표준화 기구인 ISO에서 표준화 작업을 진행 SQL의 분류 데이터 정의어(DDL) 테이블을 생성하고 변경. 제거하는 기능을 제공 데이터 조작어(DML) 테이블에 새 데이터를 삽입하거나, 테이블에 저장된 데이터를 수정,삭제,검색하는 기능을 제공 데이터 제어어(DCL) 보안을 위해 데이터에대한 접근 및 사용 권한을 사용자별로 부여하거나 취소하는 기능을 제공 사용할 릴레이션 테이블 생성 : CREATE TABLE [ ]의 내용은 생략이 가능 SQL 질의문은 세미콜론으로 문장의 끝을 표시 SQL 질의문은 대소문자를 구분하지 않음 테이..
데이터 모델 = 데이터 구조 + 연산 + 제약조건 관계 데이터 연산(relational data operation) 관계 데이터 모델의 연산 원하는 데이터를 얻기 위해 릴레이션에 필요한 처리 요구를 수행하는 것 관계 대수와 관계 해석이 있음 기능과 표현력 측면에서 능력이 동등함 처리절차를 얼마나 자세히 기술하느냐에 따라 차이를 보임 관계 대수(relational algebra)의 개념 원하는 결과를 얻기 위해 릴레이션의 처리 과정을 순서대로 기술하는 언어 절차 언어(procedural language) 릴레이션을 처리하는 연산자들의 모임 대표 연산자 8개 일반 집합 연산자와 순수 관계 연산자로 분류됨 폐쇄 특성(closure property)이 존재함 피연산자도 릴레이션이고 연산의 결과도 릴레이션임 일반..
이상현상 : 불필요한 데이터 중복으로 인해 릴레이션에 대한 데이터 삽입, 수정, 삭제 연산을 수행할 때 발생할 수 있는 부작용 삽입 이상 : 새 데이터를 삽입하기 위해 불필요한 데이터도 함께 삽입해야 하는 문제 삽입이상이 발생하는 경우 갱신 이상 : 중복 투플 중 일부만 변경하여 데이터가 불일치하게 되는 모순의 문제 갱신이상이 발생하는 경우 삭제 이상 : 투플을 삭제하면 꼭 필요한 데이터까지 함꼐 삭제되는 데이터 손실의 문제 삭제이상이 발생하는 경우 정규화 : 이상현상을 제거하면서 데이터베이스를 올바르게 설계해 나가는 과정 : 이상 현상이 발생하지 않고 릴레이션을 관련 있는 속성들로만 구성하기 위해 릴레이션을 분해(decomposition)하는 과정 : 함수의 종속성을 판단하여 정규화를 수행함 : 정규화..
데이터베이스 설계의 과정 요구 사항 분석 : 데이터베이스의 용도 파악, 결과물 ⇒ 요구 사항 명세서 개념적 설계 : DBMS에 독립적인 개념적 구조 설계, 결과물 ⇒ 개념적 스키마(E-R 다이어그램) 논리적 설계 : DBMS에 적합한 논리적 구조 설계, 결과물 ⇒ 논리적 스키마(relation 스키마) 물리적 설계 : DBMS로 구현 가능한 물리적 구조 설계, 결과물 ⇒ 물리적 스키마 구현 : SQL문을 작성한 후 이를 DBMS에서 실행하여 데이터베이스 생성 데이터 모델링 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정 추상화 - 특징을 따라 정리하는 것 2단계 데이터 모델링 개념적 데이터 모델링 - 2단계 논리적 데이터 모델링 - 3단계 객체 관계 모델(E-R model) ..
설계 3단계 : 논리적 설게 목적 DBMS에 적합한 논리적 스키마 설계 개념적 스키마를 논리적 데이터 모델을 이용해 논리적 구조로 표현 → 논리적모델링 (데이터 모델링) 일반적으로 관계 데이터 모델을 많이 이용 결과물 논리적 스키마 : 릴레이션 스키마 주요 작업 개념적 설계 단계의 결과물인 E-R 다이어그램을 릴레이션 스키마로 변환 릴레이션 스키마 변환 후 속성의 데이터 타입, 길이, 널 값 허용 여부, 기본 값, 제약조건 등을 세부적으로 결정하고 결과를 문서화시킴 E-R 다이어그램을 릴레이션 스키마로 변환하는 규칙 1 모든 개체는 릴레이션으로 변환한다 개체의 이름 → 릴레이션 이름 개체의 속성 → 릴레이션 속성 개체의 키 속성 → 릴레이션의 기본키 개체의 속성이 복합 속성인 경우에는 복합 속성을 구성하..
관계 데이터 모델링 이란? 개념적 구조를 논리적 구조로 표현하는 논리적 데이터 모델 하나의 개체에 대한 데이터를 하나의 릴레이션에 저장 릴레이션(relation) 하나의 개체에 관한 데이터를 2차원 테이블의 구조로 저장한 것 파일 관리 시스템 관점에서 파일(file)에 대응 속성(attribute) 릴레이션의 열, 애트리뷰트 파일 관리 시스템 관점에서 필드(field)에 디응 튜플(tuple) 릴레이션의 행 파일 관리 시스템 관점에서 레코드(record)에 대응 도메인(domain) 하나의 속성이 가질 수 있는 모든 값의 집합 속성 값을 입력 및 수정할 떄 적합성의 판단 기준이 됨 일반적으로 속성의 특성을 고려한 데이터 타입으로 정의 널(NULL) 속성 값을 아직 모르거나 해당되는 값이 없음을 표현 차수..
설계 1단계: 요구 사항 분석 목적 사용자의 요구사항을 수집하고 분석하여 개발할 데이터베이스의 용도를 파악 업무에 필요한 데이터가 무엇인지, 그 데이터에 어떤 처리가 필요한지 등을 고려 결과물 요구 사항 명세서 주요 작업 데이터베이스를 실제로 사용할 주요 사용자의 범위를 결정 사용자가 조직에서 수행하는 업무를 분석 면담, 설문 조사, 업무 관련 문서 분석 등의 방법을 이용해 요구 사항 수집 수집된 요구 사항에 대한 분석 결과를 요구 사항 명세서로 작성 설계 2단계: 개념적 설계 목적 DBMS에 독립적인 개념적 스키마 설계 요구 사항 분석 결과물을 개념적 데이터 모델을 이용해 개념적 구조로 표현 → 개념적 모델링 (일반적으로 E-R모델을 많이 사용) 결과물 개념적 스키마: E-R 다이어그램 주요 작업 요구..
데이터베이스 시스템(DBS : DataBase System) 데이터베이스에 데이터를 저장하고, 이를 관리하여 조직에 필요한 정보를 생성해주는 시스템 데이터베이스와 사용자를 연결시켜주는 데이터언어 또한 DBS에 포함된다 스키마(schema) 데이터베이스에 저장되는 데이터 구조와 제약조건을 정의한 것 일반적으로 어떤 데이터에 포함하고 있는 변수가 무엇인지 속성이 무엇인지 정의한 것 ex) 고객이라는 테이블에 고객이라는 객체가 있다면 고객번호 이름 나이 주소가 있고 고객번호는 int 이름은 char 나이는 int 주소는 char라고 한다 동적으로 변하지 않는다 == 정적이다 인스턴스(instance) 스키마에 따라 데이터베이스에 실제로 저장된 값으로 동적으로 바뀔 수 있다. ex) S = schema, I =..