240 likes | 525 Views
01. 데이터베이스와 SQL 개요. 차 례. 데이터베이스 관리 시스템 (DBMS) 데이터베이스의 종류 SQL 의 이해 데이터 형식과 NULL. 데이터베이스 관리 시스템. 데이터베이스의 정의. 통합된 데이터 (Integrated data) 자료의 중복을 배제한 데이터의 모임 저장된 데이터 (Stored data) 컴퓨터가 접근할 수 있는 저장 매체에 저장된 자료 운영 데이터 (Operational data) 조직의 업무를 수행하는데 있어서 존재 가치가 확실하고 없어서는 안 될 반드시 필요한 자료
E N D
차 례 • 데이터베이스 관리 시스템(DBMS) • 데이터베이스의 종류 • SQL의 이해 • 데이터 형식과 NULL
데이터베이스 관리 시스템 • 데이터베이스의 정의 • 통합된 데이터(Integrated data) • 자료의 중복을 배제한 데이터의 모임 • 저장된 데이터(Stored data) • 컴퓨터가 접근할 수 있는 저장 매체에 저장된 자료 • 운영 데이터(Operational data) • 조직의 업무를 수행하는데 있어서 존재 가치가 확실하고 없어서는 안 될 반드시 필요한 자료 • 공용 데이터 • 여러 응용 시스템들이 공동으로 소유하고 유지하는 자료
데이터베이스 관리 시스템 • 데이터베이스의 특징 • 실시간 접근성 • 질의(조회)에 대하여 실시간 처리응답이 가능함 • 계속적인 변화 • 새로운 데이터의 삽입, 삭제, 갱신으로 항상 최신의 데이터를 유지함 • 동시 공용 • 여러 사용자가 동시에 원하는 데이터를 이용할 수 있음 • 내용에 의한 참조 • 데이터베이스에 있는 데이터를 참조할 때 데이터 주소나 위치에 의해서가 아니라 사용자가 요구하는 데이터 내용으로 데이터를 찾음
데이터베이스 관리 시스템 • 필수기능 • 정의(조직) • 데이터의 형(Type)과 구조, 데이터가 DB에 저장될 때의 제약조건 등을 명시하는 기능 • 조작 • 체계적 처리를 위한 데이터 접근 수단 등을 정하는 기능 • 제어 • 무결성, 보안 및 권한 검사, 병행수행 제어 등의 기능을 정하는 기능
데이터베이스 관리 시스템 • 장점 • 데이터의 중복을 피할 수 있음 • 저장된 자료를 공동으로 이용할 수 있음 • 데이터의 일관성을 유지할 수 있음 • 데이터의 무결성을 유지할 수 있음 • 보안을 유지할 수 있음 • 데이터를 표준화할 수 있음 • 데이터를 통합하여 관리할 수 있음 • 항상 최신의 데이터를 유지함 • 데이터의 실시간 처리가 가능함 • 데이터의 논리적 물리적 독립성이 보장됨
데이터베이스 관리 시스템 • 단점 • 데이터베이스 전문가 부족 • 전산화 비용이 증가함 • 대용량 디스크로의 집중적인 Access로 과부하(Overhead)가 발생함 • 파일의 예비(Backup)와 회복(Recovery)이 어려움 • 시스템이 복잡함
데이터베이스 관리 시스템 • 종류
데이터베이스의 종류 • 계층형 데이터베이스 • 데이터베이스 모형의 일종으로 데이터가 트리 형태로 계층적으로 저장 • 주요 특징 • 계층 구조로 이루어진 가장 오래된 DBMS(1960년대 시작) • 각 계층 구조는 물리적인 포인터로 연결, 종속적 • 초기 구축 후 구조 변경이 어려움 • 예상치 못한 무작위 검색 어려움
데이터베이스의 종류 • 망형데이터베이스 • 계층형 트리를 망(network) 형태로 확장한 것 • 레코드 사이에 다대다 관계 유지 • 복잡한 내부 포인터 사용 • 주요 특징 • 계층형의 문제점 해결 위해 1970년대 초 개발 • 계층 구조간 연결 고리를 추가하여 빠르고 효과적인 데이터 추출 가능 • 복잡한 형태의 시스템에는 많은 유지보수 비용과 Backlog가 필요 • 프로그래머가 구조를 이해해야만 프로그램이 작성 가능
데이터베이스의 종류 • 관계형 데이터베이스 • 테이블(릴레이션, 엔티티)들로 구성된다. • 테이블 내에 열(속성, 필드)이 있으며, • 열 값의 한 묶음을 행(인스턴스, 투플, 레코드)이라 한다.
데이터베이스의 종류 • 관계형 데이터베이스 • 행(레코드)을 연결하기 위해 열 값을 사용한다. • 예) 고객 레코드와 주문 레코드에는 고객 ID라는 공통적인 열이 있어서 이 열이 레코드들을 서로 연결한다. (외래 키)
데이터베이스의 종류 • RDB의 장점 • 내장된 다중 수준의 데이터 무결성 • 데이터의 정확도를 보장하기 위한 필드 수준의 무결성 • 레코드가 중복되지 않음을 보장하고 주 키 값 누락을 감지하기 위한 • 테이블 수준의 무결성 • 한 쌍의 테이블 사이의 관계가 유효함을 보장하기 위한 관계 수준의 무결성 • 데이터가 업무 지침과 일치하는지를 보장하기 위한 업무 수준의 무결성
데이터베이스의 종류 • RDB의 장점 • 데이터의 응용 프로그램으로부터의 독립성 • 사용자가 데이터베이스의 논리적 설계를 수정하거나 DBMS 개발사가 데이터베이스의 물리적 구현을 수정하더라도 데이터베이스 위에 구축된 애플리케이션에 악영향을 미치지 않는다. • 보장된 데이터 일관성과 정확성 • 데이터베이스 내에 부과할 수 있는 다양한 수준의 무결성으로 인해 데이터가 일관성 있고 정확하다.
데이터베이스의 종류 • RDB의 장점 • 손쉬운 데이터 추출 • 사용자의 명령어로 데이터베이스 내의 특정 테이블 하나 또는 여러 개의 로 연관된 테이블들로부터 데이터를 추출할 수 있다. 이는 거의 무한대의 방법으로 사용자가 정보를 볼 수 있게 해 준다.
SQL의 이해 • 개요 • SQL(Structured Query Language) • RDB의 데이터를 관리, 조작하기 위한 언어 • SQL을 확장해서 만든 범용 언어 수준의 언어 • T-SQL, PL/SQL
SQL의 이해 • 표준화 기관 • ANSI(American National Standards Institute) • 미국 내에서 기술 표준 개발을 육성하기 위해 설립된 제 1차 기관 • 아스키(ASCII)와 스쿠지(SCSI) 등을 제정 • ISO(International Standards Organization) • 100여 개 나라에서 온 대표자들로 구성된 국가 표준화 기구의 세계적인 연합체 • 많은 국가에 ANSI와 같은 국가표준화 기구가 있어 ISO의 표준안 작성에 참여함
SQL의 이해 • 표준화 과정 • SQL – 89 • 1982년 : ANSI에서 표준화 작업을 시작 • 1986년 : IBM DB2의 SQL을 근간으로 하여 ANSI 표준으로 채택 • 1987년 : ISO의 표준으로도 채택 • 1989년 : ANSI / ISO SQL 표준을 보완 및 확장하여 SQL-89(또는 SQL1)라는 첫 번째 SQL 표준이 정착
SQL의 이해 • 표준화 과정 • SQL - 92 • 1992년에 SQL-89를 대폭 보완 • 세 개의 표준 준수 수준으로 구분 ➊ 도입 수준(Entry Level) SQL-89에 최소한의 기능 추가만 요구 (많은 상용 관계형 DBMS의 SQL) ➋ 중간 수준(Intermediate Level) 상당한 기능 추가를 요구하지만, 지나치게 복잡하거나시스템에 의존하는 부분은 피함 ➌ 완전 수준(Full Level) SQL-92 표준의 모든 기능을 구현할 것을 요구
SQL의 이해 • 표준화 과정 • SQL : 1999 (SQL3) • 1999년에 SQL-92를 확장 및 보완 • SQL : 2003 • SQL : 2006 • SQL : 2008
SQL의 이해 • 표준 SQL을 준수하지 않는 이유 • 여러 차례 SQL 표준이 제정되었으나 SQL들끼리 완벽하게 호환되지 않는 이유 • 표준의 양이 방대하고 복잡해 전부 구현하기가 어렵다. • SQL 표준이 여러 중요한 부분(인덱스, 파일 저장소 등)에 대해 명시하지 않아 구현 방법이 제각각이다. • SQL 표준에서 SQL의 구문은 명확히 규정하지만, SQL의 의미에 대해서는 명확히 정의하지 않아 모호성이 발생. • DBMS개발사들은 이미 많은 고객을 확보했기 때문에 SQL 표준이 기존 기능과 상충될 경우, 과거 호환성을 깨뜨리면서까지 표준을 준수할 생각이 없다.
데이터 형식과 NULL • 데이터 형식
데이터 형식과 NULL • 데이터 형식
SQL의 이해 • NULL • 값이 없는 상태 • 숫자 데이터 형식의 0도 아니고, 문자 데이터 형식의 공백이나 빈 문자도 아님 • 실제 관계형 데이터베이스의 테이블에 저장되는 데이터 중 알 수 없거나 (unknown) 적용할 수 없는(not applicable) 값을 나타낸다.