DDL:
데이터 정의 언어로 객체(OBJECT)를 만들고(CREATE), 수정하고(ALTER), 삭제(DROP)하는 구문을 말함
오라클에서의 객체(구조)
테이블(TABLE), 뷰(VIEW), 시퀀스(SEQUENCE), 인덱스(INDEX), 패키지(PACKAGE), 프로시저(PROCEDUAL), 함수(FUNCTION), 트리거(TRIGGER), 동의어(SYNONYM), 사용자(USER)
--테이블 삭제하기 : DROP TABLE 테이블명;
* CREATE : 테이블이나 인덱스, 뷰 등 데이터베이스 객체를 생성하는 구문
CREATE TABLE 테이블명 ( CREATE TABLE MEMBER(
컬럼명 자료형(크기), MEMBER_ID VARCHAR2(20)
컬럼명 자료형, MEMBER_PWD VARCHAR2(20),
컬럼명 자료형, MEMBER_NAME VARCHAR2(20)
자료형
* 문자 => 반드시 크기 지정을 해줘야 함!
+ CHAR(바이트크기)--중요 : 고정길이 (고정된 길이의 데이터를 담을 경우)
-> 지정한 길이보다 작은 값이 들어올 경우 공백으로 채워서 저장
최대 2000바이트까지 지정 가능
+ VARCHAR2(바이트크기): 가변길이 (데이터의 길이가 정해져 있지 않는 경우)
-> 저장되는 데이터 길이만큼만 공간 크기가 사용됨
최대 4000바이트까지 지정 가능
* 숫자 : NUMBER
* 날짜 : DATE
회원 정보를 저장할 테이블 : MEMBER
-회원번호 :숫자(NUMBER)
-회원아이디 : 문자(VARCHAR2(20))
-회원비밀번호 :문자(VARCHAR2(20))
-회원 이름 :문자(VARCHAR2(20))
-성별 :문자- '남'/'여' (CHAR(3))
-연락처 (CHAR(13))
-이메일 (VARCHAR2(50))
-가입일 (DATE)
CREATE TABLE MEMBER(
MEM_NO NUMBER,
MEM_ID VARCHAR2(20),
MEM_PWD VARCHAR2(20),
MEM_NAME VARCHAR2(20),
GENDER CHAR(3),
PHONE CHAR(13),
EMAIL VARCHAR2(50),
JOIN_DATE DATE
NOT NULL 조건을 추가한 회원 테이블 : MEMBER_NOTNULL
CREATE TABLE MEMBER_NOTULL(
MEM_NO NUMBER NOT NULL,
MEM_ID VARCHAR2(20) NOT NULL,
MEM_PWD VARCHAR2(20) NOT NULL,
MEM_NAME VARCHAR2(20) NOT NULL,
GENDER CHAR(3),
PHONE CHAR(13),
EMAIL VARCHAR2(50),
JOIN_DATE DATE
PRIMARY KEY(기본키)
: 테이블에서 각 행을 식별하기 위해 사용되는 컬럼에 부여하는 제약조건
* 주의할 점 : 테이블 당 오직 한 개만 설정 가능!
CREATE TABLE MEMBER_PRI(
MEM_NO NUMBER CONSTRAINT MEMNO_PK PRIMARY KEY,
MEM_ID VARCHAR2(20) NOT NULL,
MEM_PWD VARCHAR2(20) NOT NULL,
MEM_NAME VARCHAR2(20) NOT NULL,
GENDER CHAR(3) CHECK(GENDER IN ('남', '여')),
PHONE CHAR(13),
EMAIL VARCHAR2(50),
JOIN_DATE DATE,
FOREIGN KEY(외래키)
: 다른 테이블에 존재하는 값을 저장하고자 할 때 사용되는 제약조건
-> 다른 테이블을 참조한다고 표현
-> 주로 외래키를 통해 테이블간의 관계가 형성
- 컬럼레벨방식
컬럼명 자료형 REFERENCES 참조할테이블명[(참조할 컬럼명)]
- 테이블레벨방식
FOREIGN KEY(컬럼명) REFERENCES 참조할테이블명[(참조할 컬럼명)]
-- MEMBER테이블 삭제
DROP TABLE MEMBER;
DEFAULT
: 제약조건은 아님..
컬럼을 선정하지 않고 데이터 추가 시 NULL값이 아닌 기본적인 값을 저장하고자 할 때
* ALTER TABLE : 테이블에 변경사항을 적용하고자 할 때 사용
DEFAULT옵션 : ALTER TABLE 테이블명 MODIFY 컬럼명 DEFAULT 기본값;
'데이터 베이스(Oracle)' 카테고리의 다른 글
DML(Data ManipulationLanguage) (0) | 2024.07.31 |
---|---|
JOIN (0) | 2024.07.29 |
GROUP BY&HAVING&집합연산자4 (0) | 2024.07.25 |
GROUP BY&HAVING&집합연산자3 (1) | 2024.07.25 |
GROUP BY&HAVING&집합연산자2 (0) | 2024.07.25 |