데이터베이스, 관계형 데이터 모델

단비·2022년 10월 8일
0

SQL 활용

목록 보기
1/4
  • 데이터베이스의 정의
    • 데이터베이스
      • 어느 한 조직의 다양한 응용 프로그램들이 공동으로 사용하는 데이터들을 통합하여 저장한 운영 데이터의 집합
      • 사람들이 필요로 하는 데이터를 모아둔 것
    • 데이터베이스 정의에 함축된 개념
      1. 공용 데이터(Shared Data)
        • 한 조직의 여러 응용 프로그램이 공동으로 사용하는 것
        • 여러 사용자가 서로 다른 목적으로 공유함
      2. 통합된 데이터(Integrated Data)
        • 여러 부서에서 사용하는 데이터를 한 곳에 모아서 공동 관리하는 것
        • 최소한의 중복, 통제된 중복
      3. 저장된 데이터(Stored Data)
        • 컴퓨터가 접근할 수 있는 디스크와 같은 저장 매체에 저장된 것
      4. 운영 데이터(Operational Data)
        • 조직의 운영에 기본적으로 반드시 필요한 데이터를 저장하는 것
        • 조직의 고유한 기능을 수행하는 데 필수적인 데이터를 저장하는 것
    • 데이터베이스의 특징
      1. 실시간 접근성(Real-Time Accessibility)
        • 질의에 대한 실시간 처리 및 응답
      2. 계속적인 변화(Continuous Evolution)
        • 갱신, 삽입, 삭제 : 동적 특성
      3. 동시 공용(Concurrent Sharing)
        • 여러 사용자가 동시에 사용함
      4. 내용에 의한 참조(Content References)
        • 위치나 주소가 아닌 값에 따라 참조함

  • Database Management System(DBMS) : 데이터베이스 관리 시스템
    • 데이터베이스를 생성 및 관리해주는 기능을 제공하는 소프트웨어 패키지, 시스템으로 데이터와 응용 프로그램 사이의 중계자 역할을 함
    • 현재 객체 관계형 데이터베이스 관리 시스템을 많이 사용함(객체지향형은 느려서 잘 사용 안함)
    1. 데이터 정의 기능
    2. 데이터 조작 기능
      • 데이터베이스의 접근 및 조작(삽입,삭제,변경,검색) 기능 제공
    3. 데이터 제어 기능
      • 데이터 일관성, 무결성, 보안을 유지하는 기능

  • 관계형 데이터 모델 (집합이론
    1. 구조(tructure)
      • 정적 성질, 개체 타입의 관계를 명세함
    2. 연산(peration)
      • 동적 성질, 개체 인스턴스를 처리하는 작업에 대한 명세
    3. 계약조건(onstraint)
      • 논리적 제약, 데이터 조작의 한계를 표현
  • 관계형 데이터 모델의 구조와 연산
    • 릴레이션의 특징
      1. 튜플의 유일성
        • 릴레이션은 튜플의 집합이며, 중복을 허용하지 않음
      2. 튜플의 무순서성
      3. 속성의 무순서성
      4. 속성(Attribute)의 원자성(Atomicity)
        • 논리적으로 더 분해할 수 없음
    • 관계형 데이터 모델의 연산
      • 관계대수 : 시스템 관점(컴퓨터)
      • SQL : 사용자
    • 관계 대수 연산자의 분류 [폐쇄적]
      1. 일반 집합연산자 (합집합,교집합,차집합, 카티션 프로덕트)
        • 합병호환성 [연산의 피연산자(릴레이션) 들이 지켜야할 제약조건]
        • 차수(속성의 수)가 같아야함
        • 타입, 의미가 같아야함
      2. 순수관계 연산자 [셀렉트(sigma), 프로젝트, 조인]
  • 관계형 데이터 모델의 제약조건
    • 키(key)의 개념
      • 유일하게 식별할 수 있는 속성(Attribute)들의 집합
      1. 후보키(Candidate Key)
        • 유일성, 최소성
      2. 수퍼키(Super Key)
        • 모든 키를 포함
      3. 기본키(Primary Key)
        • 하나의 릴레이션에는 후보키가 여러개 있을 수 있음
      4. 대체키(Altemative Key)
        • 후보키 중 기본키를 제외한 나머지 후보키
      5. 외래키(F.K)
        • 기본키 중의 하나
  1. 개체 무결성
    • 의미 : 서로 다른 두 튜플은 같을 수 없음
    • 정의 : 기본키 값은 NULL값일 수 없음
  2. 참조 무결성
    • 외래키값은 피참조 릴레이션의 기본키값이거나 NULL 값임(추가 지정을 통해 NULL을 가질 수 없다고 제약걸 수 있음)
  3. 도메인 무결성
    • 속성값은 해당 속성 도메인에 속한 값들 중 하나여야함 (ex) 대학생의 학년 도메인 1,2,3,4 → 9학년은 가질수없음)

  • 옛날엔 SEQUEL 이라 부름

  • SQL : 종합적인 데이터베이스 언어 [데이터 정의(DDL),조작(DML),제어(DCL)]

  • 관계대수식과 SQL의 차이점

  • 관계대수식

    • 튜플의 집합(set) 중복을 허용하지 않음
    • 이용 시 결과까지 출력이 오래걸림
  • SQL

    • 튜플의 백(Bag) 순서는 없으나 중복을 허용함
  • SQL 기본구문

    1. DDL문 : 데이터 정의문
    2. DML문 : 데이터 조작문
    3. DCL문 : 데이터 제어문
  • 상업용 DBMS들

    DBMSDMBS특징
    AccessMicrosoft중소 규모 데이터베이스를 위한 데스크톱용 DBMS
    SQL serverMicrosoftWIndows NT 플랫폼에서 최적의 성능을 발휘
    InformixIBM병렬처리를 위한 멀티스레드 지원
    DB2IBM대형 데이터베이스를 위한 시스템
    OracleOracle분산처리 지원 기능이 우수함
    MySQLMySQL AB다양한 플랫폼과 API를 지원하는 비상업용 DBMS
  • MySQL

    1. System Database
      • master : 시스템 관리용
      • model : 새 데이터 베이스 생성을 위한 툴
      • msdb : SQL Server agent를 위한 데이터베이스
      • tempdb : 질의 임시결과 유지를 위한 테이블
    2. User Database
      • SSMS 이나 T-SQL(SQL of MS SQL)을 이용해서 생성
profile
tistory로 이전! https://sweet-rain-kim.tistory.com/

0개의 댓글