관계 데이타 모델과 관계 데이타베이스 제약조건 충북대학교 구조시스템공학과 시스템공학연구실

Slides:



Advertisements
Similar presentations
제5장제5장 데이터베이스처리. Q1 데이터베이스의 목적은 무엇인가 ? Q2 데이터베이스는 무엇을 포함하는가 ? Q3 DBMS 란 무엇이며, 어떻게 사용하는가 ? Q4 데이터베이스 애플리케이션이 무엇인가 ? Q5 전사적인 것과 개인적인 DBMS 의 차이점은 무엇인가 ?
Advertisements

SQL 언어 SQL.
Chapter 7: Entity-Relationship 모델
소리가 작으면 이어폰 사용 권장!.
데이터 모델링 방법론 2003년 03월.
4. 데이터 기능 유형.
데이터베이스 시스템.
실전 데이터모델링 & 데이터베이스 설계와 구축
제약 조건 부모 테이블 자식 테이블 입 력 수 정 삭 제  관계형성을 통한 참조 무결성
Chapter 02. 데이터 모델링.
질의어와 SQL 기본 SQL 고급 SQL 데이타의 수정 데이타 정의 언어 내장 SQL
관계 대수와 SQL.
Chapter 5 SQL: 확장된 질의, 주장, 트리거, 뷰.
4장. 관계 대수와 SQL SQL 관계 데이터 모델에서 지원되는 두 가지 정형적인 언어
SQL-99: 스키마 정의, 기본제약조건, 질의어 충북대학교 구조시스템공학과 시스템공학연구실
DBMS실습(I) 데이터베이스 기본개념 2015년 1학기 동서울대학교 컴퓨터소프트웨어과.
SQL 개요 SQL 개요 - SQL은 현재 DBMS 시장에서 관계 DBMS가 압도적인 우위를 차지하는 데 중요한 요인의 하나
데이터베이스 담당교수 신정식 Chapter 4 SQL(1).
Information Technology
관계 데이타 모델 (Relational Data Model)
제 3 장 엔티티-관계(ER) 모델을 사용한 데이타 모델링
12. 데이터베이스 설계.
데이터베이스 와 JDBC 1.데이터베이스와 데이터베이스 관리 시스템은? 2.데이터베이스 장점?
Chapter 01 데이터베이스 시스템.
DB2.
관계 데이터 모델과 제약조건 개념, 특성, 키, 무결성 제약조건.
2장. E/R 데이터 모델 엔티티-관계성 (Entity-Relationship) 모델의 요소 설계 원칙
11장. 데이터베이스 서버 구축과 운영.
데이터베이스 (Database) 관계 데이터베이스의 함수적 종속성과 정규화 문양세 강원대학교 IT대학 컴퓨터과학전공.
Data Modeling Database 활용을 위한 기초 이론 Database의 개요 Data Modeling
제 13 장 관계 데이타베이스의 함수적 종속성과 정규화 기본 이론
4.2 SQL 개요 SQL 개요 SQL은 IBM 연구소에서 1974년에 System R이라는 관계 DBMS 시제품을 연구할 때 관계 대수와 관계 해석을 기반으로, 집단 함수, 그룹화, 갱신 연산 등을 추가하여 개발된 언어 1986년에 ANSI(미국 표준 기구)에서 SQL.
ER-Win 사용 방법.
2장. 관계 데이터 모델과 제약조건 관계 데이터 모델은 지금까지 제안된 데이터 모델들 중에서 가장 개념이 단순한 데이터 모델의 하나 IBM 연구소에 근무하던 E.F. Codd가 1970년에 관계 데이터 모델을 제안함 관계 데이터 모델을 최초로 구현한 가장 중요한 관계 DBMS.
Database 소개.
자격증 모의 테스트 시스템 담당 교수 : 이 상 문 교수님 팀명 : CSCLAB
1장. 데이터베이스 시스템 컴퓨터를 사용하여 정보를 수집하고 분석하는데 데이터베이스 기술이 활용되고 있음
SQL.
01 데이터베이스 개론 데이터베이스의 등장 배경 데이터베이스의 발전 과정 데이터베이스의 정의 데이터베이스의 특징
제 3 장 관계 데이타 모델과 관계 데이타베이스 제약조건
SQL (structured query language)
Chapter 3: Introduction to SQL
제 7 장 엔터티-관계를 사용한 개념적 데이타 모델링
설계 단계 개념적 설계 ER 다이어그램 논리적 설계
CHAPTER 06. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
정보처리기사 8조 신원철 양진원 유민호 이기목 김다연 윤현경 임수빈 조현진.
4. 관계 데이터베이스 (Relational Database)- 7, 8장
ER-Win 4.0 Database Modeling Ⅰ. Logical Design
2장. 관계 데이터 모델과 제약조건 관계 데이터 모델은 지금까지 제안된 데이터 모델들 중에서 가장 개념이 단순한 데이터 모델의 하나 IBM 연구소에 근무하던 E.F. Codd가 1970년에 관계 데이터 모델을 제안함 관계 데이터 모델을 최초로 구현한 가장 중요한 관계 DBMS.
관계 데이터 모델과 관계 데이터베이스 제약 조건
4 장. 관계 데이터 모델과 관계 데이터베이스 제약조건
ER-관계 사상에 의한 관계 데이터베이스 설계
4. 관계 데이터 모델.
                              데이터베이스 설계 및 실습 #4 - loadcompany 만들기 한국외국어대학교 DaPS 연구실                              
