SQL 테이블 구조 살펴보기
desc 라는 테이블 구조를 확인할때 사용하는 명령문으로 테이블의 구조를 살펴보고
앞으로 자꾸 쓰일 테이블들을 departments, employees, locations에 대해서 알아봅시다.
위와 같이
SQL> desc depatments; 라는 명령어를 입력하고 엔터를 누르면 위와 같은 테이블이 나옵니다.
desc는 describe(묘사하다, 설명하다, 표현하다, 기술하다 ,그리다)의 약자입니다.
desc 테이블 이름;을 입력하면 해당하는 테이블의 구조를 확인할 수 있습니다.
departments 테이블
위의 이미지에서 불러온 departments 테이블은 '우리 회사에 있는 부서의 정보를 저장하고 있는 테이블' 입니다.
departments 테이블은 총 4개의 컬럼 column으로 구성되어 있습니다.
department_id는 부서의 번호로 이 컬럼이 departments 테이블의 프라이머리 키primary key (pk) 입니다.
department_name은 부서의 이름이 저장되어 있습니다
manager_id 에는 부서를 관리하는 관리자, 즉 부서장의 사원 번호가 저장이 되어 있습니다.
location_id 에는 부서가 위치한 지역의 지역 번호가 저장되어 있습니다.
그리고 location_id는 departments 테이블의 포린 키 foregin key(FK) 입니다.
이 location_id는 locations라는 테이블의 location_id를 참조하고 있습니다.
employees 테이블
SQL>desc employees; 라는 명령어를 입력하고 엔터를 누르면 나오는 employees 테이블입니다.
employees 테이블은 아까 위에서 살펴보셨던 departments 테이블의 부서에 근무하는 사원들의 데이터가 저장되어 있는 테이블 입니다.
employee_id는 사원 번호가 저장되어 있고, 여기가 PK 입니다.
first_name 는 성
last_name 는 이름
email 는 이메일
phone_number는 전화번호
hire_date는 사원이 입사한 날짜가 저장되어 있습니다.
job_id는 현재 수행하고 있는 업무.
salary는 사원이 받고 있는 월 급여.
commission_pct는 보너스 값이 저장되어 있습니다.
보너스를 받지 않는 사원들의 경우에는 이 컬럼이 빈 공간으로, null 값을 가지고 있습니다.
manager_id 는 이 사원을 관리하고 있는 관리자(사수)의 사원 번호가 저장되어 있습니다.
department_id 는 사원이 근무하고 있는 부서 번호 이고, 이 컬럼이 employees 테이블의 FK입니다.
이 department_id는 처음에 살펴본 departments 테이블의 department_id를 참조하고 있습니다.
locations 테이블
SQL> desc locations; 라는 명령어를 입력하고 엔터를 누르면 나오는 locations 테이블입니다.
locations 테이블은 부서가 위치한 지역의 데이터가 저장되어 있는 테이블입니다.
location_id는 부서가 위치한 지역의 지역번호가 저장되어 있고, 여기가 locations 테이블의 PK 입니다.
street_address는 주소
postal_code 우편번호
city 부서가 위치한 도시이름
state_provice 와 country_id 거의 사용되지 않습니다.