일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 오라클xe
- 대전 국비
- OracleSQL
- JAVA1
- 백로특징
- java
- 테이블객체
- 슈가먄
- 엠비엔 편성표
- 오라클
- 개발자학원
- 트라몰정
- 미국 태풍경보센터
- 국비개발학원
- 인스턴스상태확인
- 부린이뜻
- oracle
- 스프링 배치
- 국비학원
- 백로뜻
- 자바
- 국비학원리뷰
- MSG워너비나얼
- 스프링 스키마
- 백로계절
- 테이블 저장 예제
- 요린이뜻
- 요즘말
- 트라몰정 325mg
- 개발자
- Today
- Total
정보의 보물창고
[OraclSQL]테이블 객체 ( 예제 포함) 본문
1. 테이블 생성
-관계형 데이터베이스의 기본구조
-행과 열로 구성
-테이블명은 해당 데이터베이스에서 유일한 식별자 이어야함
*변수명 ,컬럼명,테이블명은 이름을 잘 지어서 어떤 내용인지 파악할 수 있게 해야함
(사용형식)
CREATE TABLE 테이블명(
컬럼명1 데이터 타입[(크기)] NOT NULL][DEFAULT 값][,]
컬럼명2 데이터 타입[(크기)] NOT NULL][DEFAULT 값][,]
.
.
컬럼명n 데이터 타입[(크기)] NOT NULL][DEFAULT 값][,]
CONSTRAINT 기본키설정명 PRIMARY KEY(컬럼명[,컬럼명,...])[,]
CONSTRAINT 외래키설정명1 FOREIGN KEY(컬럼명[,컬럼명,...])[,]
REFERENCES 테이블명(컬럼명[,컬럼명,...])[,]
CONSTRAINT 외래키설정명2 FOREIGN KEY(컬럼명[,컬럼명,...])[,]
REFERENCES 테이블명(컬럼명[,컬럼명,...])[,]
.
.
CONSTRAINT 외래키설정명n FOREIGN KEY(컬럼명[,컬럼명,...])[,]
REFERENCES 테이블명(컬럼명[,컬럼명,...])[,]
NOT NULL
->NULL을 허용하지 않는다. 데이터가 저장되려면 반드시 있어야 하는 항목에 추가됨.
적지 않으면 빈칸이여도 데이터가 저장됨
DEFAULT
->사용자가 데이터를 기술하지 않으면 자동으로 들어가는 값
,를 꼭 붙여줘야 함]
외래키가 없이 기본키만 있을경우 기본키만 적고 끝내도 된다.
관계가 맷어지면 외래키를 설정 해줘야함
부모테이블에 있는것을 자식테이블로 가져와야함
외래키는
다른테이블의 키를 나의 테이블에 기본키로 사용하는 경우가 있음(기본키면서 외래키인 경우)
사용예) 교안에서 주어진 한국건설의 업무를 DB 모델로 모델링한 자료를 이용하여 테이블을 생성하시오
1) 사원테이블
(1)테이블명 : EMPLOYEE
(2)컬럼 및 제약사항
---------------------------------------------------------
컬럼명 데이터타입 NULL PK/FK
---------------------------------------------------------
EMP_ID CHAR(4) N.N PK
EMP_NAME VARCHAR2(20) N.N
EMP_ADDR VARCHAR2(80)
TEL_NO VARCHAR2(20)
EMP_POSITION VARCHAR2(30)
DEPT_NAME VARCHAR2(20)
---------------------------------------------------------
CREATE TABLE EMPLOYEE(
EMP_ID CHAR(4) NOT NULL,
EMP_NAME VARCHAR2(20) NOT NULL,
EMP_ADDR VARCHAR2(80),
TEL_NO VARCHAR2(20),
EMP_POSITION VARCHAR2(30),
DEPT_NAME VARCHAR2(20),
CONSTRAINT pk_employee PRIMARY KEY(EMP_ID));
2) 사업장테이블
(1)테이블명 : SITE
(2)컬럼 및 제약사항
--------------------------------------------------------------------
컬럼명 데이터타입 NULL PK/FK
--------------------------------------------------------------------
SITE_NO CHAR(6) N.N PK --사업장 번호
SITE_NAME VARCHAR2(50) N.N --사업장명
SITE_ADDR VARCHAR2(80) --사업장 주소
SITE_TEL_NO VARCHAR2(20) --사업장 전화번호
AMOUNT_CON NUMBER(11) DEFAULT 0 --공사금액
INPUT_MAN_CNT NUMBER(4) --투입인원
START_DATE DATE --시공일자
COMLITE_DATE DATE --완공일자
REMARK VARCHAR2(200) --비고
--------------------------------------------------------------------
CREATE TABLE SITE(
SITE_NO CHAR(6), --사업장 번호,NOT NULL을 써도 좋고 안써도 좋음
SITE_NAME VARCHAR2(50) NOT NULL, --사업장명
SITE_ADDR VARCHAR2(80), --사업장 주소
SITE_TEL_NO VARCHAR2(20), --사업장 전화번호
AMOUNT_CON NUMBER(11) DEFAULT 0, --공사금액
INPUT_MAN_CNT NUMBER(4), --투입인원
START_DATE DATE, --시공일자
COMLITE_DATE DATE , --완공일자
REMARK VARCHAR2(200), --비고
CONSTRAINT pk_site PRIMARY KEY(SITE_NO));
3) 사업장 자재 테이블
(1)테이블명 : SITE_ITEM
(2)컬럼 및 제약사항
--------------------------------------------------------------------
컬럼명 데이터타입 NULL PK/FK
--------------------------------------------------------------------
SITE_ITEM_ID CHAR(6) N.N PK -- 자재 코드
SITE_ITEM_NAME VARCHAR2(30) N.N -- 자재명
AMT NUMBER(3) -- 수량
PRICE NUMBER(8) -- 가격
BUY_DATE DATE -- 구입일
SITE_NO CHAR(6) FK -- 사업장 번호 , 사업장 테이블이 있어야 만들수 있음
--------------------------------------------------------------------
CREATE TABLE SITE_ITEM(
SITE_ITEM_ID CHAR(6) NOT NULL, -- 자재 코드,NOT NULL을 써도 되고 안써도 됨
SITE_ITEM_NAME VARCHAR2(30) NOT NULL, -- 자재명
QTY NUMBER(3), -- 수량
PRICE NUMBER(8), -- 가격
BUY_DATE DATE, -- 구입일
SITE_NO CHAR(6), -- 사업장 번호 , 사업장 테이블이 있어야 만들수 있음
CONSTRAINT pk_site_item PRIMARY KEY(SITE_ITEM_ID),
CONSTRAINT fk_sis FOREIGN KEY(SITE_NO) REFERENCES SITE(SITE_NO)); --fk_site_item_SITE 을 줄여서 fk_sis로 적음
4) 근무 테이블
(1)테이블명 : TBL_WORK
(2)컬럼 및 제약사항
--------------------------------------------------------------------
컬럼명 데이터타입 NULL PK/FK
--------------------------------------------------------------------
EMP_ID CHAR(4) N.N PK,FK -- 사원번호
SITE_NO CHAR(6) N.N PK,FK -- 사업장 번호
INS_DATE DATE DEFAULT SYSDATE
--------------------------------------------------------------------
CREATE TABLE TBL_WORK(
EMP_ID CHAR(4) NOT NULL, -- 사원번호
SITE_NO CHAR(6) NOT NULL, -- 사업장 번호
INS_DATE DATE DEFAULT SYSDATE,
CONSTRAINT pk_tblwork PRIMARY KEY(EMP_ID,SITE_NO),
CONSTRAINT fk_tblwork_emp FOREIGN KEY(EMP_ID)
REFERENCES EMPLOYEE(EMP_ID),
CONSTRAINT fk_tblwork_site FOREIGN KEY(SITE_NO)
REFERENCES SITE(SITE_NO)
); --fk_site_item_SITE 을 줄여서 fk_sis로 적음
기타
부모의 기본키가 자식의 기본키일경우 직선으로 표시되어있음
(식별자 관계)
부모의 기본키가 자식의 일반 항목으로 표시되어 있으면 점선으로 표기됨
'개발 Memo > Oracle' 카테고리의 다른 글
[Oracle 오라클 Sql] 숫자형 데이터 타입 (0) | 2021.05.25 |
---|---|
[Oracle 오라클]문자열 데이터 타입 (0) | 2021.05.25 |
[Oracle 오라클] 테이블 저장 예제 (0) | 2021.05.24 |
[Oracle 오라클]AlTER Table (테이블 이름 구조 변경) (0) | 2021.05.24 |
[OracleSql]DML(Data Manipulation Language) - INSERT, UPDATE (0) | 2021.05.12 |