[오라클] CREATE TABLE

6272 단어 db오라클db

STUDENTS 테이블 구성

학생 출석부를 만들기 위해 먼저 학생 개인 정보를 담은 STUDENTS 테이블을 구성했다. 개인 정보는 기존 출석부 정보에 학생 고유 아이디를 추가했다.

학생 개인 정보

  • student_id 학생 고유 아이디
  • student_name 학생 이름
  • birthday 생년월일
  • address 주소
  • sex 성별
  • home_number 집 전화번호
  • phone_number 핸드폰 전화번호
  • email 이메일
  • student_state 신급(유아 세례, 입교)

데이터 타입

  • char 고정 길이를 갖는 아스키코드 문자 데이터형 (바이트 단위)

  • nchar 고정 길이를 갖는 유니코드 문자 데이터형 (글자 단위)

  • date yyyy-mm-dd hh:mm:ss

    *유니코드(한글, 특수 기호 등)를 저장하지 않고 아스키코드(숫자, 영어)만 저장한다면 NChar보다 Char을 사용하는 것이 좋다. Char는 NChar보다 사용하는 저장 공간의 크기가 더 작다.

기본 키

기본 키 primary key

  • 테이블 내에 다른 행과 구분하기 위해 사용
  • 고유키 unique key + not null 조건 동시에 만족
  • 사용시 장점
    • SELECT 문 사용시 검색 속도 향상 (중요!)
    • 해당 고유키가 지정된 행의 유일성 확인
    • 잘못된 데이터가 입력 혹은 수정 시에 에러 표시
  • 특징
    • 테이블당 하나만 정의 가능
    • null 허용하지 않음
    • 단일 컬럼 또는 다중의 컬럼들로 구성
    • 관례상 primary key 는 테이블의 첫 번째 컬럼으로 배치

참고 : https://linuxism.ustd.ip.or.kr/503

STUDENTS 기본 키 선정

STUDENTS 테이블에서 ROW를 구분하기 위해 student_id (학생 고유 아이디)를 primary key 로 선정했다. student_id 는 ROW 마다 유일하며, null 값을 허용하지 않는다.

STUDENTS 테이블 생성

SQL 테이블 생성 문법

  • 컬럼명 뒤에 데이터 타입을 반드시 명시
CREATE TABLE 테이블이름 (
	컬럼명 데이터타입 제약조건,
	컬럼명 데이터타입 제약조건,
);

PRIMARY KEY 선언 문법

  • 컬럼명 옆에 명시적으로 선언
  • 컬럼명 다음 제약 조건과 함께 선언
    CONSTRAINT [제약조건 명] PRIMARY KEY([컬럼명1],[컬럼명2],...) - 가장 많이 사용하는 방법
  • 테이블 선언 맨 마지막에 제약 조건과 함께 선언
    [해당 컬럼][타입] CONSTRAINT [제약조건 명] PRIMARY KEY
  • 테이블 선언 후 alter table을 통해 선언
    ALTER TABLE [테이블명] ADD CONSTRAINT [제약조건명] PRIMARY KEY(컬럼명)
CREATE TABLE EXAMPLE(
      pkCol1 CHAR(8) PRIMARY KEY, 
      pkCol2 NUMBER CONSTRAINT consTest_pk3 PRIMARY KEY,
			pkCol3 CHAR(8),
      CONSTRAINT pk_code PRIMARY KEY(pkCol3)
 );

// 출처: https://mine-it-record.tistory.com/44 [나만의 기록들]

실제 코드

CREATE TABLE STUDENTS(
    student_id NCHAR(8) NOT NULL,
    student_name NCHAR(10) NOT NULL,
    birthday DATE NOT NULL,
    address NCHAR(100) NOT NULL,
    sex CHAR(1) NOT NULL,
    home_number NCHAR(13),
    phone_number NCHAR(13),
    email NCHAR(50),
    student_state CHAR(1) NOT NULL,
    CONSTRAINT students_pk PRIMARY KEY (student_id)
);

좋은 웹페이지 즐겨찾기