170 likes | 386 Views
3. 관계데이터 모델과 언어. 데이터모델. 데이터 모델 현실세계를 데이터베이스에 표현화는 중간과정 데이터 모델의 구성요소 구조 , 연산 , 제약조건 개념적 데이터 모델 (E-R Mode) : Chen 이 제안. 업무프로세스 ( 현실세계 ). 물리적 데이터베이스. 개념세계. 데이터모델. 개념적설계. 논리적설계. 물리적설계. 개체 (Entity). 속성 (Attribute). 관계 (Relationship). 연결. 관계유형 일대일 (1:1) – 부부관계
E N D
데이터모델 • 데이터 모델 현실세계를 데이터베이스에 표현화는 중간과정 • 데이터 모델의 구성요소 구조,연산,제약조건 • 개념적 데이터 모델(E-R Mode) : Chen이 제안 업무프로세스 (현실세계) 물리적 데이터베이스 개념세계 데이터모델 개념적설계 논리적설계 물리적설계 개체(Entity) 속성(Attribute) 관계(Relationship) 연결 정보처리산업기사 필기
관계유형 • 일대일(1:1) –부부관계 • 일대다(1:N) –부모자식관계 • 다대다(N:M) –학생과목관계 • 논리적 데이터 모델 • 관계형 : 테이블 구조 • 망(네트워크)형 : 그래프 구조,오너와 멤버 관계, 1:N관계 • 계층형 데이터모델 : 트리구조, 부모자식관계, 1:1, 1:N 정보처리산업기사 필기
데이터베이스 설계 단계 • 요구조건 분석 단계 • 개념적 설계단계 • 정보모델링 단계 • DBMS 개념스키마 모델링과 트랜잭션 모델링을 병행적 수행 • 개체,속성,관계의 E-R다이어그램 작성 • DBMS에 독립적인 개념스키마 설계 • 논리적 설계 단계 • 데이터 모델링의 단계 • 목표DBMS에 맞는 스키마를 설계 • 개념스키마를 논리적 데이터로 변환 • 트랜잭션 인터페이스를 설계 • 물리적 설계 단계 • 논리적 설계 단계에서 표현한 데이터를 실제 저장 매체에 물리적으로 저장 • 구현단계 • 데이터베이스 접근을 위한 응용 프로그램을 만드는 단계 정보처리산업기사 필기
학번 이름 주소 성별 A001 이효리 서울 여 A002 옥주현 서울 여 A003 현 빈 서울 남 • 관계 데이터 모델 속성(Attribute,열) 학생 (릴레이션) 튜플(행) 카디널리티 차수(Degree) 도메인 : 한 속성에 나타날 수 있는 값들의 범위(집합) 정보처리산업기사 필기
릴레이션의 특징 • 튜플의 상이성 • 튜플의 무순서성 • 속성의 무순서성 • 속성의 원자성 (원자값 : 논리적으로 더 이상 분해할 수 없는 값) • 키의 종류 • 기본키(Primary Key) :릴레이션 내의 모든 튜플을 구분 • 후보키 : 유일성과 최소성을 가지는 키(주민번호, 학번) • 대체키 : 후보키중 기본키를 제외한 다른키 • 외래키 : 다른 릴레이션의 기본키로 사용되는 키 (릴레이션R1에 속한 속성K가 다른 릴레이션 R2에서는 기본키) 정보처리산업기사 필기
학번 이름 과목코드 성별 A001 이효리 kk01 여 A002 옥주현 ky00 여 A003 현 빈 ky02 남 • 무결성의 종류 • 개체무결성 : 기본키는 널값이 일 수 없다 • 참조무결성 : 참조할 수 없는 외래키 값을 가질 수 없다. • 도메인무결성 : 속성 값들은 정해진 범위 내에 있어야 함 과목코드 과목명 kk01 정보필 ky00 컴활실 ky02 오피스 널(NULL Value) : 아직 알려지지 않은 값, 정보의 부재(Missing Information) 정보처리산업기사 필기
문제 1 : E-R 모델에서 사각형은 무엇을 의미하는가? 가. 관계 타입나. 개체 타입 다. 속성라. 링크 문제 2 : 어떤 릴레이션에 존재하는 튜플의 개수를 무엇이라고 하는가? 가. Cardinality나. Degree 다. Domain라. Attribute 문제 3 : 관계 데이터 모델에서 애트리뷰트가 취할 수 있는 값들의 집합을 의미하는 것은? 가. 릴레이션나. 도메인 다. 튜플라. 차수 문제 4 : 현실 세계의 객체를 개념적으로 표현할 때 기본적으로 개체타입과 이들 간의 관계를 이용하도록 P. Chen이 제안한 데이터 모델은? 가. 개체-관계 모델나. 계층형 데이터 모델 다. 관계형 데이터 모델라. 네트워크형 데이터 모델 문제 5 : 데이터베이스 설계 단계 중 물리적 설계 단계에 해당하지 않는 것은? 가. 저장 레코드 양식 설계 나. 접근 경로 설계 다. 레코드 집중의 분석 및 설계 라. 트랜잭션 인터페이스 설계 정보처리산업기사 필기
관계 데이터 연산 • 관계대수 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차식 언어 • 일반연산자 : 합집합, 교집합, 차집합, 교차곱 • 순수관계연산자 • 셀렉션 • 프로젝션 • 디비젼 • 조인 • 관계해석 질의어 형태로 원하는 릴레이션을 정의, 수학적 기반 원하는 정보가 무엇이라는 것만 정의하는 비절차적 언어의 특성 정보처리산업기사 필기
일반집합연산자 • 합집합(Union) : 이항연산 • 교집합(Intersection) : 중복 레코드 선택 • 차집합(Difference) : 중복되는 레코드 제거 • 교차곱(Product) • 릴레이션 R에 10개의 튜플이 있고, 다른 릴레이션 S에 5개의 튜플이 있을때 교차곱 연산 결과 : 10X5=50개 A B 1 2 3 4 5 1,2,3,4,5 정보처리산업기사 필기
학번 이름 과목 성별 A001 이효리 kk01 여 A002 옥주현 ky00 여 A003 현 빈 ky02 남 순수관계연산 • 셀렉션 : 튜플의 수평적 부분집합 • 프로젝션 : 선택조건에 맞는 튜플의 수직적 부분 집합 • 디비젼 : 공통된 속성을 분류 • 조인 : 두개이상의 릴레이션에서 튜플이나 애트리뷰트를 조합한 새로운 릴레이션을 생성하는 연산 정보처리산업기사 필기
SQL • DD L(정의어) : CREAT,ALTER, DROP • DML(조작어) : Select, Insert, Delete, Update • DCL : Grant, Revoke • 데이터 정의어 • Create문 : 새로운 테이블을 만드는 명령 • Alter문 : 기존 테이블에 대핸 새로운 열의 첨가,값의 변경 기존 열의 삭제 • Drop 문 : 스키마, 도메인,테이블,뷰,인덱스 제거 시 사용 • Drop table 성적 cascade : 성적 테이블이 참조 중이라도 삭제하라 • Drop table 성적 restrict : 성적테이블이 참조 중이면 삭제하지 않는다. • 데이터 조작어 • Select From where • Insert into values • Delete from where • Update Set where • RESTRICT : 원본테이블을 참조하고 있는 테이블이 있다면, 삭제불가 • CASCADE : 원본테이블과 참조관계에 있는 모든 테이블까지 연쇄삭제 • 데이터 제어어 • Grant • Revoke 정보처리산업기사 필기
학번 이름 과목 학년 A001 이효리 kk01 2 A002 옥주현 ky00 2 A003 현 빈 ky02 1 데이터조작어(DML) • 검색(Select) SELECT [DISTINCT] 속성 FROM테이블 [WHERE 조건] [GROUP BY 속성 [HAVING 조건]] [ORDER BY 속성 [ASC | DESC]]; SELECT 이름 FROM 학생 WHERE 학년=‘2’; SELECT DISTINCT 학년 FROM 학생 정보처리산업기사 필기
삽입(Insert) INSERT INTO 수강생(이름,수강료) VALUES(‘이상인’,120); INSERT INTO 테이블명 VALUES(속성); • 갱신(UPPDATE) • UPDATE 학생 SET 학년=4 WHERE 이름=이효리 • UPDATE 학생 SET 학년=학년+1 • 삭제(DELETE) • DELETE FROM 학생 WHERE 학년=1 * DELETE는 튜플삭제하는 명령어 (테이블 삭제는 DROP문) DELETE FROM 테이블명 [WHERE 조건]; 정보처리산업기사 필기
데이터제어어(DCL) GRANT : 권한부여 REVOKE : 권한취소 DBA : GRANT INSERT ON 학생 TO U1 DBA가 U1사용자에게 학생 테이블의 삽입권한을 부여 DBA : GRANT DELETE ON 학생 TO U1 WITH GRANT OPTION U1 : GRANT DELETE ON 학생 TO U2 DBA가 U1에게 학생테이블에서 삭제하라는 권한과 함께 U1이 U2 사용자에게 삭제하라는 권한을 부여 DBA : REVOKE DELETE ON 학생 FROM U1 CASCADE DBA가 U1에게 부여한 권한을 취소, CASCADE가 명시되어 있으므로 U1이 다른사용자에게 부여한 권한까지 함께 해제 정보처리산업기사 필기
내장 SQL(Embedded SQL) • 데이터 조작어를 호스트 프로그램 언어에 삽입하여 사용할 때 이 데이터 조작 명령 특징 내장SQL문은 EXEC SQL의 앞부분에 위치하여 구별 호스트 언어에서 사용하는 변수는 변수 앞에 콜론(:)을 붙여 표시 호스트 변수의 데이터 타입은 이에 대응하는 데이터베이스 필드의 SQL 데이터 타입과 일치 호스트 변수와 데이터베이스 필드의 이름은 같아도 됨 SQL 코드값 : 0 –성공, 음수 –에러, 양수-경고 EXEX SQL DECLARE 문으로 변수 선언 Host program의 컴파일시 선행 처리기에 의해 분리되어 컴파일 정보처리산업기사 필기
문제1. 다음 SQL 문에서 DISTINCT의 의미는? SELECT DISTINCT DEPT FROM STUDENT ; 가. 검색 결과에서 레코드의 중복을 제거하라. 나. 모든 레코드를 검색하라. 다. 검색 결과를 순서대로 정렬하라. 라. DEPT의 처음 레코드만 검색하라. 문제2. SQL의 데이터 정의문(DDL)이 아닌 것은? 가. CREATE나. DROP 다. ALTER라. INSERT 문제3. SQL 문장의 기술이 적당치 않은 것은? 가. select … from … where … 나. insert … on … values … 다. update … set … where … 라. delete … from … where … 문제4. 삽입 SQL에 대한 설명으로 옳지 않은 것은? 가. 삽입 SQL 실행문은 호스트 실행문이 나타날 수 있는 곳이면, 어디에서나 사용 가능하다. 나. SQL문에 사용되는 호스트 변수는 콜론(:)을 앞에 붙인다. 다. 응용 프로그램에서 삽입 SQL문은 ‘EXEC SQL’을 앞에 붙여 다른 호스트 명령문과 구별한다. 라. 삽입 SQL문의 호스트 변수의 데이터 타입은 이에 대응하는 데이터베이스 필드의 SQL 데이터 타입과 일치하지 않아도 된다. 정보처리산업기사 필기