ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 230130_22일차 : SQLD특강 / HTML,CSS
    스인개 데이터디자인(12.28-06.23)/기본진도 2023. 1. 30. 12:48

    1교시, 2교시, 3교시, 4교시 - SQLD특강(개념 - 데이터모델링의 이해 / SQL기본)

    0. 시험난이도 및 시험구성

    - 1과목 - 데이터 모델링의 이해(데이터모델링의 이해/데이터모델과 성능):10문항

      2과목 - SQL 기본 및 활용(SQL기본/SQL활용/SQL최적화기본원리):40문항

    - 시험시간 : 90분

    - 4지선다형 / 10개문제는 단답식(서술형)

    - 합격기준 60점이상, 과목별로 40점 미만과락(1과목 최소 4문제, 2과목 최소 16문제 + 10문제 => 60점 합격가능)

     

    1. 데이터 모델링의 이해(1-5)

    1) 엔터티(ENTITY) 이해하기

    - 엔터티란? 업무에 필요한 정보를 저장/관리하기 위한  집합적인 개념 / 단순화, 추상화, 명확화 과정을 거쳐 만들어짐

    - 인스턴스? 엔터티 집합 내에 존재하는 개별적인 대상

    - 엔터티의 특징(9,10,11Q) 

    좌측 : 코드성, 통계성을 생략하는 이유는 관계가 너무 복잡해지므로.

    - 엔터티의 분류(12Q)

    ①유무형

    유형 + 무형을 통해 '사건'이 발생됨 (강사+과목 > 강의)

    ②발생시점

    - 엔터티의 명명규칙(13Q)

    2) 속성 이해하기

    - 속성(14Q) : 업무상 관리하기 위해 의미적으로 더는 분리되지 않는 최소의 데이터 단위(ex. 아래 이름나이는 분리가 가능>속성불가) / 엔터티가 가지는 공통적인 특징을 표현 / 속성은 이후 우리가 관리하고자 하는 정보가 된다.

    - 엔터티, 인스턴스, 속성의 관계(15Q)

    4. 하나의 속성에는 '하나의 속성값' > 2개이상 불가

    - 식별자 : 엔터티 내 유일한 인스턴스를 식별할 수 있는 속성의 집합

    정답은 1, 3번으로, 모두 식별자로 사용이 가능

    - 속성의 분류

    ① 특성별(16,17Q)

    ② 구성방식(PK,FK,일반속성,복합속성:쪼갤수있는 속성들을 하나로 모아 사용하는 속성)

    - 속성 명명규칙(19Q)

    - 도메인이란(18Q+구글링:시스템카탈로그) : 각 속성이 입력받을 수 있는 값의 정의 및 범위를 의미 / 테이블을 만들 때 각 속성마다 자료형 및 제약조건을 줄 때 결정된다

    3) 관계 이해하기

    - 관계란? 엔터티 내의 인스턴스들 간에 서로 논리적인 연관성이 있는 상태

    - 관계의 분류? 존재/ 행위(20Q)

    ERD는 좌측처럼 선으로 표시한 것

    - 관계를 표시하는 방법(21,22Q) : 관계명, 관계차수, 관계선택사양

    1:M에서, 하나의 부서는 여러직원을 보유함, 하나의 직원은 하나의 부서를 가진다(→,←)
    선택 : O / 필수 : 표시없음

    + 최종

    - 관계 체크 사항(23,24Q) - 키워드암기

    4) 식별자 이해하기

    - 식별자란? 엔터티 내 유일하게 인스턴스를 식별할 수 있는 속성의 집합

    - 논리적 모델링 표기법

    직원ID, 부서코드의 라인은 '식별자'임을 나타냄. 아래는 일반 속성임 / O는 null값 가능, *은 필수입력

    - 식별자 분류(26Q) 

    엔터티내에서! 

    +주식별자(직원-직원ID), 보조식별자(직원-주민등록번호:주식별자처럼 식별자의 기능을 할수있음)

    / 내부식별자(직원-직원ID), 외부식별자(직원연락처-직원ID) : 내부에서 만들어 식별자로 쓰는지, 빌려온걸 식별자로 쓰는지

    / 단일식별자(PK중 직원테이블의 직원ID), 복합식별자(PK중 직원연락처의 직원ID+구분코드)

    / 본질식별자(존재=>직원ID), 인조식별자(인위적구별=>부서코드)

     

    - 주식별자 도출기준과 특징

    ① 도출기준(27,28Q) : 업무에서 자주 쓰는 속성(ex. 주민등록번호보다 실업무에서 자주사용하는 직원ID) / 명칭이나 이름등은 피할 것(ex.부서명 : 엄청나게 길어질수있음) / 속성의 수가 많지 않을 것(최소)

    ② 특징(25Q)

    - 식별자관계 vs 비식별자관계 : 외래키가 식별자(PK)로 쓰이는지 쓰이지 않는지

    - 식별자관계 vs 비식별자관계 고려사항(29,30Q)

    5) 데이터 모델 이해하기

    - 데이터 모델링이란(1,2Q) ? 현실세계의 복잡한 대상을 단순하게 표현하기 위해 추상화, 단순화, 명확화하여 일정표기법으로 표시하는 것 // 계획/분석/설계 시 업무분석 및 설계, 설명에 사용, 구축 운영시에는 변경, 관리목적으로 사용

    - 데이터 모델링이 왜 중요할까(3Q,4Q)? 

    여러개의 연락처와 여러개의 주소
    직원연락처데이터만 수정하고, 직원연락처이력에서는 수정하지 않는경우!

    - 데이터 모델링 3단계(5Q)

    +개념적 데이터 모델링 ) 전사적 : 사람이 이해할 수 있음 / DBMS 독립적:다양한 DBMS(오라클,mysql등)에서 독립적으로 사용가능 / 포괄적 > 물리적 데이터모델링으로가면 점차 구체적으로 변화

    +논리적 데이터 모델링 : 특정 DBMS에 종속적(key 설정등에 있어서 문법이 달라진다)

    - 논리적 데이터 모델링의 순서

    정규화: 중복되는 데이터를 없애기 위해 테이블들을 분리(쪼갬) / 관계설정:테이블을 서로 연결하기위해 > FK 사용

    - 데이터베이스 3단계 구조(6Q)

    개념스키마에 '보너스 속성'이 들어가더라도, 외부스키마에는 영향을 주지않는다

    + 외부에서 원하는 데이터를 뽑아갈 때, 개념에서 컬럼등을 수정하더라도 외부의 선택에 영향을 미치지 않는다

    - ERD(7,8Q) : 엔터티와 엔터티간의 관계를 발견하고 이를 그림으로 표현하는 행위. 개념적 데이터 모델링의 결과물

    - 개념적 데이터 모델링의 순서

     

    2. SQL 기본(12-20)

    12) 관계형 데이터베이스 개요

    - 데이터베이스 관련 용어 정의(1,2,3,5Q)

    데이터베이스관리시스템 : 오라클, mysql 뿐아니라  레지스트리등도 해당 / 관계형 DBMS 뿐아니라 계층형 DBMS도 존재

    13 ) DDL(Data Definition Language) - 테이블 같은 DB 객체(view 등)를 정의/수정/삭제하는 문법

    - 테이블 생성/정의하기(CREATE) : 12Q

    자료형 설정까지 '필수'이다.

    + DESC 직원(테이블명);  = 테이블명 드래그한후, shift + F4  : 테이블 조회 가능

    - 데이터 유형 확인하기

    ① 문자형

    ② 숫자형

    ③ 날짜형

    - 테이블 생성시 주의사항(11Q)

    예약어(select, create 등)

    - NULL이란? 아직 정해지지 않은 부재의 값. 공백이나 숫자 0과는 다른 의미

    - 제약조건이란(10,15Q)? 원하는 데이터를 입력하고 유지할 수 있도록 특정컬럼에 제약을 거는 행동

    UK(예를들어 주민등록번호)

    ① PRIMARY KEY(6Q)

    CONSTRAINT 제약조건명 / COL1, COL2 2개의 속성을 하나로 조합한 PK

    ② UNIQUE KEY

    ③ CHECK

    ④ FOREIGN KEY(9,17,21Q)

    + 우 : TEST_2의 COL1은 NULL이어야함(NOT NULL은 오타!!)

     

    - 테이블 만들기2(CTAS 사용하기)

    - 테이블 수정하기

    SQL SERVER는 문법이 없으므로, 해당프로시저를 사용한다.

    - 테이블 삭제하기

    ① DROP TABLE : test

    삭제시 결과 ) 직원연락처와 직원의 관계가 끊어질 뿐, 직원연락처의 직원ID 속성과 값은 모두 그대로 살아있다.

    ② DELETE / TRUNCATE / DROP

    5교시, 6교시, 7교시 - HTML/CSS(WEB이란 무엇인가? / 나만의 간단한 웹페이지 만들기)

    1. WEB이란 무엇인가?

    1) WEB의 개념 및 역사

    - WEB과 Internet

    ① Internet : 전세계를 연결하고있는 통신망 (인공위성, 특히 해저케이블 등을 통해 / 한국은 3면이 바다로 유리)

    ② Web : 인터넷이라는 공간에서 동작하는 서비스

    - Internet의 역사

    ① 냉전시대, 전쟁으로 인해 탄생 - 러시아의 첫 인공위성 성공으로 위기감을 느낀 미국에서 시작

    팀 버너스리는 'web', 'html'까지 만들어냄 / 94년에 팀 버너스리는 웹의 자유화를 선언 > 웹브라우저 전쟁의 시작

    +웹브라우저 : 웹이 잘 돌아갈수 있도록 도움을 줌 (코딩언어가 이미지화되어 보이도록. ex) 네이버 메인페이지)

    ② 웹브라우저의 시작 

    플러그인 / 웹2.0시대 (문제점들)

    => 처음에는 Internet Explorer의 90%의 점유율에서,

    플러그인 / 웹2.0 시대(플래시게임등 다른사용자가 함께 새로운 콘텐츠를 창조할수있게 되면서, 브라우저가 무거워짐)들을 해결하고자 크롬의 시대로 전환됨.

    2) WEB을 뒷받침하는 기술

    서버(Server) : 응답하는 컴퓨터 (ex. 구글홈페이지에서 '메인홈페이지'를 달라고 요청했을때의 그 응답) / 요청과 응답이 있기 위해서는 반드시 '약속=프로토콜'이 있어야한다

    3 ) 프로토콜

    - 프로토콜 : 컴퓨터들 간의 원활한 통신을 위해 지키기로 약속한 규약(무슨행동을 수행할 것인지, 언제 어떻게 호출할것인지 순서등)

    - HTTP(Hyper Text Transfer Protocol) : 하이퍼텍스트(html)를 기반으로 데이터 전송하는 프로토콜

    / 요청&응답(request&response)방식으로 동작

    4) 홈페이지는 무엇으로 만들어졌을까? HTML(뼈대), CSS(디자인), JS(기능)

     

    2. 나만의 간단한 웹페이지 만들기

    1) HTML

    - HTML(Hyper Text MarkUp Language)이란? 하이퍼텍스트 문서 / 웹 페이지에 정보를 담아 표시하기 위한 마크업 언어

    - HTML의 창시자 : 팀 버너스 리(최초의 웹페이지)

    - Hyper Text : 현재 문서에서 다른 문서로 즉시 접근할 수 있는 텍스트

    - MarkUp Language : 어딘가에 Mark 즉 표시를 해주는 것(가독성이 좋아짐) / '태그(약 150개 중 30개 정도만 사용)'를 통해 표시를 해준다.

    - HTML 구성요소

    head는 설정값

    2) Visual Studio Code

    + 배경색상 : 하단 톱니바퀴 - Color Theme

    - 설치 : Extensions(추가설치 다운로드 : 좌측 다섯번째 아이콘) 에서 검색, install

    ① 필수설치 : Live Server(서버연결) => 무조건 설정필요(최근업데이트) : 해당화면의 톱니바퀴 > Extension Settings > Use local IP as host 체크 저장.

    ②선택설치 : material Theme(다양한테마화면) / Material Icon Theme(아이콘)

    - 작업 : Explorer(좌측 첫번째 아이콘) : 해당아이콘 클릭하여, 화면열어놓고 > 먼저 내가 원하는 위치에 원하는 폴더를 만듬 > 그대로 폴더를 드래그하여 해당화면(중앙 코드부)에 DROP > 좌측상단부에 파일,폴더생성 가능 버튼이 생김 > 파일명 생성시에 . 뒤에 html, java,py 등 모두 가능함

     

    3) HTML작성 in VSCode

    - ! + enter 또는 html:5 + enter : HTML 구성요소(doctype html) 자동입력 단축키 

    - Alt + L + O : Liver Server 단축키

    - ctrl + / : 주석 (<!-- -->)

     주의) 주석이 안쳐지거나하는경우, 상태표시줄의 ㅎ을 클릭하여 마이크로 소프트 입력기로 바꿔야함

    - body태그 속성

    - 태그에 속성을 작성하는 방법 : 시작태그 내에 작성 / 속성이름 = "속성값" / 다중속성시, 띄어쓰기

    - Break point : 해당 빨간 점까지만 실행됨을 의미. 끄고 실행해야한다.

    - 사이트에서 F12 : 개발자도구창

Designed by Tistory.