아래 더보기는 문제 풀면서 혼자 끄적인 것과 검색해본 내용들
DBMS 구축 시 구성요소
Oracle XE : DB Server
SQL PLUS : Client
SQL Developer : Client program -> 관리 시스템에 접속하기 위한 프로그램
Oracle Database : Server -> 데이터베이스 저장
OJDBC : DB Driver
javaScript, HTML : 클라이언트 측(브라우저)에서 사용자와의 상호작용의 경우에 사용
CSS : 화면 레이아웃, 스타일 정의
PHP, JSP : 웹 프로그램 -> 서버 측 기술 구현
- Client는 '재미있는 책 목록 추천해주세요'라고 요청을 하면 이 명령을 서버에 전달하는 역할을 하는 프로그램이다.
- Server에서는 자기가 가지고 있는 데이터베이스들 중에서 Client가 요청한 '재미있는 책'들을 골라서 Client에게 보내준다.
https://m.blog.naver.com/rookeycompany/221643194350
https://coding-restaurant.tistory.com/121
1. 다음 중 DBMS 구축시 구성요소의 설명으로 잘못 짝지어진 것은? 2
[능력단위요소: DBMS 설치하기]
① 오라클 XE – DB Server
② SQL Plus – DB Server -> sql developer command line : 클라이언트
③ SQL Developer – DB Client
④ OJDBC – DB Driver : 오라클과 자바를 연결해주는 드라이버
서버, 클라이언트 구분하는 문제
2. 아래와 같이 데이터베이스 프로그램은 왼쪽의 booklist.jsp를 실행한후 책이름을 클릭하면 booview.jsp에서 책의 상세정보를 출력하는 프로그램이다. 그러나 bookview.jsp를 바로 실행하면 에러가 발생한다. 코드를 보고 에러가 나지 않도록 수정하고, 간략하게 설명하여라.
[능력단위요소: DBMS 설치하기]
if(bookid == null)
bookid = "1";
booklist 에서 bookview 쪽으로 넘어온 값이 Null이면 booklist의 기본값을 1로 주겠다.
위의 코드를 bookview.jsp의 <% %> 사이에 넣어주면 된다
+
A ? B : C
?, : 는 연산자고 3개의 항이 있다
A, B, C는 피연산자
A에는 비교값이 들어간다(논리값 ex A > B) -> True면 B를 실행하고 False면 C를 실행한다
(bookid == null) ? "1" : ""
또는
String bookid = (request.getParameter("bookid") == null) ? "1" : request.getParameter("bookid");
3. 다음 중 java 언어를 사용하여 DB를 연동할 시, SQL 패키지에 해당하는 클래스의 메소드가 아닌 것은? 1
[능력단위요소: DBMS 설치하기]
① Class의 forName()
② Statement의 executeQuery()
③ Connection의 createStatement()
④ ResultSet의 next()
⑤ SQLException의 printstacktrace()
java.sql.*
이걸 지웠을 때 에러가 나는 것들이 SQL 패키지 소속이다
Statement, Connection, ResultSet, SQLException
4. 오라클 DB에서 사용자 계정을 생성한 후, 계정에 연결권한, 리소스사용권한, 관리자 권한을 부여하는 SQL구문을 작성하여라.
[능력단위요소: DBMS 설치하기]
CREATE USER system IDENTIFIED BY system; // 써도 되고
GRANT CONNECT, RESOURCE, DBA TO system; // 이것만 쓰면 됨
DBA : Database administration 권한을 준다
5. 오라클 DB를 java 응용프로그램과 구현시, OJDBC 라이브러리 파일이 연동이 안되었을 경우 나타나는 오류는? 1
[능력단위요소: 데이터베이스 생성하기]
① ClassNotFound Exception
② SQL Excetion -> Select * from book 같은게 잘못되었을 때
③ NullPointer Exception -> 자주 나는 에러인데 애매하면 다 이렇게 에러가 난다
④ ConnectionError Exception -> 실제로는 없는 에러
자바나 웹으로 했을 때 java build path에서 ojdbc 연결 제거를 하면 Reference가 사라지고 아래와 같은 에러가 발생한다
6. 다음은 java를 사용하여 DB 클라이언트 프로그램을 구현할 때 필요한 객체와 그에 대한 설명이다. 다음 중 SQL 패키지의 멤버가 아닌 객체는? 1번
[능력단위요소: 데이터베이스 생성하기]
① Class – DB 드라이버를 로드한다.
② Connection – url을 이용하여 DB를 연결한다.
③ Statement – DB에 질의를 보낸다.
④ ResultSet – DB로부터 결과를 가져온다.
내용은 다 맞지만 SQL패키지의 멤버가 아닌 객체는 Class
7. JSP 언어를 사용하여 데이터베이스 프로그램을 구현할 때, 관련 구문 규칙으로 알맞지 않은 것은? 1
[능력단위요소: 데이터베이스 생성하기]
① <%@ .... %> : 클라이언트측에서 라이브러리 import, 문서타입(contentType)설정시 작성 문법이다.
-> 서버 컴퓨터 쪽에만 자바가 깔려있으면 있으면 됨 -> 서버 측에서 import 하는 것이므로 오답
클라이언트 측에서 import하는 것도 있음
ex) 게임 설치 시
-> 이미지 등이 클라이언트 측에 저장이 되어서 그걸 불러오는 경우
② <% .... %> : java 문법을 포함한 jsp 언어를 작성하는 부분에 사용된다.
③ <%= .... %> : jsp변수를 표현하는 것으로, html 부분과의 접점이 된다.
④ ... 그 외 : html, javascript, css등을 작성할 수 있으며, 일반적 웹문서처럼 작성하면 된다.
8. java 언어를 사용하여 데이터베이스 프로그램 구현시, 다음 설명 중 틀린 것을 모두 고르시오. 1, 3
① 질의(query) 구문을 StringBuffer로 작성하는 것과 String으로 작성하는 것의 성능은 동일하다.
-> StringBuffer가 성능이 훨씬 좋다.
② 조회(select) 기능 구현시 레코드 단위로 읽어오는 메소드는 next() 이다.
-> O, ResultSet에 담긴 내용을 커서처럼 한 줄씩 읽어 온다
③ 삽입(insert) 기능 구현시에도 조회(select) 기능과 동일하게 ResultSet객체로 결과를 받는다.
-> insert 시에는 쿼리를 시행했습니다. 이런 식으로 결과가 나온다.
-> Select * ~ 는 받을 것이 있지만, insert는 받을 게 없이 적용만 한다.
④ ResultSet에서 레코드단위로 결과를 꺼낼 때, getString이나 getInt메소드의 매개변수의 인덱스는 배열과 다르게 0이 아닌 1부터 시작한다.
9. 똑같은 스키마를 가진 서로다른 2개의 릴레이션 A와 B가 있다. 다음 중 B에 있는 데이터를 A로 합치기 위한 PL/SQL의 초기 구문으로 올바른 것은? 2
[능력단위요소: 데이터베이스 오브젝트 생성하기]
① merge into B using A on...
② merge into A using B
③ B join A on...
④ A join B on...
똑같은 스키마를 가졌다 -> 똑같은 데이터를 가지고 있다 -> 합친다 : merge
A에다가 B를 사용해서 합칠것이다
10. ER 표기법에 대한 설명 중 옳지 않은 것은? 3번
[능력단위요소: 데이터베이스 오브젝트 생성하기]
-> 실설 : 키(강한 개체)
-> 파선 : 식별자(약한 개체)
-> X. 다중 속성임
복합 : 시, 군, 구처럼 세 개가 있어야 할 것을 쪼갠 것(무조건 세개가 있어야 되는 것)
11. 다음 중 3-Tier 모델의 연결이 잘못 짝지어진 것을 모두 고르시오. 4, 6
[능력단위요소: 데이터베이스 오브젝트 생성하기]
① 오라클, 몽고DB – 데이터베이스
② HTML5 - 클라이언트
③ CSS - 클라이언트
④ JSP - 클라이언트 -> 서버
⑤ Java Beans - 서버
⑥ javascript - 서버 -> 클라이언트
3-Tier
1 클라 - 2 서버 - 3 DB
HTML, CSS, JSP : 클라이언트
12. 아래 그림과 같이 개념적 모델링(conceptual modeling) 할 때에, 개체와 개체 간의 관계를 표준화된 그림으로 나타낸 것을 무엇이라고 하는가?
[능력단위요소: 데이터베이스 오브젝트 생성하기]
ER 다이어그램
13. 아래는 java 환경에서 jdbc 드라이버를 이용하여 데이터베이스를 연동하는 예이다. 다음 설명 중 틀린 것은? 1
[능력단위요소: 데이터베이스 오브젝트 생성하기]
① DB연결 문자열의 localhost 는 웹서버 ip를 의미한다. -> DB 서버의 IP이다.
② Class.forName() 메소드는 jdbc.jar의 클래스를 임포트시킨다.
③ DB연결 문자열의 마지막 요소는, 예를 들어 orcl 혹은 xe는 db의 sid 이다.
④ DB 연결 메소드의 파라미터는 DB연결문자열, 오라클 사용자, 비밀번호 이렇게 총 3가지이다.
⑤ ClassNotFoundException 은 jar 파일 패키지 안에 클래스가 없을 시 발생하는 예외이다.
14. 클라이언트-서버 네트워크 구성에서 다음 중 틀린 설명은? 5
[능력단위요소: 데이터베이스 오브젝트 생성하기]
① listen – 서버가 클라이언트의 연결을 대기하는 것
-> listen : 듣다, 대기하고 있는 것
② connection – 서버와 클라이언트가 연결되는 것
③ request – 클라이언트가 서버에게 요청하는 것
④ response – 서버가 클라이언트에게 응답하는 것
⑤ route – 여러 클라이언트의 요청을 서버에서 순서대로 처리하는 것
-> ex) 인터넷 공유기인 IP time이 라우터인데 분배를 하는 것, route 분배하다
-> 순서대로 처리한다 : 미들웨어
15. 관계형 데이터베이스의 데이터 모델링 의 순서로 옳은 것은? 4
[능력단위요소: 데이터베이스 오브젝트 생성하기]
① 논리적 모델링 -> 개념적 모델링 -> 물리적 모델링
② 물리적 모델링 -> 개념적 모델링 -> 논리적 모델링
③ 개념적 모델링 -> 물리적 모델링 -> 논리적 모델링
④ 개념적 모델링 -> 논리적 모델링 -> 물리적 모델링
⑤ 논리적 모델링 -> 물리적 모델링 -> 개념적 모델링
16. 다음 중 ER-다이어그램의 기호와 설명이 바르게 짝지어 진 것은? 3
[능력단위요소: 데이터베이스 오브젝트 생성하기]
① 직사각형 - 관계 -> 개체
② 마름모꼴 - 개체 -> 관계
③ 타원 - 속성
④ 이중 직사각형 – 식별 관계 타입 -> 약한 개체
⑤ 이중 마름모꼴 – 약한 개체타입 -> 식별 관계 타입
17. 아래의 E-R 다이어그램 중 논리적 모델링을 통해 5단계 매핑에서, 관계 타입 R을 독립된 릴레이션으로 표현해야 하는 것은 어느 것인가? 3
[능력단위요소: 데이터베이스 오브젝트 생성하기]
①
②
③
④
⑤
7단계까지 있다
1, 2 단계 : 개체타입
3, 4, 5 단계 : 이진 관계 타입(1:1, 1:N, N:M)
6 단계
참고
2020/12/28 - [자바 프로그래밍] - [자바 기초] 10일차 일지 1 - 6. 데이터 모델링
[능력단위요소: 데이터베이스 오브젝트 생성하기]
isA : 상속 관계(부모-자식 관계) - inherit : 부모가 나에게 뭔가를 주는 것이 있는가
동일하다고 취급한다
hasA : 포함한다
19. 아래의 그림을 보고 관계 대응수에 대해서 설명하시오. (10점)
1) 1 : 학생은 학과를 1개를 가져야 한다(가질 수 있다).
2) N : 학과는 학생을 여러명 가질 수 있다.
3) (0,*) : 학과는 학생을 여러명 가질 수 있는데 최소 없을 수도 있고(입학 전 1명도 없는 상태가 있을 수 있음), 여러명으로 많을 수도 있다.
4) (1,1) : 학생은 최소한 학과를 1개를 가질 수 있는데(없을 수 없다 무조건 가져야 한다) 최대도 1개를 가질 수 있으므로 무조건 1개의 학과를 가져야 한다.
20. 다음의 내용을 모두 포함하는 데이터베이스를 ER-다이어그램(IE표기법 작성)으로 설계하시오. (10점)
[능력단위요소: 데이터베이스 오브젝트 생성하기]
'프로그래밍 > 자바(java) 융합개발자 2차' 카테고리의 다른 글
[자바 기초] 13일차 일지 2 - 화면(UI)구현(Ch.2 웹 프로그래밍 실습 환경 구축) (0) | 2020.12.31 |
---|---|
[자바 기초] 13일차 일지 1 - 화면(UI)구현(Ch.1 웹 프로그래밍의 개요) (0) | 2020.12.31 |
[Spring 기반 자바(Java) 융합 개발자 2차] 1차 테스트 풀이 (0) | 2020.12.31 |
[자바 기초] 12일차 일지 - 데이터베이스 프로그래밍(JSP웹, DB프로그래밍, Apache Tomcat 설치하기, 8080 포트 오류 해결하기) (0) | 2020.12.30 |
[자바 기초] 11일차 일지 2 - 데이터베이스 프로그래밍(이클립스 설치, JAVA) (0) | 2020.12.29 |