-
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 : 개발자도구창
'스인개 데이터디자인(12.28-06.23) > 기본진도' 카테고리의 다른 글
230201_24일차 : SQLD특강 / HTML,CSS (0) 2023.02.01 230131_23일차 : SQLD특강 / JAVA시험 (0) 2023.01.31 230125,26,27_19,20,21일차 : 1차 프로젝트(미니) (0) 2023.01.25 230120_18일차 : GIT / 자바 (0) 2023.01.20 230119_17일차 : 자바 (0) 2023.01.19