반응형
데이터 모델
데이터의 제약 조건 (Constraints)
- 데이터가 될 수 있는 것의 한계를 설명
- 데이터의 정확성(데이터 무결성, Data Integrity) 보장
예) 나이 > 0, 학생 ID는 고유함
- 도메인 제약 조건
- 무결성 제약 조건
데이터 연산
- 쿼리 언어 사용 (예: SQL)
- SQL - Standard Query Language
- 두 종류의 연산
- 정보를 검색하는 연산
- 데이터베이스를 변경하는 연산
- 선언적(Declarative) 언어 (↔ 절차적 (Procedural)언어) → 일반 프로그래밍 언어
- 찾는 방법이 아닌 무엇을 찾을지 설명
- 두 종류의 연산
관계형 데이터 모델
테이블의 집합
관계? Relations
- 행 내의 값들 간의 관계
- 테이블 간의 관계
다른 모델들
- 키-값 모델
- 반구조화 모델
반응형
관계형 모델의 기초
구조
관계형 데이터베이스는 관계의 집합 → 행과 열이 있는 테이블
- 차수 = 속성의 수
- 관계의 카디널리티 = 행의 수
스키마 Schema
관계 스키마
- 관계의 이름
- 관계의 속성 집합
- 각 속성의 도메인
Student(sid int, sname, varchar(10), age int, gpa float)
데이터베이스 스키마
- 데이터베이스의 관계 스키마 집합
도메인 Domain
각 속성은 도메인을 가짐
- 텍스트: CHAR(20), VARCHAR(20) -> 변동 가능한 char 숫자
- 정수: INT, SMALLINT -> 16 bit, 2byte 작은 크기의 정수형
- 실수: DOUBLE, FLOAT, NUMERIC(3,2)
관계의 속성
관계는 튜플의 집합
→ 튜플의 순서는 중요하지 않음
→ 각 튜플은 고유해야 함
속성 값은 일반적으로 원자적이어야 함
Q. "행"의 다른 표현은?
튜플, 레코드
Q. "열"의 다른 표현은?
필드, 속성
Q. "테이블"의 다른 표현은?
관계
728x90
인스턴스
특정 시점의 DB 내 데이터 내용을 나타냄
프로그래밍 언어와 비교하면, 인스턴스는 특정 순간의 변수 값을 의미
데이터는 유효해야 함
모든 인스턴스는 자체 스키마에 따라 유효해야 함
제약 조건
Key 키
- 관계는 튜플의 집합
- 여러 관계는 속성으로 연결됨
제약 조건은 키로 정의될 수 있음
- 슈퍼키 Superkey
- 후보 키 Candidate key
- 기본 키 Primary key
- 외래 키 Foreign Key
- Super key: 슈퍼키는 관계에서 튜플을 고유하게 식별할 수 있게 해주는 하나 이상의 속성 집합입니다 → 튜플의 유일성!
- K가 관계의 슈퍼키라면, K ⊂ K_1인 K1도 슈퍼키입니다.
- 하지만 그 반대는 성립하지 않습니다.
- Candidate Key: Minimum 슈퍼키입니다. 단순히 크기만의 문제가 아니라, 슈퍼키에서 어떤 필드도 생략할 수 없다면 그것이 후보 키입니다.
- Primary Key: 후보 키들은 기본 키의 후보들입니다. 데이터베이스 설계자에 의해 하나가 선택됩니다.
- 관계의 튜플을 식별하는 후보 키입니다.
- 다른 테이블에서 튜플을 참조하는 데 사용됩니다 → 외래 키
- null 값을 허용하지 않습니다. 일반적으로 가장 작은 후보 키가 기본 키로 선택됩니다.
Foreign Key: 관련 테이블의 기본 키 값과 일치하는 속성의 집합입니다. 값은 참조되는 관계의 기본 키에 존재하는 값을 반드시 참조해야 합니다.
무결성 제약 조건 Integrity Constraints
엔티티 Entity 무결성 제약 조건
기본 키 값은 null이 될 수 없음
참조 Referential 무결성 제약 조건
참조하는 관계의 특정 속성에 나타나는 값은 참조되는 관계의 특정 속성에 적어도 하나의 튜플에 나타나야 함
반응형
'컴퓨터공학 > 데이터베이스 DB' 카테고리의 다른 글
외부 조인과 내부 조인 Inner Join and Outer Join (2) | 2024.10.20 |
---|---|
기초 SQL문 정리 SFW, HAVING, GROUP BY ... (8) | 2024.10.19 |
데이터베이스 SQL DDL과 DML (5) | 2024.10.18 |
데이터베이스 Relational Algebra 관계 대수 (3) | 2024.10.15 |
DB 입문, 데이터베이스 기초 (10) | 2024.10.12 |