( ) 무결성은 기본 테이블의 기본키를 구성하는 어떤 속성도
Null 값이나 중복값을 가질 수 없다는 규정이다.
내 답 : 참조
정답 : 개체
핵심 개념
개체 무결성 : 기본키는 NULL 불가, 중복 불가
참조 무결성 : 외래키는 참조 테이블의 기본키 값만 가능
도메인 무결성 : 속성 값은 정의된 도메인 범위 내
2024-1-9
아래 내용의 각각의 설명에 대한 답을 작성하시오.
(1) 조인에 참여하는 두 릴레이션의 속성 값을 비교하여
조건을 만족하는 튜플만 반환한다.
(2) 조건이 정확하게 '=' 등호로 일치하는 결과를 반환한다.
(3) ( (2) ) 조인에서 조인에 참여한 속성이
두 번 나오지 않도록 중복된 속성을 제거한 결과를 반환한다.
내 답 : 자연 동등 세타
정답 : 세타 동등 자연
핵심 개념
세타 조인
조인에 참여하는 두 릴레이션의 속성 값을 비교하여 조건을 만족하는 튜플만 반환
동등 조인
= 조건으로 일치하는 조인
자연 조인
동등 조인에서 중복된 속성을 제거
2022-3-7
CREATE TABLE 부서 (
부서코드 INT PRIMARY KEY,
부서명 VARCHAR(20)
);
CREATE TABLE 직원 (
직원코드 INT PRIMARY KEY,
직원명 VARCHAR(20),
부서코드 INT,
FOREIGN KEY (부서코드) REFERENCES 부서(부서코드)
ON DELETE CASCADE
);
1. SELECT DISTINCT COUNT(부서코드) FROM 직원 WHERE 부서코드 = 20;
2. DELETE FROM 부서 WHERE 부서코드 = 20;
SELECT DISTINCT COUNT(부서코드) FROM 직원;
정답 : 1) 3 , 2) 4
풀이
직원 테이블에서 부서코드=20 인 사람의 수를 카운트
부서코드가 20 인 직원은 3명
COUNT(부서코드) 는 단순히 행 수를 의미함
DISTINCT 는 의미 없음 (부서코드는 동일하므로)
부서 테이블에서 부서코드=20 삭제
ON DELETE CASCADE 설정 → 직원 테이블에서 부서코드=20 행 삭제
2022-3-12
정답 : 200 , 3, 1
풀이
학과(DEPT)
학생 수
전기과
50명
전산과
100명
전자과
50명
1. SELECT DEPT FROM STUDENT;
1. 모든 학생의 학과가 표시됨
2. SELECT DISTINCT DEPT FROM STUDENT;
1. 중복 제거
2. 학과 종류는 3개
3. SELECT COUNT(DISTINCT DEPT)
FROM STUDENT
WHERE DEPT = '전산과';
1. 전산과만 남음 → 전산과의 DEPT 값은 모두 동일 → 1
2022-2-3
다음은 <제품>(제품명, 단가, 제조사) 테이블을 대상으로 “H”
제조사에서 생산한 제품들의 단가보다 높은 단가를 가진
제품의 정보를 조회하는 <SQL문>이다.
괄호에 알맞은 답을 적어 <SQL문>을 완성하시오.
SELECT 제품명, 단가, 제조사
FROM 제품
WHERE 단가 > ( ) (SELECT 단가 FROM 제품 WHERE 제조사 = 'H');
정답 : ALL
핵심개념
ALL : 모든 값보다 커야 함
ANY : 최소 하나의 값보다 크면 됨
IN : 여러 값 중 하나라도 일치하는지 확인
2022-1-4
다음 <성적> 테이블에서 이름(name)과 점수(score)를 조회하되,
점수를 기준으로 내림차순 정렬하여 조회하는 <SQL문>이다.
괄호 (①~③)에 알맞은 답을 써라.
name
class
score
정기찬
A
85
이영호
C
74
황정형
C
95
김지수
A
90
최은영
B
82
SELECT name, score
FROM 성적
(①) BY (②) (③)
정답 : ORDER, score, DESC
핵심개념
용어
설명
ORDER BY
조회 결과를 정렬할 때 사용
ASC
오름차순 (기본값, 작은 값 → 큰 값)
DESC
내림차순 (큰 값 → 작은 값)
2021-2-3
데이터베이스의 상태 변화를 일으키는
트랜잭션(Transaction)의 특성 중
원자성(Atomicity) 에 대해 간략히 서술하시오.
정답 : 원자성(Atomicity)은 트랜잭션의 연산이 데이터베이스에 모두 반영되거나 전혀 반영되지 않도록 보장하는 성질이다.
핵심개념
영어명
한글명
설명
1. Atomicity
원자성
트랜잭션의 모든 연산이 전부 수행되거나 전혀 수행되지 않아야 함. 일부만 반영되면 안 됨. (Commit 또는 Rollback)
2. Consistency
일관성
트랜잭션 수행 전후의 데이터베이스가 항상 일관된 상태를 유지해야 함. 제약 조건이 깨지면 안 됨.
3. Isolation
독립성(격리성, 순차성)
동시에 수행되는 트랜잭션이 서로 간섭하지 않도록 독립적으로 실행되어야 함.
4. Durability
영속성(지속성)
트랜잭션이 성공적으로 완료(Commit) 되면, 그 결과는 시스템 장애가 발생하더라도 영구적으로 반영되어야 함.
2021-2-10
다음은 <회원> 테이블에서 '이름'이 "이"로 시작하는 회원들을
'가입일' 순으로 내림차순 정렬하는 <SQL문>이다.
괄호 (①, ②)에 들어갈 알맞은 답을 쓰시오.
SELECT *
FROM 회원
WHERE 이름 LIKE '( ① )'
ORDER BY 가입일 ( ② );
정답 : 이% , DESC
핵심개념
LIKE 연산자: 문자열 패턴 검색
'이%' → '이'로 시작하는 문자열
'%이' → '이'로 끝나는 문자열
'%이%' → '이'가 포함된 문자열
ORDER BY 컬럼명 DESC: 내림차순 정렬
ORDER BY 컬럼명 ASC: 오름차순 정렬 (기본값)
2020-4*5-4
데이터베이스 회복(Recovery) 기법 중 rollback 시 redo, undo가
모두 실행되는 트랜잭션 처리 기법으로,
트랜잭션 수행 중에 갱신 결과를 DB에 즉시 반영한다.
데이터를 변경하면 로그 파일로 저장되며 모든 내용 수정 시 즉시 데이터베이스에 반영된다.
정답 : 즉각 갱신 기법
핵심개념
즉시 갱신 기법(Immediate Update)
트랜잭션 수행 중 바로 DB에 반영
장애 발생 시, redo(재실행) 및 undo(취소) 모두 필요
로그(redo/undo 로그)를 반드시 남겨 복구에 사용
반대 개념: 지연 갱신 기법(Deferred Update) → 트랜잭션 완료(Commit) 후 DB 반영