<데이터베이스(Database)-DB>
- 자료 관리 프로그램
- 통합된 데이터, 저장된 데이터, 공유된 데이터, 운용되는 데이터
(통합 저장하고 공유해서 사용하는 데이터 관리 시스템)
: 실시간적인 접근, 계속적인 변화, 내용에 의한 참조, 보안성,
데이터 무결성
- 기존 파일 시스템의 문제점 때문에 나타남.
: 자료의 중복(프로그램별로 자료를 가짐), 자료의 불일치(자료의 종속)
성적관리 프로그램 - 학생 data - 학번 숫자->텍스트 변경
학생관리 프로그램 - 학생 data - 학번 숫자
- 따라서 자료의 중복을 최소화하고 업데이트나 추가시 불일치를 없애고,
데이터의 독립성(논리/물리) 보장하는 것이 목적
-DB시스템 구성요소 : DBMS, DBA, 개발자, 사용자, 스키마, 언어,
<데이터베이스 언어> SQL
: 데이터베이스 정의, 조작, 제어를 하는 언어
- DDL(데이터베이스 정의어)
Create(테이블 생성), Drop(테이블 삭제),
Alter(필드 추가/삭제/변경)
- DML(데이터베이스 조작어)
Select(레코드 검색), Insert(레코드 삽입),
Update(레코드 수정), Delete(레코드 삭제)
- DCL(데이터베이스 제어어)
Grant(권한 부여), Revoke(권한 박탈),
Rollback(원상태로 복구), Commit(완료)
- 데이터베이스의 구축 단계 : 계획-설계-구현(코딩)-검사-유지보수/사용
(모든 소프트웨어 구축 단계도 동일)
계획 단계 : 비용, 기간, 인원수, 전체적인 일정 - 간트 차트, WBR
설계 단계 : 개념적 설계(ERD) - 상세 설계(논리적 설계-RDB) - 물리적 설계
구현 단계 : 코딩, 데이터베이스 실질 구현 프로그램
검사 단계 : 단계 검사, 통합 검사
유지 보수 단계 : 업그레이드(패치), 보수 - 실질적인 개발에서 가장 비용이 들어감.
<개념적 설계 - ERD(개체 관계도)>
사각형 : Entity(개체)-관계의 주체
타원 : Attribute(속성)-개체가 가지는 성격, 성질
마름모 : Relationship(관계)-주체들간의 일어나는 일
선 : Link(연결)
밑줄타원 : 기본키(PK)
회원과 도서는 대여라는 관계를 가짐
회원(개체) - ID, A, T, N ....(속성)
회원을 구별하기 위해서 유일성 가지는 ID를 부여 = 기본키
도서(개체) - 도서코드, 도서명, 저자, 출판사, ....(속성)
도서코드가 기본키로 가능(중복 안됨)
대여(관계) - 대여날짜, 대여금액, 반납여부, 회원ID(외래키), 도서코드(외래키)
기본키 : 유일성, 최소성 = 개체무결성
기본키가 될 수 있는 키 : 후보키
기본키를 대체할 수 있는 키 : 대체키(후보키 중 기본키가 아닌 키)
<상세 설계-논리적 설계> : Access(관계형 DB)
테이블 - 개체, 관계 : 자료 관리의 기본
필드(열) - 속성
레코드 - 행(회원 한명의 자료, 도서 한권의 자료, 대출 1건)
레코드(행) 단위로 삽입, 삭제가 일어남
관계 연결성 - 기본키(PK, 주키, 주식별자), 외래키(FK, 외래식별자)
외래키 : 참조 무결성 - 기본키를 참조해서 사용하고, 만들어 사용할 수 없다.
관계 설정 : 상위 테이블의 기본키와 하위 테이블의 외래키를 연결하는 과정
테이블(Table) : 자료를 가지고 있는 기본 개체, 레코드 원본이 됨.
폼(Form) : 자료를 화면에 입출력 하는 개체로 레코드 원본은 테이블이나 쿼리
쿼리(Query) : 조건, 질문, 질의를 통해서 하나 이상의 테이블이나 쿼리에서 자료를 추출해서 원하는 형태로 결과를 보여주는 개체
보고서(Report) : 자료의 종이에 출력하기 위해 레코드 원본인 쿼리나 테이블을 원하는 형태로 보여주는 개체
<테이블>
데이터 형식
- 짧은텍스트 : 255자까지 가능
- 긴 텍스트(메모, 비고) : 63999자까지 가능
예) 비고라는 필드를 만들고 256자 이상 입력될 수 있도록 형식설정
- 숫자 : 바이트(0~255, 1byte),
정수(integer) -32768~32767까지 입력 가능하고, 2byte
정수(long) -21억~21억 4byte
예) 32767이상이 입력될 수 있도록 적절한 형식과 크기를 설정
실수(single, double) : 아주 큰 숫자나 아주 작은 숫자의 표현
(수학적 정밀한 수의 표현, 미세한 수)
- 일련 번호 : 자동으로 번호 매기기, 입력할 필요없다.
다른 테이블에서 이 부분을 참조하는 경우 데이터 형식은 숫자로 설정
- Yes/No : Boolean(부울린, 불) 타입, 두 가지 값중 하나만 입력 가능 (1byte)
예) 성별이라는 필드를 만들고, 적당한 형식을 설정
예/아니오는 기본적으로 확인란(체크 박스) 컨트롤로 나타남
텍스트로 표현하고 싶으면 조회 속성에 텍스트 상자 컨트롤로 변경하고, 형식 설정 필요
- OLE 개체 : 사진, 문서 - 외부프로그램에서 만들어진 개체 연결
- 첨부 파일 : 사진, 문서 - 외부프로그램에서 만들어진 개체 첨부
<테이블 일반 속성>
- 필드 크기 : 글자수, 숫자 타입 선택(byte, 정수, 정수(long))
- 캡션 : 필드명과 다르게 겉에 레이블(포장지), 관계 설정시에는 의미가 없다.
- 기본값 : 자동값, 기본적으로 입력되어 있는 값(default)
- 필수 : 꼭 입력되어야 하므로 null 값(정보부재, 빈 값)은 안됨(not null).
- 빈 문자열 허용 : 스페이스(공백 문자) 허용 여부
- 인덱스 : 색인, 검색시에 사용되는 필드, (필수)
이름(중복 가능한 색인),
학번(학생테이블-중복 불가능한 색인, 성적테이블-중복 가능한 색인)
- IME 모드 : 한글,
영숫자 반자(영숫자로만 입력)-영/숫/특수문자 1byte, 한글 2byte
영숫자 전자-영/숫/특수문자/한글 2byte
abc@naver : 영숫자 반자(Access의 기본값)
a b c @ n a v e r : 영숫자 전자(띄어쓰기를 하지 않아도 한 것처럼 글자와 글자사이가 멀게 나타나는 형태)
<유효성 검사 규칙>
- 입력 시에 제한되는 값, 범위/모양 설정(유효성검사 규칙에 설정하라고 문제에서 주어짐),
- 함수/연산자 사용 가능
- >, >=, <, <=, =, <>
- <>0 , not 0 : 0이 아닌 것
- <>"서울"
- or, and , not 연산자
>1000 or is null : 1000보다 크거나 null 값으로 설정
- is(=) null : 비워라, 필드 값을 비우는 경우, null(빈 값)
isnull([필드명]) : 함수, 비었니? T/F로 결과가 나타남.
- not null : 필수(입력), 공백 불가
is not null : 값에서 입력, 비워두지 말아라
- 0~1000 : >=0 and <=1000 (필드 일부분의 값만도 제한가능),
between 0 and 1000 (필드 전체만 가능)
- 날짜 올해 자료 추출 : >=#2022-1-1# and <=#2022-12-31#
between #2022-1-1# and #2022-12-31#
날짜 앞뒤에 #이 꼭 있어야 하고, #이 없으면 -(하이픈)은 연산자(빼기)
- 학점 수우미양가 중에 하나 : "수" or "우" or "미" or 양 or 가
in("수", 우, 미, 양, 가)
서울 or 부산 or 대전
in(서울, 부산, 대전)
in( ) : ( )안에 있는 것 중(,)에 하나
not in( ) : ( )안에 있는 것은 제외하고...
not in(서울, 부산, 대전)
- len([상품코드]) = 5 : 상품코드 필드(열)의 길이가 5랑 같아라.
상품코드를 5글자로 입력.
[ ] : 안에 있는 것은 필드명
- len("상품코드") : 상품코드 라는 글자의 길이, 결과가 4
- like : 유사연산자, ~처럼
like "*a*" : a라는 글자를 포함
not like "*a*" : a라는 글자를 포함하지 말 것
like "* *" : 글자 사이에 공백을 포함
not like "* *" : 글자 사이에 공백을 포함하지 말 것
like "*@*" : 이메일 입력사항
not like "* *" and like "*@*"
이름 like "홍*"
이름 = "홍길동"
- 유효성 검사 텍스트 : 유효성 검사 규칙에 어긋나면 보여주는 오류 메시지
<와일드 카드, 만능 문자> : 검색, 조건
? : 한문자 (_)
* : 모든 문자 (%)
김? 김구, 김범, 김해, ....
김?? 김길동, 김포시
김* 김, 김구, 김길동, 김거시기, 김포공항, 김~~~~~
*.exe 모든 실행파일
*디* 오디오, 비디오, 디지털, 디즈니랜드
*@* 이메일
like "*@*" 이메일 : access에서 like(유사연산자) 사용과 함께
not like "* *"
- instr([필드명], 글자) : 위치 찾아주는 함수
=find("a", "Korea") -> 5
=find("h", "Korea") -> #Value!
instr("Korea", "a") -> 5
instr("Korea", "h") -> 0 (h가 없다)
instr([필드명], " ") = 0 : 공백이 지정 필드에 없도록 설정
<입력마스크>
: 입력 시에 제한되는 형태, 모양
=> 입력된 형태가 맞지 않으면 더이상 진행이 안됨(필수),
함수를 사용하지 않음.
- 숫자: 0(필수 입력, 입력 안하면 안 넘어감),
9(생략, 덧셈/뺄셈 불가능),
#(생략, 덧셈/뺄셈 가능)
주민번호 000000\-0000000
전화번호 999\-9999\-9999
- 영문자 : L(필수), ?(생략)
아이디 영문자 4~8자 : LLLL
- 영숫자 : A(필수), a(생략)
아이디 영숫자 4~8자 : AAAAaaaa
- >(대문자), <(소문자)
아이디 영문자 대문자 4~8자 : >LLLL????
아이디 영숫자 소문자 4~8자 : <AAAAaaaa
- &(공백 필수), C(공백 선택)
- \(역슬래시) : 뒤에 나오는 글자를 찍어줌.
마지막 큰따옴표와 동일한 역할
옛우편번호 000"-"000 000\-000
날짜 yy년 mm월 dd일 yy"년 "mm"월 "dd\일
금액 \3,123 \\#,##0
- Password : 암호 입력시 마스킹 처리되도록 설정하는 형식
- 입력마스크 구조/형식
입력 마스크 형식;기호저장 유무;입력모양 자리표시문자
두번째 영역에 설정(0은 저장, 생략이나 1은 저장 안함)
예)0000-00-0000;0;_ 12글자
0000-00-0000;1;_ 10글자
옛우편번호 000-000;;_ _ _ _-_ _ _
우편번호에 있는 하이픈은 저장안함(6글자)
주민번호 000000\-0000000;0;#
######-#######
주민번호에 있는 하이픈도 저장(14글자)
여섯 숫자 필수 입력;기호저장;#으로 자리 표현(7글자)
00-0000;0;#
##-####
<형식>
: 표시(출력) 시에 나타내는 형태, 모양
- 엑셀의 셀서식의 표시형식과 비슷
- 0 : 없으면 0으로 채워서 자리수 표현
- # : 1~9까지 표시, 일의 자리 0은 무시
#.## : 0.5 -> .5
0.00 : 0.5 -> 0.50
000 : 5 -> 005
- #,###"개" 재고가 없으면 0을 표시하지 않고 "개"만 표시
#,##0"개" 재고가 없으면 "0개"로 표시
- @ : 텍스트 표현 코드, @"님", @"(주)"
- d, m, y, a, q, h, n, s
- >(대문자), <(소문자)
-! : 왼쪽맞춤
- [색] : 지정된 한글된 색만 가능
(검정, 파랑, 녹색, 녹청, 빨강, 자홍, 노랑, 흰색)
- 숫자 데이터 형식
양수 표현;음수 표현; 0일때 표현;null일 때 표현
[파랑]#,##0;[빨강](#,##0);-
1234 => [파랑]#,##0 1,234
-1234 =>[빨강](#,##0) (1,234)
남 -1, 여 0
;남;여 ;\남;\여
-1 => 남
0 => 여
<필드 조회 속성>
- 조회 필드 = 조회 목록 = 조회 마법사 = 조회 속성 설정
- 텍스트 상자(입력란) 컨트롤 -> 필드의 조회 속성에서 콤보 상자 컨트롤 변경
- 콤보 상자 컨트롤 설정 사항
: 데이터 원본(행 원본) 설정 필요
행원본 유형 - 테이블/쿼리, 값목록(입력시), 필드목록
연결(저장될) 열번호=바운드 열 번호-가져온(select) 필드 순서에서 지정
열개수 - 가져온 필드 수만큼 설정
열너비 순서대로 입력(열 너비를 숨길 경우 0cm)
0cm;2cm (첫열은 숨기고, 두번째 열은 2cm)
0cm; (첫열은 숨기고, 두번째 열은 목록 너비만큼 자동 2.54cm)
;0cm (첫 열은 목록 너비만큼 자동, 두번째 열을 숨기기)
목록 너비 : 열들의 너비를 합친 만큼하거나 자동으로 설정,
잘리지 않게 설정하려면 열너비들의 합 이상(약간 커도 괜찮음).
목록 값만 허용 : 행원본에 존재하는 것만 사용(콤보상자만 가능)
- 조회마법사는 필드의 데이터형식에서 조회마법사를 클릭하여 실행
1. 조회 열에서~~ 선택(다른 테이블)
2. 해당 테이블 선택(동아리)
3. 필드명 선택 - 저장되는 열과 보여지는 열 등
(동아리코드, 동아리명)
4. 정렬 - X
5. 숨기기나 너비 확인등(자동)(동아리코드 숨기기)
6. 레이블명 - X
- 조회마법사 후에 설정사항은 열/목록 너비 확인
<관계 설정>
- 기본키(PK)와 외래키(FK)의 연결
- 개체무결성 제약조건 : 기본키가 가지는 성격(회원- id)
유일성, 최소성, NOT NULL
- 참조무결성 제약조건 : 외래키가 가지는 성격 (대여-회원id)
기본키를 참조해서 사용
하위 테이블에서 기본키와 관계없이 생성하지 못함.
- 테이블/쿼리/폼/보고서 등의 개체를 열어 놓고 설정하면 안됨.
- 기본키가 설정되어 있지 않았거나, 기본키가 NULL 값/중복 값이면 참조 무결성은 설정할 수 없다.
- M:1인 경우 M이 하위 테이블(외래키), 1이 상위 테이블(기본키)
- 참조 무결성은 두 테이블간의 상위 테이블에 기본키가 꼭 있어야 함.
- '사용 중이거나, 테이블을 잠글 수 없다'라는 메시지는 개체가 열려있어서
'항상 참조 무결성' 부분을 설정할 수 없으므로, 창을 닫고 와서 설정
- '인덱스나 관계 정의할 때 필드의 정의가 잘못되었습니다.',
'기본 테이블 참조 필드에 고유인덱스가 없습니다',
관계 종류가 확정되지 않음.
: 이 메시지 관계 설정시 상위 테이블에 기본키가 설정 안되어 있지 않으므로, 기본키 설정하고 관계 설정(항상 참조 무결성)
'인덱스나 기본 키는 NULL 값이나 중복된 값을 가질 수 없습니다.',
: 이 메시지 관계 설정시 기본키가 될 필드에 널값이 있거나 중복된 값이 있으므로 상위 테이블을 수정(데이터를 확인-데이트시트 보기해서 데이터 수정)하고, 기본키 설정한 후 관계 설정.
- 여러 개가 조합된 합성키(복합키)는 기본 키이자 외래키로 관계 설정에 사용 가능
- 조인속성 : 조인 유형(필기 시험 문제-그림)
1 : 동일 조인, 선 형태로 표현
2 : 왼쪽 외부조인, 1:M 관계선의 화살표가 하위 테이블을 향함.
3 : 오른쪽 외부조인, 1:M 관계선의 화살표가 상위 테이블을 향함
<외부 데이터 가져오기>
- 새테이블 : 업데이트 불가능, 데이터 가져다 테이블 생성
- 연결 테이블 : 업데이트 가능(원본이 변경되면 ACCESS의 테이블이 변경,
ACCESS의 테이블이 변경되었을 경우 원본은 변경되지 않는다.-필기문제)
- 레코드만 추가 : 기존 테이블은 미리 존재하고, 자료만 추가
- excel 자료는 시트인지 이름 범위인지 꼭 확인!!!
- *.txt, csv(쉼표), prn(공백), tab(탭) : 텍스트
'ETC > 자격증' 카테고리의 다른 글
[컴퓨터활용능력1급]수업 정리 8 (0) | 2022.09.14 |
---|---|
[컴퓨터활용능력1급]수업 정리 7 (1) | 2022.09.11 |
[컴퓨터활용능력1급]수업 정리 5 (0) | 2022.08.04 |
[컴퓨터활용능력1급]수업 정리 4 (0) | 2022.07.31 |
[컴퓨터활용능력1급]수업 정리 3 (0) | 2022.07.17 |