mysql 샘플 테이블 + 쿼리 연습 문제

http://java-school.net/jdbc/SQL-SELECT-Statement CREATE TABLE DEPT (     DEPTNO DECIMAL ( 2 ),     DNAME VARCHAR ( 14 ),     LOC VARCHAR ( 13 ),     CONSTRAINT PK_DEPT PRIMARY KEY ( DEPTNO ) ); CREATE TABLE EMP (     EMPNO DECIMAL ( 4 ),     ENAME VARCHAR ( 10 ),     JOB VARCHAR ( 9 ),     MGR DECIMAL ( 4 ),     HIREDATE DATE ,     SAL DECIMAL ( 7 , 2 ),     COMM DECIMAL ( 7 , 2 ),     DEPTNO DECIMAL ( 2 ),     CONSTRAINT PK_EMP PRIMARY KEY ( EMPNO ),     CONSTRAINT FK_DEPTNO FOREIGN KEY ( DEPTNO ) REFERENCES DEPT ( DEPTNO ) ); CREATE TABLE SALGRADE (     GRADE TINYINT ,     LOSAL SMALLINT ,     HISAL SMALLINT ); INSE...

[방통대] 데이터베이스 요점정리

파일 처리 시스템(file processing system)

  업무 별 작성되는 각각의 애플리케이션이 개별적으로 자신의 데이터를 파일에 저장・관리하는 시스템 


파일 처리 시스템에서의 발생되는 문제 (아닌것 -> 독립)

  • 데이터 종속의 문제 

  • 데이터 중복의 문제 (아닌것 -> 확장성)

    • 일관성: 한 사실에 대해 한 개의 데이터 값을 유지

    • 보안성: 같은 데이터에 같은 수준의 보안 유지

    • 경제성: 데이터에 대해 최소한의 저장 공간 만을 점유

  • 무결성 훼손의 문제 

  • 동시 접근의 문제


데이터(data)

어떠한 사실에 대한 정량적, 정성적 특 징을 나타낼 수 있는 값과 값에 대한 설명  


데이터베이스(database)

특정 기관의 애플리케이션 시스템에서 사용되는 데이터의 집합  


데이터베이스 관리 시스템(DBMS)

데이터베이스에 저장된 데이터의 구성, 저장, 관리, 사용을 위한 소프 트웨어 패키지  


데이터베이스 시스템(database system)

정보를 데 이터베이스에 저장・관리하여 사용자에게 요구된 형태 의 정보로 제공하는 컴퓨터 기반 시스템 



데이터베이스의 특성

  • 자기 기술성 

데이터와 데이터의 정의 및 설명(메타데이터)을 포함

  • 프로그램과 데이터의 격리 및 추상화 

사용자에게 데이터에 대한 개념적인 표현을 제공하여 접근성을 향상  

  • 다중 뷰 제공

각 사용자가 관심을 갖는 데이터베이스의 일부만을 표현할 수 있는 기능 제공  

  • 데이터 공유와 다수 사용자 트랜잭션 처리 

다수의 데이터 조작 요청을 동시성 제어 기능을 통해 데이터의 일관성을 보장하면서 동시에 작업을 수행 






데이터 모델 

데이터의 의미, 타입, 연산 및 제약조건을 명시하기 위해 사용할 수 있는 개념들의 집합 

예: 관계형 모델, ER 모델, 객체지향적 모델 등  


데이터 모델링

실세계의 데이터 일부분을 DBMS가 지원하는 데이터 모델의 형태로 나타내는 과정


ER 모델(entity-relationship model)

실세계의 속성들로 이루어진 개체(entity)와 개체 사 이의 관계(relationship)를 정형화 시킨 모델


  • 개체(entity) 

실세계에 존재하는 다른 객체와 구별되는 유무형의 사물 

개체를 설명하는 여러 속성들로 구성  


  • 개체 집합(entity set)

같은 속성을 공유하는 개체들의 모임


  • 관계 

개체와 개체 사이의 연관성  


  • 관계 집합 

개체 집합 간의 전체적 연결 관계




ER모델 제약조건

  • 사상수

얼마만큼의 관계를 맺을 수 있는지 명시한 수

  • 참가 제약조건

관계 집합에 참여 하는 조건

  • 키 속성 

개체를 구별하는데 사용되는 유일한 값을 가지는 속성의 집합



관계형 모델(relational model)







