. SQL(Structured Query Language) 특징 [ 출제빈도 상 ] 사용자 SQL ) 관계대수와관계해석을기초로한고급데이터언어 ) 이해하기쉬운형태 3) 대화식질의어로사용가능 4) 데이터정의, 조작, 제어기능제공 5) COBOL, C, PASCAL 등의언어에삽입 -> 내장 SQL 6) 레코드집합단위로처리 7) DBMS 에서사용되는비절차적대화형 Language MS-SQL (DBMS) DB Table Data 학과학과코드 A00 학과명 [ 물리적설계 ] [ 데이터베이스구현 ]. SQL 개념이해하기 ( 실습 ) ) 테이블을생성합니다. CREATE TABLE 학과 ( 학과코드 CHAR(8), 학과명 CHAR(8)); 학과 학과코드 학과명 ) 자료 ( 튜플 ) 를입력합니다. INSERT INTO 학과 VALUES ( A00, ); 3) 자료 ( 튜플 ) 를검색합니다. SELECT * FROM 학과 ;,3 학과 학과코드 A00 학과명 4) 자료 ( 튜플 ) 를수정합니다. UPDATE 학과 SET 학과명 = WHERE 학과코드 = A00 ; 5) 자료 ( 튜플 ) 를삭제합니다. DELETE FROM 학과 ; 6) 테이블을삭제합니다. DROP TABLE 학과 ; 4 5 학과학과코드 A00 학과학과코드 학과명 학과명
3. 시스템카탈로그 (= 데이터사전 ) ) 시스템자신이필요로하는여러가지객체에관한를포함하고있는시스템데이터베이스 ) 특징 - 데이터베이스시스템에따라상이한구조를가진다 - 사용자도 SQL 을이용하여검색할수있다. (DBMS 만스스로갱신유지할수있고, 사용자갱신안됨 ) - 객체들로서는기본테이블, 뷰, 인덱스, 데이터베이스, 패키지, 접근권한등이있다. - 데이터베이스스키마에대한를제공 - 객체들에대한정의나명세에관한를유지관리하는시스템 - 데이터디렉토리 : 데이터사전에수록된데이터를실제로접근하는데필요한를관리유지하는시스템만이접근할수구역 4. SQL 구분 ) 정의어 :DDL (CREATE, ALTER, DROP) 정의변경제거 ) 조작어 :DML (SELECT, INSERT, DELETE, UPDATE) 검색삽입삭제갱신 3) 제어어 :DCL (GRANT, REVOKE, COMMIT, ROLLBACK) 권한부여권한취소 transaction 제어 5. DDL ( 데이터정의어 ) : 도메인, 테이블, 뷰, 인덱스를정의, 변경, 제거하는언어 3 CREATE TABLE CREATE TABLE 학생 ( 학번 CHAR(8), CHAR(8) NOT NULL, 성별 CHAR(8), 생년월일 DATE, PRIMARY KEY( 학번 ), UNIQUE( ), FOREIGN KEY( 학과코드 ) REFERENCES 학과 ( 학과코드 ), ); 학생 학과 학번 성별 생년월일 학과코드 학과코드 PK FK PK [ 하위테이블 ]. [ 상위테이블 ].. * 기본키는 NOT NULL, UNIQUE 으로자동설정된다. * 속성은데이터를입력할때 NULL 무결성에위배되지않도록입력해야한다. * UNIQUE : 해당속성은유일해야한다. ( 중복되어서는안된다.) 4
CREATE VIEW CREATE VIEW 여학생 _view(, 성별 ) AS SELECT, 성별 FROM 학생 WHERE 성별 = 여 ; * 학생테이블에서조회가빈번하게발생하는, 성별 ( 여학생 ) 을뷰로정의해서시스템성능을향상시킴. * AS : 별칭 의의미 학생 여학생 _view 학번 성별 생년월일 학과코드 성별 A00 김기영 남 78 년 0 월 04 일 최현주 여 A00 최현주 여 79 년 04 월 09 일 이미영 여 A003 이미영 여 8 년 월 일 * VIEW 정의 : 사용자에게접근이허용된자료만을제한적으로보여주기위해서하나이상의기본테이블로부터유도된가상테이블 ( 물리적 X, 논리적 O) 5 * VIEW 특징 - 구조가기본테이블과거의유사 - 물리적으로구현되지않았다. - 논리적독립성제공 - 필요한데이터로만구성 -> 관리수월, 명령간단 - 데이터보호효율적 -> 자동보안 - 삽입, 삭제, 갱신연산이가능하지만제한적이다. - 다른 VIEW 정의에기초 - 하나의 VIEW 를삭제 -> 그 VIEW 를기초로만들어진 VIEW 도자동삭제 - 독립적인인덱스를가질수없다. - 뷰에대한검색은일반테이블과는같다. - VIEW 의정의변경 (Alter VIEW) 불가 6
ALTER TABLE ALTER TABLE 학과 ADD 연락처 CHAR(8); 새로운속성추가 ALTER TABLE 학과 DROP 학과명 ; 속성제거 * 테이블의구조를변경 -> 속성변경 학과 학과 학과코드 학과명 학과코드 학과명 연락처 학과 학과코드 DROP TABLE DROP TABLE 학과 CASCADE; 7 * 참조무결성위배를피하기위한 가지옵션 - CASCADE : 참조하는테이블을연쇄적으로제거 - RESTRICT : 참조하는테이블이있을경우제거안됨 ( 생략가능 ) => DELETE( 삭제 ), UPDATE( 갱신 ) 명령어도옵션사용 6. DML ( 데이터조작어 ) : 데이터베이스에저장된자료 ( 튜플 ) 를검색 (SELECT), 삽입 (INSERT), 삭제 (DELETE), 갱신 (UPDATE) 하기위한언어 INSERT INSERT INTO VALUES (,,,00); -> 테이블에,,, 00 을넣어라. INSERT INTO (, ) VALUES (,0); -> 테이블에, 에, 0을넣어라. 3 INSERT INTO (,, ) SELECT,, FROM WHERE = ; -> 테이블에서가인,, 를 SELECT 해서테이블속성인,, 에넣어라. 3 00 00 8 0
DELETE DELETE FROM WHERE = ; -> 테이블에서이인튜플을삭제하라. DELETE FROM ; -> 테이블에있는모든튜플을삭제하라. * DELETE 는튜플을삭제하는명령어 ( 테이블은 DROP) 00 00 0 0 00 이훈석 동구 40 이훈석 동구 40 장기영 00 9 [DB 6강-SQL, 시스템카탈로그, 뷰 ] UPDATE UPDATE SET = WHERE = ; -> 테이블에서의인튜플의을로바꾸어라. UPDATE SET = +0 WHERE = ; -> 테이블에서이인튜플의를 +0 해라. 00 00 0 0 00 00 00 0 00 0 60
SELECT ( 기본구조 ) SELECT 속성 -> 속성외에식이나그룹함수가올수있다. FROM 테이블 [WHERE 조건 ]; -> [ ] 생략가능 SELECT SELECT * FROM ; SELECT.* FROM ; SELECT,,, FROM ; SELECT.,.,.,. FROM ; -> 같은결과입니다. ( 모든튜플검색하라.) 00 00 0 0 00 00 3 SELECT DISTINCT FROM ; -> 테이블에서중복제거된만검색하시오. SELECT * FROM WHERE = ; -> 테이블에서이인모든튜플을검색하시오. SELECT * FROM WHERE = OR = ; -> 테이블에서이이거나인모든튜플을검색하시오. 00 0 00 3 00 0 00
SELECT * FROM WHERE LIKE 김 % ; -> 테이블에서이 김 으로시작하는모든튜플을검색하시오. 3 SELECT * FROM WHERE BETWEEN 30 AND 90; -> 테이블에서가 30 이상 90 이하인모든튜플을검색하시오. SELECT * FROM WHERE IS NULL; -> 테이블에서이 NULL 인모든튜플을검색하시오. ( 주의 : CREATE 문은 IS 를생략 ) 00 0 00 00 3 0 3 SELECT ( 확장구조 ) SELECT [DISTINCT] 속성 FROM 테이블 [WHERE 조건 ] [GROUP BY 속성 [HAVING 조건 ]] [ORDER BY 속성 [ASC DESC]]; * DISTINCT : 검색결과에서중복배제 ( 주의 : CREATE 문의 UNIQUE 과구분 ) * GROUP BY : 그룹별검색 ( 예, 별수를구하라.) * ORDER BY : 정렬검색 ( 오름차순 : A-Z, ㄱ - ㅎ ) 그룹함수 COUNT( 속성 ) : 그룹별튜플수 AVG( 속성 ) : 그룹별평균 SUM( 속성 ) : 그룹별합계 MAX( 속성 ) : 그룹별최대값 MIN( 속성 ) : 그룹별최소값 4
SELECT * FROM WHERE = ORDER BY DESC; -> 테이블에서이인튜플을검색하되, 을기준으로내림차순정렬하여모든튜플을검색하시오. ( 정렬방법을명시하지않을경우기본적으로 ASC ( 오름차순 ) 정렬됨.) SELECT, COUNT(*) AS 수 FROM WHERE >=00 GROUP BY HAVING COUNT(*)>=; -> 테이블에서가 00 별이 명수를검색하시오. 00 00 00 0 00 수 * SQL 수행순서 : FROM -> WHERE -> GROUP BY -> HAVING -> SELECT -> ORDER BY 5 SELECT * FROM UNION SELECT * FROM 정회원 ; -> 테이블과정회원테이블의모든튜플을중복없이하나의결과로병합검색하라. 최기영 정회원 송기성 최기영송기성 * 관계대수를 SQL 로변환하기 π, 학년 (σ 학과 = 컴퓨터 ( 학생 )) -> SELECT, 학년 FROM 학생 WHERE 학과 = 컴퓨터 ; 6
7. DCL ( 데이터제어어 ) : DBA 가데이터관리를목적으로사용하는언어로서보안, 회복, 사용자권한등을정의한다. - GRANT ( 권한부여 ), REVOKE( 권한취소 ) - COMMIT( 트랜잭션완료 ->DB 적용 ), ROLLBACK( 트랜잭션취소 ->DB 적용안됨 ) GRANT/REVOKE * 권한부여 GRANT SELECT ON TO KWS; -> KWS 에게테이블에대한 SELECT 권한부여 (KWS 는다른사람에게권한을부여할수없음 ) -> 권한 : ALL, INSERT, DELETE, UPDATE, SELECT 등 GRANT SELECT ON TO KWS WITH GRANT OPTION; -> WITH GRANT OPTION (KWS 는다른사람에게권한을부여할수있음 ) * 권한취소 REVOKE SELECT ON FROM KWS CASCADE; -> KWS 로부터테이블에대한 SELECT 권한을취소 (KWS 로부터권한을부여받은사용자도연쇄적으로취소 7 COMMIT/ROLLBACK * COMMIT : 트랜잭션의성공했을경우그결과를 DB 에적용하여완료시킴. * ROLLBACK : 트랜잭션의실패로작업을취소하고, 이전상태로되돌림. 확인 취소 인출요청 현금인출기 사용자 인출완료 (COMMIT) * 인출과정전체를 Transaction 이라고한다. -> 작업의논리적인단위 * 모든작업이성공한경우 Commit 을해주고, 중간에조금이라도실수가있었다면 Roll Back 을하게됩니다. * 롤백을하면 Transaction 을하기전까지의상태로돌릴수가있습니다. 8
SELECT, COUNT(*) AS 수 FROM WHERE >=00 GROUP BY HAVING COUNT(*)>=; -> 테이블에서가 00 별이 명수를검색하시오. [ 해석순서 ]. where 조건처리 : 조건에맞는투플을작업대상으로정하고,. 그룹된속성의조건처리 : 별건수가 조건처리 3. select, 수 -> 수는건수가들어갑니다. count(*) : 튜플의건수 -> Null 포함 count( 속성명 ) : 튜플의건수 -> Null 제외 count(distinct 속성명 ) : NULL, 중복제외된건수반환 [AS] CREATE VIEW 뷰명 ( 속성명 ) AS SELECT 문 ; [ON, TO] CREATE [UNIQUE] INDEX 인덱스명 ON 테이블명 ( 속성명 ); GRANT 사용자등급 ON 테이블 TO 사용자 _ID; [IN] SELECT 속성명 FROM 테이블명 WHERE 속성명 IN (SELECT 문 ); -> IN 또는 NOT IN 9. SQL 언어에포함되는기능이아닌것은? 가. DCL 나. DDL 다. DQL 라. DML. SQL 언어의데이터제어어 (DCL) 에해당하는것은? 5. 다음 [ ] 에적당한 SQL 문장은? SELECT 번호, FROM 학생테이블 [ ] 학과 = 컴퓨터 ; 가. SELECT문다. UPDATE문 나. INSERT문라. GRANT문 가. SET 나. GROUP 다. WITH 라. WHERE 3. SQL 구문과의미가잘못연결된것은? 가. CREATE - 테이블생성나. DROP - 레코드삭제다. UPDATE - 자료갱신라. DESC - 내림차순정렬 4. 다음 SQL 문의실행결과를가장올바르게설명한것은? Drop Table 인사 Cascade; 가. 인사테이블을제거한다. 나. 인사테이블을참조하는테이블과인사테이블을제거한다. 다. 인사테이블이참조중이면제거하지않는다. 라. 인사테이블을제거할지의여부를사용자에게다시질의한다. 0 6. 다음 SQL 문에서 WHERE 절의조건이의미하는것은? SELECT CNO, CNAME FROM COURSE WHERE CNO LIKE 'S ; 가. S 로시작되는 3 문자의 CNO 를검색한다. 나. S 로시작되는모든문자 CNO 를검색한다. 다. 문자열로만이루어진모든 CNO 를검색한다. 라. S 를포함한모든 CNO 를검색한다. [ 정답 ]. 다. 라 3. 나 4. 나 5. 라 6. 가
7. 다음릴레이션 R 과 R 에대해아래의 SQL 문을실행한결과는? SELECT B FROM R WHERE C = (SELECT C FROM R WHERE D = 'K'); 가. a 나. b 다. a b c 라. a b 8. SQL 의기술이옳지않은것은? 가. SELECT...FROM...WHERE... 나. INSERT...INTO...VALUES... 다. UPDATE...TO...WHERE... 라. DELETE...FROM...WHERE... 9. SQL 에서각기능에대한내장함수의연결이옳지않은것은? 가. 열에있는값들의개수 - COUNT 나. 열에있는값들의평균 - AVG 다. 열에있는값들의합 - TOT 라. 열에서가장큰값 - MAX 0. 학생 (STUDENT) 테이블에전산과학생이 명, 경영과학생이 00 명, 기계과학생이 명있다고할때, 다음 SQL 문ᄀ, ᄂ, ᄃ의실행결과튜플수는각각얼마인가? ( 단, DEPT 필드는학과명을의미한다.) ᄀ SELECT DEPT FROM STUDENT ᄂ SELECT DISTINCT DEPT FROM STUDENT ᄃ SELECT COUNT(DISTINCT DEPT) FROM STUDENT WHERE DEPT = 전산과 가. ᄀ 3 ᄂ 3 ᄃ 나. ᄀ00 ᄂ3 ᄃ 다. ᄀ 00 ᄂ 3 ᄃ 라. ᄀ 00 ᄂ 00 ᄃ. SQL 문에서 HAVING 을사용할수있는절은? 가. LIKE 절나. WHERE 절다. GROUP BY 절라. ORDER BY 절 [ 정답 ] 7. 라 8. 다 9. 다 0. 나. 다. 다음표와같은판매실적테이블을읽어서울지역에한하여판매액내림차순으로지점명과판매액을출력하고자한다. 가장적절한 SQL 구문은? < 판매실적테이블 > 가. SELECT 지점명, 판매액 FROM 판매실적 WHERE 도시 = 서울 ORDER BY 판매액 DESC ; 나. SELECT 지점명, 판매액 FROM 판매실적 ORDER BY 판매액 DESC ; 다. SELECT 지점명, 판매액 FROM 판매실적 WHERE 도시 = 서울 ASC ; 라. SELECT*FROM 판매실적 WHEN 도시 = 서울 ORDER BY 판매액 DESC ; 3. SQL 에서명령어짝의연결이부적절한것은? 가. UPDATE.../ SET... 나. INSERT.../ INTO... 다. DELETE.../ FROM 라. CREATE VIEW.../ TO 4. 다음질의를 SQL 문으로가장잘변환한것은? 3 학년이상의전자계산과학생들의을검색하시오 가. SELECT*FROM 학생 WHEN 학년 >=3 AND 학과 = 전자계산 나. SELECT FROM 학생 WHERE 학년 >=3 OR 학과 = 전자계산 다. SELECT*FROM 학생 FOR 학년 >=3 AND 학과 = 전자계산 라. SELECT FROM 학생 WHERE 학년 >=3 AND 학과 = 전자계산 5. 회사원이라는테이블에서사원명을찾을때, 연락번호가 Null 값이아닌사원명을모두찾을때의 SQL 질의로옳은것은? 가. SELECT 사원명 FROM 회사원 WHERE 연락번호!=NULL 나. SELECT 사원명 FROM 회사원 WHERE 연락번호 <> NULL 다. SELECT 사원명 FROM 회사원 WHERE 연락번호 IS NOT NULL 라. SELECT 사원명 FROM 회사원 WHERE 연락번호 DON'T NULL [ 정답 ]. 가 3. 라 4. 라 5. 다
6. 다음표와같은두테이블에서성별이 여 인사원의 성명, 나이, 직책 을구하는 SQL 문은? 7. 관계데이터베이스의테이블지점 ( 지점코드, 소속도시, 매출액 ) 에대해다음과같은 SQL 문이실행되었다. 그결과에대한설명으로부적합한것은? SELECT 소속도시, AVG( 매출액 ) FROM 지점 WHERE 매출액 >000 GROUP BY 소속도시 HAVING COUNT(*)>=3; 가. SELECT*FROM 사원, 연락처 WHERE 성별 = 여 나. SELECT 성명, 나이, 직책 FROM 사원, 연락처 WHERE 성별 = 여 다. SELECT 성명, 나이, 직책 FROM 사원, 연락처 WHERE 연락처. 성별 = 여 라. SELECT 성명, 나이, 직책 FROM 사원, 연락처 WHERE 연락처. 성별 = 여 AND 사원. 사번 = 연락처. 사번 가. WHERE 절의조건에의해해당도시의지점들의매출액평균이,000 이하인경우는출력에서제외된다. 나. 지점이 3 군데이상있는도시에대해각도시별로그도시에있는매출액,000 초과인지점들의평균매출액을구하는질의이다. 다. SELECT 절의 AVG( 매출액 ) 을 MAX( 매출액 ) 으로변경하면각도시별로가장높은매출을올린지점의매출액을구할수있다. 라. HAVING 절에서 COUNT(*)>=3" 을 SUM( 매출액 )>=5,000 으로변경하면어느한도시의지점들의매출액합이 5,O00 경우만그도시지점들의매출액평균을구할수있다. 3 [ 정답 ] 6. 라 7. 가, 나 8. 다음두테이블 R 과 S 에대한아래 SQL 문의실행결과로옳은것은? 0. SQL 명령어로수행된결과를실제물리적디스크로저장하는 SQL 명령은? SELECT A FROM R UNION SELECT A FROM S; 가. ROLLBACK 다. GRANT 나. COMMIT 라. REVOKE. STUDENT 테이블을생성한후, GENDER 필드가누락되어이를추가하려고한다. 이에적합한 SQL 명령어는? 가.,, 3 나., 3, 4 다., 3 라.,, 3, 4 9. SQL 문에서 STUDENT(SNO, SNAME, YEAR, DEPT) 테이블에 학번 600, 성명홍길동, 학년 학년 인학생튜플을삽입하는명령으로옳은것은?( 단, SNO 는학번, SNAME 은성명, YEAR 는학년, DEPT 는학생, 교수구분필드임 ) 가. INSERT STUDENT INTO VALUES(600, ' 홍길동, ) 나. INSERT FROM STUDENT VALUES(600, ' 홍길동, ) 다. INSERT INTO STUDENT(SNO, SNAME, YEAR) VALUES(600, ' 홍길동, ) 라. INSERT TO STUDENT(SNO, SNAME, YEAR) 4VALUES(600, ' 홍길동, ) 가. CREATE 다. ADD 나. ALTER 라. MODIFY. SQL 의뷰 (View) 에대한장점으로부적합한것은? 가. 논리적데이터독립성을제공한다. 나. 접근제어를통한보안을제공한다. 다. 뷰정의의변경이용이하다. 라. 사용자의데이터관리를간단하게해준다. [ 정답 ] 8. 라 9. 다 0. 나. 나. 다
3. 데이터베이스관리자가기본테이블에서임의로유도하여만드는테이블로서사용자에게접근이허용된자료만을제한적으로보여주기위한테이블을무엇이라하는가? 가. 임시테이블 (Temporary Table) 나. 뷰테이블 (View Table) 다. 색인테이블 (Index Table) 라. 기본테이블 (Base Table) 4. 뷰 (View) 의이점으로거리가먼것은? 가. 물리적인테이블로관리가편하다. 나. 여러사용자의상이한응용이나요구를지원해준다. 다. 사용자의데이터관리를간단하게해준다. 라. 숨겨진데이터를위한자동보안이제공된다. 5. 뷰 (View) 에대한설명중가장거리가먼것은? 가. 뷰는원칙적으로하나이상의기본테이블로부터유도된을가진가상테이블을말한다. 나. 기본테이블은물리적으로구현되어데이터가실제로저장되지만뷰는물리적으로구현되어있지않다. 다. 뷰는근본적으로기본테이블로부터유도되지만일단정의된뷰가또다른뷰의정의에기초가될수도있다. 라. 뷰의정의만시스템내에저장하였다가필요시실행시간에테이블을구축하므로시스템검색에있어서 5뷰와기본테이블사이에약간의차이가있다. 6. 기본테이블 R 을이용하여뷰 V 을정의하고, 뷰 V 을이용하여다시뷰 V 가정의되었다. 그리고기본테이블 R 과뷰 V 를조인하여뷰 V3 를정의하였다. 이때다음과같은 SQL 문이실행되면어떤결과가발생하는지올바르게설명한것은? DROP VIEW V RESTRICT; 가. V 만삭제된다. 나. R, V, V, V3 모두삭제된다. 다. V, V, V3 만삭제된다. 라. 하나도삭제되지않는다. 7. 시스템자신이필요로하는여러가지객체에관한를포함하고있는시스템데이터베이스로서, 포함하고있는객체로는테이블, 데이터베이스, 뷰, 접근권한등이있는것은? 가. 인덱스 (Index) 나. 카탈로그 (Catalog) 다. QBE(Query By Example) 라. SQL(Structure Query Language) [ 정답 ] 3. 나 4. 가 5. 라 6. 라 7. 나 8. 시스템카탈로그에대한설명으로부적합한것은? 가. 데이터베이스시스템에따라상이한구조를가진다. 나. 사용자도 SQL 을이용하여검색할수있다. 다. 데이터베이스에대한통계가저장될수있다. 라. 사용자데이터베이스이다. 9. 시스템카탈로그에대한설명으로옳지않은것은? 가. 시스템자신이필요로하는여러가지객체에대한를포함한시스템데이터베이스이다. 나. 객체들로서는기본테이블, 뷰, 인덱스, 데이터베이스, 패키지, 접근권한등이있다. 다. 카탈로그자체도시스템테이블로구성되어있어일반이용자도 SQL 을이용하여내용을검색해볼수있다. 라. 모든데이터베이스시스템에서요구하는는동일하므로데이터베이스시스템의종류에관계없이동일한구조로필요한를제공한다. 3. 데이터사전 (data dictionary) 에대한설명으로부적합한것은? 가. 여러가지스키마와이들속에포함된사상들에관한도컴파일되어저장된다. 나. 데이터베이스를실제로접근하는데필요한를유지, 관리하며시스템만이접근한다. 다. 사전자체도하나의데이터베이스로간주되며, 시스템카탈로그 (system catalog) 라고도한다. 라. 데이터베이스가취급하는모든데이터객체들에대한정의나명세에관한를관리유지한다. 30. 시스템카탈로그에대한설명으로옳지않은것은? 가. 사용자가시스템카탈로그를직접갱신할수있다. 나. 일반질의어를이용해그내용을검색할수있다. 다. DBMS가스스로생성하고, 유지하는데이터베이스내의특별한테이블의집합체이다. 라. 데이터베이스스키마에대한를제공한다. 6 [ 정답 ] 8. 라 9. 라 30. 가 3. 나
3. 뷰 (VIEW) 에관한설명으로옳지않은것은? 가. 뷰는가상테이블이므로물리적으로구현되어있지않다. 나. 하나의뷰를제거하면그뷰를기초로정의된다른뷰는제거되지않는다. 다. 필요한데이터만뷰로정의해서처리할수있기때문에관리가용이하다. 라. SQL 에서뷰를생성할때 CREATE 문을사용한다. 34. 다음 SQL 문에서 DISTINCT 의의미는? SELECT DISTINCT DEPT FROM STUDENT ; * 가. 검색결과에서레코드의중복을제거하라. 나. 모든레코드를검색하라. 다. 검색결과를순서대로정렬하라. 라. DEPT 의처음레코드만검색하라. 35. 다음 SQL 문중에문적오류가있는것은? 33. 뷰 (view) 에대한설명으로옳지않은것은? 가. 데이터베이스일부만선택적으로보여주므로데이터베이스의접근을제한할수있다. 나. 복잡한검색을사용자는간단하게할수있다. 다. 사용자에게데이터의독립성을제공할수있다. 라. 뷰는별도의디스크공간을차지하여생성되는실제적테이블이다. 가. DELETE FROM STUDENT, ENROL WHERE SNO = 00; 나. INSERT INTO STUDENT(SNO, SNAME, YEAR) VALUES (00, '' 홍길동 '', 4); 다. INSERT INTO COMPUTER(SNO, SNAME, YEAR) SELECT SNO, SNAME, YEAR FROM STUDENT WHERE DEPT=''CE'' ; 라. UPDATE STUDENT SET DEPT = (SELECT DEPT FROM COURSE WHERE CNO=''C3'') WHERE YEAR = 4; [ 정답 ] 3. 나 33. 라 34. 가 35. 가 7 7. 관계데이터베이스의테이블지점 ( 지점코드, 소속도시, 매출액 ) 에대해다음과같은 SQL 문이실행되었다. 그결과에대한설명으로부적합한것은? SELECT 소속도시, AVG( 매출액 ) FROM 지점 WHERE 매출액 >000 GROUP BY 소속도시 HAVING COUNT(*)>=3; 가. WHERE 절의조건에의해해당도시의지점들의매출액평균이,000 이하인경우는출력에서제외된다. 나. 지점이 3 군데이상있는도시에대해각도시별로그도시에있는매출액,000 초과인지점들의평균매출액을구하는질의이다. 다. SELECT 절의 AVG( 매출액 ) 을 MAX( 매출액 ) 으로변경하면각도시별로가장높은매출을올린지점의매출액을구할수있다. 라. HAVING 절에서 COUNT(*)>=3" 을 SUM( 매출액 )>=5,000 으로변경하면어느한도시의지점들의매출액합이 5,O00 경우만그도시지점들의매출액평균을구할수있다. [ 지점 ] 지점코드소속도시매출액 A00000 A 000 A00000 B 000 A000003 B 3000 A000004 B 4000 A000005 A 00 A000006 A 3000 ) WHERE 절처리 - 전체에서매출액이 000 초과만해당됩니다. - 지점코드 A0000,A00003,A00004,A00005,A00006 ) GROUP By 절처리 - 해당레코드에서소속도시를기준으로그룹화 3) HAVING 절처리 - 그룹의건수가 3 개소속도시는 B 만존재 4) SELECT 처리 - B 와매출액평균 (3000) 을 SELECT 합니다. 8 그러므로가번은매출액평균을매출액으로수정나번은매출액이 000 초과하는지점이 3 개도시의소속도시별매출액평균을구하라입니다. => 정답은가, 나입니다.
[ 기 -08 년 9 월 ][ 산 -08 년 3 월 ] 36. 시스템카탈로그에대한설명으로옳지않은것은? [ 기 -08 년 3 월 ] 39. 시스템카탈로그에대한설명으로옳은것은? 가. 기본테이블, 뷰, 인덱스, 패키지, 접근권한등의를저장한다. 나. 시스템테이블로구성되어있어일반사용자는내용을검색할수없다. 다. 시스템자신이필요로하는스키마및여러가지객체에대한를포함하고있는시스템데이터베이스이다. 라. 자료사전 (Data Dictionary) 이라고도한다. [ 산 -08 년 5 월 ][ 기 -08 년 3 월 ] 37. 뷰 (View) 에대한설명으로옳지않은것은? 가. 뷰는독자적인인덱스를가질수없다. 나. 뷰의정의를변경할수없다. 다. 뷰로구성된내용에대한삽입, 갱신, 삭제연산에는제약이따른다. 라. 뷰가정의된기본테이블이삭제되더라도뷰는자동적으로삭제되지않는다. [ 기-08년3월 ] 38. 데이터베이스언어중 DDL의기능이아닌것은? 가. 논리적, 물리적데이터구조의정의나. 데이터회복과병행수행제어다. 논리적데이터구조와물리적데이터구조의사상정의라. 데이터베이스정의및수정 9 가. 메타데이터를갖고있는시스템데이터베이스이다. 나. 일반사용자도제한없이시스템카탈로그의내용을직접갱신할수있다. 다. 시스템카탈로그는사용자의테이블당한개씩만들어진다. 라. 시스템카탈로그는 DBA 가생성한다. [ 산 -08 년 9 월 ] 40. 뷰 (View) 의설명으로거리가먼것은? 가. 뷰는저장장치내에물리적으로존재하지않지만, 사용자에게는있는것처럼간주된다. 나. 뷰를통하여데이터를접근하게되면뷰에나타나지않는데이터는안전하게보호할수있다. 다. 필요한데이터만뷰로정의해서처리할수있기때문에관리가용이해진다. 라. 삽입, 삭제연산에아무런제한이없으므로사용자가뷰를다루기가편하다. [ 정답 ] 36. 나 37. 라 38. 나 39. 가 40. 라