데이터베이스 개발 단계.
                              데이터베이스 설계 및 실습 #8 - ER-Win 한국외국어대학교 DaPS 연구실                              
06. SQL 명지대학교 ICT 융합대학 김정호.
제 8장 데이터베이스.
테이블 관리 테이블 생성,수정,삭제 데이터 입력 수정, 삭제 2010학년도 2학기.
제 8 장 ER-관계 사상에 의한 관계 데이타베이스 설계
상세 개념적 모델링. 상세 개념적 모델링 정규화를 하는 이유 데이터의 중복성 제거 데이터 모형의 단순화 Entity, Attribute의 누락 여부검증 데이터 모형의 안전성 검증.
1. 관계 데이터 모델 (1) 관계 데이터 모델 정의 ① 논리적인 데이터 모델에서 데이터간의 관계를 기본키(primary key) 와 이를 참조하는 외래키(foreign key)로 표현하는 데이터 모델 ② 개체 집합에 대한 속성 관계를 표현하기 위해 개체를 테이블(table)
데이터베이스 (Database) 관계 대수와 관계 해석 (Part 1) 문양세 강원대학교 IT대학 컴퓨터과학전공.
뇌를 자극하는 Windows Server 장. 데이터베이스 서버.
1장. 서 론 데이터베이스의 개요 모델의 종류 관계형 모델과 객체 지향형 데이터베이스 SQL이란 무엇인가?
ER-관계 사상에 의한 관계 데이터베이스 설계
ER-관계 사상에 의한 관계 데이터베이스 설계
GB ridge 웹 모바일및 빅데이터 응용과정 3주차: 데이터베이스 프로그래밍 [경기도형 대학생 취업브리지 사업]
CHAPTER 4 관계 데이터 모델과 관계 데이터베이스 제약조건. CHAPTER 4 관계 데이터 모델과 관계 데이터베이스 제약조건.
Presentation transcript:

관계 데이타 모델과 관계 데이타베이스 제약조건 충북대학교 구조시스템공학과 시스템공학연구실 공학 데이터베이스 관계 데이타 모델과 관계 데이타베이스 제약조건 충북대학교 구조시스템공학과 시스템공학연구실 충북대학교 구조시스템공학과 시스템공학연구실 - 공학데이터베이스

내용 4.1 관계모델의 개념 4.2 관계 모델 제약조건과 관계형 데이터베이스 스키마 4.3 갱신 연산과 제약조건의 위반 처리 충북대학교 구조시스템공학과 시스템공학연구실 - 공학데이터베이스

4. 관계 데이터 모델과 관계 데이터베이스 제약조건 1970년 IBM연구소의 Ted Codd가 처음으로 소개 대표적 관계 DMBS IBM의 DB2 Informix의 Dynamic Server Oracle의 Oracle, Rdb Microsoft의 SQL Server, Access Legacy 시스템 새롭게 구축되는 시스템과 구별하여 이전부터 사용되어 온 시스템을 지칭하는 용어 충북대학교 구조시스템공학과 시스템공학연구실 - 공학데이터베이스

