본문 바로가기

ETC/자격증

[컴퓨터활용능력1급]수업 정리 6

반응형

<데이터베이스(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(탭) : 텍스트




반응형