총 10분 중 11분
2001
시즌 2개, 그리고 영화
시즌 2: 5화 “아일랜드”
출연: 이나영, 김민준, 김민정, 현빈
장르: 애초에 역경을 딛고 이룩하는 숭고한 사랑이란 없다. 그 역경 자체가 사랑이다.
프로그램 특징: 그 곳에서 살아남는 사랑이 어떤 모습으로 걸어오는지 기다려 보고 싶다.
Computer Science/DataBase 관계 데이터 모델 기본 개념과 제약 조건
728x90
반응형

DBMS 기본 아키텍처: ANSI/SPARC

외부: 사용자 : 자신만의 뷰를 가지고 디비 이용

--

[ 외부/ 개념 mapping ] sql 질의어를 관계대수로 전환하는 등 질의 수준 변환

논리적인 데이터 독립성: 개념 스키마 변경에도 사용자는 영향 받지 않음

--

개념: 사용자 공동체가 보는 개념 스키마
 - 어떤 데이터가 어떤 관계, 우떤 무결성 제약 조건을 가지는 지 정의 (EMP(ENO: INT, PROJ: STR ~) ...)
- 데이터 베이스 당 한 개의 개념 스키마만 존재함

--

[개념/ 내부 mapping] 질의를 디스크 디비 접근하기 위해 변환

물리적인 데이터 독립성: 내부 변화에도 개념 스키마의 변화는 없도록

--

내부: 물리적으로 데이터를 어떻게 저장할 지 - 보통 성능향상을 위하면 내부 스키마 변경이 바람직
 - 비순서파일로 저장되어 있음
- 저장 구조 변경하거나 인덱스 생성/ 삭제

DB API

ODBC: 서로 다른 데이터 베이스 시스템을 통합하기 위해 마이크로소프트가 개발한 DB API

JDBC: 자바 운영 플랫폼에서 지원되는 API

DBMS 종류

 

구조화되어 있지 않은 데이터가 폭발적으로 증가하면서 반구조/비구조적인 빅데이터를 다룰 필요성이 크게 높아졌다. 

=> Not Only SQL - NoSQL

 

 

클라이언트-서버 데이터베이스 시스템
데이터베이스 시스템 기능이 서버와 클라이언트에 분산된 구조
클라이언트는 PC, 노트북, 스마트폰 등으로 사용자 인터페이스 관리와 응용을 수행하고
서버는 DBMS를 운영하면서 클라이언트에서 온 질의를 최적화 - 권한 수행 - 동시성 제어와 회복 - 무결성 유지 - 접근 관리를 수행한다. 

장점 : 접근이 뛰어남 
단점: 보안 취약

 

2층 모델이 있고 3층 모델이 있음. 
3층 모델은 데이터베이스 서버와 클라이언트 사이에 응용 서버가 존재하는 것
 - 데이터 처리만을 다루는 서버를 따로 두는 느낌

 

공식 용어 자주 사용되는 용어 파일 시스템 용어
Relation 테이블 파일
Tuple 레코드/행 레코드
Attribute 컬럼/속성/열 필드

*null: 모름. 적용할 수 없음.

Relation schema (intension)

EMP(last_name, first_name, salary ... ) 기본 틀(framework)를 의미한다.

Relation instance (extension)

튜플의 집합 EMP = {{'emily', 'blunt', 5,000,000..), ('john', 'cr~", ...) }

relation schema가 모여서 relation database schema, relation instance가 모여서 relation database instance가 된다.

Relation

릴레이션 릴레이션 - 테이블 - 파일 ... 은 사실 튜플(행)의 집합이다.

릴레이션의 특징

  • 각 릴레이션은 하나의 레코드 타입만 포함
    • (3, 'school', 'springfield') - (숫자, 문자, 문자) 같은 타입의 순서를 의미
  • 한 애트리뷰트 내 값은 모두 같은 유형
  • 동일 튜플이 두 개 이상 존재하지 않음 = 키
  • 애트리뷰트의 순서는 중요하지 않음
  • 각 애트리뷰트는 원자값을 가짐

 

릴레이션의 키

super key { candidate key ( alternate key | primary key )} - foreign key

식별성 - 최소성 -> 대리 키로 표현할 수도 있다.

  • 외래키는 참조되는 릴레이션의 기본 키와 동일한 도메인을 가져야 함
  • 외래키의 값은 다른 테이블의 기본키 or 자기 테이블의 기본키 or null 을 가짐

 

무결성 제약 조건

데이터 무결성 integrity

DBMS에서 자동으로 검사하기 때문에 따로 검사할 필요는 없음

도메인 constraint

애트리뷰트 값이 반드시 원자값이어야 한다.

  • CHECK 제약 조건, default를 통해 값의 범위를 제한할 수 있다 .

키 constraint

키 애트리뷰트에는 중복값을 가져선 안 된다.

기본키와 entity integrity constraint

기본 키 애트리뷰트에 속하는 값은 null을 가질 수 없음 -> 기본 키 명시 필요

  • 대체 키에는 적용되지 않는다.

외래키와 referential integrity constraint

두 릴레이션이 튜플들 간에 일관된 값을 가지도록 한다.

주로 Manupulation: DML에 값을 수정, 조작할 때 문제가 많이 일어나므로 조치를 취해준다.

  • INSERT, DELETE, UPDATE

외래키를 가지는 (참조하는) | 기본키를 가지는 (참조되는) 으로 나눠서 생각할 수 있다.
INSERT의 경우, 참조하는 테이블에 값을 넣는 것이 문제가 된다. 참조되는 테이블에 없는 값을 넣으면 안 되니깐
DELETE의 경우, 참조되는 테이블이 값을 삭제하는 것이 문제 - 참조하고 있는데 갑자기 사라지면 안되니깐
UPDATE는 삭제 후 삽입이므로 기본적으로 외래키, 기본키를 확인하는 조치를 해준다.

참조 무결성 제약조건을 위한 DBMS의 선물
값을 수정할 때마다 어떤 값을 넣을 수 있고, 등등의 조건을 확인하면 너무 품이 많이 든다. 그래서 무결성을 지켜주기 위한 DMBS의 선물이 있다.

1. Restricted : 위배되는 연산을 거절한다.

2. CASCADE : 참조되는 테이블에서 삭제할 때 그냥 참조하는 테이블 값도 지워버린다.

3. NULL : 참조되는 테이블에서 삭제하는 값을 다른 테이블에서 참조하고 있다면 null로 취해준다.

4. DEFAULT: null 대신 default로 설정된 값을 삽입한다.

728x90

'Computer Science > DataBase' 카테고리의 다른 글

[데이터베이스] 서브쿼리  (0) 2025.03.08
[데이터베이스] window 함수  (0) 2025.03.08
[관계 대수] 관계 연산자  (8) 2024.10.23
[SQL] SELECT, INSERT, DELETE, UPDATE  (4) 2024.10.23
[SQLD] 자료 사이트 정리  (0) 2024.08.22
Computer Science/DataBase 관계 데이터 모델 기본 개념과 제약 조건