[패스트캠퍼스] 컴퓨터활용능력 1급 정리 - 9
9. 데이터베이스 일반 - 키(Key)의 개념, 데이터 형식, 입력마스크
Key의 개념
기본키
예) 스마트폰, 주민번호 등등 고유한 정보.
가로=레코드=행=튜플을 유일하게 식별할 수있는 속성값
(세로=필드=열=어트리븃)
속성은 널(Null) 값이나 중복값을 입력할 수없고 개체 무결성의 제약 조건을 가짐
항상 '고유한' 인덱스
'여러 필드를 묶어서 하나의 기본키'로 설정
기본키가 설정된 상태에서 다른 필드를 기본 키로 지정하면 기존의 기본키는 자동으로 해제
기본 키로 지정되면 중복 불가능한 인덱스로 자동 설정
여러개의 필드를 기본키로 지정할 수있다.
후보키
'유일성과 최소성'을 만족하는 튜플의 최소성을 갖는 키를 의미
하나의 키 값으로 하나의 튜플만을 식별
각 튜플을 식별할 때는 최소한의 속성만을 필요
대체키
후보키가 두개 이상인 경우에 A가 기본키로 갔을 때' 나머지 후보 키'
후보키가 둘 이상(A,B,C)일 때 그 중 어느 하나(A)를 기본 키로 지정하면 나머지(B,C)는 대체키가 됨
슈퍼키
후보키와 다르게 '유일성은 가지지만 최소성은 가지지 않음'
한개 이상의 속성들로구성
외래키
'참조 무결성의 제약조건'
어떤 관계에 속해있는 속성이나 속성집합이 다른 '어떤 릴레이션의 기본 키'가 되는 경우를 의미
데이터 형식 (엑세스를 기준)
테이블을 저장하기 전에 형식을 세워야함
예를들어 호텔을 지을 때 여러 방의 사이즈들을 미리 지정해놔야 건물을 짓고 손님을 받을 수있겠죠
이렇게 방의 크기와 구조를 만드는 것을 미리 정의하는 것이 데이터 형식이다 라고 할 수있겠다.
데이터를 만들 때 아래 10가지 목록이 나온다.
텍스트
254글자까지(공백제외)
텍스트 또는 텍스트와 숫자의 조합에 적합
전화번호, 주민등록번호 처럼 계산에 사용되지 않는 숫자정보
메모
65535자
255자 이상의 긴 텍스트 데이터를 입력할 경우에 적합하다. 참고, 설명필드 등에 사용
숫자
8바이트
계산을 하는데 사용하는 숫자 정보
가격이나 기본급 등에 사용
날짜/시간
8바이트
100~9999년까지의 날짜와 시간 값
생일, 졸업 날짜 등
통화
8바이트
계산에 관련된 숫자정보 (원화, 달러 기호)
소수점 15자리 이상, 4자리 이하까지 입력이 허용
일련번호
4바이트
레코드를 구분할 수 있도록 '자동으로 매겨주는' 번호
부여된 번호는 삭제하거나 수정할 수 없음
Yes/No
1비트 y/n, t/f. on/off 와 같이 두 개의 값 중 하나만 선택
OLE 개체
1기가
다른 응용 프로그램에서 만들어진 개체를 입력
이미지, 사운드 등의 개체를 연결
인덱스를 지정할 수 없다.
하이퍼링크
2048자
하이퍼링크 주소, 파일경로 등 포함
조회 마법사
4바이트
목록상자나 콤보상자를 이용
다른 테이블 값이나 목록을 작성하여 선택
*인덱스 = 색인
***입력마스크
비밀번호를 누를 때 언더바가 네개가 있을 때 사용자는 4개라는 것을 인식, 눌렀을 때 검정 동그라미로 보임.
이렇게 화면에 미리 마킹해줄 경우에 사용자가 입력하기 편함
따라서 프로그래머들이 입력마스크를 꼼꼼하게 체크해서 초보자들도 쉽게 프로그래밍을 하는게 중요함
0
0~9까지 숫자 입력
필수요소
덧셈뺄셈 기호 사용 불가
9
숫자나 공백을 입력
선택요소
덧셈뺄셈 기호 사용 불가
#
숫자나 공백 입력
선택요소
덧셈뺄셈 기호 사용 가능
**L
A부터 Z까지의 영문자 입력
필수요소
**?
A부터 Z까지의 영문자 입력
선택요소
A
영문자나 숫자, 한글을 입력
필수요소
a
영문자나 숫자, 한글을 입력
선택요소
&
모든 문자나 공백을 입력
필수요소
C
모든 문자나 공백을 입력
선택요소
필수/선택요소별로 정리
필수요소 | 0 0~9까지 숫자 입력 덧셈뺄셈 기호 사용 불가 L, A부터 Z까지의 영문자 입력 A, 영문자나 숫자, 한글을 입력 & 모든 문자나 공백을 입력 |
선택요소 | 9 숫자나 공백을 입력 덧셈뺄셈 기호 사용 불가 # 숫자나 공백 입력 덧셈뺄셈 기호 사용 가능 ? A부터 Z까지의 영문자 입력 a, 영문자나 숫자, 한글을 입력 C 모든 문자나 공백을 입력 |
<,>
모든 문자가 소문자, 대문자로 변환
!
입력마스크가 오른쪽에서 왼쪽으로 표시
\ 혹은 원화표시
뒤에 나오는 문자가 리터럴 문자로 그대로 표시됨
예시문제)
입력마스크가 L&A로 설정되어있을 때 입력가능한 데이터는?
A1B
유효성 검사 규칙
엑셀에서의 데이터 검사규칙과 같다. 데이터가 들어오는데 반드시 내가 설정한 범위 안에 있어야한다는 것.
예를들어 급여지출일 때 수당을입력할 때 -가 들어가면 안된다. 0보다 크거나 같게 입력하라는 조건을 넣으면 -가 들어가면 입력되지 않음
"데이터를 입력할 때 제약을 걸어서 제약된 범위 안에 데이터만 입력받도록 하겠다."
사용 예 | 설명 |
>=45, <45 | 45 이상인 값, 45 미만인 값만 입력 |
>=50 and <70 | 50 이상이고, 70 미만인 값만 입력 |
0 or >=50 | 0 또는 50 이상인 값을 입력 |
Like“김*” | ‘김’으로 시작되는 값만 입력 |
Like“강??” | 첫 글자가 ‘강’으로 시작하고, 나머지는 2문자 이내의 값만 입력 |
IN(“남”, “여”) | ‘남’과 ‘여’ 중에서 하나는 입력 |
LEN([수험번호])=5 | 수험번호 필드에 입력된 값의 길이는 5개를 입력 |
Between A and B | A 이상이고, B 이하인 값만 입력 |
>=#15-1-1# and <=#16-12-31# |
2015년 1월 1일부터 2016년 12월 31일까지의 값만 입력 |