4.1 관계모델의 개념 테이블 행 열 충북대학교 구조시스템공학과 시스템공학연구실 - 공학데이터베이스

4.1 관계모델의 개념 관계모델 용어 행 → 투플 열 → 애트리뷰트 테이블 → 릴레이션 관계모델의 구성 관계모델에서 데이터베이스는 릴레이션(테이블)들의 모임으로 표현됨 릴레이션은 투플(행, 레코드)들의 집합으로 표현됨 투플은 애트리뷰트(컬럼, 필드, 혹은 속성)들로 구성됨 ER 모델과의 비교 테이블 : 엔티티 타입 (혹은 다치 애트리뷰트 또는 관계) 행 : 엔티티 혹은 관계에 해당하는 사실을 표현함 열 : 애트리뷰트들을 표시함 충북대학교 구조시스템공학과 시스템공학연구실 - 공학데이터베이스

4.1.1 도메인, 투플, 애트리뷰트, 릴레이션 도메인(domain) 이름, 데이터 타입 또는 포맷, 값 해석을 위한 추가정보(예: 측정단위)로 정의 원자 값들(atomic values)의 집합 도메인의 예 USA_phone_numbers: 미국에서 사용하는 10자리 전화번호들의 집합 Names: 개인의 이름들의 집합 Employee_ages: 15~80 사이의 사원들의 나이 데이터 타입 도메인은 실제 데이터 타입으로 명시함 데이터 타입의 예 - string, integer, real USA_phone_numbers: (ddd) ddd-dddd, 여기서 d는 한자리 숫자 Employee_ages: 15와 80 사이의 정수 충북대학교 구조시스템공학과 시스템공학연구실 - 공학데이터베이스

4.1.1 도메인, 투플, 애트리뷰트, 릴레이션 릴레이션 스키마 (relation schema) 릴레이션 이름 R과 애트리뷰트 Ai 들의 집합으로 R(A1, A2, ..., An) 로 표기함 릴레이션의 차수(degree): 릴레이션의 애트리뷰트 갯수 예: STUDENT(Name, SSN, BirthDate, Address), 차수 = 4 도메인의 표현: dom(Name) = Names 릴레이션 스키마 R(A1, A2, ..., An)의 투플 t: n-투플(n개의 애트리뷰트로 구성된 투플) 값들의 (순서화된) 집합 t = <v1, v2, ..., vn>, 값 vi는 dom(Ai)의 한 원소임 릴레이션 스키마 R에 대한 릴레이션 혹은 릴레이션 인스턴스(Relation instance) r 또는 r(R) 투플의 집합; r = r(R) = {t1, t2, ..., tm} r(R)은 R을 정의하는 m개의 도메인들에 대한 카티션 프로덕트의 부분집합 r(R) ⊆ dom(A1)×dom(A2) × ... × dom(An) 최대 가능 투플수: |dom(A1)| × |dom(A2)| × ... × |dom(An)| r(R) 은 실세계의 특정 상태를 반영 충북대학교 구조시스템공학과 시스템공학연구실 - 공학데이터베이스

4.1.1 도메인, 투플, 애트리뷰트, 릴레이션 충북대학교 구조시스템공학과 시스템공학연구실 - 공학데이터베이스

4.1.2 릴레이션의 특성 릴레이션에서 투플의 순서 릴레이션은 투플들의 집합으로 정의됨 집합에서 원소의 순서가 무의미한 것과 마찬가지로 투플의 순서 역시 의미가 없음 충북대학교 구조시스템공학과 시스템공학연구실 - 공학데이터베이스

4.1.2 릴레이션의 특성 투플의 순서 상이 → 동일한 릴레이션 충북대학교 구조시스템공학과 시스템공학연구실 - 공학데이터베이스

4.1.2 릴레이션의 특성 투플 내에서의 값들의 순서와 릴레이션의 또 다른 정의 n-투플은 n개 값의 리스트이며, 한 투플 내에서 값들의 순서는 중요함 (리스트에서 원소의 순서는 중요한 의미를 가짐) → 앞으로 이 정의를 이용 각 애트리뷰트와 값이 서로 대응될 수 있다면 애트리뷰트 값들의 순서는 중요하지 않을 수 있음; 예를 들어, 하나의 투플을 (<애트리뷰트>, <값>) 쌍들의 집합으로 간주하면 애트리뷰트와 값은 서로 대응될 수 있으며, 값의 순서는 중요하지 않음 → 보다 일반적인 투플의 정의 애트리뷰트의 순서가 정의에 포함되지 않을 때 애트리뷰트의 순서 상이 → 동일한 릴레이션 충북대학교 구조시스템공학과 시스템공학연구실 - 공학데이터베이스