릴레이션의 특징

  • 레코드의 유일성

  • 레코드의 무순서성

  • 컬럼의 무순서성

  • 컬럼값의 원자성


키의 속성

  유일성, 최소성


키의 종류

  • 수퍼키: 유일성 만족 

  • 후보키: 유일성, 최소성 만족 

  • 기본키: 레코드의 구분을 위해 선택된 후보키

  • 외래키: 참조된 다른 릴레이션의 기본키

관계형 모델 제약 조건

  • 영역 제약 조건

컬럼에 정의된 영역(domain)에 속한 값으로 만 컬럼값이 결정

  • 키 제약조건

키는 레코드를 고유하게 구별하는 값으로 구성 

  • 개체 무결성 제약조건

어떠한 기본키 값도 널(null) 값이 될 수 없음

  • 참조 무결성 제약조건

두 릴레이션의 레코드 사이에 일관성을 유지 에 사용






관계대수


σ학과명=‘컴퓨터과학과’ (교수)

select * from 교수 where 학과명=’컴퓨터과학과’


이름, 연봉 (교수)

select 이름, 연봉 from 교수

       

       




함수적 종속성

임의의 릴레이션 스키마 R의 인스턴스 r(R)에 포함 되는 서로 다른 두 레코드 𝑡1,𝑡2와 속성 집합 X와 Y에 대해, 

𝑡1[𝑋] = 𝑡2[𝑋]일 때, 𝑡1[𝑦] = 𝑡2[𝑦] 이면 함수적 종속성 𝑋 → 𝑌가 성립한다. 


클로저(closure)

판별된 함수적 종속성 집합으로부터 유추할 수 있는 모든 함수적 종속성 집합 𝐹+


암스트롱 공리(Armstrong’s axiom)

1. 재귀성 규칙 : 𝑋⊇𝑌이면, 𝑋→𝑌이다 

2. 부가성 규칙: 𝑋→𝑌이면, 𝑋𝑍→𝑌𝑍이다 

3. 이행성 규칙: 𝑋→𝑌이고, 𝑌→𝑍이면, 𝑋→𝑍이다. 

4. 분해 규칙: 𝑋→𝑌𝑍이면, 𝑋→𝑌이다. 

5. 합집합 규칙: 𝑋→𝑌이고, 𝑋→𝑍이면, 𝑋→𝑌𝑍이다. 

6. 의사 이행성 규칙 : 𝑋→𝑌이고, 𝑊𝑌→𝑍이면, 𝑊𝑋→𝑍이다.


카노니컬 커버(canonical cover)

  • 𝐹의 카노니컬 커버, 𝐹c는 𝐹+에 존재하는 모든 함수적 종속성을 커버할 수 있는 최소한의 함수적 종속성들로만 이루어진 집합


  • 함수적 종속성 추론 규칙으로 확장된 클로저에는 자명한 종속성과 중복된 종속성을 포함


불필요한 함수적 종속성을 제거한 표준형으로 변환 후 정규화를 수행


  • 표준형 조건

    • 𝐹의 모든 함수적 종속성의 오른편 속성은 반드시 1개 

    • 𝐹에서 𝑋 → 𝐴를 𝑋의 진부분집합 𝑌에 대하여 𝑌 → 𝐴로 교체했을 때, 그 집합이 𝐹와 동등한 집합이 불가능

    • 𝐹에서 어떤 함수적 종속성을 제거했을 때, 그 집합이 𝐹와 동등한 집합이 불가능


카노니컬 커버 도출









제 1정규형

릴레이션 스키마에서 정의된 모든 속성의 도메인이 원자값을 갖는 상태 




제 2정규형

  • 주어진 릴레이션의 인스턴스가 기본키가 아닌 속성들이 기본키에 완전히 종속되어 있는 상태 


  • 무손실 분해

스키마 𝑅에 함수적 종속성 𝑋→𝑌가 존재하고 𝑋∩𝑌=∅ 이면, 𝑅을 𝑅−𝑌와 𝑋𝑌로 분해 


제 3정규형

  • 릴레이션이 제2정규형을 만족하고, 기본키가 아닌 속성들이 어떤 키에도 이행적으로 종속되지 않은 상태


  • 이행적 종속성

𝑋 → 𝑌이고 𝑌 → Z이면 𝑋 → Z이다


BC정규형

릴레이션이 제3정규형을 만족하고 릴레이션에서 성립하는 𝑋→𝑌 형태의 모든 함수적 종속성에 대하여 𝑋가 수퍼키인 상태