본문 바로가기

데이터베이스 (한양대 백현미)

데이터베이스 강의 12 • SQL의 데이터 조작 기능 • 데이터 검색, 새로운 데이터 삽입, 데이터 수정, 데이터 삭제 • 데이터 검색 : SELECT 문 • (1) 기본 검색 - All : 결과 테이블이 투플의 중복을 허용 - DISTINCT : 결과 테이블이 투플의 중복을 허용하지 않음 예) 고객 테이블에서 고객아이디, 고객이름, 등급 속성을 검색해보자. SELECT 고객아이디, 고객이름, 등급 FROM 고객; • 모든 속성을 검색할 때는 모든 속성의 이름을 나열하지 않고 * 사용 가능 • AS 키워드를 이용해 결과 테이블에서 속성의 이름을 바꾸어 출력 가능 (예. SELECT 제품명, 단가 AS 가격 FROM 제품;) • (2) 산술식을 이용한 검색 예) 제품 테이블에서 제품명과 단가 속성을 검색하되, 단가에 500원을 .. 더보기
데이터베이스 강의 11 🎯 학습 목표 ‣ SQL의 역할을 이해하고, 이를 기능별로 분류해본다. ‣ SQL의 데이터 정의 기능을 예제를 통해 익힌다. ‣ SQL의 데이터 조작 기능을 예제를 통해 익힌다. 1. SQL의 소개 • SQL (Structured Query Langauge) • 관계 데이터베이스를 위한 표준 질의어 • 1974년에 IBM 연구소에서 데이터베이스 시스템, "시스템 R"을 질의하기 위해서 만들어진 구조화된 언어 • 미국 표준 연구소인 ANSI와 국제 표준화 기구인 ISO에서 표준화 작업을 진행 • SQL의 분류 • 데이터 정의어(DDL) : 테이블을 생성하고 변경, 제거하는 기능을 제공 • 데이터 조작어(DML) : 테이블에 새 데이터를 삽입하거나, 테이블에 저장된 데이터를 수정, 삭제, 검색하는 기능을 제.. 더보기
데이터베이스 강의 10 🎯 학습 목표 ‣ 관계 데이터 연산의 개념과 종류를 알아본다. ‣ 일반 집합 연산자와 순수 관계 연산자의 차이를 이해한다. ‣ 일반 집합 연산자와 순수 관계 연산자를 이용해 질의를 표현하는 방법을 익힌다. 1. 관계 데이터 연산의 개념 • 데이터 모델 = 데이터 구조 + 연산 + 제약 조건 • 관계 데이터 연산 • 관계 데이터 모델의 연산 • 원하는 데이터를 얻기 위해 릴레이션에 필요한 처리 요구를 수행하는 것 • 관계 대수와 관계 해석이 있음 • 관계 대수의 개념 • 원하는 결과를 얻기 위해 릴레이션의 처리 과정을 순서대로 기술하는 언어 • 절차 언어 • 릴레이션을 처리하는 연산자들의 모임 • 대표 연산자 8개 • 일반 집합 연산자와 순수 관계 연산자로 분류됨 • 폐쇄 특성이 존재함 • 피연산자도 릴레.. 더보기
데이터베이스 강의 9 3. 기본 정규형과 정규형 과정 • 정규화 • 함수 종속성을 이용해 릴레이션을 연관성이 있는 속성들로만 구성되도록 분해해서 이상 현상이 발생하지 않는 바람직한 릴레이션으로 만들어 가는 과정 • 정규화를 통해 릴레이션은 무손실 분해되어야함 - 릴레이션은 의미적으로 동등한 릴레이션들로 분해되어야 하고 분해로 인한 정보의 손실이 발생하지 않아야 함 - 분해된 릴레이션들을 자연 조인하면 분해 전의 릴레이션으로 복원 가능해야 함 • 정규형 • 릴레이션이 정규화된 정도 • 각 정규형마다 제약조건이 존재 - 정규형의 차수가 높아질수록 요구되는 제약조건이 많아지고 엄격해짐 - 정규형의 차수가 높아질수록 데이터 중복이 줄어 이상 현상이 발생하지 않는 바람직한 릴레이션이 됨 • 릴레이션의 특성을 고려하여 적합한 정규형을 .. 더보기
데이터베이스 강의 8 🎯 학습 목표 ‣ 정규화의 필요성과 이상 현상의 의미를 이해한다. ‣ 정규화를 수행하기 위해 함수 종속성의 개념을 이해한다. ‣ 정규형의 유형과 관계를 이해하고, 실제 예를 통해 정규화 과정을 연습해본다. 1. 정규화의 개념과 이상 현상 • 이상 현상 : 불필요한 데이터 중복으로 인해 릴레이션에 대한 데이터 삽입, 수정, 삭제 연산을 수행할 때 발생할 수 있는 부작용 • 종류 - 삽입 이상 : 새 데이터를 삽입하기 위해 불필요한 데이터도 함께 삽입해야 하는 문제 - 갱신 이상 : 중복 투플 중 일부만 변경하여 데이터가 불일치하게 되는 모순의 문제 - 삭제 이상 : 투플을 삭제하면 꼭 필요한 데이터까지 함께 삭제되는 데이터 손실의 문제 • 정규화 : 이상 현상을 제거하면서 데이터베이스를 올바르게 설계해 나.. 더보기
데이터베이스 강의 7 📌 관계 데이터 모델 : 실습 • 설계 3단계 : 논리적 설계 • 목적 • DBMS에 적합한 논리적 스키마 설계 • 개념적 스키마를 논리적 데이터 모델을 이용해 논리적 구조로 표현 → 논리적 모델링(데이터 모델링) - 일반적으로 관계 데이터 모델을 많이 이용 • 결과물 • 논리적 스키마 : 릴레이션 스키마 • 주요 작업 • 개념적 설계 단계의 결과물인 E-R 다이어그램을 릴레이션 스키마로 변환 • 릴레이션 스키마 변환 후 속성의 데이터 타입, 길이, 널 값 허용 여부, 기본 값, 제약조건 등을 세부적으로 결정하고 결과를 문서화시킴 • E-R 다이어그램을 릴레이션 스키마로 변환하는 규칙 • 규칙 1 : 모든 개체는 릴레이션으로 변환한다. • 규칙 2 : 다대다 관계는 릴레이션으로 변환한다. • 규칙 3 :.. 더보기
데이터베이스 강의 6 🎯 학습 목표 ‣ 관계 데이터 모델의 기본 용어를 익힌다. ‣ 릴레이션을 구성하는 요소와 특성을 이해한다. ‣ 릴레이션에서 키의 역할과 종류를 알아본다. ‣ 무결성 제약의 의미와 필요성을 이해한다. 1. 관계 데이터 모델의 개념 • 관계 데이터 모델의 기본 개념 • 개념적 구조를 논리적 구조로 표현하는 논리적 데이터 모델 • 하나의 개체에 대한 데이터를 하나의 릴레이션에 저장 • 관계 데이터 모델의 기본 용어 • 릴레이션 • 하나의 개체에 관한 데이터를 2차원 테이블의 구조로 저장한 것 • 파일 관리 시스템 관점에서 파일에 대응 • 속성 • 릴레이션의 열, 애트리뷰트 • 파일 관리 시스템 관점에서 필드에 대응 • 투플 • 릴레이션의 행 • 파일 관리 시스템 관점에서 레코드에 대응 • 도메인 • 하나의 속.. 더보기
데이터베이스 강의 5 🎯 데이터 모델링 : 실습 • 데이터베이스 설계 단계 • 요구사항 분석 • 개념적 설계 📌 요구사항 분석 • 설계 1단계 : 요구사항 분석 • 목적 • 사용자의 요구사항을 수집하고 분석하여 개발할 데이터베이스의 용도를 파악 - 업무에 필요한 데이터가 무엇인지, 그 데이터에 어떤 처리가 필요한지 등을 고려 • 결과물 • 요구사항 명세서 • 주요 작업 • 데이터베이스를 실제로 사용할 주요 사용자의 범위를 결정 • 사용자가 조직에서 수행하는 업무를 분석 • 면담, 설문 조사, 업무 관련 문서 분석 등의 방법을 이용해 요구사항 수집 • 수집된 요구사항에 대한 분석 결과를 요구사항 명세서로 작성 • 설계 2단계 : 개념적 설계 • 목적 • DBMS에 독립적인 개념적 스키마 설계 • 요구사항 분석 결과물을 개념적 .. 더보기