4.1.2 릴레이션의 특성 투플 내에서의 값들과 널 나눌 수 없는 원자 값들(atomic values)임 ER 모델에서의 다치 애트리뷰트나 복합 애트리뷰트는 관계모델에서는 허용되지 않음 → 제1정규형의 만족 값을 알 수 없거나 해당되는 값이 없을 때에는 null 이라는 특수 값을 사용함 릴레이션의 해석(의미) 릴레이션 스키마는 일종의 선언 또는 주장으로 해석할 수 있음 STUDENT 스키마는 일반적으로 학생 개체가 Name, SSN, Home-Phone, Address ... 을 갖는다고 주장 릴레이션내의 각 투플은 선언 또는 주장에 대한 사실 또는 인스턴스로 해석할 수 있음 첫 투플은 이름이 “Benjamin Bayer”이고, SSN이 “305-61-2435”이고 ... 이란 사실을 나타냄 충북대학교 구조시스템공학과 시스템공학연구실 - 공학데이터베이스

4.1.3 관계 모델의 특성 관계모델 표기법 차수가 n인 릴레이션 스키마 R은 R(A1, A2, ..., An)으로 표기 릴레이션 r(R)의 n-투플 t는 t = <v1, v2, ..., vn>으로 표기, 여기서 vi는 애트리뷰트 Ai의 값 t[Ai]와 t.Ai는 t에서 애트리뷰트 Ai의 값 vi를 나타냄, 투플 t의 구성 요소 값(component value)을 t[Ai] = vi (투플 t에 대한 애트리뷰트 Ai의 값)로 표기 t[Au, Av, ..., Aw]는 애트리뷰트 Au, Av, ..., Aw의 값을 포함하는 부(sub)-투플을 가리킴 대문자 Q, R, S 등은 릴레이션 이름을 나타냄 소문자 q, r, s 등은 릴레이션 상태를 나타냄 소문자 t, u, v 등은 투플을 나타냄 일반적으로, STUDENT처럼 릴레이션 스키마의 이름은 릴레이션의 현재 투플들의 집합, 즉 현재의 릴레이션 상태를 가리키고, 반면에 STUDENT(Name, SSN, ...)는 릴레이션 스키마를 가리킴 서로 다른 릴레이션에서 동일한 이름의 애트리뷰트를 사용할 수 있으며, 이 경우 애트리뷰트 이름 앞에 릴레이션 이름을 붙여서 서로를 구분함 STUDENT.Name, Faculty.Name, Employee.Name 충북대학교 구조시스템공학과 시스템공학연구실 - 공학데이터베이스

4.2 관계 모델 제약조건과 관계 데이터베이스 스키마 T B C D T B C D 나 # a 하 ! a 다 % b 수정 다 % b 라 $ c 라 $ c 마 @ d 마 @ d 릴레이션 스키마: 불변 릴레이션 상태: 변화 삽 입 T B C D 하 ! a 다 % b 라 $ c 마 @ d 사 & z 충북대학교 구조시스템공학과 시스템공학연구실 - 공학데이터베이스

4.2 관계 모델 제약조건과 관계 데이터베이스 스키마 제약조건은 모든 릴레이션 인스턴스들이 만족해야 하는 조건임 스키마 기반 제약조건 : 데이터 모델 스키마에서 DDL을 통해 직접 표현 가능한 조건 도메인 제약 조건(domain constraints) 키 제약조건(key constraints) 널에 대한 제약조건(constraints on nulls) 엔티티 무결성 제약조건(entity integrity constraints) 참조 무결성 제약조건(referential integrity constraints) 충북대학교 구조시스템공학과 시스템공학연구실 - 공학데이터베이스

4.2.1 도메인 제약조건 도메인 제약조건 - ① 각 애트리뷰트 A의 값은 반드시 A의 도메인 dom(A)에 속하는 원자값이어야 함 도메인과 관련된 데이터 타입 정수, 실수와 같은 표준 숫자형 문자, 고정길이 문자열, 가변길이 문자열 날짜, 시간 타임스탬프 화폐단위 등 -> 7.1절 참조 충북대학교 구조시스템공학과 시스템공학연구실 - 공학데이터베이스

