길면 길고 짧다면 짧은 자바교육이 끝났다
이제 db부분으로 넘어가자 mysql을 배우긴 했지만 역시 가물가물하다.
이번기회에 다시 복습이다.
여러사람에 의해 공유하고 사용할 목적으로 만든 데이터들의 모임이다.
프로그래밍에서 빼놓을수 없는 핵심이다 예로 들면 쇼핑몰에서 의류를 구매한다고 생각하면 어떤옷인지 몇개나 구매했는지 색상은 어떤색인지 정보를 저장해야하기 때문에 데이터베이스는 필수로 사용한다
데이터베이스를 관리할 수 있는 소프트웨어를 DBMS라고 한다
기존의 파일시스템의 데이터의 중복성,종속성,불일치를 해결할 수 있게 관리해준다.
계속적인 변화 - 갱신,삽입.삭제등의 동적인 변화
실시간 접근성 - 쿼리에 대한 실시간 처리와 응답
동시 공용 - 여러 사용자가 동시 사용
내용에 의한 참조 - 위치나 주소가 아닌 값에 의한 참조
학번 | 이름 | 나이 | 학년 | 성적 |
---|---|---|---|---|
1 | 1 | 1 | 1 | 1 |
2 | 2 | 2 | 2 | 2 |
3 | 3 | 3 | 3 | 3 |
릴레이션 : 데이터를 저장하는 기본단위이다. 즉 테이블이다 erd를 구성할때 네모난 모양이 릴레이션이다.
릴레이션의 특징 :
한 릴레이션안에 있는 튜플들은 모두 상이하다
튜플사이에 순서가 바뀌어도 상관없다
애트리뷰트의 이름은 유일해야하지만 구성하는 값은 중복되도 상관없다
튜플들을 식별하기 위해 속성들의 부분집합 키로 설정한다
식별자 : 관계형 데이터베이스에서 각각의 구분할 수 있는 논리적인 개념이다. 데이터베이스의 여러키들은 데이터들의 접근을 하기 위한 것으로 물리 데이터 모델링 단계에서 사용하는것 이기 때문에 차이가 있다.
-꼭 필요한 최소한의 속성들로 만 키를 구성해야 한다.
튜플 : 릴레이션의 각 행을 튜플이라고 한다 레코드도 같은말이다.
카디널리티 : 튜플의 갯수라고 한다.
어트리뷰트: 테이블에서 열을 의미한다 속성을 나타낸다
디그리 : 어트리뷰트의 갯수이다.
도메인: 속성들이 가질 수 있는 값들의 집합이다 속성으로 설정한 이외에 값들이 들어오는 것을 막아준다 . 도메인의 이름은 속성과 같을 수도 있고 다를 수도 있다 . 또 하나의 도메인을 여러 속성에서 공유할 수도 있다.
데이터베이스의 구조와 제약조건에 관해 전반적인 명세를 기술한 것이다.
데이터 사전에 저장
현실 세계의 한 부분을 표현 , 특정 데이터 모델을 이용해서 만들어진다.
시간에 따라 불변이다
데이터의 구조적 특성을 의미 하며 , 인스턴스에 의해 규정된다.
전체의 입장에서 db를 정의한것
논리적인 구조로서 응용프로그램이나 사용자들이 필요로
하는 조직 전체의 데이터베이스로 하나만 존재한다.
개체간의 관계나 제약조건을 나타내고 접근권한, 보안 및 무결성 규칙에 관한 명세를 정의한다.
단순히 스키마라고 하면 개념 스키마를 의미한다
기관이나 조직체의 관점으로 데이터베이스를 정의한다
데이터베이스 관리자에 의해서 구성된다.
물리적인 저장장치 입장에서 db가 저장되는 방법을 기술한다.
내부 레코드 형식, 물리적 순서, 인덱스의 유/무 등에 관한 것이다.
내부 스키마에의해 db실행 속도가 영향을 받기 때문에 db구축목적에 따라 내부 스키마를 결정해야한다.
시스템 프로그래머나 시스템 설계자가 보는 관점의 스키마이다
실세계에 존재하는 데이터들을 어떤 형식, 구조, 배치화면을 통해 사용자에게 보여줄 것인가
전체 데이터 베이스의 한 논리적인 부분 -> 서브스키마
하나의 데이터베이스는 여러개의 외부스키마가 존재 가능하다 하나의 외부스키마를 여러 개의 응용프로그램이나 사용자가 공용 가능
같은 데이터베이스에 대해서도 서로 다른 관점을 정의할 수 있도록 허용
일반 사용자는 질의어를 이용해서 db를 이용한다
사용자나 응용프로그래머가 개인의 입장에서 필요한 데이터베이스의 논리적 구조를 정의
외부스키마 = 서브스키마 - 사용자 뷰