테스트 차원에서 컬럼을 삭제하다 보니, ORA-12983 테이블에 모든 열들을 삭제할 수 없습니다(cannot drop all columns in a table) 오류가 발생합니다.
실제로 테이블에 컬럼이 하나도 없는 경우는 생각해본 적이 없는데, 오라클은 이렇게 표현을 하는 것을 확인할 수 있습니다. 당연히 테이블은 하나 이상의 컬럼을 포함해야 합니다. 그 이유를 알아보도록 합시다.
ALTER TABLE USERNAME.TABLENAME DROP COLUMN COLUMNNAME;
SELECT * FROM USERNAME.TABLENAME;
테이블, 로우, 컬럼 표현 (정보처리)
테이블의 정의는 행(row)과 열(column)로 이루어진 데이터 집합입니다.
특히 로우와 컬럼이라는 표현은 오라클과 같은 관계형 데이터베이스 관리 시스템(RDBMS : relational database management system)에서 자주 사용하는 표현입니다.
아래 표는 행과 열을 나타내는 여러 가지 방법을 모아보았습니다.
특히 정보처리와 관련하여 릴레이션에 대한 내용은 상세히 추가합니다.
구분 | 행 | 열 |
데이터 베이스 관리 시스템(DBMS) | 로우(row) | 컬럼(column) |
파일 구조(File) | 레코드(record) | 필드(field) |
릴레이션(Relation) | 튜플(tuple) | 어트리뷰트(attribute) |
릴레이션
- 튜플의 수 : 카디널리티(cardinality) => 기수, 집합의 크기
- 어트리뷰트의 수 : 디그리(drgree) => 차수
- 도메인(domain) : 각 어트리뷰트의 원자 집합 (아래에 설명을 추가합니다)
직원 릴레이션을 예시로 확인해 봅시다.
- 카디널리티는 튜플의 수 14개입니다. (행의 개수)
- 디그리는 어트리뷰트의 수 8개입니다. (열의 개수)
- 부서번호(DEPTNO)의 도메인은 (10, 20, 30)입니다.
- 직업(JOB)의 도메인은 (ANALYST, CLERK, MANAGER, PRESIDENT, SALESMAN)입니다.