4.2.2 키 제약조건과 널에 대한 제약조건 키 제약조건 - ② 릴레이션은 투플의 집합으로 정의되므로, 모든 원소는 중복되어서는 안됨 어떠한 두 투플도 릴레이션의 모든 애트리뷰트에 대해 같은 값들의 조합을 가질 수 없음 릴레이션은 키 애트리뷰트를 가져야 함 R의 슈퍼키(superkey) R의 애트리뷰트 집합 SK로서 다음의 성질을 만족해야 함 모든 유효한 릴레이션 인스턴스 r(R)에서 어떠한 두 투플도 동일한 SK 값을 갖지 않아야 함; 즉, r(R) 내의 임의의 서로 다른 두 투플 t1과 t2에 대해 t1[SK] ≠ t2[SK]이어야 함 R의 키(key) “최소” 슈퍼키; 즉, 슈퍼키들 중에서 슈퍼키 K를 구성하는 어느 한 애트리뷰트라도 빠지면 슈퍼키가 될 수 없는 슈퍼키 K를 의미함 키 애트리뷰트의 값은 릴레이션내의 각 투플을 유일하게 식별하는데 이용할 수 있음 충북대학교 구조시스템공학과 시스템공학연구실 - 공학데이터베이스

4.1.1 도메인, 투플, 애트리뷰트, 릴레이션 최소 슈퍼키 ↓ 키 슈퍼키 슈퍼키 충북대학교 구조시스템공학과 시스템공학연구실 - 공학데이터베이스

4.2.2 키 제약조건 기본 키 (primary key) 릴레이션이 여러 개의 후보키(candidate key)를 가지면 이중 하나를 임의로 선택하여 기본키(primary key)로 지정함 기본키를 구성하는 애트리뷰트는 밑줄로 표시함 널에 대한 제약조건 - ③ 애트리뷰트 값으로 널을 허용하지 않는 경우, 애트리뷰트는 널을 가질 수 없음 후보키 & 기본키 후보키 충북대학교 구조시스템공학과 시스템공학연구실 - 공학데이터베이스

4.2.3 관계 데이터베이스와 관계 데이터베이스 스키마 관계 데이터베이스 스키마 = S + IC (Schema + Integrity Constraint) 데이터베이스에 속하는 릴레이션 스키마들의 집합 S와 무결성 제약조건 IC(Integrity Constraint)의 집합으로 정의됨 S = {R1, R2, ..., Rn} + IC 데이터베이스 스키마 S의 관계 데이터베이스 상태 (혹은 인스턴스) 릴레이션 상태 집합 DB를 데이터베이스 상태라고 정의함 DB = {r1, r2, ..., rn} 여기서 ri는 IC를 만족함 서로 다른 릴레이션에서 동일한 이름의 애트리뷰트를 사용할 수 있으며, 이 경우 애트리뷰트 이름 앞에 릴레이션 이름을 붙여서 서로를 구분함 STUDENT.Name, Faculty.Name, Employee.Name 데이터 정의어 관계 스키마를 정의하기 위한 언어: DDL(Data Definition Language) 충북대학교 구조시스템공학과 시스템공학연구실 - 공학데이터베이스

4.2.3 관계 데이터베이스와 관계 데이터베이스 스키마 Company = {Employee, Department, Dept_locations, Projects, Works_On, Dependent} 관계 데이터베이스 스키마 릴레이션 스키마 충북대학교 구조시스템공학과 시스템공학연구실 - 공학데이터베이스

4.2.3 관계 데이터베이스와 관계 데이터베이스 스키마 Company 관계 데이터베이스 스키마에 대응하는 관계 데이터베이스 상태 참조무결성제약조건 PK FK 릴레이션 상태 충북대학교 구조시스템공학과 시스템공학연구실 - 공학데이터베이스

