[DataBase] Ch.3 (스마트팩토리)

Kwaaaaan·2023년 3월 2일
2

DataBase(DB)

목록 보기
4/14

데이터 모델

데이터베이스 시스템에서 데이터를 저장하는 이론적인 방법으로, 데이터베이스에 데이터가 어떻게 구조화되어 저장되는지를 결정합니다. 데이터 모델에서 가장 많이 사용되는 것으로는 관계 데이터 모델(Relational Data Model) 이 있습니다.

관계 데이터 모델

관계데이터 모델이 적용되는 것으로는 SQL언어가 있으며, 비절차적인 언어로 원하는 데이터를 쉽게 표현할 수 있습니다. 이에 사용되는 DBMS로는 'Oracle' 'SQL Server' DB2' 'MySQL'등 이 있습니다.

관계 데이터 모델 개념

관계데이터 모델개념은 크게 4가지가 존재합니다.

  1. 릴레이션
  2. 릴레이션 스키마와 인스턴스
  3. 릴레이션 특징
  4. 관계 데이터 모델

릴레이션(Relation)

행과 열로 구성된 테이블입니다. 관계라고 표현하지 않아요!

릴레이셔 내에서 생성되는 관계임과 동시에 릴레이션 간에 생성되는 관계입니다.

여기서 고객과 주문은 릴레이션의 관계이며, 상품과 주문은 릴레이션의 관계입니다.

릴레이션 스키마와 인스턴스

릴레이션 스카마와 인스턴스는 다음 4가지 속성으로 나뉩니다.
1. 투플(행)
2. 속성(열)
3. 스미카
4. 인스턴스

릴레이션 스키마

릴레이션에 어떤 정보가 담길지 정의를 하며, 표기법은 릴레이션 이름(속성A, 속성B, ''')로 표현합니다.

위에 표를 릴레이션 스키마로 표현한다면, 고객(이름, 주소, 전화번호, 포인트, 등급)으로 나타낼 수 있습니다. (명령어는 마지막에 표시해놓겠습니다.)

속성(Attribute)

Entity의 특성이나 속성을 의미합니다. 다시말해 데이터를 가져와서 알고싶은것

도메인

릴레이션의 각 속성이 가질 수 있는 값들의 집합이라고 생각하면 됩니다.
만약 동물이라는 속성의 도메인에는 강아지, 고양이, 호랑이가 와야하지 갑자기 '말괄량이'가 오면 안된다는 이야기 입니다. 상식선에서 표현하면 되기에 별거 없습니다.
(동물의 도메인 == 동물의 집합 == {'강아지' '고양이' '호랑이'} -> o {'강아지' '고양이' '호랑이' '말괄량이'} -> x)

릴레이션 특징 6가지

  1. 속성은 단일 값을 갖어야 함
  2. 속성은 서로 다른 이름을 갖어야 함
  3. 한 속성의 값은 모두 같은 도메인 값을 갖어야 함
  4. 속성의 순서는 상관 없음
  5. 릴레이션 내의 중복된 투플 허용 되지 않음
  6. 투플 순서 상관 없음

관계 데이터 모델

관계 데이터 모델은 데이터를 2차원 테이블 형태인 릴레이션으로 표현합니다.

예를들어 고객 정보는 고객 릴레이션, 주문정보는 주문 릴레이션, 상품 정보는 상품 릴레이션으로 구성되어 있습니다.

실습으로 복습

.

.

.

.

.

oo 주식회사
Relation
직원, 클라이언트
Attribute
직원 - 직급, 직책, 이름, 담당부서, 담당업무
클라이언트 - 이름, 주소, 전화번호, 미팅일정

직원 Relation과 클라이언트 Relation 사이에는 "클라이언트를 담당하는 직원" Realtion을 맺을 수 있음.


고객(이름, 주소, 전화번호, 포인트, 등급)
(1. mysql 설치, 2. cmd 창에서 명령어를 입력하려는 상황)
SQL 종류

  • DDL, 데이터 정의어 (data definition language)
  • DML, 데이터 조작어 (data manipulation language)
  • DCL, 데이터 제어어 (data control language)
    (1) 테이블을 만들고, -> DDL -> CREATE
    CREATE TABLE Customer (
    name,
    address,
    tel,
    point,
    tier,
    );
    (2) 테이블 안의 데이터를 삽입(추가) -> DML -> INSERT
    INSERT INTO Customer VALUES ('홍길동', '서울시 마포구 도화동', '010-1111-2222', 30000, 'VIP');
    (3) 고객 테이블의 전체 데이터를 확인 -> DML -> SELECT
    SELECT FROM Customer; (만약 주소만 보고싶다면, SELECT address FROM Customer;이라고 써주면 됩니다.)
    [참고] 컴퓨터 세계
    == all

결론

이번 시간에는 데이터 모델, 그 중 가장 많이 사용되는 '관계 데이터모델'에 대해 자세히 알아보았습니다. 관계데이터 모델에는 릴레이션, 스키마, 인스턴스라는 용어가 새롭게 등장했습니다. 특히 릴레이션은 우리가 흔히 테이블이라고 생각하는 것을 DB언어로 표현한 것이었구요, 그 안에서는 튜플과 속성, 스키마 인스턴스가 있었구요. 그리고 속성이 가질 수 있는 속성의 집합인 '도메인'이라는 언어도 새롭게 등장을 했습니다.

이번 시간에도 특히 용어에 집중하는 시간이 되었으면 좋겠습니다. 혹시 더욱 나아갈 수 있다면, 각자의 특징까지 알 수 있는 시간이 되었으면 좋겠습니다.

profile
스마트팩토리 개발자(를 꿈꾸며)

0개의 댓글