Q. 아래 내용에 해당하는 SQL 명령어의 종류를 작성하시오.
논리적인 작업의 단위를 묶어 DML에 의해 조작된 결과를 작업단위(Transaction)별로 제어하는 명령어인 Commit, Rollback, Savepint 등이 여기에 해당하며, 일부에서는 DCL(Data Control Language)로 분류하기도 한다.
A. TCL(Transcation Control Language)
Q. 데이터베이스를 정의하고 접근하기 위해서는 데이터베이스 관리 시스템과의 통신수단이 필요한데 이를 데이터언어(Data Language)라고 하며, 그 기능과 사용 목적에 따라 데이터 정의어 (DDL), 데이터 조작어(DML), 데이터 제어어(DCL)로 구분된다. 다음 중 데이터 언어와 SQL 명령어에 대한 설명으로 가장 부적절한 것은?
1. 비절차적 데이터 조작어(DML)는 사용자가 무슨 데이터를 원하며, 어떻게 그것을 접근해야 되는지를 명세하는 언어이다.
2. DML은 데이터베이스 사용자가 응용 프로그램이나 질의어를 통하여 저장된 데이터베이스를 실질적으로 접근하는데 사용되며 SELECT, INSERT, DELETE, UPDATE 등이 있다.
3. DDL은 스키마, 도메인, 테이블, 뷰, 인덱스를 정의하거나 변경 또는 제거할 때 사용되며 CREATE, ALTER, DROP, RENAME 등이 있다.
4. 호스트 프로그램 속에 삽입되어 사용되는 DML 명령어들을 데이터 부속어(Data Sub Language)라고 한다.
A. 1.
To-Be
비절차적 데이터 조작어(DML)는 사용자가 무슨(What) 데이터를 원하는 지만을 명세하지만,
절차적 데이터 조작어는 어떻게 (How) 데이터를 접근해야하는지를 명세 한다.
절차적 데이터 조작어로는 PL/SQL(오라클), T-SQL(SQL Server)등이 있다.
Q. STADIUM 테이블의 이름을 STADIUM_JSC로 변경하는 SQL을 작성하시오. (ANSI 표준 기준)
A. RENAME STADIUM TO STUDIUM_JSC
Q. 데이터의 중복을 제거하는 명령어
A. DISTINCT
Q. 다음 중 DELETE 와 TRUNCATE, DROP 명령어에 대해 비교한 설명으로 가장 부적절한 것을 2개 고르시오.
1. 특정 테이블에 대하여 WHERE 조건절이 없는 DELETE 명령을 수행하면 DROP TABLE 명령어를 수행했을 때와 똑같은 결과를 얻을 수 있다.
2. DROP 명령어는 테이블 정의 자체를 삭제하고, TRUNCATE 명령어는 테이블을 초기상태로 만든다.
3. TRUNCATE 명령어는 UNDO를 위한 데이터를 생성하지 않기 때문에 동일 데이터량 삭제시 DELETE보다 빠르다.
4. DROP은 Auto Commmit이 되고, DELETE와 TRUNCATE는 사용자 Commit으로 수행된다.
A. 1.4.
DROP과 TRUNCATE은 Auto Commit,
DELETE은 사용자 Commit
''을 INSERT 했을 때
ORACLE에서는 NULL로 입력됨, 조회시 IS NULL로 조회
SQL Server에서는 ''로 조회
'SQLD' 카테고리의 다른 글
[SQLD] 240523 SQL (0) | 2024.05.23 |
---|---|
[SQLD] 230517 슈퍼/서브타입 데이터 모델의 변환 타입 | Nested Loop, Hash Join | 트랜잭션의 특징 (0) | 2024.05.17 |
[SQLD] 240509 정규화, 반정규화 (0) | 2024.05.09 |
[SQLD] 데이터 모델과 성능 (0) | 2024.05.08 |
[SQLD] 240502 SQL DB DBMS 데이터 모델링 (0) | 2024.05.02 |