4.2.4 엔티티 무결성, 참조 무결성 제약조건, 외래키 엔티티 무결성 제약 조건 - ④ 기본키가 각 투플들을 식별하는 데 이용되기 때문에 어떠한 기본 키 값도 널 값을 가질 수 없다는 제약 조건임, 기본키 → 릴레이션의 속성을 정의할 때 not null임을 명시 기본키에 속하지 않는 애트리뷰트들도 null 값을 가질 수 없도록 제한할 수 있음 참조 무결성 제약 조건 - ⑤ 한 릴레이션에 있는 투플이 다른 릴레이션에 있는 투플을 참조하려면 반드시 참조되는 투플이 그 릴레이션 내에 존재해야 함 하나의 릴레이션 R에서 속성 F의 값으로 다른 릴레이션 S의 기본키 P값을 참조하는 경우에 R과 S는 참조 무결성 제약 조건을 가진다고 함 (F는 null을 가질 수 있음) t1[F] = t2[P]이면 R의 투플 t1이 S의 투플 t2를 참조한다(reference)고 하며, F를 외래키(foreign key)라고 부름; R을 참조한(referencing) 릴레이션, S를 참조된(referenced) 릴레이션이라고 부름 다른 제약조건과 달리 참조 무결성은 두 릴레이션에 대한 제약조건임 충북대학교 구조시스템공학과 시스템공학연구실 - 공학데이터베이스

4.2.4 엔티티 무결성, 참조 무결성 제약조건, 외래키 외래키는 동일한 릴레이션의 애트리뷰트를 참조할 수도 있음 관계형 데이터베이스 스키마에서 참조무결성제약조건은 R1.FK에서 R2.PK로의 화살표로 표시함 두 릴레이션의 JOIN 시 이용 릴레이션 = (ERD의) 엔티티 + Relationship 충북대학교 구조시스템공학과 시스템공학연구실 - 공학데이터베이스

4.3 갱신 연산과 제약조건 위반의 처리 관계모델의 연산의 종류 추출 (retrieval) - Read 갱신 (update) - Write 릴레이션에 대한 기본 갱신 연산 삽입: 새로운 투플의 삽입 삭제: 기존 투플의 삭제 수정: 기존 투플의 애트리뷰트 값의 변경 갱신(삽입, 삭제, 수정) 연산을 실행하는 경우 스키마에 정의된 무결성 제약 조건을 위반하지 않아야 함 충북대학교 구조시스템공학과 시스템공학연구실 - 공학데이터베이스

4.3.1 삽입 연산 삽입연산 4가지 종류의 제약 조건을 위반할 수 있음 도메인 제약조건 삽입되는 투플 t에서 애트리뷰트의 값이 도메인에 없는 경우 키 제약 조건 t에서 기본키의 값이 다른 투플에서 이미 존재하는 경우 엔티티 제약 조건 t에서 기본키의 값이 널인 경우 참조 무결성 제약 조건 t에서 외래키의 값이 참조되는 릴레이션의 기본키 값으로 존재하지 않는 경우 제약 조건을 위반하면 그 삽입을 거부하거나 그 위반 사실을 사용자에게 알려 정정하도록 해야 함 충북대학교 구조시스템공학과 시스템공학연구실 - 공학데이터베이스

4.3.2 삭제 연산 삭제연산 참조 제약 조건 삭제하려는 투플을 다른 투플에서 참조하고 있는 경우 참조 제약 조건의 유지 투플이 삭제되는 경우 다른 투플에서 참조하고 있는지 검사하여 그렇지 않는 경우에만 삭제함 삭제 연산이 참조 무결성 제약 조건을 위반하는 경우 취할 수 있는 세가지 옵션 삭제를 거부 삭제되는 투플을 참조하는 투플들까지 모두 삭제 (연쇄 삭제) 삭제되는 투플을 참조하는 투플에서 외래키 값을 널로 바꾸거나 다른 유효한 투플을 참조하도록 변경 위의 세가지 옵션 중 사용자가 응용의 특성에 적합한 것을 선택하도록 하는 것이 바람직함 충북대학교 구조시스템공학과 시스템공학연구실 - 공학데이터베이스

4.3.3 수정 연산 수정연산 수정 연산은 기본적으로 “삭제 후 삽입” 연산으로 간주할 수 있으므로 삽입과 삭제시의 문제점이 모두 나타남 기본 키나 외래키가 아닌 애트리뷰트 값의 변경은 큰 문제가 없음 → 도메인 제약조건의 위배 여부만을 확인하면 됨 충북대학교 구조시스템공학과 시스템공학연구실 - 공학데이터베이스