웹개발/DBMS

[DB] DDL(Data Definition Language), 모델링

ss__jae2 2022. 4. 14. 18:43
반응형

1. DDL

- Data Definition Language(데이터 정의어)

- create : 테이블 생성

- drop : 테이블 삭제
- alter : 테이블 수정

2. 테이블 생성, 삭제, 수정

  • 테이블 생성
    create table 테이블명 (
               컬럼명1 자료형 [제약조건],
               컬럼명2 자료형 [제약조건],
               ...
    );
    * unique : 고유한 값만 삽입될 수 있도록 하는 제약조건
    * not null : 비어있을 수 없도록 하는 제약조건
  • 테이블 삭제
    drop table 테이블명;
  • 테이블 수정
    alter table 테이블명;
    • 테이블명
      rename to 테이블명
    • 컬럼수정
      - 컬럼추가 : add(컬럼명 자료형 [제약조건])

      - 컬럼수정 : modify 기존컬럼명 새로운자료형
      - 컬럼삭제 : drop 기존컬럼명

3. unique, primary key, foreign key

  • unique VS primary key
    - unique는 개발자가 실수를 해서 데이터가 중복되게 들어가는 것을 방지하게 하기 위해 사용하는 것이고
    - primary key는 unique처럼 방지도 있지만 거기에 더해 상징성을 더해준다.
  • foreign key
    constraint 제약조건명 foreign key(부여할컬럼) references 참고테이블(참고할컬럼)
    - 보통 데이터에서 부모-자식관계를 형성시킬 때 자식 테이블에서 부모 테이블을 참조함
    - 값 추가 / 테이블 생성 : 부모 먼저
    - 값 삭제 / 테이블 삭제 : 자식 먼저
    * primary key : 각 칼럼을 구별하게 해주는 기본키(중복 안되고 비어있을 수 없다.)
    * car_owner_fk 이름이 가진 owner 테이블의 id를 참조하는 car의 id 외래키

4. 모델링

- 추상적인 주제를 DB에 맞게 설계하는 것

- 수강신청 모델링

1. 요구 분석

  • 수강을 신청하려면 수강을 신청하는 학생 정보와 과목 정보가 필요하고 수강 신청한 리스트와 한 과목이 여러 강의로 되어 있을 수 있기 때문에 따로 시간표 테이블이 필요하다.

2. 개념적 설계

3. 논리적 설계

4. 물리적 설계 및 구현



반응형