240117-무결성 제약 조건 / 관계대수

윤호상·2024년 1월 17일

SQL

목록 보기
3/6



  • cascade는 조심해서 사용할 것. 다 밀어버린다.

  • delete 뒤에는 restricted가 붙어있다고 생각하면 됨.


관계대수

  • 릴레이션에서 원하는 결과를 얻기 위해 수학의 대수와 같은 연산을 이용하여 질의하는 방법을 기술하는 언어

관계대수 : 어떤 데이터를 어떻게 찾는지에 대한 처리 절차를 명시하는 절차적인 언어이며, DBMS 내부의 처리 언어로 사용됨
-> how / 어떻게 찾을 것인지~

관계해석 : 어떤 데이터를 찾는지 명시하는 선언적인 언어로 관계대수와 함계 관계 DBMS의 표준 언어인 SQL의 이론적인 기반을 제공함
-> what / 명시, 정의만 해놓은 것

-> 관계대수와 관계해석은 모두 관계 데이터 모델의 중요한 언어이며 실제 동일한 표현 능력을 가지고 있음.


관계데이터 베이스 모델
릴레이션
집합(숫자, 문자, 사람 등의 객체의 모임)

  • 카티션 프로덕트 -> 곱집합?
    예) A = {2, 4}, B = {1, 3, 5} 일 때
    AxB = {(2,1), (2,3), (2,5), (4,1), (4,3), (4,5)}

  • 카티션 프로덕트의 기초 집합 A, B 각각이 가질 수 있는 값의 범위를 도메인(domain)이라고 한다.

  • 관계대수에서의 연산은 두가지로 나눠진다.

    • 순수 관계연산 : selection, projection, join, division, rename
    • 일반 집합 연산 : union, intersection, difference, cartesian product

    관계대수식

관계대수 연산자


조인

두 릴레이션의 공통 속성을 기준으로 속성 값이 같은 투플을 수평으로 결합하는 연산임. 조인을 수행하기 위해서는 두 릴레이션의 조인에 참여하는 속성이 서로 동일한 도메인으로 구성되어야 함. 조인 연산의 결과는 공통 속성의 속성 값이 동일한 투플 만을 반환함



테스트 오답

  • 6번 답 : 4
    • 내가 한 답은 3번인데 보기 ㄴ이 필요충분조건?인건 아닌 것 같았다.
      조금 문제가 잘못나온 것 같은데 ㄱ,ㄴ,ㄷ,ㄹ가 다 틀린 것 같다.

  • 9번
    9-1) 후보키가 아니다. 주소 속성은 필요하지 않기 때문이다.
    9-2) 슈퍼키이다. 튜플은 유일하게 구분한다.
    9-3) ?? 이 문제는 이슈가 있다. 나중에 수정 필요..
    9-4) 가질 수 있다.

  • 14번
    • 내가 한 답은 2번이다. 근ㄴ데 2번보다 좀 더 맞는 답은 3번이었던 것 같다. 복잡한 데이터는 하나 이상의 테이블에 나눠 저장하는 것이 맞다.

  • 15번
    • 숫자라 생각하고 ''이 필요없다고 생각했다.
      하지만 와일드카드 %나 가 들어가기 때문에 '%45','%45','%45%'
      로 작성해야 한다.

  • 17번
    • 오류가 발생하는 문장을 골라야 하는데 잘못 생각하고 오류가 발생하지 않는 것을 고른 것 같다. 4번이 between을 사용했다면 and 연산자가 들어가야 하지만 or로 들어갔기 때문에 오류가 발생한다.
  • 18번
    • 별명에 대해 조건식에 들어갈 수 있냐 오름차순,내림차순에 들어갈 수 있냐 문제였다. 잘 알지 못했는데 별명으로 조건식이 돌아가지 않는다고 한다.
  • 19번
    • 답은 2번
      UNION은 두 릴레이션의 합집합이다.
      1번은 출력할 컬럼명이 같아야 하는데 뒤집어져서 다르기 때문에 오류가 난다. 출력해주는 컬럼 순서를 바꿔주면 오류가 나지 않는다.

      3번은 출력할 컬럼의 개수가 동일해야 하는데 3개 2개로 다르기 때문에 오류가 발생한다.
  • 26번
    • 데이터베이스(DB: database): 조직체의응용시스템들이공용으로사용하는운영데이터들이
      구조적으로통합하여저장된데이터로컴퓨터내부의하드디스크에저장된다.
    • DBMS(데이터베이스관리시스템, database management system) :
      소프트웨어프로그램으로데이터베이스를관리하는기능을하며, 사용자에게편리하고
      효율적인데이터베이스사용환경을제공한다. 컴퓨터주기억장치에상주한다.
    • 데이터모델(data model) :
      데이터베이스시스템에서데이터를저장하는이론적방법에관한것으로, 데이터베이스에
      데이터가어떻게구조화되어저장되는지를결정한다. 데이터모델은데이터, 연산자, 무결성 제약조건을요소로갖는다.
    • 데이터베이스 시스템 :
      데이터베이스관리시스템, 데이터베이스, 데이터모델이3가지로구성된시스템을말한다
profile
개발네발

0개의 댓글