DBMS day 2

유요한·2022년 4월 12일
0

DBMS

목록 보기
2/8

삭제, 수정, 제약조건, 모델링

테이블 삭제

Drop table 테이블명;

	drop table car;

테이블 수정

  • 테이블명
    • alter table 테이블명 rename to 새로운 이름
	alter table user rename to userinfo;
	alter table userinfo rename to user;
  • 컬럼수정
    • 컬럼추가
    • add(컬럼명 자료형 [제약조건])
	# 컴럼추가
	alter table user add(useridx int primary key);
   ○ 컬럼수정
	 modify 기존컬럼명 새로운 자료형
	alter table user modify useridx bigint;
  ○ 컬럼삭제
	drop 기존 컬럼명
	# 컬럼삭제
	alter table user drop username;

제약조건

  • unique 제약조건
    • 고유한 값만 삽입될 수 있도록 하는 제약조건
  • not null 제약조건
    • 비어있을 수 없도록 하는 제약조건
	# 제약조건
# unique 제약조건 : 고유한 값만 삽입될 수 있도록 하는 제약조건
# not null 제약조건 : 비어있을 수 없도록 하는 제약조건
create table user(
	userid varchar(300) unique,
    userpw varchar(300) not null,
    username varchar(300)
);

Foreign Key(PK)

constraint 제약조건명 foreign key(부여할 컬럼) references 참고테이블(참고할 컬럼)

	# 부모 테이블
create table owner(
	id varchar(300) primary key,
	name varchar(300),
    phone varchar(300),
    age int,
    addr varchar(1000)
);

# 자식 테이블
create table car(
	carnum varchar(300) primary key,
	brand varchar(300),
    color varchar(300),
    price int,
    id varchar(300),
    constraint car_owner_fk foreign key(id) references owner(id)
);

모델링

  • 모델링이라는 것은 우리 주변에 있는 사람, 사물, 개념 등 다양한 현상을 발생시키는 것들을 일정한 표기법에 의해 나타내는 것을 이야기 한다.
  • 모델링의 특징
    • 모델링의 특징으로는 다음과 같이 대표적으로 3가지, 추상화, 단순화, 명확화 3가지로 요약할 수 있다.

1. 추상화(모형화, 가설적)
추상화는 현실세계를 일정한 형식에 맞추어 표현을 한다는 의미이다. 다양한 현상을 일정한 양식인 표기법에 의해 표현한다는 것이다.

2. 단순화
단순화는 복잡한 현실세계를 약속된 규약에 의해 제한된 표기법이나 언어로 표현하여 현실세계를 보다 쉽게 이해할 수 있도록 하는 개념을 의미한다.

3. 명확화
명확화란 누구나 이해하기 쉽도록 대상에 대한 애매모호함을 제거하고 보다 정확하게 현상을 기술하는 것을 의미한다.

● 요구사항 분석
	○ DB사용 환경 분석 후 데이터베이스로 관리할 대상 및 제한 조건 도출
 
● 개념적 설계
	○ 분석 결과를 추상화된 표현방식으로 기술
    	■ 사용자의 요구사항 분석 후, 데이터베이스에 대한 추상적인 형태를 설계
    ○ 개념적 스키마(구조) 생성
    	■ 데이터베이스에 대한 추상적인 	설계도
        ■ 개체 관계 다이어그램
    
● 논리적 설계
	○ 논리적 데이터베이스 구조에 맞는 스키마(구조) 생성
    ○ 논리적 스키마(구조) 생성
    	■ 테이블 구조도
        ■ 개념적 설계 단계에서 생성된 ERD를 바탕으로 생성되는 테이블들의 집합
● 물리적 설계
	○ 실제 컴퓨터에 저장되는 효율적이고 구현가능한 물리적 구조 설계
    	■ 특정 DBMS가 제공하는 물리적 구조에 따라 테이블 저장 구조 설계
        ■ 필드의 데이터 타입, 인덱스, 테이블 저장 방법 등 정의
        

설계시 고려사항

● 충실성
	○ 필요로 하는 모든 데이터를 표현
    
● 단순성
	○ 단순하고 이해하기 쉬운 구조로 표현
    
● 중복의 최소화
	○ 데이터의 중복을 최소화 해야 한다.
    
● 제약조건의 표현
	○ 데이터가 갖추어야 할 조건을 표현
    

개체관계 모델 : 개념적 설계

<개체>
	○ 현실 세계에서 물리적/추상적으로 존재하는 실체
    	■ 사람, 자동차, 집, 성적 등
        
● <개체 집합>
	○ 동일한 특성을 갖는 개체들의 모임
    	■ {'컴퓨터공학과','산업공학과',...} : 학과 개체 집합
● <속성>
	○ 개체의 특성
    ○ 관계형 데이터 모델의 필드와 같은 개념
    ○ 동일한 특성을 갖는 개체 → 속성이 동일한 개체
    

필드와 속성의 차이점

<필드>

  • 관계형 데이터 모델에서 테이블의 컬럼
  • 원자 값만 허용됨
    <속성>
  • 개체 관계 모델에서 개체의 특성
  • 다중값 속성, 복합 속성 가능

관계와 관계집합

<관계>
	○ 개체간의 대응성을 표현
    ○ 개체간의 관계를 통해 유용한 의미를 규정할 수 있음

<관계집합>
	○ 동일한 유형의 관계들의 집합
    
● 관계의 형태

● 관계집합의 속성

✔ 개체들 사이의 관계의 특성을 표현

​

● 관계집합의 차수

✔ 관계집합에 참여하는 개체집합의 개수

​

● 이진관계

- 두 개체집합 사이에 정의된 관계집합

예) 학생 - 학과의 소속관계

​

● 삼진관계

- 세 개체집합 사이에 정의된 관계집합

예) 학생 - 과목 - 교수의 강의/수강 관계
profile
최선을 다하자!!

0개의 댓글