DB의 키(key)와 무결성 제약조건

키(key)의 종류

  • 후보키(Candidate Key) : 릴레이션(테이블)에서 각 튜플을 유일하게 식별할 수 있는 속성이나 속성의 집합. 유일성과 최소성을 모두 만족해야한다.
  • 기본키(Primary Key) : 후보키 중에서 튜플을 식별하기 위해 특별히 선택된 키. 중복될 수 없으며, NULL 값이 올 수 없다.
  • 대체키(Alternate Key) : 후보키 중에서 기본키를 제외한 속성.
  • 외래키(Foreign Key) : 다른 키를 참조하기 위하여 사용되는 속성. 외래 식별자. 참조 릴레이션(테이블)의 기본키와 같아야 한다.
  • 슈퍼키(Super Key) : 한 테이블(릴레이션)내의 튜플들을 식별할 수 있는 후보키와 다른 속성들과의 모든 조합. 유일성은 만족, 최소성은 만족 안함.

무결성(Integrity) 제약 조건

  • 개체 무결성 : 모든 테이블의 튜플들은 유일값으로 식별되어야 함. 기본키는 null값이 올 수 없으며, 중복될 수 없다.
  • 참조 무결성 : 테이블과 테이블 간에 외래 식별자를 이용해 상호 참조할 때 오류가 없어야 함. 외래키는 널값이 올 수 있으며, 참조 릴레이션의 기본키와 같아야 한다.
  • 도메인 무결성 : 릴레이션(테이블)에서 속성값의 범위가 정의된 경우 그 속성값은 정해진 범위 이내의 값으로 구성되어야 함. 동일한 속성에 대해 데이터 타입과 데이터 길이가 동일해야 함.
  • 고유(Unique) 무결성 : 특정 속성에 대해 고유한 값을 가지도록 조건이 주어진 경우, 그 속성값은 모두 달라야 한다.
  • NULL 무결성 : 특정값에 NULL값이 올 수 없다는 조건.
  • 키 무결성 : 한 릴레이션에는 최소한 하나의 키가 존재해야 한다.

코딩교육과정 기본 용어 풀이

PBL : 문제기반 학습( Problem-Based Learning) 또는 프로젝트 학습(Project-Based Learning) .

1.학습자들의 일상적인 삶과 관련된 문제를 질문형태로 선정하고, 2.상호협력을 위한 토론-논쟁-탐구를 통해 3.학습자가 가지고 있는 기존의 지식을 통합-재구성하여, 4.실제로 적용할 수 있는 구체적인 해결법, 방안을 수립-실천-보완한 후에 5.이를 공유할 수 있도록 발표하는 과정으로 활용할 수 있다.

구성주의(Constructivism) : 지식을 객관적으로 존재하는 것이 아닌, 문화와 전통을 통해 구성되는 상황적 산물로 본다. 똑같은 것을 경험해도 학습자들은 자신의 경험에 따라 다르게 이해하고 인식할 수 있다. 따라서 교사는 학습자들이 원하는 목표를 스스로 결정하고, 적극적, 능동적으로 문제를 해결할 수 있도록 안내자, 조력자, 촉진자의 역할을 해야하며 학습자 개개인의 다양성을 이해하고 존중해야 한다.

퍼실리테이터(facilitatior) : 촉진자. 여러 사람이 일정한 목적을 가지고 함께 일을 할 때 효과적으로 목적을 달성하도록 일의 과정을 설계하고 참여를 유도하여 질높은 결과물을 만들어 내도록 도움을 주는 사람.

앱 인벤터(APP INVENTOR) : 구글이 제공한 오픈 소스 웹 애플리케이션으로 지금은 MIT에서 관리되고 있다. 컴퓨터 프로그래밍을 처음 접하는 사람들이 안드로이드용 응용 소프트웨어를 만들 수 있게 해준다.

스크래치(Scratch) : 컴퓨터 코딩에 관한 경험을 쌓게 하기 위한 목적으로 MIT에서 개발한 교육용 프로그래밍 언어 및 환경. 블럭을 끌어당겨 탑을 쌓는 과정을 통해 코딩을 하기 때문에 프로그래밍 입문자에게 권하는 프로그래밍이다.

엔트리(Entry) : 한국형 스크래치. HTML과 자바스크립트 기반으로 다양한 디바이스에서 사용할 수 있다. 네이버에서 운영.

아두이노(Arduino) : 오픈 소스 기반의 임베디드 시스템 중 하나. 다수의 스위치나 센서로 부터 값을 받아들여 외부 전자 장치를 통제함으로써 환경과 상호 작용이 가능한 물건을 만들 수 있다. 통합 개발 환경(IDE)를 제공하여 펌웨어를 쉽게 업로드 할 수 있고 저렴한 가격과 높은 호환성을 가지는 것이 장점.

파이썬(Python) : 인터프리터 방식의 프로그래밍 언어. 프로그래밍 언어중 가장 쉬운 문법으로 꼽히며 입문용이나 학습용으로 많이 추천된다. 간결하고 무료이며 접근성과 응용력이 높아 현업에서도 자주 쓰인다.

https://xkcd.com/353/